ZYNQのADCボードの実装があがりました
本日、ZYNQのADCボード「Cosmo-Z」の実装があがってきました。2枚あります。
ZYNQはこんなパッケージでした。これがFBG656ってやつですね。初めてみました。上に見えるのはDDR3 SDRAM、右に見えるのがEZ-USB FX3です。
ずらっと並んだ高速ADCと、メザニン。
実装していなかったコネクタやコンデンサなど、すべての部品を手作業ではんだ付けして、完成です。
安定化電源をつなぎ、1Vから徐々に電圧を上げていき、各電源が異常な電圧を出さないかどうかチェックした。1.0,1.2,1.5,3.3VすべてOK。
ZYNQに何も書き込まない状態で消費電流測ったら890mAです。結構食います。アナログ部の消費電力が結構大きいようです。
おそるおそる電源を入れ、EZ-USB FX3にUSB-JTAGのファームウェアを書き込んで、MITOUJTAGでをつないだら認識できました!
ここまでくれば一安心です。
このボードのUSBコネクタはライトアングルタイプで上に出てくるやるなので、ポキッと折れそうで怖いです。エポキシで固めるなどの補強が必要かもしれません。
さて、いろいろ書き込んだり、プログラムを動かそうとしているのですが、なかなか安定して動作しません。どうやら、MIO[6:2]の設定でいろいろあるようです。
ZYNQをJTAGで見ると、ARMのDAPというものと、FPGAの部分と、2つ見えるはずなのでうが、これが1つしか見えていません。これはMIO[2]で決まるようです。
MIO[2]が0だとカスケードモードというやつになるそうなのですが、それでも1つしか見えないときがあります。たぶん、ZYNQの中の初期ブートコードがMIO[7:3]を見て起動モードを設定してしまって、そのときにDAPを隠すようなことをしているのだと思います。
特に、iMPACTでコンフィグするには、JTAG ブートモードにしなければならないのかもしれません。QSPIやSDカードモードではiMPACTでは失敗するようです。MITOUJTAGではどのモードでも書き込めるのに、なぜかiMPACTでは失敗します。
このあたりのジャンパをいろいろ変えて試しているのですが、そのときに、MITOUJTAGが使えてとても助かりました。
MIOはモード設定ピンと、QSPIの出力を兼ねるので、リセット時の状態がどうなっているかは起動してしまうとわかりません。MITOUJTAGのバウンダリスキャンを使えば、ZYNQの起動前のMIOの状態が見ながらいろいろ試すことができました。
ZYNQ起動する前後の波形です。
PS_POR_BがLに下がると、各MIOの端子が出力を停止し、その後、SD_DATAが激しく動いてブートプログラム(boot.bin)を読みに行っているのがわかります。起動した後はMIO/BOOT_MODEは出力に変わってしまっています。
上の波形では、
- VCFG[1:0]="11"・・バンク1、バンク0ともに1.8V
- MIO[6]/BOOT_MODE[4]=1・・PLLバイパス
- MIO[5]/BOOT_MODE[3]=1・・SDカードブート
- MIO[4]/BOOT_MODE[2]=1・・SDカードブート
- MIO[3]/BOOT_MODE[1]=0・・SDカードブート
- MIO[2]/BOOT_MODE[0]=0・・・カスケードモード
ということがわかります。
起動する前のモードピンが正しい値になっているかを調べたり、ちゃんとSDカードを読みに行っているのかを調べたりすることは、MITOUJTAGを使わなければ不可能だったと思います。
| 固定リンク
コメント