搜索
bottom↓
回复: 12

大炮打蚊子 小数分频PLL芯片发射FM

[复制链接]

出0入0汤圆

发表于 2018-11-27 16:59:33 | 显示全部楼层 |阅读模式
弄了个树莓派,突然想起以前好奇过树莓派怎么实现IO口翻转输出可调频率做成FM广播的,咕大师回复是树莓派内带小数分频的PLL。https://www.amobbs.com/thread-5663017-1-1.html?_dsign=c2d3af0e   正好手上有小数分频PLL芯片ADF4351,于是花一个小时也试了下。

先做计算
PLL输入频率FI,输出频率FO,  粗框架计算公式  FO =(I+F/M)*(FI/R/DEV)   R是10位 I是16位 F&M是12位  DEV可取1-2-4-8-16-32-64  要满足2200<=(I+F/M)*(FI/R)<=4400
FI=20M  取FO=80M左右避开正常FM广播  最简单计算80=(128)*(20/1/32)
FM广播带宽记得似乎是75K,按8位音频,分辨率75K/256=292.9HZ,分母需要(20*1000*1000/32)/(75*1000/256)=2134   
取R=1,DEV=32,I=128,M=2134,F=F0+WAV  WAV在0--255之间变动 唯一需要改动的是F值。

由于PLL芯片修改频率后有锁定时间,所以需要两片乒乓操作,一片输出一片配置,4351锁定时间在100US左右,乒乓操作也只能做到刷新率8K(125us).  硬件就STM32外挂两片4351芯片了。

上位机读取一个WAV音频文件重编码为8K采样率8位采样深度的大BUF数组,
单片机定时器定时8Khz:关闭正在输出的芯片,打开就绪的芯片输出,读取下一个WAV值,填入已经关闭的芯片的F字段,让它自己去锁定,锁定完成时差不多也该切过去输出了。
用对讲机收音功能接收试了下,靠近能清晰听到FM声音,杂音不少,一米不到就完全收不到了。
STM32其实是闲的蛋疼的,每次中断几个us就完事,可以用USB虚拟声卡做成实时发射绰绰有余。

上面参数不方便调整频点,间隔太大,可以修改参数 加大R,降低I, 3200*(20/20/32)=100M  2200<3200<4400    20/20/32=31K  这样之后可以将广播频点以31K间隔做设置,M取4095,(75*1000)/(31250/4095)=9828,调制有14位分辨率
采样率是不可逾越了,锁定时间太长。

上次看树莓派介绍说是6位分辨率,过采样实现高分辨率的,这里用上乒乓操作才能得到最入门的8K采样率,实在是汗颜啊 。假设100K,操作间隔10us, 难道是树莓派的PLL锁定时间是可以忽略的。
而且感觉很神奇,树莓派这么操作的话跟单片机中断一样的效果了,可以以上百K速度准点节拍操作啊,跟单片机中断没区别了。线程优先级调到最高就能实现了?WIN上上百K准点操作似乎是不可想象的。

搜了下,没搜到树莓派的小数PLL相关文档。哪位能传一份么。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入442汤圆

发表于 2018-11-27 17:39:10 | 显示全部楼层
其实你不妨试试pll不停给参数。它的内置拟合器一般应该设计为自动跟踪输入参数的,所以不需要等它lock估计也能工作,只是频率范围打不满而已。至于fpga里面的pll就没这功能了,改参数必须复位,不能动态调整。而老的dcm是可以动态写分频系数的,只要是平滑调整而不是大的抖动,锁定也就几个us。

出0入0汤圆

发表于 2018-11-27 17:55:16 来自手机 | 显示全部楼层
用pll很蛋疼啊,你不如直接上dds,最简单的就是ad9854,以镜频的办法产生fm,速度超快。

出0入0汤圆

发表于 2018-11-27 19:00:16 | 显示全部楼层
楼主你这是狂刷频率实现FM调制的呀。。
我也想不到什么办法。不过有现成的FM发射BH1417

出0入0汤圆

发表于 2018-11-27 19:29:00 来自手机 | 显示全部楼层
不用乒乓缓冲,锁定中心频率后就直刷

出0入0汤圆

 楼主| 发表于 2018-11-27 19:30:19 | 显示全部楼层
wye11083 发表于 2018-11-27 17:39
其实你不妨试试pll不停给参数。它的内置拟合器一般应该设计为自动跟踪输入参数的,所以不需要等它lock估计 ...

不锁频狂刷似乎应该不可行。

出0入0汤圆

 楼主| 发表于 2018-11-27 19:31:21 | 显示全部楼层
XA144F 发表于 2018-11-27 17:55
用pll很蛋疼啊,你不如直接上dds,最简单的就是ad9854,以镜频的办法产生fm,速度超快。 ...

现在单片接收芯片应该是零中频吧,似乎没镜频了。

出0入0汤圆

 楼主| 发表于 2018-11-27 19:31:53 | 显示全部楼层
CoolBird007 发表于 2018-11-27 19:00
楼主你这是狂刷频率实现FM调制的呀。。
我也想不到什么办法。不过有现成的FM发射BH1417 ...

只是试试跟树莓派一样干。  没实用性,

出0入0汤圆

 楼主| 发表于 2018-11-27 19:38:23 | 显示全部楼层
还有个神奇之处,树莓派能做到100K级别操作,这都快跟单片机中断一个级别了,WIN上不可想象啊。  X86上的LINUX也这么生猛么。

出0入0汤圆

发表于 2018-11-27 19:52:27 | 显示全部楼层
不是镜频,是谐波

出0入0汤圆

发表于 2018-11-27 22:39:13 | 显示全部楼层
huangqi412 发表于 2018-11-27 19:31
现在单片接收芯片应该是零中频吧,似乎没镜频了。

你说的和我说的完全不沾边啊。
建议你看个文档,ADI的AN543,绝对比AD4351好得多。

出0入0汤圆

发表于 2018-11-28 09:10:42 | 显示全部楼层
搞个高频三级管放大一下,天线调谐下发射距离应该会增加很多.

出0入0汤圆

发表于 2018-12-7 22:43:22 来自手机 | 显示全部楼层
树莓派里面得小数分频器之所以切换很快应该内部IP由两部分组成,一个是模拟VCO和模拟反馈组成的PLL,一个是数字分频器,小数分频器应该是控制的第二个数字分频器,这种分频器是纯数字的,没有反馈的,所以切换频率可以on the fly去切,很快,不需要模拟pll那样等待lock才能切,现在很多高端处理器内部都有这种功能,只是树莓派用的博通这颗小数分辨率的确很高,调制更精细
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 06:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表