ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
:-?
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
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信号を生成しても良いが、他にも異なるタイミング生成が必要なのでとりあえずオリジナルのブロックを参考に組み立ててみることにする。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   Poorman's MSM5524 webadm 2008-8-12 11:11
     トップレベル webadm 2008-8-13 5:51
   » FREQUENCY COUNTERブロック webadm 2008-8-14 20:05
     CLOCK DIVIDERブロック webadm 2008-9-8 10:54
     CONTROLブロック webadm 2008-9-14 23:10
     CLOCK TIMERブロック webadm 2008-9-16 5:20
     DISPLAYブロック webadm 2008-9-17 10:16
     RTLスケルトン入力 webadm 2008-9-18 13:18
     RTL: FREQUENCY COUNTER webadm 2008-9-18 22:49
     RTL: CLOCK DIVIDER webadm 2008-9-19 5:14
     RTL: CONTROL webadm 2008-9-19 8:56
     RTL: CLOCK TIMER webadm 2008-9-22 10:27
     RTL: DISPLAY webadm 2008-9-23 8:56
     動作シミュレーション webadm 2008-9-24 3:36
       Re: 動作シミュレーション webadm 2008-9-24 5:08
         周波数カウンターモードのシミュレーション webadm 2008-9-24 5:41
           QuartusのState Machine Viewer webadm 2008-9-24 6:18
             どうやらバグではないようだ webadm 2008-9-24 7:17
             周波数カウント動作は出来た webadm 2008-9-24 9:10
               時計とタイマー関連 webadm 2008-9-25 20:06
     VFDドライバ回路 webadm 2008-9-26 7:47
       Re: VFDドライバ回路 webadm 2008-10-1 10:08
         Re: VFDドライバ回路 webadm 2008-10-5 23:29
           Re: VFDドライバ回路 webadm 2008-10-6 11:09
             Re: VFDドライバ回路 webadm 2011-2-23 0:50
     XILINX ISEでコンパイルしてみた webadm 2008-9-29 11:07
     CLOCK TIMERモジュール無しでコンパイルしてみた webadm 2008-10-5 11:56
       Re: CLOCK TIMERモジュール無しでコンパイルしてみた webadm 2008-10-5 12:37
     冬休みの課題にしよう webadm 2008-12-16 9:49
       主要部品が届いた webadm 2008-12-24 20:21
         OKI MSM5524RS入手 webadm 2011-1-4 22:55
           Re: OKI MSM5524RS入手 webadm 2011-1-10 5:06

投稿するにはまず登録を
 
ページ変換(Google Translation)
サイト内検索