前の記事の続きです。
Raspberry Pi Pico CircuitPythonで、Si5351Aに任意の周波数を出力させるテストをします。
この方法については、JH7UBCホームページのArduinoのページのこちらに詳しい説明をしています。なお、簡単な説明を下に示します。
7.000000MHzをCLOCK0に出力するスクリプトです。
Xtal Load Capacitanceを変更する関数がなかったので、レジスタ番号183に、6pFにするためのデータ0x40を書き込んでいます。
因みに8pFにする場合は、0x80を10pFにする場合は0xC0を書き込みます。
----------------------------------------------------------------------------
"""
Raspberry Pi Pico CIrcuitPython Si5351 test
2022.5.11
JH7UBC Keiji Hata
"""
from board import *
import busio
import adafruit_si5351
SCL = GP17
SDA = GP16
# Initialize I2C bus.
i2c = busio.I2C(SCL, SDA)
# Initialize SI5351.
si5351 = adafruit_si5351.SI5351(i2c)
#Si5351 Xtal Load Capacitance=6pF
si5351._write_u8(183,0x40)
frequency = 7000000
XtalFreq = 25000000
denom = 1048575
divider =900000000 // frequency
if divider % 2:
divider = divider - 1
#PLLA周波数設定
PllFreq = divider * frequency
mult = PllFreq // XtalFreq
L = PllFreq % XtalFreq
num = (L * denom) // XtalFreq
si5351.pll_a.configure_fractional(mult,num,denom)
#CLOCK0出力周波数
si5351.clock_0.configure_integer(si5351.pll_a, divider)
# After configuring PLLs and clocks, enable the outputs.
si5351.outputs_enabled = True
----------------------------------------------------------------------------
周波数を測定してみました。若干高い周波数を出力します。
※コメント投稿者のブログIDはブログ作成者のみに通知されます