用免費(fèi)的4層PCB,做了個(gè)很好用的儀器!實(shí)測一下!
做了個(gè)便攜時(shí)鐘源,4層板。
本文引用地址:http://2s4d.com/article/202409/463299.htm主控采用STM32F411。
下文將分享——功能/亮點(diǎn),實(shí)測說明,硬件設(shè)計(jì),軟件設(shè)計(jì),成本說明,開源網(wǎng)址
一、功能/亮點(diǎn)
輸出20M-9800MHz射頻信號,兩個(gè)射頻信號,一個(gè)參考輸入,一個(gè)參考輸出
使用上位機(jī)、串口控制
頻率分辨率到1hz
單個(gè)TYPEC口供電+通信+上位機(jī)圖形化配置,無需單獨(dú)配置各種寄存器,即插即用
板載ocxo作為基準(zhǔn)或鎖定外部基準(zhǔn),支持鎖定內(nèi)部/外部參考信號輸入
整機(jī)啟動時(shí)(恒溫晶振預(yù)熱)功耗約為4W,運(yùn)行時(shí)穩(wěn)定功耗約為2W-3W。
硬件配置:1個(gè)type-c、6個(gè)狀態(tài)指示燈。含:電源正常指示、鎖定指示,實(shí)用內(nèi)部OCXO指示、使用外部參考源指示、兩個(gè)射頻信號是否輸出指示
二、實(shí)測一下
1.射頻信號相噪特性
6GHz測試相位噪聲:100hz處約 -70dBc
受限于儀器設(shè)備該檔位的底噪(實(shí)際相噪會更?。?,無法測到更遠(yuǎn)位置的相位噪聲情況。
測試儀器:Keysight N9000B
輸出功率:0dBm
RBW:5.1Hz
在RBW=1Hz條件下測試。
6GHz測試相位噪聲:100hz處約-80dBc
2.射頻信號輸出
下圖為SDS804測試的114.5141MHz,雙通道輸出。
下圖為Keysight測試的7.1GHz輸出波形與FFT譜。
由于該P(yáng)LL的VCO最大振蕩頻率為7100MHz,再往上需要使用片內(nèi)的倍頻器對VCO進(jìn)行倍頻,因此有較大的次諧波(懷疑是芯片沒做次諧波的抑制),測試結(jié)果如下圖所示。
可見FFT譜中9.8GHz輸出時(shí),有較大的4.6GHz的次諧波成分。
3.參考信號輸出
測試儀器:Keysight
可正常輸出10MHz參考信號,輸出阻抗為50Ω,10MHz。峰值為1.72V,上升沿為330ps左右(甚至可以用來做TDR),如下圖:
那么問題就來了,想做一個(gè)這樣的“儀器”,如何設(shè)計(jì)軟硬件呢?
三、硬件設(shè)計(jì)
原理圖1
原理圖2
原理圖3
PCB圖
1.說明
4層板,疊層:7628;板厚:1.6mm;RF單端:13.75mil
鋁型材外殼尺寸23*54*80
內(nèi)尺寸卡槽:51;板寬:47;最大高度:16
OCX0高度:12mm
四、軟件設(shè)計(jì)
底層驅(qū)動基于C語言,使用STM32HAL庫開發(fā),開發(fā)軟件為Keil v5。
1.UART驅(qū)動
串口發(fā)指令控制,有十余條指令,可覆蓋基本功能,所有命令及解釋如下圖所示:
2.上位機(jī)
玩了玩QT6,簡單寫了個(gè)圖形化上位機(jī),該有的功能基本都有了,目前支持Win平臺,可控制輸出頻率,參考信號切換,N分頻模式,每個(gè)通道輸出使能與關(guān)閉,每個(gè)通道的輸出功率等。
3.實(shí)操說明
最主要的控制函數(shù)為LMX2592_WRITE_FREQ,用來配置PLL輸出頻率及基本寄存器。下面僅展示流程,詳細(xì)代碼見工程附件(參考第6章指引)。LMX2592寄存器部分代碼在LMX2592.c /.h文件中。
void LMX2592_WRITE_FREQ(double freq){ // Fvco = Fpd x PLL_N_PRE x (PLL_N + PLL_NUM / PLL_DEN)
// The VCO core covers an octave from 3.55 to 7.1 GHz.
// F_PFD=20Mhz Fout = pfd * (N) / channel_div; input freq is in Mhz
// denominator = 20M(0x0131 2D00 ) the resolution = 1Hz
/****************** REF PART ********************/
/****************** OUTPUT PART ********************/
/****************** NDIV SET ********************/
/****************** STRAT WORK ********************/ }
與上位機(jī)通信、接收命令,發(fā)送狀態(tài)函數(shù)在UART_CTRL.c /.h文件中,主要依賴strstr函數(shù)對命令進(jìn)行檢測。UART通信采用的中斷接收。
void LMX2592_FREQ_CTRL(){
temp_ret=strstr(CTRLBuffer, "FREQ="); if(temp_ret){
RX_freq=atof(temp_ret+5);
if(debug_outen) printf("freq=%fn",RX_freq);
LMX2592_WRITE_FREQ(RX_freq);
}
...... 其余部分省略
}
上位機(jī)基于QT6 Cmake,比較簡單,但基本功能均已實(shí)現(xiàn)。
最后補(bǔ)充一下整體原理:
本質(zhì)上就是基于鎖相環(huán)對輸入?yún)⒖夹盘柸我獗额l,獲得想要的輸出信號想詳細(xì)了解的可以去Bing搜一搜。
這次完成度蠻高的,有外殼有上位機(jī),即插即用,尺寸也很小,一手掌握,揣在口袋里就走。
五、成本說明
總體成本大概150元以內(nèi),預(yù)祝各位制作成功。
參考資料:
https://oshwhub.com/z_star/pocket-rf-clock-source
評論