用免费的4层PCB,做了个很好用的仪器!实测一下!
做了个便携时钟源,4层板。
本文引用地址:https://www.eepw.com.cn/article/202409/463299.htm主控采用STM32F411。
下文将分享——功能/亮点,实测说明,硬件设计,软件设计,成本说明,开源网址
一、功能/亮点
输出20M-9800MHz射频信号,两个射频信号,一个参考输入,一个参考输出
使用上位机、串口控制
频率分辨率到1hz
单个TYPEC口供电+通信+上位机图形化配置,无需单独配置各种寄存器,即插即用
板载ocxo作为基准或锁定外部基准,支持锁定内部/外部参考信号输入
整机启动时(恒温晶振预热)功耗约为4W,运行时稳定功耗约为2W-3W。
硬件配置:1个type-c、6个状态指示灯。含:电源正常指示、锁定指示,实用内部OCXO指示、使用外部参考源指示、两个射频信号是否输出指示
二、实测一下
1.射频信号相噪特性
6GHz测试相位噪声:100hz处约 -70dBc
受限于仪器设备该档位的底噪(实际相噪会更小),无法测到更远位置的相位噪声情况。
测试仪器:Keysight N9000B
输出功率:0dBm
RBW:5.1Hz
在RBW=1Hz条件下测试。
6GHz测试相位噪声:100hz处约-80dBc
2.射频信号输出
下图为SDS804测试的114.5141MHz,双通道输出。
下图为Keysight测试的7.1GHz输出波形与FFT谱。
由于该PLL的VCO最大振荡频率为7100MHz,再往上需要使用片内的倍频器对VCO进行倍频,因此有较大的次谐波(怀疑是芯片没做次谐波的抑制),测试结果如下图所示。
可见FFT谱中9.8GHz输出时,有较大的4.6GHz的次谐波成分。
3.参考信号输出
测试仪器:Keysight
可正常输出10MHz参考信号,输出阻抗为50Ω,10MHz。峰值为1.72V,上升沿为330ps左右(甚至可以用来做TDR),如下图:
那么问题就来了,想做一个这样的“仪器”,如何设计软硬件呢?
三、硬件设计
原理图1
原理图2
原理图3
PCB图
1.说明
4层板,叠层:7628;板厚:1.6mm;RF单端:13.75mil
铝型材外壳尺寸23*54*80
内尺寸卡槽:51;板宽:47;最大高度:16
OCX0高度:12mm
四、软件设计
底层驱动基于C语言,使用STM32HAL库开发,开发软件为Keil v5。
1.UART驱动
串口发指令控制,有十余条指令,可覆盖基本功能,所有命令及解释如下图所示:
2.上位机
玩了玩QT6,简单写了个图形化上位机,该有的功能基本都有了,目前支持Win平台,可控制输出频率,参考信号切换,N分频模式,每个通道输出使能与关闭,每个通道的输出功率等。
3.实操说明
最主要的控制函数为LMX2592_WRITE_FREQ,用来配置PLL输出频率及基本寄存器。下面仅展示流程,详细代码见工程附件(参考第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 ********************/ }
与上位机通信、接收命令,发送状态函数在UART_CTRL.c /.h文件中,主要依赖strstr函数对命令进行检测。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);
}
...... 其余部分省略
}
上位机基于QT6 Cmake,比较简单,但基本功能均已实现。
最后补充一下整体原理:
本质上就是基于锁相环对输入参考信号任意倍频,获得想要的输出信号想详细了解的可以去Bing搜一搜。
这次完成度蛮高的,有外壳有上位机,即插即用,尺寸也很小,一手掌握,揣在口袋里就走。
五、成本说明
总体成本大概150元以内,预祝各位制作成功。
参考资料:
https://oshwhub.com/z_star/pocket-rf-clock-source
评论