CPLD」カテゴリーアーカイブ

Verilogでドライブ回路

これがこう↓なるはず。

// moter_drive01

module moter_drive01(ck,pwm,cw_ccw,Lp,Ln,Rp,Rn);

input ck,pwm,cw_ccw;
output Lp,Ln,Rp,Rn;

reg [3:0] shift_pwm;

//4clock shift
always@(posedge ck) begin
shift_pwm[3] <= shift_pwm[2];
shift_pwm[2] <= shift_pwm[1];
shift_pwm[1] <= shift_pwm[0];
shift_pwm[0] <= pwm;
end

function [3:0] outport;
input [2:0] outport_in;
case(outport_in) //pn pn
3’b 000: outport = 4’b11_11; //XO XO
3’b 001: outport = 4’b10_11; //XX XO
3’b 011: outport = 4’b00_11; //OX XO
3’b 010: outport = 4’b10_11; //XX XO

3’b 100: outport = 4’b11_11;
3’b 101: outport = 4’b11_10;
3’b 111: outport = 4’b11_00;
3’b 110: outport = 4’b11_10;

default: outport = 4’bxx_xx;
endcase
endfunction

assign {Lp,Ln,Rp,Rn} = outport({cw_ccw,shift_pwm[3],pwm});

endmodule

//////////////////////
DigiKey検索プラグインを更新

こつこつ

090315
05年モデルの動作確認を終えて出荷した。
次のモデルを作るために、環境を見直す。
・Verilog練習用のPLD関連ボードを一枚板に固定
・Quartus II Web Edition を 9.0 にアップデート

//////////////////////////////////
DigiKey検索プラグインが動作しなくなっているため、要修正

駆動回路@CPLD

080803.jpeg
clockとFFの確認が早く終わったので、本題のモータ駆動回路に移る。
06年に使用したメイン基板を再利用して駆動回路@CPLDの動作確認を行った。
ゲートドライバへの信号線の結線間違いに気付くのに時間が掛かったが、今朝、動作を確認した。

CPLDに書き込んだ回路はコチラ

///////////////////////
・GCLRnに信号を入力しても、自動的にFFがリセットされるわけではないようだ。→GNDに落とす。
・OE1/2→GNDに落として動作確認。

デザインルール

EPM7032Sデザインルールを調べたのでまとめる。

・VCCとGNDは全て接続する
・使用していないI/OピンをPin-Out Fileでしらべると”RESERVED”になっている→何処にも接続してはならない
・入力専用ピン→使わないなら、GNDに落とす
・Jtag関連(TDO)はoutput端子→何処にも接続しない
・Jtag関連(TMS,TDI,TCK)はinput端子
・TMS,TDIはTCKの立ち上がりで読み込まれる→TCKはGND
・JTAGのステートマシーンが動作しだしても、TMS=1ならIdle状態に戻る→TMSはVCC

・グローバルクロック→そのままクロックを繋ぐ
・グローバルリセット(LOWレベルでFFをリセット)→プルアップ処理
・出力イネーブル専用ピン(Lowレベルで動作)→GND

・Jtag書き込み中の端子は50kΩでプルアップされる。

質問
・上ではJtag関連端子を処理しようとしていますが、Jtagピンを開放のまま(or TCKだけGND)にすることにより、使用上問題は発生するのでしょうか?

参照
Pin-Out File
JTAG のテクニカルガイド:http://www.xjtag.com/jp/support-jtag/jtag-technical-guide.php
アルテラ・デバイスの使用上の注意:http://www.altera.co.jp/literature/ds/dsoprq_j.pdf

CPLD書き込み成功

080721.jpeg
CPLD周辺回路を仕上げ書き込みの確認をした。
途中でJtagの結線ミスによりツマズク。原因は、だいぶ以前に書いた結線図。
作業前に以前の作業内容のチェックが必要である。

・Quartus II Web Editionのライセンス再取得
・次は、クロック信号を使ってLED点滅をする

モータドライブ回路

071201.png
モータドライブ回路を描く
・デットタイムは100ns以上
・clockには10MHzを入力
・各出力は非反転ゲートドライバを通してFETに接続
ピン・アサインの設定はしていないが、コンパイルは通った。
ゲート遅延を無視すると、下のようなタイミングチャートになるでしょうか?

CPLDメモ2

5V動作で44ピンのCPLD
・EPM7032SLC44-※
・EPM7064SLC44-※
※スピードグレード:小さいほど高速動作
入手性と値段
アルテラなので手元にあるトラ技やweb上の資料が良
Quartus II Web Editionも導入済み
【販売】
PLDコ-ナ-F-SHOP!
http://www.hdl.co.jp/tuhan/ptuhan_4.html
http://www.wakamatsu-net.com/cgibin/biz/page.cgi?cate=3805&page=0
http://www.e-netten.jp/eleshop/cgi/search.cgi?syou=CPLD

【参考】16.ALTERA CPLD 7032SテストボードTekuRobo工作室
////////////////////

ダウンロードケーブル
ストロベリー・リナックスPLD-PGMキット
////////////////////

Quartus II Web Editionのライセンスを日本アルテラから再度取得
送られて来たメール3通(ライセンス、新製品情報、ニュースレター)
新製品情報の配信を処理tp://olm.altera.com/myEmailSubscriptions/viewSubscriptions

【関連】CPLDメモ

CPLDメモ

マイクロマウスでは一般的だが、PIC利用の割合が高いMCRでもPLDを見る機会が増えてきた。
手元にトラ技CPLDがあるが、実際の利用目的がないため弄ることは無い。そこで、MCRロボットの基板への導入を目的として考えた。
3chのモータドライブ回路までなら実装面積に優位性は無いが、素子数の低減は信頼性・保守性の向上につながりそうである。

ということでメモ
5V動作で44ピンのCPLD
・XC9536
・XC9572
価格は650円程度
パッケージはPLCCタイプが便利
PLCCソケットのサイズ:23.5×23.5
実装高さ
・リード:8mm
・面実装:5mm程度
ダウンロードケーブルの検討(購入or自作)

LED点滅

070622.png
約1年ぶりのトラ技付録のCPLD
ライセンスが切れると、書き込みはできるがコンパイルはできないようだ。ライセンス再発行のためにアルテラにいくと Quartus II のバージョンが2上がっていた。ライセンス再発行ではNICIDの取得で1度ミス。
クリスタルを入手したので、クロックを分周器にかけてLEDを点滅させようとするが、74シリーズの型番と結線に時間が掛かる。
・VHDLを覚えたが良さそう
・5V入出力可能な石が欲しい