- 经验
- 14
- 分贝
- 0
- 家园分
- 74
- 在线时间:
- 2 小时
- 最后登录:
- 2020-7-3
- 帖子:
- 4
- 精华:
- 0
- 注册时间:
- 2006-11-18
- UID:
- 132622
注册:2006-11-18
|
1 目的
本文档主要描述解决BCM软件升级为4.x以后,驱动层采用Zarlink支持包引起LE88221芯片检测摘挂机错误的问题。
2 问题
描述在BCM 4.x软件方案验证过程中,采用GAWV5.4U10-A3的硬件设备作载体进行软件VOIP功能验证时, 出现了设备S口连接的话机在摘机后,软件不断的检测到摘挂机事件,听筒伴随有噗噗的噪音。
3 解决过程
3.1 问题验证 此问题是必然重现。
3.2 问题原因分析 刚接触此问题时,没有头绪,通过示波器观察到TIP和RING上有规则之方波出现,在BCM 3.x软件代码上验证此问题是不存在,于是比较BCM 4.x与BCM 3.x对LE88221所有初始化流程中使用的寄存器运行值,想快速找到问题的突破口,通过比较发现,其寄存器值相同,还无法定位问题,在此过程中,发现有其他GAWV5.4U10-A3的硬件设备不存在此问题, 通过硬件的调换,终于发现使用的LE88221芯片版本是不一样的, 使用LE88221 A型芯片使用4.x软件必然出现此问题,通过调节VBL的电压,能够稳定LE88221 A型的摘挂机检测,同时,噗噗的声音也消失了,但是没有找到问题的根源。 当时项目急着转测试,在测试过程中,发现使用高科的话机在按R键的时候,问题又重现,当多按几次又能恢复正常检测。
基于以上种种表现,都说明没有深入到问题的本质,修改带有盲目性,同时,因为BCM代码不具备独立调试芯片寄存器的功能,带来额外的难度,俗话说“工欲善其事,必先利其器”,在迷茫中,我又回到了问题的原点,但是手中已然握住了一个控制SLIC/SLAC芯片寄存器的工具,峰回路转,在出现问题的时候, 使用VOICE HW_RD 0 0x57 1读出寄存器的值,发现SYSTEM STATE在0x2b和0x23之间切换, 0x23表示低电压状态,也就是VBL供电,0x2b表示中电压状态,也就是通过VBM供电,但是由于硬件电路的设计,VBM引脚同VBH引脚都连接到DC供电电路的VBH线上.
|
|