2023年7月17日月曜日

DSP ADAU1401/1701 を使ってみるなり(2) 高価な純正programmerを回避するには

今日もやけに暑いですね.

ADAU1401/1701の、というかSigmaDSP向けのprogrammer EVAL-ADUSB2EBZがやけに高価格(1万円以上)なので別の手段を探索中.

なお、今回は肝心のSigmaDSP基板がまだ届いてないので情報収集だけですので物足りない印象を読者に植え付けてしまう構成になっております.

ーーーー
高価な純正programmerの代替手段について、こちらのサイトでほとんど答えが出てしまいました.感謝でぇす.

代替手段とは・・・
FreeUSBiというopen hardがあります.プリント基板としてはEZ-USBを使います.結線はこれだけ.左がADAU1401/1701基板、右がEZ-USB基板.I2C接続のようです.これでSigmaStudioから焼けるらしい.
純正programmerの製品名はEVAL-ADUSB2EBZですが、ADの愛称では「USBi」と呼び、SigmaDSP上でもUSBiという名前で操作します(後述).このUSBiにもEZ-USBが載っているという噂です.なのでFreeUSBiのhardwareはUSBiとほとんど同じと考えられます.

ところが、ひら的にわけがわからないのがfirmware/driverです.
 疑問1)win10 driverはADの純正をそのままつかうの? →No
 疑問2)FreeUSBiのdriverを使うの? →Yes
 疑問3)EZ-USBのfirmwareはどうなってるの? →これが微妙な...

まずはwin10 driverのインストから始めましょう.

↓win10 driverはFreeUSBiからDLするとモロに入ってます.
↓ただし、ADI_USB.sptは別の場所からコピーしたものです.別の場所とは、SigmaStudioのインストフォルダの奥の方です.ここから拾ってきます.ゆえにあらかじめSigmaStudioをPCにインストしておく必要があります.
↓win10 driverのインストをします.cyusb3.inf右クリックでインストールしました.
なのですが、このままではインスト不可能です.cyusb3.catについて「指定されたカタログファイルにファイルのハッシュがありません」と怒られます.原因はwin10のセキュリティ設定で無署名のdriverはインストできなくなっているからです.回避のためインスト制限を外す必要があります.→こちら

↓インスト成功すると、EZ-USBをPCに挿すとデバマネに「Analog Devices USBi (programmed)」が出るようになります.FreeUSBiとかいう名前になるのかなぁと思っていたのですがそうではありませんでした.
ここで、EZ-USBのEEPROMあり/なしjumperを外してからPCに挿すのが重要です.

win10 driverインストは以上で終了なのですが、謎なのはEZ-USBのfirmwareです.だって何もしてないんだもん.EZ-USBは空っぽなはずのにどうしてUSBiデバイスとして動いてくれるのかしら?

気になったので、cyusb3.infを開くと、VID/PIDについてこういう記述があります.
 %VID_04B4&PID_8613
この04B4/8613はEZ-USBを使っているとよく見る数字です.EZ-USBをEEPROMなしでPCに接続した時に、EZ-USBは自分のVID/PID=04B4/8613になるんです.これは納得できる.要するに、EZ-USBが空っぽの状態では04B4/8613であります.

ところが!!
デバマネの「Analog Devices USBi (programmed)」のプロパティをみると、あらら、VID/PIDが別の値に化けています.0456/7031です.0456というVIDはADのものです.どうやら、空っぽのEZ-USBにwin10 driverが自動的にfirmwareをDLして、EZ-USBは0456/7031で再起動しているみたいです.恐らくそのfirmwareがADI_USB.sptだったのでしょう.ADI_USB.sptはbinaryなので表示させても中身はさっぱりわかりませんでした.
ゆえにFreeUSBiのwin10 driverの仕事は、これだけなんじゃないかな?
 1)VID/PID=04B4/8613のUSBデバイス(EZ-USB)を探して
 2)ADI_USB.sptをEZ-USBにDLして
 3)EZ-USBを再起動させる
 4)VID/PID=0456/7031のUSBデバイスに化けから後はADさんよろしく

ーーーー
蛇足ですが、ADI_USB.sptの近所に「FTDI x64」というフォルダがあります.SigmaStudioはFT232もprogrammerとしてサポートしてるのかな? EZ-USBよりもFT232の方が低価格なので好ましいかと思います.
hardware config画面には、USBiの他にUSBSerialConvが選択肢に在るのでこれがFT232なのかもしれないと期待が盛り上がるけれど、期待だけにしときます.

ーーーー
SigmaStudioがUSBiを認識しているかどうか、確かめたいです.

SigmaStudioのメニューのどこかに、「Programmer setting」みたいなのがあるんでしょ?と思って探したのだけれど、それがどこにもないんです.これは一体どうしたことか?戸惑いmaximum.

↓そしたら、GUIでProgrammerをdrag&dropさせるんです.こんな風に.う~む、そこまでGUIでやるのか.ADAU1701がDSPです.USB interfaceというのがUSBiです.
↓ADAU1701の内部を設計するには、input→演算ユニット→outputのようにobjectを置きます.input=ADC、output=DACという意味でしょう.下図中央の演算ユニットは10タップFIRフィルタです.
なにはともあれ、これでcompileぐらいは通るのでしょう.

↓まずLink Projectをポチッと押すと、このような表示が出て正常終了します.この時点はUSBiとのコネクションはやってないみたいです.
↓次にLink Compile Connectをポチッとしますと、特に何もなく終了.この時点でもUSBiとのコネクションはやってないみたい.
↓段々と進んでLink Compile Downloadをポチッとすると、エラーが出ます.Target boardが無いのでこれ以上は手出しできないかな.USBiまでは認識できているのかどうかすら不明でした.

ADAUのプリント基板が到着するのを待ちます.Aliexpressなので8月中旬の予定.

ーーーー
SigmaStudioにsimulation機能は無いのだろうか?

たとえばこのように、正弦波発振器をAD入力へ突っ込んで、各部の信号を時間領域/周波数領域で観測したいです.SPICEみたいな使い勝手のイメージ.でもそういうのは出来ないみたいよ.赤のLINE接続が出来ませんから.
実際に動かして音を聴いてみろ、ということかね?
simulation機能が無いとすると、内部objectで生じた不具合を調査するにはかったるい気がする.

今宵はこれまでにしとうございます.

1へ    3へ

かしこ

2 件のコメント:

  1. 読者 ライターのところは、何となくあんな感じと、思い込んでます。ライターは、パラレル接続と、シリアル接続の2つくらいしかないんじゃないかと、思い込んでる。ソフトウェアは、えらいひとの提供なので、なかみは、わかりません。FT232は、秋月あたりになんか、あったような?

    返信削除
    返信
    1. FT232は秋月でお求めいただけます.

      削除