« EtherNet のハードのはなし | トップページ | フラクショナルカウンタのはなし »

2012年10月16日 (火)

パルススワローカウンタのはなし

パルススワローカウンタとは

パルススワローカウンタ( pulse swallow )方式と呼ばれる、PLLの分周器として使われるカウンタです。別名 デュアル・モジュラス・( dual-modulus )プリスケーラー付きカウンタとも呼ばれ、主に高い周波数帯域で使うプリスケーラー(前段分周器)が単一の 1/8 とか 1/2 とかでなく、 8/9 とか 16/17 とか 32/33 などという変な分周率が記載されているものです。これは設定によって 8分周と9分周(16 分周と17分周、32分周と33分周)を切り替えできる もので、この分周数が1違うことがミソで、これによって通常周波数のステップが分周数のかけ算で広くなってしまうのを防ぐ、働きがあるのです。
ハード的には
通常のプログラムできるカウンタは数 100MHz 程度なので、例えば 2GHz の周波数を扱うには、プリスケーラーで数100MHzまで落とします。高速なプログラマブルカウンタも出来ますが、消費電流が多くなったり、高価なプロセスが必要だったりで、普及価格帯ではやはりこのあたりでしょう。周波数を落とすにはプリスケーラーを使います。構造上2の倍数が楽なので、 1/2 ,1/4,1/8,1/16,1/32,1/64,1/128 ,1/256 などがあります。例えば 1/32 を使えば 2,000MHzの信号は62.5MHz になります。これなら処理も簡単です。そして周波数ステップを考えた場合、例えば 5MHz ステップにしたい場合はこれも分周されますので、PLLの比較周波数は 5MHz ÷ 32 = 156.25KHzステップとなります。ちょっと面倒ですね。
 ここで、問題があります。 PLL は比較周波数が低くなるとC/N(信号帯雑音比)が悪くなったり、ロックするまでの時間が遅くなり、性能的に難しくなります。今回は 5MHzステップだったのですが、例えば 100KHzステップにしたい場合は、 100kHz÷ 32 = 3.125KHz と結構大変な基準周波数になってしまいます。
この問題を解決できるのが、パルススワローカウンタです。
20121016_161021
 右図は AD4360 という PLL + VCO のICのプログラマブルカウンターの部分ですが、PRESCALERの部分に P/P+1 とありますね。これがデュアル・モジュラス・プリスケーラーです。そして 13Bit の Bカウンタと 5BitのA カウンターがあります。
 どのように働くかというと、このプリスケーラーが A カウンタの値で P+1 分周したり、P分周したり変化するのです。このプリスケーラーの出力が AカウンタとBカウンタに同時に出力されています。
1)通常状態  分周数( P+1)
 通常は プリスケーラーは P+1 の動作をします。この動作は、 A カウンタが0で無いときで、仮に Aカウンタがダウンカウンタならば A回繰り返すと0になりますので、それまでは
 ( P+1) x A 回カウントすることになります。
2)プリスケーラーが P 分周
 Aカウンタが0になると、プリスケーラーは P 分周となり、こんどは 13Bit の Bカウンタが0になるまでこの動作を行います。よって
  1)の状態では BカウンタもAカウンタと同時にカウントしてましたから2)の状態になったときは
 カウンタの値は ( B-A) です。
 よって カウント数は ( B -A ) x P となります。
3)両方 0 になるとリセットされ、 A,B カウンタは値を再セットされ、プリスケーラーは P+1 からまた再開します。
 よってトータルでは
 ( P+1)x A + ( B-A)x P = PxA + A + Bx P -A x P = A + BxP
となり、分周数 P に関係なく A が設定できることが分かります。
ですから 上記の 2GHz 100KHzステップでも 32/33 の デュアル・モジュラス・プリスケーラーを使えば、
2000MHz ÷100KHz = 20000  , 20000÷ 32 = 625  , 20000-(625x32) = 0 よって Aカウンタ 0 ,Bカウンタ 625 と設定でき、次のチャンネル 2000.1MHz は Aカウンタ 1 ,Bカウンタ 625 と 比較周波数 100KHzのままで実現できることがわかります。
ソフト的には
しかしながら、このデュアル・モジュラス・プリスケーラーには1つの重要な弱点があります。AカウンタとBカウンタの分周比の設定で B >= A という制限があるのです。動作2)の場合を考えて下さい。 Aより Bが小さいと 2)の状態にはなることが出来ませんね。ここに注意して分周比やプリスケーラーの値を設計するようにして下さい。

|

« EtherNet のハードのはなし | トップページ | フラクショナルカウンタのはなし »

コメント

アナデバのPLL ICで「Prescaler P/P+1」というよく分からない表記があって調べていたところ、こちらのページにたどりつきました。理解が深まりました。ありがとうございました。

投稿: | 2016年1月 1日 (金) 10時26分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: パルススワローカウンタのはなし:

« EtherNet のハードのはなし | トップページ | フラクショナルカウンタのはなし »