JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

Raspberry Pi Pico CircuitPython Si5351A テストその2

2022-05-11 13:06:56 | Raspberry Pi Pico
 前の記事の続きです。

 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

----------------------------------------------------------------------------

 周波数を測定してみました。若干高い周波数を出力します。


最新の画像もっと見る

コメントを投稿