高通8295平台英飞凌89072芯片bluetooth功能调试

文章详细描述了在调试过程中遇到的两个主要问题:一是OTP写蓝牙地址失败,经过分析发现可能是因为BT_OTP_VDD3P3V未正确供电;二是芯片UART串口通信受RTS和CTS影响,解决方法包括确保电平匹配,断开不必要的连接,并处理复位信号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前言

这篇主要是解决&分析具体的调试遇到的一些问题

2. OTP写蓝牙地址失败-BT_OTP_3P3V_ON和BT_OTP_VDD3P3V引脚

问题:

OTP写蓝牙地址失败。

问题分析:

1.OTP是one time programmable的意思,就是只能写一次到芯片寄存器里。测试的时候就是下载firmware后,做otp的读取。

2. 测试主要采用把mbt脚本放到板子里面执行。写入蓝牙地址后,重启机器,重新读取蓝牙地址,跟设置的不一样,说明写入OTP失败。

3. 把BT_OTP_3P3V_ON拉高后,读取OTP默认是有值的。理论上,如果OTP没有写过,OTP不应该有内容。怀疑芯片OTP被写过,重新找了两块新的板子,把BT_OTP_3P3V_ON拉高后,读取OTP也是默认有值的。

4.Nick查找芯片手册发现有另外一个GPIO信号与OTP有关,BT_OTP_VDD3P3V这个信号表示OTP供电电压,与英飞凌沟通,OTP工作时,需要拉高到3.3V。而与EE沟通,这个引脚一直是断开的。

问题解决:

1. BT_OTP_3P3V_ON与VDDO保持相同电平:1.8v,表示使用OTP。

2. BT_OTP_VDD3P3V,拉高到3.3v,给OTP供电。

3. 芯片UART串口无通信-RTS, CTS影响串口通信

问题:

SOC和蓝牙芯片间串口功能都是好的,功能正常使用。上位机通过蓝牙芯片串口向蓝牙芯片发完HCI_RESET命令得不到响应。

问题分析:

1. 将BT 芯片UART 和8295断开,再接串口工具,上位机通过串口向蓝牙芯片发完HCI_RESET命令得不到响应。

2.跟英飞凌沟通,需要确认TX/RX/CTS/RTS是否连接正确,电平是否匹配。试了各种TX、RX、CTS、RTS和SOC通路都不断开;TX、RX和SOC通路断开,CTS、RTS和SOC通路不断开;TX、RX和SOC通路不断开,CTS、RTS和SOC通路断开;TX、RX、CTS、RTS和SOC通路都断开;仍无通信。这个过程没有思考电平匹配,只是盲目试错。

3.由于VBAT是1.8V,使用串口板电压是3.3V,怀疑是VBAT和串口板电压不匹配导致,换了一个1.8V串口工具,串口仍无通信。用示波器测量串口工具板的TX能抓到波形。测试过程中,还发现一个逻辑错误,UART的四根脚跟串口板不是交叉相连,交叉相连后,串口仍无通信。

4. 量SOC_BT2_RES_N复位信号,发现8295在断开UART后无通信后,会尝试复位重启蓝牙,几次失败后一直拉低reset;直接断电8295电源3V3_HP,SOC_BT2_RES_N复位信号一直被8295引脚拉低,断开8295引脚,手动复位再解复位蓝牙芯片,仍无法下发命令;

5.通过上位机直接给SOC下发指令,发现SOC默认拉高RTS,下发指令过程中,是低电平。说明RTS低电平才有数据通信。

问题解决:

1. BT 芯片UART 必须和8295断开,再接串口工具,否则命令下不进去;

2. UART和8295断开后,8295会主动reset BT芯片,所以需要硬件rework断开reset,或8295将reset控制脚配置成普通GPIO拉高;

3. RTS,CTS会影响串口通信,8295默认拉高了RTS,需要飞线拉低RTS;

4. 串口工具电压需要与芯片VBAT匹配;UART的四根脚跟串口板交叉相连。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值