【KS-5C】第一部分 扫频信号源 介绍以及实现
GiroPetrenko 2020-3-19原创 快乐DIY电子技术

【前言】:既然申请了科创基金,就不能像SDR那样鸽了,也不能像能谱仪那样暂时烂尾,更不会像X射线教程那样把细节一笔掠过。既然元器件还在路上,这一篇文章主要讲述(唠嗑)扫频信号源的设计,也算是半篇基础教程了。

(若是有错误请各位指出,万分感谢!)

(本人语文烂透了,烦请各位海涵)

(征求项目命名中。。。)


在早期版本中扫频信号源一直参考的是MIT版本的方案,即使用XR2206之类的“函数信号发生器”芯片产生三角波用于调谐VCO。这种方案的优势是简单,无需耗费太多精力即可快速产生所需的扫频信号。缺点则为不够精确(电位器调节),调谐电压受限(要求电阻分压或者运放放大),扫频线性度差(取决于VCO,但是扫频线性好的价格更加美好)。

第二版本考虑过使用ADF4351(宽带频率合成器)产生“扫频”信号。由于产生线性扫频信号过于困难则放弃(波形大多为‘台阶’形状)。

第三版本甚至考虑过采用DDS来产生“高线性度”的调谐电压,而由于优点比第一版本还少则放弃。

现阶段则使用的为LMX2572这款“带有相位同步及JESD204B支持的 6.4G 低功耗 宽带 射频合成器 ”不仅如此,这款芯片还包含内置的扫频以及FSK。价格。。。。因此申请了科创基金。

另外一种解决方案为使用ADF4158(PLL)+ HMC431(VCO),但是由于更高的价格以及自制射频功分器带来不可控的插损,该方案被抛弃。


由于貌似没有开源项目采用此扫频信号源,就没有现成的代码可以剽窃。还好TI给出的datasheet提供了详细的例子以及参数,即使如此开发工作也愁死我这单片机小白了。

image.png

为了适应各种应用,LMX2572的外置晶振至鉴频器中间有一串儿倍频,分频器。为了省事,这里的各种设备一个都不用。晶振输入为评估板默认的100MHz,而后文会提及的Fpd(鉴频器频率)也是100MHz。

image.png

上图为LMX2572的内部结构,可见经过一串倍频分频器后fPD会直接影响后面VCO频率的输出。另外一项影响VCO频率的为输出端的分频器:由于内置的VCO并不覆盖全部频段(只覆盖3.2GHz-6.4GHz,分频器的使用得以输出更低的频率。

image.png

VCO频率的计算公式,三个带有下划线的参数均由用户配置。PLL_N为整数部分,PLL_NUM(Numerator) 为小数部分的分子,PLL_DEN(Denominator) 为小数部分的分母,二者组成PLL的小数频率。

举个例子,若是我想要获得490MHz的固定输出,怎么配置这些参数?

官方给出的范例:

image.png

image.png

晶振输入:100MHz,不操作分频器、倍频器,得到PDF(也就是Fpd)100MHz。

整数部分:低16位为39,高16为不配置(0)

小数部分:分子为2427136,分母为1224680。二者相除得到约1.9819,约等于2.

二者合并则为39.2,乘以fPD的100MHz得到VCO频率:3920MHz。

输出端的分频器把3920MHz除以8,得到最终输出490MHz。

以上内容只介绍了固定频率的输出,要是想要使用内部的扫频发生器,则要操纵另外一组寄存器。



[修改于 14 天前 - 2020-03-21 23:08:17]

来自:聊天生活广场 / 快乐DIY电子信息 / 电子技术
2
2020-3-19 23:21:36
GiroPetrenko(作者)
1楼

这款芯片提供两种扫频模式:手动与自动。手动挡暂且不提,自动挡的相关寄存器如下:

image.png

由于官方的datasheet中没有给出例子,这里搬用评估板的例子。

image.png

这个波形完美符合了在FMCW雷达用所需的应用,无需扫频中途的校准线性度也非常好。

此处有一点我不理解,按照RAMP_INC的计算方式当RAMP_INC=336时,Δf为1001左右。虽然的确频率变化为10MHz,这个1001的单位十分古怪啊。


折叠评论
2
加载评论中,请稍候...
折叠评论
2020-3-20 10:18:01
2楼

看了下楼主的基金申报材料,你买的2572比我们买的2592还贵,要是还没付钱的话,送你两片2592得了。

记错了,2592似乎没有自己扫频的功能,2594才有,然而2594贵得多没法送。

[修改于 15 天前 - 2020-03-20 22:53:19]

评论(3)折叠评论
2
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
3楼

想与大家讨论一个问题:用STM32配ADC做采样的可能性?

此处DIY的设备对后级信号处理的要求很低,甚至声卡亦能胜任。但由于本人对声卡采样有不可磨灭的心理阴影,况且后期有可能更新使用差分的中频,我认为STM32F103的硬件USB串口配合外置12bit 1Msps的ADC应该可行。

折叠评论
加载评论中,请稍候...
折叠评论
4楼

12bit的动态有点捉鸡,而且我记得那个罐头雷达原版IF处理电路是没有距离补偿的。

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
5楼
引用radio发表于4楼的内容
12bit的动态有点捉鸡,而且我记得那个罐头雷达原版IF处理电路是没有距离补偿的。

“罐头”是没有的,也用不着差分运费,但是用四个lt6xxx的版本是带有补偿的,只要更新混频器即可。

折叠评论
加载评论中,请稍候...
折叠评论
6楼
引用GiroPetrenko发表于5楼的内容
“罐头”是没有的,也用不着差分运费,但是用四个lt6xxx的版本是带有补偿的,只要更新混频器即可。

所以你应该用声卡。

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
7楼
引用radio发表于6楼的内容
所以你应该用声卡。

现阶段暂时使用声卡,若是有第二版本则用adc采样。主要问题是因为没有相关经验,不知道传输速率够不够。

折叠评论
加载评论中,请稍候...
折叠评论
8楼
引用GiroPetrenko发表于7楼的内容
现阶段暂时使用声卡,若是有第二版本则用adc采样。主要问题是因为没有相关经验,不知道传输速率够不够。

这个得看你自己设计的中频带宽。

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
9楼
引用radio发表于8楼的内容
这个得看你自己设计的中频带宽。

根据计算结果。。。最大也就13KHz左右。adc采样速率不成问题,就是不清楚传输会不会卡脖子。

折叠评论
加载评论中,请稍候...
折叠评论
10楼
引用GiroPetrenko发表于9楼的内容
根据计算结果。。。最大也就13KHz左右。adc采样速率不成问题,就是不清楚传输会不会卡脖子。

我记得那个串口能到百KB/s,理论上应该可以按USB FS来算,但实际上要看你写的代码效率了。

[修改于 15 天前 - 2020-03-20 23:32:38]

折叠评论
加载评论中,请稍候...
折叠评论
2020-03-21 23:07:41
GiroPetrenko(作者)
11楼

3/21更新:

由于上一版PCB过于劣质(自动布线+我傻,导致LMX2572下面走各式各样的信号),因此决定再绘制一版。

确认项目名称:KS-5C。KS代表对空搜索,5代表版本,C代表波段。(中二之魂觉醒)

image.png

电路图未作更改,决定把中频放大移到射频线路板上(第二部分)。这里放一块100ksps的ADC玩一玩,就当学习了。

STM32 HAL还得学一遍,Arduino不管用了(滑稽


折叠评论
加载评论中,请稍候...
折叠评论
2020-03-22 01:03:30
12楼
引用GiroPetrenko发表于9楼的内容
根据计算结果。。。最大也就13KHz左右。adc采样速率不成问题,就是不清楚传输会不会卡脖子。

带USB的低端STM32基本都是Full Speed USB,也就是USB 1.1。最简单的(推荐)驱动方式是搞USB CDC串口,STM32上所需要的代码基本和使用一个普通串口没有区别,避免了管理USB Endpoint,处理缓存,还有电脑端驱动的问题。电脑端程序只需要像对待一个高速串口一样写就行,基本是全平台兼容。这个串口跑到500KB/s没问题,稍加优化1MB/s也可以,但是需要准备足够的FIFO并且用好DMA,单通道100ksps 16bit这样的数据使用STM32完全可行。


想上High Speed USB也就是USB 2.0的话,好多MCU都只是带了USB 2.0的控制器和USB 1.1的PHY,需要真的跑2.0速度需要用ULPI外接USB 2.0 PHY,增加了成本,有时候甚至干脆搞片CY7C68013更方便。这里不得不提一下,Arduino DUE用的ATMEL SAM3X系列ARM片子,是内置USB 2.0控制器和PHY的,使用起来其实非常方便,速度到2MB/s没啥问题。


再高建议一步到位FPGA+CYUSB3014。特别提醒一下,这可能是我看到过定价最良心的板子了,FX3 SuperSpeed Explorer Kit,有FPGA板子的同学建议直接买个这个,轻松300MB/s以上传输速度。


当然万兆以太网+ZYNQ更爽。。。手动狗头。。。

折叠评论
加载评论中,请稍候...
折叠评论
13楼

STM32用FSMC模式读取ADC还是比较方便的

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
14楼

又开始不明白了:为了保证每一次FFT都在三角波上,扫频芯片必须要给出一个信号通知后级。对于LMX2572,是不是MUXout 配置成 锁相环锁定再输出,就会有一下的波形?在上升沿切换至下降沿时锁相环失锁,输出拉低。

image.png


折叠评论
1
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
15楼

嘿,之前的问题还是没有想通。

image.png

虽然看到了这个,但是RAMP_TRIG一类都是针对手动扫频模式的,全自动扫频中没有提及。

这款芯片总共就没几只输出端口,想不通啊。

折叠评论
加载评论中,请稍候...
折叠评论
16楼

这个片子多少钱

评论(1)折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
17楼

又来发愁了(射频部分)。。。对于双层板的阻抗匹配我真是想不出来了。芯片设计的引脚那么小,微带线那么大。除了上四层板没有别的办法了吗?

image.png

image.png


折叠评论
加载评论中,请稍候...
折叠评论
2020-03-23 01:42:40
18楼

那就用四层呗。不是说双层做不低阻抗,板厚搞薄点就可以了,但问题是双层怎么保证地平面完整,难道射频线下面不会通过任何别的线路?

另外不必强行去搞梯形渐变,弄不好反而降低性能,尤其是不能变相扩大焊盘面积。这些芯片设计封装时已经考虑了引线的影响(严格的芯片会在手册给出设计依据,比如板厚、材质),线引到旁边直接变细线就行。

你这个设计没有多少麻烦的,唯一要义就是换成四层板。

[修改于 13 天前 - 2020-03-23 01:47:18]

折叠评论
加载评论中,请稍候...
折叠评论
19楼

现在四层板也不贵了。咬咬牙就上了。我也在做这个,汗颜的是行动力完全没楼主这么强。。。搁了很久。

Layout的画,TI应该是给了非常完整的说明的。

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
20楼
引用虎哥发表于18楼的内容
那就用四层呗。不是说双层做不低阻抗,板厚搞薄点就可以了,但问题是双层怎么保证地平面完整,难道射频线下...

四层。。。资金捉急,而且没画过,恐怕打样出来要闹笑话的。

地平面完整还真的可以做,比如第一版扫频就是射频线路下面走了一条电源,一条时钟。第二版则做了个“C”形,把射频线下面绕过去了。

我尝试画一次4层,麻烦让各位坛友们审审看。

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
21楼
引用俗世怂人发表于19楼的内容
现在四层板也不贵了。咬咬牙就上了。我也在做这个,汗颜的是行动力完全没楼主这么强。。。搁了很久。Lay...

JLC打样,90RMB 5x5,大小不够。10x10 200RMB,快赶上一半射频元器件价格了。因此要小心小心再小心。

Ti芯片的扫频板已经送出去打样了,

image.png

用了个小伎俩保证了一路的射频输出地平面完整。

P.S. 申请了科创基金,不敢鸽~

折叠评论
加载评论中,请稍候...
折叠评论
22楼
引用GiroPetrenko发表于21楼的内容
JLC打样,90RMB 5x5,大小不够。10x10 200RMB,快赶上一半射频元器件价格了。因此...

那个小三角形要仔细的评估。emmm还有的话试试华强吧。50,质量还好

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
23楼
引用俗世怂人发表于19楼的内容
现在四层板也不贵了。咬咬牙就上了。我也在做这个,汗颜的是行动力完全没楼主这么强。。。搁了很久。Lay...

好奇您的设计方案,方便发出来参考吗?

折叠评论
加载评论中,请稍候...
折叠评论
24楼
引用GiroPetrenko发表于23楼的内容
好奇您的设计方案,方便发出来参考吗?

射频部分没完全定,本来也是为了练射频layout玩玩,所以可能会都试试吧。后面数字部分的话一个小FPGA做协处理器+STM32H7接SD卡。也没啥太大的参考意义。

折叠评论
加载评论中,请稍候...
折叠评论
2020-03-26 21:26:45
2020-3-26 21:26:45
GiroPetrenko(作者)
25楼

2020/03/26更新:

pcb~ pcb~ 埋伏下bug千百万~ 埋伏下bug千百万~

pcb到了,stm32部分调试“完成”,能够正常下载,GPIO操作正常。USB不工作,在电脑上怎么也不显示串口,恐怕是缺了3个usb相关电阻导致的。我不想再改板了啊~

image.png



折叠评论
加载评论中,请稍候...
折叠评论
2020-03-27 00:13:26
26楼
引用GiroPetrenko发表于25楼的内容
2020/03/26更新:pcb~ pcb~ 埋伏下bug千百万~ 埋伏下bug千百万~pcb到了,...

既然经验不足犯错了,就先飞线,之后再打一次板不就好了。。。


提醒过了,USB 1.1,差分对上只有12MHz的频率,飞0603到附近地和VCC上,肯定工作。

[修改于 9 天前 - 2020-03-27 00:14:54]

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
27楼

真的是太奇妙了,USB还没好,板子又没法下载了。还是等待新的pcb吧。

折叠评论
加载评论中,请稍候...
折叠评论
2020-04-02 15:04:31
2020-4-2 15:04:31
GiroPetrenko(作者)
28楼

我可能惹上什么能让我倒霉的东西了.

新版本到了,usb上电都显示"unknown usb descriptor"(因为没写程序),ST LINK坏了.

等吧.........

折叠评论
加载评论中,请稍候...
折叠评论
29楼
引用GiroPetrenko发表于28楼的内容
我可能惹上什么能让我倒霉的东西了.新版本到了,usb上电都显示"unknown usb descri...

用FTDI的芯片,简化设计。

折叠评论
加载评论中,请稍候...
折叠评论
2020-04-03 03:15:17
30楼

为什么你的sma连接器封装这么神奇,难道不会在芯针里端和铺铜紧密接触那段形成一段低阻抗线么,还是忘放keepout了

折叠评论
加载评论中,请稍候...
折叠评论
31楼
引用GiroPetrenko发表于14楼的内容
又开始不明白了:为了保证每一次FFT都在三角波上,扫频芯片必须要给出一个信号通知后级。对于LMX25...

这里出现unlocked指示的可能性有几种


环路滤波器或电荷泵设置不合理,锁定速度过慢


unlocked检测窗(策略)不合适


或者干脆偷懒一点,不要让转折处的step太大,导致环路跟不上😂



折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
32楼

哦!该死的USB还是没有解决。

无论什么程序,一直显示unknown usb descriptor。

尝试过不同的上拉电阻组合,一直是一样的问题。应该不是STM32硬件或者pcb的问题。

看样子是没有STM32没有响应上位机的USB。

真没辙了。

再见了stm32,买片CY7C68013开发板来玩玩。

[修改于 2 天前 - 2020-04-03 17:23:16]

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
33楼
引用GiroPetrenko发表于32楼的内容
哦!该死的USB还是没有解决。无论什么程序,一直显示unknown usb descriptor。尝...

啊。。。

image.png

8MHz晶振的一端,这啥玩意?

评论(2)折叠评论
加载评论中,请稍候...
折叠评论
2020-04-04 22:21:51
GiroPetrenko(作者)
34楼

经过与STM32,下载器,STM32CubeIDE,Arduino IDE艰苦卓绝的斗智斗勇之后,

image.png

此处经验总结:

检查USB的焊接

检查晶振的焊接

检查STM32的焊接

测试 示波器 测试 示波器 测试


折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
35楼

image.png

ADC 单端测试,波形为手指。

未作任何DMA优化。

折叠评论
加载评论中,请稍候...
折叠评论
GiroPetrenko(作者)
36楼

image.png

未作优化是不可以的,这是1KHz的信号,完全没法看。

折叠评论
加载评论中,请稍候...
折叠评论
37楼
引用GiroPetrenko发表于35楼的内容
ADC 单端测试,波形为手指。未作任何DMA优化。

没偏置,砍了一半吗。

评论(1)折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
插入表情
我的表情
共享表情
Emoji
上传
注意事项
最大尺寸100px,超过会被压缩。为保证效果,建议上传前自行处理。
建议上传自己DIY的表情,严禁上传侵权内容。
点击重试等待上传{{s.progress}}%处理中...已上传
空空如也~
草稿箱
加载中...
此处只插入正文,如果要使用草稿中的其余内容,请点击继续创作。
{{fromNow(d.toc)}}
{{getDraftInfo(d)}}
标题:{{d.t}}
内容:{{d.c}}
继续创作
删除插入插入
{{forum.displayName}}
{{forum.countThreads}}
篇文章,
{{forum.countPosts}}
条回复
{{forum.description || "暂无简介"}}
ID: {{user.uid}}
学术分隐藏
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png