CPLD入門2019.8.24前へ次へホームページトップへ戻る[新連載]CPLD入門!〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜いつか使うことになるだろうと思ってはいたのですが。何を今頃になって、というようなものですが。本気で、CPLDと四つに取り組みます。〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜[第101回]●CPLDトレーニングボード製品版の写真です久し振りの更新です。長い夏休みだなあとお思いかもしれませんが、夏休みなどとんでもありません。宅配便も止まってしまいますし、この機会を利用して、たまってしまった注文を汗だくでこなしておりました。真性ワーカーホリックですから、休みが取れたってやっぱり仕事をしてしまいます。なんとも悲しいことであります。がんばってやりましたお蔭で大分片付きました。残っていますが、なんとか山は越えたと思います。肝心のCPLDトレーニングボードキットの説明書ですが、まだ出来ません。今しばらくお待ちいただきますようお願いいたします。CPLDトレーニングボードキットについては、やっと製品版の動作確認が済みました。こちらがCPLDトレーニングボードの製品版の写真です。●回路図そしてこちらが最終的に確定したCPLDトレーニングボードの回路図です。当初は時計用クロックとして定番の32.768KHz水晶を使うつもりだったのですが、なかなかに発振がむつかしく、それでもなんとかそこはクリアできたのですが、次に周波数カウンタプログラムを試したところ、32.768KHzでは精度が悪くて使い物になりませんでした。時計だからつい32.768KHzを使ってしまったのですが、よくよく考えてみれば何も1秒を作るのにその周波数でなければできないものではありません。いえ1秒をつくるための分周が余り複雑な周波数も考え物です。それであらためて手持ちのクリスタルを調べてみたところ、おお、いい周波数があるじゃありませんか。いうことで回路図にありますように、4.096MHz水晶を使うことにしました。4096(KHz)=212ですから、12ビットのバイナリカウンタで分周すれば1KHzが得られます。これを10進カウンタ3段で分周すれば、1/100秒、1/10秒、1秒のクロックが得られます。これなら時計用にも、周波数カウンタにも文句なしで使えます。●追加作成したサンプルプログラムという具合に先に書いてしまいましたが、せっかくの7セグメント表示LEDですから、それを利用するならデジタル時計は外せませんでしょう。1秒のゲート期間中に別途入力するパルスをカウントして7セグメントLEDに表示すれば立派な周波数カウンタです。どちらも7セグメントLED表示プログラムを含みますが、サンプルプログラムとして考えたときいきなりではちょっと複雑かなあという気がします。そこでその前段階として、プッシュスイッチを押したときにそれをカウントして7セグメントLEDに表示するプログラムも作ってみました。追加で作成したサンプルプログラム兼動作確認のためのプログラムは以下の通りです。1)プッシュスイッチカウントプログラム2)時計プログラム3)周波数カウンタプログラム各プログラムについては、次回から今までと同様に、プログラムリストを提示して簡単な説明を加えていくつもりです。各プログラムはリストとして表示するとともに、VHDLソースプログラムとしてQuartus�U13.0SP1でコンパイルして、CPLDトレーニングボードに書き込みができるよう、ダウンロードファイルの形でも用意するつもりです。CPLD入門![第101回]2019.8.24upload前へ次へホームページトップへ戻る。