用免费的4层PCB,做了个很好用的仪器!实测一下!

嘉丽科技讨论 2024-08-13 02:44:12

做了个便携时钟源,4层板。

主控采用STM32F411。

下文将分享——功能/亮点,实测说明,硬件设计,软件设计,成本说明,开源网址

一、功能/亮点

输出20M-9800MHz射频信号,两个射频信号,一个参考输入,一个参考输出使用上位机、串口控制频率分辨率到1hz单个TYPEC口供电+通信+上位机图形化配置,无需单独配置各种寄存器,即插即用板载ocxo作为基准或锁定外部基准,支持锁定内部/外部参考信号输入整机启动时(恒温晶振预热)功耗约为4W,运行时稳定功耗约为2W-3W。硬件配置:1个type-c、6个状态指示灯。含:电源正常指示、锁定指示,实用内部OCXO指示、使用外部参考源指示、两个射频信号是否输出指示

二、实测一下

1.射频信号相噪特性

6GHz测试相位噪声:100hz处约 -70dBc

受限于仪器设备该档位的底噪(实际相噪会更小),无法测到更远位置的相位噪声情况。

测试仪器:Keysight N9000B输出功率:0dBmRBW: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=%f\n",RX_freq); LMX2592_WRITE_FREQ(RX_freq); } ...... 其余部分省略 }

上位机基于QT6 Cmake,比较简单,但基本功能均已实现。

最后补充一下整体原理:

本质上就是基于锁相环对输入参考信号任意倍频,获得想要的输出信号想详细了解的可以去Bing搜一搜。

这次完成度蛮高的,有外壳有上位机,即插即用,尺寸也很小,一手掌握,揣在口袋里就走。

五、成本说明

总体成本大概150元以内,预祝各位制作成功。

参考资料:https://oshwhub.com/z_star/pocket-rf-clock-source

【正文完】

你的点赞,就是我的动力~

0 阅读:23

嘉丽科技讨论

简介:感谢大家的关注