口袋射频时钟源 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 口袋射频时钟源

简介:做了个便携时钟源,两通道的20M到9.8Ghz输出,一个参考输入,一个参考输出。支持使用板载ocxo作为基准或锁定外部基准。可以用上位机图形化配置,频率分辨率到1hz。

开源协议: CC BY 3.0

(未经作者授权,禁止转载)

已参加:星火计划2024

创建时间: 2024-04-23 19:43:06
更新时间: 2024-05-04 17:33:28
描述
# 项目说明 这几天做了一个便携射频时钟源,尺寸很小,一手掌握,揣在口袋里就走。双通道输出,频率范围为20MHz到9.8GHz,频率分辨率理论可达1Hz。输入方面有一个参考输入,一个参考输出,支持使用板载ocxo作为基准或锁定外部基准。控制方面通过TYPEC口进行控制+供电,做到即插即用。目前是串口发指令控制,写了十条指令,基本功能均能覆盖。后续会考虑用QT搭建上位机,图形化配置。 ### **PS:** QT挺好玩的,玩了两天简单做了个上位机,现已可以图形化控制便携射频时钟源了,TYPEC连上电脑即用,无需单独配置各种寄存器。 ![77c3af708fddcd5b8d7162e9e2ccf6f6.jpg](//image.lceda.cn/pullimage/u6JUVElu8FD3JiZhm36NHHfkRyTKHNdeg69tuoPU.jpeg) ![072d1ec839d2838d57b0dd71ce102083.jpg](//image.lceda.cn/pullimage/4tJ3dNDOYAiUNN5ea7bnelGbybLJYU4sAZ49INZI.jpeg) ![2687d15ab2318d7423186f4f45d2aed6.jpg](//image.lceda.cn/pullimage/R51xXOJ5CzZoRPLTcwrzjXct2s0ji0OLJ2g5odiz.jpeg) # 开源协议说明 <font color="Red">**未经作者允许,禁止商用。转载或引用需注明原作者与工程链接**</font> # 项目相关功能 ### 1.整版资源概述: 本射频源板载OCXO,默认参考信号频率为10MHz。板载STM32F411进行控制与跟上位机通信。射频链路均匹配到了50Ω阻抗,板载非反射式射频开关用于对参考信号切换,支持外部参考信号输入。板载低抖动时钟缓冲器,附加一路参考信号输出。并且本次设计包括了<font color="Orange">**铝型材外壳与PCB面板**</font>,将PCB及元件封装起来,更像一个真正的口袋仪器。 ### 2.TYPEC接口: 本次供电与通信使用单个TYPEC口完成,无需驱动,即插即用(使用串口芯片为CH343P,绝大部分电脑可以免驱运行)。处于保护考虑,TYPEC接口含有<font color="Orange">**ESD+共模滤波**与**EFUSE**</font>,防止烧坏电脑接口。 ### 3.电源管理: 为了减小小数分频模式的杂散,本次并未引入DC-DC电源,各项供电均采用的**超高PSRR、低噪声的LDO+穿心电容滤波器**,以获得较为干净的电源,引入更小的噪声。整机启动时(恒温晶振预热)功耗约为4W,运行时稳定功耗约为2W-3W。 ### 4.恒温晶振参考源: 恒温晶振采用DAPU的O22S-1802(全新约50元),高稳定性,低相位噪声,标称参数1KHz@10MHz 相噪典型值为-150dBc,算是全新的OCXO中比较具有性价比了。 ![f820af9b7b4f58dd76ff9afdcb4ae4f5.png](//image.lceda.cn/pullimage/cBkKDfxLynO4kfXJsLttDJTQJDU8nwwoFzq5Ovef.png) ### 5.PLL芯片: 锁相环频率合成器采用的TI的LMX2592(全新约75),输出频率范围为 20 至 9800MHz,有着优秀的VCO相位噪声,在输出为 6GHz 且偏移为 1MHz 时为 –134.5dBc/Hz。归一化 PLL本底噪声为-231dBc/Hz。支持分数 N 和整数 N 模式,具有一个 32 位分数分频 器,支持选择合适的频率。可编程输出功率水平。 ![ea87b16094c065056d8bae2a15951890.png](//image.lceda.cn/pullimage/76TU5moZTexIvyhtwHCZ5KIbKhmOlUm6CrWSe737.png) # 项目属性 本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。 # 项目进度 ## 一、硬件部分: 硬件部分验证已全部完成,所有目标功能均已实现,可正常输出20M-9800MHz射频信号,可正常锁定外部参考或者内部参考信号,参考信号缓冲输出也正常。 ### 1.射频信号相噪特性:6GHz测试相位噪声为100hz处约 -70dBc ,受限于仪器设备该档位的底噪(实际相噪会更小),无法测到更远位置的相位噪声情况。(测试仪器为Keysight N9000B,输出功率为0dBm,RBW为5.1Hz) 第二张图为在RBW=1Hz条件下测试,6GHz测试相位噪声为100hz处约-80dBc ![Screen_0001.png](//image.lceda.cn/pullimage/pbZ2Hgp73dccBqsA1SjqrM3BMk7Bb3ac7piealuL.png)![3665ad2df39135d4c70597eb792024b1.jpg](//image.lceda.cn/pullimage/zTg2CeHbrbrt616yn5u2GppOcC8labAzAaqod8t4.jpeg) ### 2.射频信号输出:可正常输出理论分辨率为1Hz的20M-9800M内任意频点信号,如图1为SDS804测试的114.5141MHz,双通道输出;图二为Keysight 测试的7.1GHz输出波形与FFT谱。 ![06e8ebf679ba9c090f286ce3e5df7dcc.png](//image.lceda.cn/pullimage/ezfV14ucfk3V9Y76MbDG6AvzZIrG7RqxtnxK2WUR.png) ![Screen_2024-03-15000003.png](//image.lceda.cn/pullimage/Vgbk3tJnXlgQFWIFIK2YLTfIFUTwgZYpoMm5HZBB.png) 其次,由于该PLL的VCO最大振荡频率为7100MHz,再往上需要使用片内的倍频器对VCO进行倍频,因此有较大的次谐波(怀疑是芯片没做次谐波的抑制),测试结果如下图所示,可见FFT谱中9.8GHz输出时有较大的4.6GHz的次谐波成分 ![Screen_2024-03-15000002.png](//image.lceda.cn/pullimage/fahU5atZw0pWk4T7JjsUIwkcZ0WqqaEI4su74IYz.png) ### 3.参考信号输出:可正常输出10MHz参考信号,输出阻抗为50Ω,10MHz。峰峰值为1.72V,上升沿为330ps左右(甚至可以用来做TDR),如下图,测试仪器来自Keysight ![Screen_2024-03-15000001.png](//image.lceda.cn/pullimage/MDJ0nhXKv13bfPIk0U0PmNT4H7ThRNxl8yA98gru.png) ### 4.显示与通信:通信与LED显示功能均正常,共有6个LED,分别为Power Good信号、LOCK信号、使用内部参考源信号、使用外部参考信号、以及AB通道输出使能信号。 ![b3c7f9e3fc95ed20668b5e3e1dae32a1.jpg](//image.lceda.cn/pullimage/VbKeSEHpFlAFI3f757YcjfUiS0fLJAMmcXaSctxp.jpeg) ## 二、软件部分: ### 1.PLL驱动: 已完成LMX2592各个寄存器控制,可实现预定功能。 ### 2.UART驱动: 串口发指令控制,有十余条指令,可覆盖基本功能。所有命令均以'\n'(0x0A)结尾,并写了帮助菜单,输入**HELP\n**即可获取帮助菜单,所有命令及解释如下图所示: ![3e8d025169aabfb731599edcf8bc7124.png](//image.lceda.cn/pullimage/WOGxAdtyxFe1nxBtmGZOOpvOiSDXyci7H7fKbA6G.png) ### 3.上位机: 玩了玩QT6,简单写了个图形化上位机,该有的功能基本都有了,目前支持Win平台,可控制输出频率,参考信号切换,N分频模式,每个通道输出使能与关闭,每个通道的输出功率等。 ![e36a1780be65b15471a88477b136723e.png](//image.lceda.cn/pullimage/w1Rv4DdKXherU0DcneB6OSt7Vypri5in2Fr8dKdM.png) # 设计原理 没什么好说的,本质上就是基于锁相环对输入参考信号任意倍频,获得想要的输出信号,想详细了解的可以去Bing搜一搜。只是这次完成度蛮高的,基本上封装成一个产品的样子了,有外壳有上位机,即插即用,尺寸也很小,一手掌握,揣在口袋里就走。 # 软件说明 底层驱动基于C语言,使用STM32HAL库开发,开发软件为Keil v5 最主要的控制函数为**LMX2592_WRITE_FREQ**,用来配置PLL输出频率及基本寄存器。下面仅展示流程,详细代码见工程附件。LMX2592寄存器部分代码为**LMX2592.c /.h**文件中 ```C 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通信采用的中断接收。 ```C 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,比较简单,但基本功能均已实现 ![eba287b2c1537ae18d2a0cbee6f06d11.png](//image.lceda.cn/pullimage/jL0R5lwCU9YKcGv7cj5IfdqPsWfwTggsP1EvBetm.png) 1. 串口选择区,确保射频时钟源连接上电脑后,点击<font color="Orange">**Scan COM**</font>获取到射频时钟源串口号,下拉选择串口为射频时钟源,点击<font color="Orange">**Open COM**</font>打开串口,如果连接成功,上面的**Select COM**指示灯将会变为<font color="Green">**绿色**</font> 2. 接上串口后,再对话框中输入想要输出的频率,单位是Mhz,范围为20-9800,而后点击<font color="Orange">**Set FREQ**</font>设置频率,如果射频时钟源成功锁定,(5)的Locked将会转为<font color="Green">**绿色**</font>,且仪器上的LOCK指示灯将会亮起。 3. 此处选择N分频模式,可选整数分频与不同阶数的小数分频,默认为小数分频,阶数为3. 4. 此处选择参考源为内部的OCXO还是外部输入,选择后应重新输入频率进行VCO校准与锁定 5. lock指示灯,如果射频时钟源成功锁定,(5)的Locked将会转为<font color="Green">**绿色**</font>,且仪器上的LOCK指示灯将会亮起。 6. 此处为控制AB通道输出使能、输出功率。如果要A通道输出,勾选上<font color="Orange">**Enable CHA**</font>,在下面的下拉栏里可以选择输出功率大小。下方B通道控制同A一样。 # 实物展示 ![77c3af708fddcd5b8d7162e9e2ccf6f6.jpg](//image.lceda.cn/pullimage/RKlHeIUcgd8TdkMtSMMWpB1HFOsuLMLnujvvD5He.jpeg) ![8a58186fe75c33fb97fee18a7763119b.png](//image.lceda.cn/pullimage/qgHTfvdXShAFVOA6sAcD1dq5TBtOvcLTPXsniLWt.png) ![659291e4c61d74e09966e82ae0b330d2.png](//image.lceda.cn/pullimage/echtXfFmcdhnLdRtRTXRwvyd7FFh8zKP3gF6POkO.png) # 注意事项 ### 板子上的金色小颗粒区域为镀金铜颗粒,兼顾散热与装饰的作用,尺寸为3x3x1.5 mm ### 焊接时可最后再焊OCXO,防止阻挡。 ### 铝型材外壳尺寸为54x23x80 mm 黑色漆,约9元一个 ### 由于板子功耗较大,插入铝盒时应在背面贴上高导热软硅胶垫片,使板子与铝外壳紧密接触,将热量导到外壳去。导热软垫厚度为2.5mm,贴上板子往铝盒子中推时会被外壳自动切削掉多余的厚度,以达到紧密连接 ### PCB上STM32烧录口为SWD,可用CMSIS-DAP进行烧录 ### PCB通过SMA接口固定在前面板上,再通过前面板的螺丝固定在外壳上。安装时可以先安装后面板(有TYPEC的一侧),而后将装好前面板的PCB推入外壳,后固定。 ### 附件中的Protable RF Synthesizer中的上位机,点击其中的.exe文件启动 ### 附件中LMX2592文件为STM32驱动,包含STM32 cubemx配置文件 ### 由于上传大小限制,完整演示视频和说明将发布在B站,链接在这里: [口袋射频时钟源](https://www.bilibili.com/video/BV1Ym421s7XR/) ### 总体成本大概150元以内,预祝各位制作成功。
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP