赤岸天龙风景区:一个典型的FM效果不好的解决过程,供大家参考.

来源:百度文库 编辑:九乡新闻网 时间:2024/05/09 04:47:04

反馈问题: 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效果了,高兴而归.

本文来自:我爱研发网(52RD.com) - R&D大本营
详细出处:http://www.52rd.com/Blog/Detail_RD.Blog_gower_dcg_26636.html