2019.10.24
前へ

ホームページトップへ戻る

[新連載]CPLD入門!
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使うことになるだろうと思ってはいたのですが。
何を今頃になって、というようなものですが。
ようやく本気で、CPLDと四つに取り組みます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜



[第114回]


●CPLDロジアナ(4)

前回からの続きです。
もう何ヶ月も前に、とりあえずということでプロトタイプとして作成しておいた波形表示プログラムがいよいよ役に立つときが来ました。
もともとはUSB経由でテストデータを受信して、それを波形表示するように作った試作プログラムなのですが、データを受信する部分を変更して、バイナリファイルを読み込んでそれを波形表示するようにしました。
下はその実行結果です。



とりあえずパルス波形を表示させるだけの試作(プロトタイプ)プログラムです。
波形表示以外はまだ何も表示できていませんが、とにかく肝心のパルス波形だけは読み込んだデータの通りに表示できています。
読み込んで波形表示したもとのデータは前回作成したバイナリファイルです。
参考までに、前回お見せしたログのうち、バイナリファイルの作成時に同時にデータを16進数で表示しているところだけを抜き出して下に示します。

16進数データだけではよくわからなかったものが、上の図のように波形を表示してみるとどうなっているのか一目瞭然です。
まだプロトタイプなのでサンプリング周波数も何も表示されていませんが、サンプリング周波数は20MHzです。
一番上の波形がビット0で4MHz、その次がビット1(2MHz)です。
以下順にビット2(1MHz)、ビット3(500KHz)、ビット4(250KHz)、ビット5(125KHz)、ビット6(62.5KHz)、ビット7(31.25KHz)です。
ビット6とビット7は信号周期が長いのでこれだけのデータではデータが少なくてただの線で表示されています。
図の縦のラインは測定データ10個ごとの区切りで上の数字は測定データの数を示しています。
サンプリング周波数は20MHzなので10サンプルで2MHzになります。
上から2番目(ビット1)がちょうど10サンプルで1周期になっていることがわかります。
一番上(ビット0)は4MHzでサンプリング周波数の20MHzでは端数が出るため、その下のビット1との間では1サンプリング分のずれが出ています。
それ以外の波形は上の波形の立下りのときに下の波形が変化していて、周期が2倍になっていることがわかります。
まだほんの試作品プログラムですが、これだけでもデジタル回路の解析などに十分使えそうです。

/in3 test1.bin
[59][59][58][5a][5a][5b][5b][5a][5c][5c][5d][5d][5c][5e][5e][5f][5f][5e][60][60][61][61][60]
[62][62][63][63][62][64][64][65][65][64][66][66][67][67][66][68][68][69][69][68][6a][6a][6b]
[6b][6a][6c][6c][6d][6d][6c][6e][6e][6f][6f][6e][70][70][71][71]
end of in3
/exit


ということでトランジスタCPU組立キットの連載記事に割り込む形で、PIC−CPLDロジアナについて紹介しました。
せっかくのロジアナですから、これからもトランジスタCPU回路の検証などにときどき利用したいと思います。
また、そのうち時間をあれば、もう少しましな機能を付加するように、プログラムを作り上げていくつもりです。

CPLD入門![第114回]
2019.10.24upload

前へ

ホームページトップへ戻る