CPLDで遊ぼう!(17)
更新日:2006年8月21日

クロックジェネレータを改造する
いきなりですが24個ものDIPスイッチを設定するのは大変面倒ですので、簡単に設定することを考えます。別マイコンを活用してDIPスイッチの設定を出来るようにします。マイコンには24個もの出力がありませんのでマイコンからはシリアルデータで24bit分のデータを送ることにします。従ってそれに合ったようにCPLD側も改造することにします。
クロックジェネレータを改造するの入力仕様
マイコンからシリアルでデータを送ります。次のような仕様を考えます。
(クロックジェネレータを改造するの入力仕様)
マイコンからの信号はデータ、クロック、ラッチ、リセットです。クロックジェネレータ部の7セグメント表示の桁切り換えもマイコン側からします。電源、GNDも合わせて8本の線が必要になります。
クロックジェネレータを改造するの全体内部構成図
前回のDIPスイッチ仕様に対してシリアルデータをパラレルにするモジュールとそのデータをラッチするモジュールを追加しています。このようにハードロジックが簡単に変更出来るがCPLDの醍醐味でしょうか。
(CPLD内部構成図)
クロックジェネレータを改造するの24bitシフトレジスタモジュール
マイコンから来る24bit分のシリアルデータをパラレルに変換するモジュールです。ビット数が多いだけで難しい部分は全くありません。
(24bitシフトレジスタモジュールの入出力)
(24bitシフトレジスタのVHDLソース)
クロックジェネレータを改造するの24bitラッチモジュール
シフトレジスタの値をラッチするモジュールです。シフトレジスタと一緒に構成することも可能でしょうが私の場合うまくいきませんでしたので分けました。
(24bitラッチモジュールの入出力)
(24bitラッチモジュールのVHDLソース)
クロックジェネレータを改造するのピン接続のまとめ
ピン接続についてまとめておきます。DIPスイッチを接続していた部分がシリアルでマイコンと接続するようになっただけで他の配線は全く同じです。
(クロックジェネレータを改造するのピン接続)
クロックジェネレータを改造するの大完成の姿
マイコンとの接続の端子を延ばしています。配線はすっきりしました。
(クロックジェネレータの改造の勇姿)
マイコン側はコネクタ構成としました。8本の接続が必要なためミニDINコネクタを使用しています。
(ミニDINコネクタでの接続)
クロックジェネレータを改造するの全VHDLソースコード
私と同じ製作をされる方、または勉強される方のために全ソースコードなどプログラム一式を公開いたします。フォルダごと圧縮しましたのでそのままもってって下さい。
全ソースコードはこちらです。
マイコンとの接続を想定しての改造ですのでこのままでは動作出来ません。次回はいよいよマイコン側の製作に進むことにしましょう。マイコンはNECのチップを使います。WEBでの公開はそのマイコンでのHPになります。「CPLDで遊ぼう」と「NEC78K0/K0Sマイコン開発室」とのコラボでお送りする予定です。
これからもますます楽しくなる「CPLDで遊ぼう!」をよろしくお願いいたします。