首頁(yè) > 評(píng)測(cè) > 借助ClockBuilder Pro生成配置,在ESP32-C3上使用Si5351
借助ClockBuilder Pro生成配置,在ESP32-C3上使用Si5351
- [導(dǎo)讀]
- 本帖最后由 gaoyang9992006 于 2023-6-5 17:26 編輯 #申請(qǐng)?jiān)瓌?chuàng)# @21小跑堂 ClockBuilder Pro是一款用于配置和生成時(shí)鐘信號(hào)的軟件工具,而Si5351是一款常用的時(shí)鐘發(fā)生器芯片。使用ClockBuilder Pro可以方便地
本帖最后由 gaoyang9992006 于 2023-6-5 17:26 編輯
#申請(qǐng)?jiān)瓌?chuàng)#
2、連接硬件:將Si5351芯片連接到您的開(kāi)發(fā)板或電路中。確保硬件連接正確,并且Si5351的電源和通信接口正常工作。
本次實(shí)驗(yàn)采用的是ESP32-C3,可以使用Arduino來(lái)完成測(cè)試工作,這里我采用的是Arduino默認(rèn)的ESP32-C3的默認(rèn)I2C接口,你也可以在程序里指定使用哪些IO作為I2C。
默認(rèn)接口配置文件在以下目錄可以找到
C:\Users\Mint\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.9\variants\esp32c3\pins_arduino.h
其中關(guān)于定義I2C的地址為
- static const uint8_t SDA = 8;
- static const uint8_t SCL = 9;
下圖是我使用的SI5351模塊,該模塊為SI5351A 10PIN的,支持3路生成時(shí)鐘輸出:CLK0、CLK1、CLK2。
3、打開(kāi)ClockBuilder Pro:?jiǎn)?dòng)ClockBuilder Pro軟件,并選擇與Si5351芯片兼容的設(shè)備和芯片型號(hào)。如果您的芯片型號(hào)不在列表中,您可能需要手動(dòng)添加或選擇類似型號(hào)進(jìn)行配置。具體步驟如下:
(1)、啟動(dòng)軟件后,如圖1,選擇Create New Project,創(chuàng)建新的工程
(2)、單擊Clock Generators,選擇時(shí)鐘發(fā)生器
(3)、然后會(huì)彈出一個(gè)元件選擇列表,選擇我們這次使用的SI5351A,然后單擊下一步
- #include <Wire.h>
- #include "Si5351A-RevB-Registers.h"
- /*
- 利用 Clock Builder Pro生成時(shí)鐘芯片Si5351A的配置后,生成的文件默認(rèn)位地址是16BIT,數(shù)據(jù)為8BIT。
- 如果直接使用需要注意這一點(diǎn),因?yàn)锳rduino的write(uint8_t),參數(shù)為8bit變量,注意轉(zhuǎn)換。
- */
- #define SI5351A_ADDRESS 0x60
- void setup()
- {
- // put your setup code here, to run once:
- Serial.begin(115200);
- Wire.begin();
- for(unsigned char i=0;i<255;i++)
- {
- SI5351_WR_Byte(0,i) ;
- }
- for(int i=0;i<SI5351A_REVB_REG_CONFIG_NUM_REGS;i++)
- {
- SI5351_WR_Byte(si5351a_revb_registers[i].value, si5351a_revb_registers[i].address) ;
- }
- }
- void loop()
- {
- // put your main code here, to run repeatedly:
- }
- void SI5351_WR_Byte(unsigned char dat, unsigned char reg_addr)
- {
- Wire.beginTransmission(SI5351A_ADDRESS); // 開(kāi)始I2C傳輸,并指定設(shè)備地址為SI5351A_ADDRESS
- Wire.write((unsigned char)reg_addr); // 發(fā)送地址字節(jié),注意有效位為低8位,自動(dòng)生成的地址為16BIT的。
- Wire.write(dat); // 發(fā)送數(shù)據(jù)字節(jié)
- Wire.endTransmission(); // 結(jié)束傳輸
- }
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前