JI3RLY/K8RLYさん、こんばんは。JA5WAFです。
> ラズパイPicoのPWMの周波数の上限が62.5MHzらしいので
> 普通は1MHz以下の所を50.550MHzにセットすると
> 発振するのですが、何故か41.66MHz・・・
PWMの基本周波数とDuty比をどのように設定されているのかわかりませんが、RPI Picoのシステムクロックがデフォルトの125MHzでPWMの基本周波数も同じということであれば、41.66MHz = 125/3MHzということでシステムクロックを3分周したものということになります。
PWMの基本周波数はシステムクロックから分周して作られますので、分周比が小さい場合には設定周波数と実際に設定される周波数に大きな誤差が発生します。
上記の場合、50.550MHzを設定するとそれに最も近い周波数としてシステムクロックを3分周した41.66MHzが設定されたのだと思います。
RPI Picoの動作としては正しい動作です。
> しかしQRHも無く、上手に使うとお手軽発振器に
> なりそうです。
RPI Picoの原発振は12MHzで、これを内蔵のPLLで逓倍、分周してUSB用の48MHzとシステムクロック(125MHz)を生成しています。
システムクロックの周波数はスペック上は最大133MHzということになっていますが、実はかなり高い周波数までオーバークロックすることが可能です。
私が試した限りでは、およそ260MHz程度までは問題なく動作するようです。(すべての個体でこの周波数を保証するものではありません。)
このオーバークロックが可能(システムクロックを広範囲に変化させることができる)ということと、RP2040に内蔵されているPIOブロックを使用してN分周器を構成することにより、ある程度自由度のある可変周波数発生器を実現できます。
例えば、システムクロックを202MHzとしてこれを4分周すると50.500MHzを、152MHzとしてこれを3分周すると50.667MHzを生成することができます。
> ネコも杓子もSi5351なので、ちょっと研究すると
> 面白そうです。
私自身も決して実用性が有るとは思っておりませんが、老後の頭の体操(笑)にはちょうど良いのではと思ってやっております。
現状は2系統のPIOブロックを使用して、48MHz帯と2MHz帯のそれぞれ正相と逆相のハルス出力を生成し、これを外付けのDBM(DBMと言ってもゲートICで構成したものですが)を通して50MHz帯(および46MHz帯)のパルス出力を得ることを検討しております。(要するにプリミックス方式のVFOですね。)
とりあえずブレッドボード上での動作確認まで出来ておりますので、次はユニバーサル基板上に実装しようと考えております。