1088能否做到如下功能:
当立体声台信号低于20dBuEMF时,按单声道解码, LCD不显示ST位.
当立体声台信号高于20dBuEMF时,按立体声解码, LCD显示ST位. 而且分离要突变的.
ST标志需根据信号变化而变化, 2S变化一次.
以上能否实现?
可以实现, 流程如下:
1) 首先请用RSSI, SNR锁定20dBuEMF阀值.
我们测得门限值大概如下,根据板不同会略有差别:
RSSI = 0x1AH SNR = 0x0AH
这是在屏蔽房取得的数据. 实际空间环境SNR值不会这么高, 所以SNR设置一半05H即可. RSSI定门限更准一些.
2) 每两秒读取一下ST标志位,读之前几个相关寄存器按默认设置, 如下:
(1) 强制立体声位Reg2(bit11)置0 (Normal operation状态)
(2) 强制单声道位Reg2(bit12)置0 (Normal operation状态)
(3) Reg17 (bit7~13) 恢复成默认0x10H
(4) Reg4 (bit6~8) 恢复成默认0x3H
改了这些设置后读ST前还需延时20ms左右, 因为改这些寄存器前系统有可能处于强制单声道或强制立体声状态.
3) 读取ST标志位, 如果当前电台为单声道台,则将系统设置为强制单声道.
如果当前电台为立体声台,但读RSSI,SNR发现信号不够20dBuEMF,也按强制单声道处理.
强制单声道设置如下:
(1) 强制立体声位Reg2(bit11)置0 (Normal operation状态)
(2) 强制单声道位Reg2(bit12)置1 (Force mono.状态)
(3) Reg17 (bit7~13) 设置为0x7FH, 即全1.
(4) Reg4 (bit6~8) 设置为0x7H, 即全1.
4) 当读到ST为1, 且通过读RSSI,SNR门限发现灵敏度达到20dBuEMF以上时, 按强制立体声解, 这样能达到分离突变, 设置如下:
(1) 强制立体声位Reg2(bit11)置1 (Force stereo.状态)
(2) 强制单声道位Reg2(bit12)置0 (Normal operation状态)
(3) Reg17 (bit7~13) 恢复成默认0x10H.
(4) Reg4 (bit6~8) 恢复成默认0x03H.
每2秒执行一次 2) ~ 4) 步骤,即可实现所需功能.
meng_411698409 2011-9-28 22:46
其实也可以不用这么麻烦, BK1088立体声本来是自动分离的.以下为BK1088立体声分离的过程: 1. 当立体声电台信号非常弱时,BK1088是按单声道解的.因为太弱的立体声信号直接解出来是音效是非常差的. 2. 当立体声电台信号达到一定强度时,BK1088开始逐步分离立体声.而不是马上达到最佳分离度.这样做听起来声音也清晰些. 3. 当信号达到按最大分离度解析声音也非常清楚时,BK1088才会完全分离左右声道信号. 我们之所以按博文中的方法来做,是有一些特殊的客户有特殊的要求. 我们按照客户的要求将功能实现,并把方法共享给大家.只是为了有同样需求的网友可以参考一下. 建议还是按芯片内部默认的立体声分离来做.实际音效会好一些.
用户1406868 2011-9-28 16:55
用户1406868 2011-9-27 16:18
太有才了,这都被你想出来了.