[新連載]CPLD入門!
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使うことになるだろうと思ってはいたのですが。
何を今頃になって、というようなものですが。
ようやく本気で、CPLDと四つに取り組みます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第142回]
●CPLDロジアナ(31)USBデータ通信速度の測定(2)
前回はCPLDロジアナのUSBでのデータ通信速度をオシロスコープで確認しました。
今回は同じことをCPLDロジアナを使ってやってみます。
測定中に同時に自分自身のRAMのアドレス端子の波形を記録することは可能ですが、そのデータを読み出すときに同時に自分自身のRAMアドレス端子を観測記録することは不可能です。
測定データをRAMに書き込むときは「書き込みモード」ですが今回の目的のようにRAMからデータを読み出すときのアドレス端子を観測記録するためにはRAMに対して読み出しと書き込みを同時にやらなければなりませんから物理的に無理です。
CPLDロジアナのRAMの読み出しをCPLDロジアナで観測記録するためにはどうしてももう1つ別のCPLDロジアナが必要です。
下はそのようにして準備をして必要な接続を完了した写真です。
写真右端はクロック発生回路基板で中央はその出力信号を観測記録するためのCPLDロジアナです。
サンプリングクロックは低い周波数まで広げる前の一番低い500KHzです。
こちらのCPLDロジアナはWindows98SEパソコンに接続しています。
左側は中央のCPLDロジアナのRAMのアドレス端子を観測記録するためのCPLDロジアナです。
左側のCPLDロジアナで観測する中央のCPLDロジアナのRAMアドレス端子はA14、A13、A12の3本ですが余ったプローブはこちらもクロック発生回路基板の出力につないでいます。
まだいろいろなテスト作業中なので同時にテストして確認をするためです。
こちらのCPLDロジアナはWindows7パソコンに接続しています。
上の写真の3枚の基板の電源を全てONにした上でWindows98SEのロジアナプログラムとWindows7のロジアナプログラムの両方を起動しました。
そのようにしたあとで先にWindows7側のロジアナプログラムの「START」をクリックしてから次にWindows98SE側のロジアナプログラムの「START」をクリックしました。
下はそのようにして記録したWindows7側で記録した波形画像です。
ちょっとややこしいのですがこの画像は上の写真の左側のCPLDロジアナで中央のCPLDロジアナのRAMのアドレス端子の波形を観測した画像です。
PROBE0はRAMアドレスのA14の波形です。
PROBE1はA13の波形で、PROBE2はA12の波形です。
いずれの波形も33msのところでLになっています。
A14は前半がLで後半がHになって終りますがその立ち上がりのときにトリガがかかって測定がスタートしますから後半の16KB分のデータの書き込みのところが記録されています。
500KHzのサンプリングクロック(2μs)で16KBのデータを記録しているところですから計算通りの結果になっています。
PROBE3からPROBE7にはクロック発生回路基板の出力をつないでいますが、出力周波数に比べてサンプリング周波数が低い(1KHz)ため正しい波形が記録されていません。
このことについてはのちほど説明するつもりです。
それはしばらく置くとしまして、上の画像はデータをRAMに書き込んでいるときのRAMのアドレス端子の波形を示したものですが、本来の目的はRAMからデータを読み出すときの波形を観測することです。
そのために1KHzという低いサンプリングクロックまで用意して測定したのですから、もちろんその部分も記録しています。
RAMから32KBのデータを全部読み出すには前回のオシロスコープでの観測によっておよそ4秒かかることが確かめられましたから1KHzという低いサンプリングクロックでもとても1画面ではその全てを見ることはできません。
目安としてPROBE2(RAMアドレスA12)が変化するポイントごとにその画像を示します。
RAMからの読み出しがスタートしてから最初にA12がHになるのは(Windows7側での)記録開始から699msのところです。
まだPROBE1(A13)もPROBE0(A14)もLのままです。
次にPROBE2(A12)がLになるのは1226msのところです。
このとき同時にPROBE1(A13)がHになっています。
次にPROBE2(A12)がHになるのは1754msのところです。
次にPROBE2(A12)がLになるのは2282msのところです。
このとき同時にPROBE1(A13)がLになっています。
また同時にPROBE0(A14)がHになっています。
次にPROBE2(A12)がHになるのは2808msのところです。
次にPROBE2(A12)がLになるのは3336msのところです。
このとき同時にPROBE1(A13)がHになっています。
次にPROBE2(A12)がHになるのは3864msのところです。
このポイントでA12〜A14が全てHになりました。
このあとはRAMの最後の部分(7000〜7FFF)のデータが読み出されるところですがアドレスは7FFFから先に進まないでその状態で残りますからPROBE0〜PROBE2の波形もこのまま変化しません。
ですからここまでで終わりです。
ここまでmsのオーダーでアドレスラインの変化を観測記録することができましたが上の画像では記録が複数の画像に亘っているためかえって全体を把握するには難があります。
そこで上の画像をもとにして1枚の図にまとめました。
A12のH、Lの幅は526ms〜528msですからそのことから最初にRAMからのデータの読み出しが開始されたのは171msあたりのところだと推測できます。
また最後のデータの読み出しが終ったのは4392msのあたりだと推測できます。
このことから32KBのデータの読み出しにかかった時間(=USBで送信するのにかかった時間)はおおよそ4220msであることがわかります。
これは前回のオシロスコープでの観測結果とも一致しています。
CPLD入門![第142回]
2022.3.14upload
前へ
次へ
ホームページトップへ戻る