【KS-5C】第一部分 扫频信号源 介绍以及实现
GiroPetrenko2020/03/19原创 极客DIY电子技术 IP:江苏

【前言】:既然申请了科创基金,就不能像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。

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



[修改于 4年8个月前 - 2020/03/21 23:08:17]

来自:综合交流区 / 极客DIY电子信息 / 电子技术
77
3
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
GiroPetrenko 作者
4年9个月前 IP:江苏
875770

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

image.png

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

image.png

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

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


引用
评论
2
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年9个月前 IP:江苏
875894

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

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年9个月前 IP:江苏
875903
引用zx-16533发表于4楼的内容
12bit的动态有点捉鸡,而且我记得那个罐头雷达原版IF处理电路是没有距离补偿的。

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年9个月前 IP:江苏
875906
引用zx-16533发表于6楼的内容
所以你应该用声卡。

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年9个月前 IP:江苏
875908
引用zx-16533发表于8楼的内容
这个得看你自己设计的中频带宽。

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
876021

3/21更新:

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

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

image.png

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

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


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
876072

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

image.png


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
876091

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

image.png

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

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
876123

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

image.png

image.png


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
876139
引用虎哥发表于18楼的内容
那就用四层呗。不是说双层做不低阻抗,板厚搞薄点就可以了,但问题是双层怎么保证地平面完整,难道射频线下...

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

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

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
876140
引用俗世怂人发表于19楼的内容
现在四层板也不贵了。咬咬牙就上了。我也在做这个,汗颜的是行动力完全没楼主这么强。。。搁了很久。Lay...

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

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

image.png

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

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
876161
引用俗世怂人发表于19楼的内容
现在四层板也不贵了。咬咬牙就上了。我也在做这个,汗颜的是行动力完全没楼主这么强。。。搁了很久。Lay...

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 修改于 4年8个月前 IP:江苏
876512

2020/03/26更新:

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

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

image.png



引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
876558

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
877393

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

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

等吧.........

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 修改于 4年8个月前 IP:江苏
877502

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

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

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

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

真没辙了。

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
877555
引用GiroPetrenko发表于32楼的内容
哦!该死的USB还是没有解决。无论什么程序,一直显示unknown usb descriptor。尝...

啊。。。

image.png

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

引用
评论(2)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
877694

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

image.png

此处经验总结:

检查USB的焊接

检查晶振的焊接

检查STM32的焊接

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


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
877695

image.png

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

未作任何DMA优化。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
877700

image.png

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

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
878136

嗐,LMX2572焊接搞不定,pcb掉焊盘了。软件部分也遇到了不小的阻碍,考虑换回HMC431(价格基本一致,自费)。

QFN是永远的痛啊。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
878156

决定改变一下设计:

STM32型号换为STM32f103cbu6 (QFN封装),因为手残把QFP引脚全部掰歪了。

Micro-USB更改为USB B (方口),不提搞坏过多少个Micro USB的母座了。

【重要】把LMX2572挪至射频板上,保证射频性能。

STM32控制板增加一组DDS,若是LMX2572调试不成功则尝试“直推”VCO。


+25
科创币
虎哥
2020-04-10
赞助一点,再去打一次板吧。
引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
878959

【没有鸽 没有鸽 没有鸽】

2020.04.19 更新:

开学了~ 最近估计要搁置一小会了。

与群里一位前辈进行了深入的交流(前辈也在科创哟),逐再次更新扫频源的设计:

- 用四层板保证射频性能。

- 添加RFSA2023模拟衰减器,这样子此模块就能成为通用的扫频信号源,若是以后做射频的项目也能利用起来。

- 把两只LHA-1+挪入此板中,原因同上。

- 在设计pcb时添加布局上的“隔断”,方便以后放置腔体。

- 改为使用25MHz的高精度振荡器(100MHz的不便宜),同时留出SMA给予外部时钟的可能。

- 搞清楚了SMA接头的封装。

- 用KiCad或AD画pcb。

5.1假期期间争取把PCB画好发去打样。再次特别感谢各位前辈的支持!

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年8个月前 IP:江苏
878966
引用虎哥发表于43楼的内容
楼主高三吗,还不到9月就开学了

高一@江苏,可能是全国第二批(第一批是高三) sticker

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879046

学习虽然忙,架不住我划水能力强。

image.png

上图证明没有鸽

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 修改于 4年7个月前 IP:江苏
879208

今天仿真了一个微带线耦合器,尺寸仿照的是hfrosten的。性能差远了(等级:无法使用),不过5.5G-6G部分基本是平的。改进任重道远啊~

image.png

image.png

再次感谢前辈帮我解答疑惑~


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879222
引用虎哥发表于47楼的内容
这个得看书,比如清华大学出的《微带电路》,不能全靠仿真软件,4-8G还是很容易做的。

对我来说这些一直是“造不如买”,也有现成的5-6G 0805封装的耦合器可用,不过我认为试试看模拟也是好的,但是更加重要的背后的理论知识。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 修改于 4年7个月前 IP:江苏
879283

有个想法:若是LMX2572有两路输出,从结构图上来看两路输出是内置VCO分出来的,配置得当输出应该是一样的。

若是拿RFoutB这一路去推混频器的LO,是否完全利用此芯片的性能,并且省下一只耦合器?

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879489

经过一系列的改进,设计,在先辈的指点下最终版的电路图如下:

image.png

电源板,12V输入同步buck至5.5V,三只LDO:ADM7171提供5V 1A,LP5907提供3.3V 250mA, LP2985提供2.5V给运放。

image.png

LMX2572,晶振加了滤波。

image.png

射频前端,RFSA2033提供-30dB~-1dB的衰减,两级LHA-1+提供+18dB的增益。

ADL5801混频,LO驱动由LMX2572的另外一路输出提供。LNA使用较为昂贵的PMA3-83LN+提供。

整体设计其实是宽带的,500M~6G都可以。

image.png

中频,抄radio大佬以及国外的Frosten大佬的。

attachment icon KS-5C 1.5.4.pdf 337.99KB PDF 202次下载 预览


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879492
引用zx-16533发表于52楼的内容
忘了说了,我那个图里8338部分电路没有更新,直接抄的话你用不了它自己的AGC功能。

感谢提醒。AGC的确是个很重要的功能(尤其是幅度差这么大的情况下),我需要再钻研钻研datasheet。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879800

求痛批!不然200¥要打水漂了!

图片.png

顶面

图片.png

地层

图片.png

电源层

图片.png

底层

图片.png

很喜欢KiCad的渲染图,可惜缺少了部分封装。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879837

求求各位大佬冒个泡~ 可怜可怜我,帮我审核一下吧!


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879839
引用zx-16533发表于56楼的内容
网友在线肉眼云DRC

啊抱歉,稍后就吧kicad源文件和gerber搞出来

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879865
引用造化为工发表于58楼的内容
只看了看射频建议把mixer和balun靠近PLL,让差分走线尽量短。减少相位不等长的问题。在1的基...

万分感谢!

pi型都是为了衰减,也是为了方便调试。

--------------------------------------

KS-5C CHANGE LOG V1.5.6

- LMX2572 PLL 转 90度:RFoutB直接面对混频器,RFoutA只要拐一个弯。

- 挪动负载。

- 挪动LNA,靠近SMA接头
- PA 和 LNA的屏蔽罩用一样的,美观大方。

- 把没啥用的模拟地和数字地接在一起,毕竟这块板子上没有数据流。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
879896
引用虎哥发表于60楼的内容
一堆博导七嘴八舌,毁人不倦中环路滤波器在背面?环路滤波器如果放在背面的话,应“向心性摆放”,即元件接...

虎哥救命~

- 向心性摆放明白了,虽然不清楚原理。明天查。

- 阻焊,的确没考虑到现实情况。这点重画时注意。

- 俩电感:迷糊。是不是使用频率必须低于自谐振频率(有的说是,有的说不是,得找点靠谱的来源)?若是必须低于那这个值就不合适了,选件看的maruata在5500mhz左右(记不太清了,肯定没6g)。

剩下的。。。迷糊。


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
880010
引用虎哥发表于62楼的内容
你用两个LHA-1+串联,在500M的增益高达36dB,而在6G只剩下18dB,足足降了一倍,怎么避...

多谢虎哥!

这是此设计中最大的“毒瘤”。平坦并且不容易饱和的管子我再找找,预算也是要再考虑考虑的。

本来放大器前面的衰减器就是来对付这个夸张的差异,不过这样就做不到fail safe了。


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 修改于 4年7个月前 IP:江苏
880156

PA决定用两级GVA-81+, 在500MHz下约有20dB的增益,在6GHz下有16dB的增益。不是很平坦,但是也是为数不多能满足条件的芯片了。

偏置器决定用"钞"能力: ADCH-80A+这个 "Very wide band RF Choke". 30RMB一个, 并不是很夸张。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
880163
引用虎哥发表于65楼的内容
为啥翻来覆去总是在minicircuits一棵树上吊死。一个低频放大器的馈电,几个电感电阻解决的问题...

不是说会有坑吗,更可怕的是我还没法测试。

1GHz以下还能测,问题是坑也在1GHz以上啊😂

别的家的产品都不太合适,好不容易找到了又平,P1dB还行的片子:没地方买。。。


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年7个月前 IP:江苏
880166
引用虎哥发表于67楼的内容
极端办法:12V供电,电感+电阻馈电,就不会有坑了。分析坑的原理,进行对症治疗,也可以5V无坑。别家...

真香,真香!

---

粗略分析一下原因,还是缺乏经验。基础差,我不知道问题可能出在哪里,也不知道解决方案。多学,多试,少走弯路。

也谢谢各位给我近乎无限的宽容,在此为我的偷懒行为向大家道歉。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年6个月前 IP:江苏
881464

IMG_20200529_182449.jpg

嘉立创,520,大减价啊啊啊啊

为什么啊啊啊

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年6个月前 IP:江苏
881671

image.png image.png

终于迈出了艰难的第一步。至少SPI通联成功了。

好激动啊。。。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年6个月前 IP:江苏
881675

image.png

输出特别鬼畜,不过至少有输出了。估计寄存器配置有误。。。(现在就是把默认输出频率除以8)

image.png

image.png

这张板子的焊盘出了一点小问题,幸好不是在射频路上。飞线跳之~

引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年6个月前 IP:江苏
881677

image.png

0-1G的频谱。真的。。。鬼畜。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
GiroPetrenko作者
4年6个月前 IP:江苏
881680

向各位大佬求助!

按照官方示例配置的寄存器,不过改成了输入四倍频。理论上应该输出490MHz的信号。

image.png

image.png

现在却张这个奇妙样子。中心频率在614MHz,而且右边那个峰忽大忽小。

附又臭又长的代码一段。

  uint8_t RESET[3] = {0x00, 0x21, 0x1D};

  uint8_t MUX_AS_MISO[3] = {0x00, 0x21, 0x18}; // MODE+Addr, up8 value, down8 values
  // For this one: Write addr, change to mux as miso

  // uint8_t readback[3] = {0xEE, 0x00, 0x00}; // Readback lock
  uint8_t MULT_X4_CONFIG[3] = {0x0A, 0x14, 0x78};
  uint8_t CHDIV_DIV8[3] = {0x4B, 0x08, 0xC0};
  uint8_t DISABLE_RFOUTB[3] = {0x2E, 0x1F, 0xC3};

  uint8_t PLL_N[3] = {0x24, 0x00, 0x27};
  uint8_t PLL_NUM_HI[3] = {0x2A, 0x00, 0x18};
  uint8_t PLL_NUM_LO[3] = {0x2B, 0x6A, 0x00};
  uint8_t PLL_DEM_HI[3] = {0x26, 0x00, 0x7A};
  uint8_t PLL_DEM_LO[3] = {0x27, 0x12, 0x48};

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */

  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, RESET, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);

  // RESET is special. Must be executed 1st.

  // CHDIV & RFoutB disable
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, CHDIV_DIV8, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);

  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, DISABLE_RFOUTB, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);


  // PLL CONF

  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, PLL_NUM_LO, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);

  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, PLL_NUM_HI, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);

  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, PLL_DEM_LO, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);

  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, PLL_DEM_HI, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);

  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, PLL_N, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);


  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, MULT_X4_CONFIG, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);

  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
  HAL_SPI_Transmit(&hspi1, MUX_AS_MISO, 3, 100);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
  HAL_Delay(50);


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

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

文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}