パラレルポートからXilinxのCPLDに書き込めるようにJTAG用の回路を作ったのですが、これがうまく動いてくれません。
回路は次のようになっています。
WebPack 9.2iのiMPACTから通信させようとすると、デバイスIDがオール0またはオール1になってしまいます。 明らかに通信不良です。
AVRのISPケーブルの場合は何の問題もなく一発で動いていたので、なんともわかりません。 単にレベル変換をしながらD0~D2をTDI, TCK, TMDに接続し、TDOをSLCT入力に接続しているだけなんですけどね。
ちなみに今回は3.3Vへの変換にSHARPのPQ3RD23を使いました。 安かったので。
(21 Mar. 2009 7:05pm更新)
理由がわかりました。D-sub25ピンのGNDとJTAGのGNDを接続し忘れていたのでした。 なんともみっともない理由です。 お恥ずかしい...。
15ピンのVCC_SENSEがオープンなのがちょっと気になりますね。プルアップしてみるとどうでしょう?
あと純正と違うのはTDI, TCK, TMSのイネーブルが5ピンのCTRLではなくてGNDに接続されているくらいですか…。
というわけで、GNDのレベル合わせができていなかったのが原因でした。お騒がせしました。
いずれUSBに移行したいですが、WebPackのソフトはFT245RLを使ったアダプタからは書き込めないみたいですね...。