RDA5802: 一个典型的FM效果不好的解决过程,供大家参考

反馈问题: Ali方案的mp3, RDA5802E的FM模块, 假台多,说换flash后,假台更多,

a, 首先对比测试收听同一个弱信号电台88.6Mhz, 该机器在弱台时噪声很大,效果明显比对比的NOKIA手机的FM效果差很多, 用天线靠近MP3板内的各个部位,没有发现噪声变大的情况, 可以确认板内没有辐射干扰, 采取断开RDA5802E天线连接,焊条约75cm天线到5802e模块的天线输入端, 对比效果明显改善, 跟对比Nokia机器效果差不多,

b, 他们做的为全频段76.0Mh-108.0MHz, 此时虽然效果变好了, 但发现全自动搜台时, 从76.0-87.5Mhz中间, 没有信号的区域都能搜到10多个假台,

c,效果不错的情况下,怎么还这么多假台,肯定是软件问题, 查看软件, 阎工都已经添加了立体声判别, 还有这么多假台, 明显不太靠谱(因为判别立体声后,会削掉很多效果不好的电台的), 查看I2C,是硬件I2C, 因此我高度怀疑I2C读存在概率性读错误, 导致读回的值为全0xff, 而全0xff, fm_true还st位都为1,也是符合真台条件,

d,为了验证我的怀疑,在搜台时, 加入判别语句,如果读回的0Bh最后一个寄存器为0xff,或者0x00,就加入while(1);死循环, 如果死机了,就认为I2C错误了, 结果果然如此, 搜索才跑几步,就出现死机现象,

e, 由于I2C上面一直有触摸按键的I2C在跑,很难捕捉到FM的出错I2C, 最后采取在FM读写i2c前后,去操作一个GPIO口, 用该GPIO的电平变化输入到channel3来触发, channel1,channe2来捕捉SDA,SCL, 这样就能捕捉到FM的读写波形, 结果发现死机时,I2C波形比较乱,而且里面有触摸按键的I2C地址, 怀疑FM的I2C在发数过程中没有保护好,而被触摸芯片的i2c, 打断了导致的,

f, 看了下代码,果真如此, 触摸按键是在time0中断来时,就会去调用读触摸的按键状态, 优先级比FM的高, 因此我尝试在FM读写函数进入时,禁止中断, 读写函数完后,再开中断, 这样操作后, i2c读写再也没有错误了, 测试飞天线此时的搜台效果, 再也不见76.0Mhz-87.5MHz没信号区域的假台,

g, 然后查看原理图, 他们设计FM时, 耳机的左右声道一直没加磁珠的, 给他们在耳机插座左右声道各飞线串入2.5k磁珠后, 接收和搜台效果有了质的改变,

他们听了效果后, 认为这是他们做FM以来,最好的FM效果了,高兴而归.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值