微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MT6628 wifi 联网过程FM自动换台处理方法

MT6628 wifi 联网过程FM自动换台处理方法

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]

连接耳机打开FM播放,后台播放时,使用自带浏览器浏览网页,一段时间后进入FM,发现播放频道自动换了,并且切换
到的频率跟原来频率内容不同。通过Kernel log可以看到如下信息:
05-31 14:28:37.086 7950 7967 I FMLIB_COM: current_freq=1017,PAMD_Value=6
05-31 14:28:37.095 134 439 D hwcomposer_v1.0: [EVENT] vsync/req=21/io=2
05-31 14:28:44.976 796 796 W Trace : Unexpected value fROM nativeGetEnabledTags: 0
05-31 14:28:44.985 7950 7967 I FMLIB_CORE: active AF OK, new channel[freq=1077]
05-31 14:28:44.985 7950 7967 D FMLIB_CORE: int FMR_active_af(int, uint16_t*), [ret=0]
05-31 14:28:44.985 7950 7967 D FMLIB_JNI: jshort activeAF(JNIEnv*, jobject), [ret=0]
05-31 14:28:44.986 7950 7967 V FmRx/Utils: isValidStation: freq = 1077, valid = true
05-31 14:28:44.986 7950 7967 D FmRx/Service: FMRadioService.setPS: ,current: 101.7
05-31 14:28:44.986 7950 7967 D FmRx/Service: notifyActivityStatusChanged:CLIents = 1
从log可以看到 101.7 频率PAMD_Value小于设定的阀值,从而启动AF进行频率切换。但是AF 列表看起来存在问题导致
切换到
非相同内容频率。

[SOLUTION]

针对此问题,请先确认目前的软件版本是否又打patch:ALPS00408978
如果已经存在此patch,但是问题还存在,可以通过修改AF切换的条件来解决此问题,修改方法如下:
修改com.cpp文件COM_active_af()函数中如下注释部分测试看看,此修改主要是将AF调频的条件设定严格一点:
int COM_active_af(int fd, RDSData_Struct *rds, int band, uint16_t cur_freq, uint16_t *ret_freq)
{
int ret = 0;
int i = 0;
struct fm_tune_pARM parm;
uint16_t rds_on = 0;
uint16_t set_freq, sw_freq, org_freq, PAMD_Value, AF_PAMD_LBound, AF_PAMD_HBound;
uint16_t PAMD_Level[25];
uint16_t PAMD_DB_TBL[5] = {// 5dB, 10dB, 15dB, 20dB, 25dB,
// 13, 17, 21, 25, 29};
8, 12, 15, 18, 20}; //请将前面两项修改为: 4, 10 测试看看。
FMR_ASSERT(rds);
FMR_ASSERT(ret_freq);
sw_freq = cur_freq; //current freq
org_freq = cur_freq;
parm.band = band;

谢谢分享

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top