DigilentのJTAGコンフィグモジュールに、JTAG-SMT2というものがあります。
USBからFPGAをJTAGコンフィグしたりするときに使うのですが、JTAG-SMT2にはGPIOピンが3つあります。
JTAG-SMT1という製品もありましたが、これにはGPIOピンがありません。SMT2に比べて価格が安かったのですがディスコンになってしまいました。
せっかくのGPIOピンなので、FPGAにつないでPCとの通信に使ったり、ボードの電源やリセット制御に使ったりしたいところです。
しかし、DigilentのJTAG-SMT2のマニュアルを読むと、SDKの将来のバージョンで対応します!、って書いてあって、現状使えないようです。
うーーん。
使えるかと思って、ボードを設計してしまったので(汗、なんとかしてGPIOを叩けないか、調べてみました。
JTAG-SMT2に搭載されているUSBのLSIの型番ですが、Linuxマシンにつないだときのログを見ると、VendorID 0x0403, Product ID 0x6014なので、FTDIのFT232Hであることがわかります。
usb 1-3.1: new high speed USB device number 5 using ehci_hcd
usb 1-3.1: New USB device found, idVendor=0403, idProduct=6014
usb 1-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3.1: Product: Digilent USB Device
usb 1-3.1: Manufacturer: Digilent
ソフトウェアとしては、libftdi1.0を使ってMPSSEモードでリードライトすれば、とりあえずFT232Hにはアクセスできました。
で、問題は、FT232HとGPIOピンの間の結線が、わかりません。
ZedboardもDigilentのJTAG-SMT2に見えるので、この回路図を参考にしながら、リードライトしてみて、値の変化を観測して、下図のような回路図ではないかと、推測できました。
ここまでくれば、あとはソフトで何とかなりますね。
ちなみに、JTAG-SMT2は、当社でも1個から販売しておりますので、ご入用のときはぜひお声かけください。
コメント