Si570の出力周波数
出力は、4~5GHz帯のDCO(Digitally-controlled Oscillator)をディバイダで分周して得られます。周波数は次式で求められます。RFREQ・HSDIV・N1レジスタで任意の周波数を選べますが、いくつか制約もあります。
- DCO周波数範囲: 4850~5670MHz
- XTAL周波数: 114.285MHz
- 出力周波数: 10~280MHz (Cグレード、LVDS出力の場合)
出力周波数の変更
出力周波数を微調整(±3500ppm以内)するときは、RFREQレジスタに書き込むだけで変更できます。±3500ppmを越えた周波数とするには、いったんDCOを停止させ、各レジスタの設定後、再スタートさせる必要があります。
レジスタ値の選定
周波数設定に関するレジスタの制約は次の通りです。- RFREQ: 38ビット
- HSDIV: 4, 5, 6, 7, 9, 11
- N1: 1と128までの偶数
次に、RFREQレジスタの上位10ビットは整数部、下位28ビットは小数部に割り当てられています。小数部を含む10進数値を2進数の整数へ変換するには、2^28を掛ければ良いそうです。
次に、4つの周波数について検討してみます。
(1)122.880MHz
- 出力周波数 = DCO周波数/(HSDIV×N1) より、DCO周波数4850MHzとするときの HSDIV×N1 は、4,850MHz/122.880MHz ≒ 39.5。
- いくつかの組み合わせの中から、HSDIV=5、N1=8を選定。
- DCO周波数 = 出力周波数×HSDIV×N1 = 122.880MHz×8×5 = 4,915.2MHz
- RFREQ = DCO周波数/XTAL周波数 = 4,915.2MHz/114.285MHz = 43.0082688より、2^28を掛けると、11544944248。これを16進数に変換すると、0x02B021DE77となる。
- HSDIV=11、N1=6、RFREQ=0x02A9404015
- HSDIV=5、N1=16、RFREQ=0x02B021DE77
- HSDIV=11、N1=36、RFREQ=0x02A9404015
周波数の変更手順
今回は、Si570をFPGAのシステムクロックとして使います。アプリケーションに応じた周波数を出せればよいので、電源投入時にDIPスイッチの設定に応じて周波数を変更します。I2Cによる、設定変更手順の流れは次の通りです。 - Freeze DCO
- RFREQ, HS_DIV, N1を更新
- UnFreeze DCO
- (10ms以内に) NerFreqビットをセット
Si570のレジスタ(データシートより)
0 件のコメント:
コメントを投稿