目次CPLD入門CPLDライター


CPLD ライター 回路説明


回路の基本部分はXilinx社が自作用に公開している以下のサイトの情報を基にしています。

JTAG Parallel Download Cable Schematic

パラレルポート



今回のCPLDライターはパソコンのパラレルポートに接続して使います。パラレルポートには通常、プリンターを接続しています。
パラレルポートの各ピンの信号は左の図のようになっています。

ピン番号はコネクタに小さな文字で書かれています。オス側とメス側では番号の付与位置が逆になりますので、間違えないようにして下さい。要は1番ピンは対抗するコネクタの1番ピンに接続されます。


今回の装置ではそれぞれのピンを以下のように使用しています。
ピン番号通常の名称今回の名称意 味
2PD0(I/O)DIN(OUT)データ信号出力(TDI)
3PD1(I/O)CLK(OUT)クロック信号出力(TCK)
4PD2(I/O)TMS_IN(OUT)モード選択出力(TMS)
5PD3(I/O)CTRL(OUT)出力制御信号
6PD4(I/O)PROG(OUT)入力制御信号
8PD6(I/O)D6(OUT)状態検出用信号?
11BUSY(IN)BUSY(IN)ビジー検出
12PE(IN)PE(IN)パリティエラー検出
13SLCT(IN)DONE(IN)データ信号入力(TDO)
15ERR#(IN)VCC SENSE(IN)装置状態検出
18-25GNDGND接地

上の表で IN および OUT はパソコン側から見た信号方向です。装置側から見ると逆になります。

    8、11および12番のピンはコネクタのところで接続しています。この3本のピンはライターが接続されているかを確認するためのものと思われます。



バス・バッファー回路


CAY
HXZ
LLL
LHH

JTAGの信号線(TMS, TCK, TDI および TDO)各々にはバスバッファーを入れています。このバッファー回路には3ステートバッファーが使用されCPLDデバイスへの書き込み回路がパソコンのパラレルポートに影響しないようになっています。CPLDデバイスとのデータ授受を行う場合のみバッファー回路が動作します。データの授受を行わない場合、バッファーの出力は高インピーダンスになり、回路から切り離された状態になります。データの授受を行う場合にはCPLDデバイスに対して低インピーダンスになり、書き込み、読み出し電流を確保します。

C端子がHレベルの時には出力端子(Y)は高インピーダンスになり、接続している回路から見るとバス・バッファが接続されていないと同じになります。
C端子がLレベルになると、入力端子(A)の状態が出力端子(Y)に出ます。
Hレベル、Lレベルに加えて高インピーダンス状態があるので、3ステート(3状態)バッファと呼ばれます。

左の表でZは高インピーダンス状態を示しています。





デバイス切り替え回路


書き込み対象をロータリースイッチにより切り替えています。いずれか一つのデバイスのみが書き込み対象になります。

通常はどれか一つしか使用しないので、スイッチで切り替えずに並列接続しても良いと思います。その場合、使うときに注意する必要があります。

今回の回路で外部プリント基板に搭載しているCPLDに書き込む場合、CPLDデバイスでの電源供給は外部のものを使うようにします。と言うのは、この装置から供給出来る+5Vの電源は約100mAまでなので、外部の回路を動作させるのには小さすぎると思われます。一応、外部にもVCCが供給出来るようにしましたが、使うときに注意して下さい。





LED表示

    緑色のLEDは電源(Vcc)の状況を表示し、赤色のLEDはTDI信号がLレベル時に点灯するようにしています。
    赤のLEDが点滅中はデータ転送中ですから、電源を切るとか、ケーブルを抜くとか、デバイスを外すとかしてはいけません。
    TDI信号に接続している回路はヒューマンデータ社のダウンロードケーブルの回路を参考にしています。
    信号に与える影響を少なくするためにLEDに直列に入れている抵抗器の値は比較的大きくしています。




電源回路



バスバッファー用の電源(+5V)を供給しています。外部のACアダプタから+12Vを供給し、3端子レギュレータにより安定した+5Vを作り出しています。