STM32duino Si5351Aの実験その1(基本)

2018.2.27 JH7UBC


STM32duino(STM32F103C8T6ボード)を使って、3チャンネルクロックジェネレータSi5351AのCLK0に7MHzを出力する実験です。
SI5351Aは、I2Cで制御しますので、下の回路図のように、STM32F103C8T6ボードのPB6にSCLをPB7にSDAを接続します。
秋月電子のSi5351Aモジュールを使いましたので、I2Cのプルアップ抵抗を外付けします。
VDDOとVDDには、3.3Vを供給します。

スケッチです。今回は、Hans Summer氏のスケッチをJA2GQPさんがArduinoとstm32両用に改造したsi5351a3.hというヘッダファイルを利用します。
si5351a3.hは、JA2GQPのブログに掲載されています。また、JA2GQPダウンロードサイトからダウンロードできます。
ダウンロードしたsi5351a3.hをスケッチと同じフォルダに保存します。
#include "si5351a3.h"をスケッチに記入して、スケッチを保存し、スケッチを閉じ、再び開くとsi5351a3.hのタグもできて、編集も可能です。
Wireライブラリは、ヘッダファイルに記載されていますので、スケッチには記入する必要はありません。

setupの中のsi5351aXtalCp()は、Si5351A内蔵の水晶振動子の負荷容量を設定する関数です。
ここでは、8pFにセットしています。(6,8,10pFがセット可能です)
Vfo_out()関数の中で使われているsi5351aSetFrequency()で、周波数と出力強度をセットしています。
(2,4,6,8mAがセット可能です)
freqの値は、CLK0に出力されます。

実際にCLK0に出力された信号の周波数は、設定値より、若干低めでした。
このモジュールでは、負荷容量を6pFにした方が7MHzに近い周波数を出力しました。
モジュールに個体差があるようです。


inserted by FC2 system