フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2008-8-14 20:05 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3088 |
FREQUENCY COUNTERブロック オリジナルのFREQUENCY COUNTERブロック図を良くみると内部で更に1/8プリスケールをしている。
従って最小桁がkHz単位の場合ゲート期間は1/10プリスケールのままの時の8倍、すなわち8/100(0.08)secとなる。 CPLDに余裕があればもっと測定分解能を高めるために100Hzとか10Hz単位をカウントできるようにすると同時にフロントパネルのMINUTE/HOURボタンで表示桁をシフトして小数点以下のkHzを表示することも可能かもしれない。PLLなのでそのくらいまでロックしてそうな気がする。そうすると最新の通信型受信機並になる。これは後の楽しみにとっておこう。 オリジナルではカウンタプリセット値が入力信号によって選択可能だが今回はR-1000専用で良いので内部固定とする。455の二の補数がプリセット値となる。 以前にPoorman's Signature Analyzerでもあったようにカウント終了後(ゲートがOFF後内部PRESET信号アサート時)にプリセット値を入力する動作をする。プリセット信号がアサートされていない間は入力パルスでカウント動作を継続する。 カウンタの出力値は常時ラッチの入力として与えられておりカウント終了後(ゲートがOFF後内部LOAD信号アサート時)にラッチ内容が更新される。ラッチ内容は常に7セグメントデコーダー回路に出力される。 内部PRESET信号は当然ながら内部LOAD信号より後にアサートされる必要がある。どちらもゲートOFF期間にのみ変化する。共通の信号で良いような気もするが。 FREQUENCY COUNTERブロックの入出力信号は下図の通り。 FIN - トップレベルのFIN CE - Controlブロックで生成されるCounter Enable入力 RESET - Controlブロックで生成されるreset入力 PRESET - Controlブロックで生成されるpreset入力 LOAD - Controlブロックで生成されるload入力 LATCH - 本ブロック内部のカウンタ値ラッチの出力 FREQUENCY COUNTERブロックの主要入出力信号のタイミング関係は以下の通りとする。 FINは非同期入力。CE信号がアサートされている間のみFIN信号を8分周した立ち上がりエッジで内部カウンタをインクリメントする。 PRESET信号の立ち上がりで、内部カウンタに中間周波数値の2の補数がロードされる。これによって内部カウンタにはFINの周波数から中間周波数を差し引いた値がカウントされる。 LOAD信号の立ち上がりで内部カウンタ値の内容を内部のカウンタラッチレジスタにロードする。 LATCH出力は常に内部カウンタラッチレジスタに保持された値を出力される。 RESET信号がアサートされると内部の8分周カウンタが0リセットされる。 FREQENCY COUNTERブロック内部の構成については一通りブロック間インターフェースをまとめた後で各ブロックについて詳細に検討する。 ちょっと見た限りだと、やはりPRESETとLOADはGATEの立ち下がりで兼用できそうな雰囲気ではある。すなわちCE信号を反転した信号の立ち上がりでPRESETとLOADをやってしまうという考え方もありである。実際にはカウンターのキャリー伝搬遅延とかがあるのでそんな単純に行かない気がするが(GATE信号がネゲートされた後にカウンタの出力が遅れて変化する可能性がある)。 オリジナルのMSM5524の内部ブロック図にこだわらずに考えれば、内部の3.2768MHzのクロックを基準にステートマシンでPRELOAD,CE,LOAD信号を生成しても良いが、他にも異なるタイミング生成が必要なのでとりあえずオリジナルのブロックを参考に組み立ててみることにする。 |
フラット表示 | 前のトピック | 次のトピック |
投稿するにはまず登録を | |