[新連載]CPLD入門!
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使うことになるだろうと思ってはいたのですが。
何を今頃になって、というようなものですが。
ようやく本気で、CPLDと四つに取り組みます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第127回]
●CPLDロジアナ(16)回路図
例年通りといいますか今年も超多忙で始まってしまい、気が付けばもう1月も終わりです。
この調子ではどうやら春までこのままで過ぎてしまいそうです。
今年こそはゆっくり花見をしたいものと思っているのですがどうなりますでしょうか。
相変わらずの状況ですのでホームページの更新もままなりません。
どうか気長なお付き合いをお願いいたします。
ということで今回はやっと完成までこぎつけたCPLDロジアナの回路図のみお見せして終ります。
CPLDロジアナ(8CH版)の回路図です。
当初は16CH版にするつもりでその分の入力回路も用意していました。
16ビットの入力データを8ビットずつ2回に分けてメモリに書き込むつもりだったのですが、そうするとどうしてもそこで時間を取られてしまうためサンプリングクロックが遅くなってしまいます。
結局16CHは諦めざるを得ませんでした。
図の左側部分にあるPB0〜PB7が8CHのプローブ入力回路です。
その下にある未接続の8本のラインが当初予定していたPB8〜PB15の入力のためのラインです。
Windows側からUSBを介してPIC18F14K50にコマンドを送ります。
RC0〜RC7がコマンドとデータの入出力ラインです。
RB4〜RB7はCPLDに対してコマンド、データを送受するためのIORD、IOWR信号とコマンドとデータを分けるためのアドレスセレクト信号、および測定が完了したことを知るための信号ラインです。
CPLDは測定開始コマンドを受けるとPB0〜PB7から入力した値をRAMに出力するとともにRAMアドレスをインクリメントします。
そしてアドレスが8000(32KB)になるまでそれを繰り返します。
アドレスが8000になったら測定を停止しデータエンド信号をPICに送り、次のコマンドを待ちます。
Windows側からUSBを介してPIC18F14K50にデータ送信コマンドを送るとCPLDはそれを受けて今度はRAMアドレスを0000にクリアしてRAMからデータを読み取りそれをPIC18F14K50に送るとともにRAMアドレスをインクリメントします。
CPLDはPICからデータ送出要求がある間それを続けます。
次回はCPLDに上記の動作をさせるためのVHDLプログラムについて説明する予定です。
CPLD入門![第127回]
2022.1.31upload
前へ
次へ
ホームページトップへ戻る