2022.1.27
前へ
次へ
ホームページトップへ戻る

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



[第126回]


●CPLDロジアナ(15)クロックラインを直しました

100MHzと50MHzを組み込んだことで完成まであと一歩のところまで来ました。
今回は最後の仕上げとしてずっと気になっていたところを直しました。
トリガがかかってスタートしてからの経過時間を縦のラインで画面に経過時間とともに表示しています。
スタートポイントは0秒です(クロックによって0ns、0μsと表示しています)。
そこがトリガがかかった時点です。
今まではソフトの都合でその0秒のラインの表示が波形のスタートポイントからずれていました。
今回はプログラムを直して0秒のラインと波形のスタート点とを合わせました。

そのように直したあとの100MHzの表示です。

それでもまだ0nsよりも前に波形があります。
実は0nsよりも前にある波形は測定データではありません。
0nsのすぐ前(左)のデータはダミーです。
その前に3バイト分のファイル管理用のデータがあります。
本来の波形データではありませんからこの4バイトは表示しないほうがよいとも考えたのですが、プログラムを考える上ではこの部分も表示したほうが都合がよい点があってこのまま残すことにしました。
それとは別にこのように時間の表示ラインを波形と合わせたことで見えてきたことがあります。
PROBE0のデータは4MHzのパルスです。
その波が立ち下がったところでトリガがかかって記録が開始されています。
4MHzの1周期は250nsですからちょうど2周期が500ns、4周期が1000nsです。
しかしPROBE0の波形は少しずれています。
時間の縦のラインとラインの間には10回のサンプリングデータが表示されています。
サンプリングクロックは100MHzですからサンプリングの間隔は10nsです。
PROBE0の波形は20nsずれているようです。
CPLDロジアナがいくら高速動作をしたとしても回路の遅延が0ということは有り得ませんからトリガがかかってから実際に波形データをRAMに書き込むまでにはそれなりの時間が必要です。
PROBE0の波形から、その遅延時間は20nsだと推測できます。
わずか20nsです。
それは当然あるべき遅延と考えられます。
その一方で、たとえばPROBE0(4MHz)とPROBE1(2MHz)、さらにはPROBE2(1MHz)の間は10nsずれています。
このずれはロジアナ回路の遅延というよりもクロック発生回路の出力の遅延がそのまま出ていると考えられます。
クロック発生回路の出力はバイナリカウンタからの出力ですから遅延を伴います。
ロジアナ回路のPROBE0〜PROBE7は8ビットのデータとして同時にサンプリングして同時にRAMに書き込みますからビット間の遅れはほぼ無いと考えてもよいと思います。
ですから波形としてはトリガ直後からは20ns遅れて記録されているとしても各プローブ間の相互の遅延は無く、相対的には正しい波形が表示されていると考えられます。
自画自賛ですけれどこれはなかなかに優秀なツールができたと思います。

念のため同じ10MHzでトリガをPROBE1でかけてみました。

PROBE1は2MHzのパルスです。
やはりトリガからは20ns遅れた波形になっているようです。

サンプリングクロック50MHzです。

50MHzでもやはり20nsの遅延が見られます。

サンプリングクロック20MHzです。

サンプリングの間隔は50nsです。
100MHz、50MHzで見られていた20nsの遅れはサンプリング間隔が長くなったために見られなくなって、見かけ上は(ロジアナの)遅延はなくなったように見えています。

サンプリングクロック10MHzです。

トリガをPROBE2(1MHz)でかけました。

サンプリングクロック5MHzです。

トリガをPROBE3(500KHz)でかけました。

サンプリングクロック2MHzです。

トリガをPROBE4(250KHz)でかけました。
250KHzの1周期は4μsですから5μsごとの縦ラインでは20μsでやっと周期とラインが一致します。
このときPROBE4はちょうど5波になっています。
なお半波で見れば2.5周期で10μsの縦ラインと一致しています。

サンプリングクロック1MHzです。

トリガをPROBE5(125KHz)でかけました。
125KHzの1周期は8μsですから10μsごとの縦ラインでは40μsでやっと周期とラインが一致します。
このときPROBE5はちょうど5波になっています。
なお半波で見れば2.5周期で20μsの縦ラインと一致しています。

今度もサンプリングクロックは1MHzです。

トリガをPROBE6(62.5KHz)でかけました。
62.5KHzの1周期は16μsですから10μsごとの縦ラインでは80μsでやっと周期とラインが一致します。
このときPROBE6はちょうど5波になっています。
なお半波で見れば2.5周期で40μsの縦ラインと一致しています。

サンプリングクロック500KHzです。

トリガを1MHzのときと同じPROBE6(62.5KHz)でかけました。
62.5KHzの1周期は16μsですから20μsごとの縦ラインでは80μsでやっと周期とラインが一致します。
このときPROBE6はちょうど5波になっています。
なお半波で見れば2.5周期で40μsの縦ラインと一致しています。

CPLD入門![第126回]
2022.1.27upload

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