目录

沁恒蓝牙系列芯片中目前只有CH582/583以及208包含有硬件IIC外设,本文均使用582进行测试,其他沁恒芯片也可以参考本文排查。

先进行“常规”检查,检查相关引脚的焊接、线材是否断线或接触不良等问题,确定是否为IIC模块的问题。

如果582作硬件IIC主机:

上电后是否进行了上电延时以给从机进行上电加载。从机上电加载可能需要一定的时间,具体看从机芯片手册或者从机模块手册的要求。

SCL、SDA总线上是否按从机要求加了2~10k的上拉电阻。是否需要上拉电阻和上拉电阻阻值的选择,具体看从机芯片手册或者从机模块手册的要求。

时序正常,应答都正常,但是数据“异常”,比如说某些寄存器能读到正常数值,某些寄存器读出来都是0。建议查阅从机手册,检查一下从机模式是否正常,有没有唤醒从机,有没有向从机配置一些必要参数等。

重映射后一直busy。最新EVT中已解决,初始化函数中添加了重置IIC模块的语句,具体见博客硬件IIC的重映射使用问题 - JayWell - 博客园 (cnblogs.com)

读操作过程中发现PE被关掉了也就是IIC取消了使能,可以尝试去掉下图中的代码。

检查PE标志位可以这样打印:PRINT("PE = %d\n",((*((uint32_t*)0x40004800))&0x0001));

如果582作硬件IIC从机:

使用到了从机第二地址,接收数据后没有不释放时钟线导致一致busy,可能是EVT版本比较旧而缺少第二地址接收相关宏,可以参考最新EVT中的宏定义。

如果使用到了硬件IIC主/从中断:

发现能够跑通,但运行不稳定,可能运行一段时间后就卡死。建议参考最新EVT例程,使用if语句判断标志位,而不要用switch case语句判断标志位。参考例程中的if语句判断只要求相应的标志置位即可,而使用switch case语句判断则要求每一位标志都严格一致。

如果还是没有排查出问题,可以在沁恒官网相关系列芯片的论坛反馈。

硬件IIC调试问题排查的更多相关文章

  1. paip.hql的调试故障排查流程总结

    paip.hql的调试故障排查流程总结 环境.myeclipse7.0 1 Hql的调试工具myeclipxe默认工具.../Hibernate8IDE 1 故障的排除方法overview 1 Hql ...

  2. STM32硬件IIC操作

    Stm32具有IIC接口,接口有以下主要特性 多主机功能:该模块既可做主设备也可做从设备 主设备功能 C地址检测 位/10位地址和广播呼叫 支持不同的通讯速度 状态标志: 发送器/接收器模式标志 字节 ...

  3. STM32硬件IIC (转)

    源: STM32硬件IIC

  4. STM32硬件IIC驱动设计(转)

    源: STM32硬件IIC驱动设计 参考: STM32—硬件IIC主机通信 STM32’s I2C 硬件BUG引发的血案(qzm) 解决STM32 I2C接口死锁在BUSY状态的方法讨论

  5. STM32硬件IIC

    /** * @brief 写一个字节到I2C设备中 * @param * @arg pBuffer:缓冲区指针 * @arg WriteAddr:写地址 * @retval 正常返回1,异常返回0 * ...

  6. STM32 IIC双机通信—— HAL库硬件IIC版

    参考传送门 关于IIC的原理这里我就不多说了,网上有很多很好的解析,如果要看我个人对IIC的理解的话,可以点击查看,这里主要讲一下怎样利用STM32CubeMx实现IIC的通讯,经过个人实践,感觉HA ...

  7. STM32读取bq33100数据——硬件IIC

    背景:拟采用bq33100超级电容管理芯片,实现自动的超级电容组的均压任务.需监控芯片的工作情况,以及电容组的均压情况. 平台: 硬件:STM32F103C8T6 通信:SMBus(低速IIC) 目标 ...

  8. LPC2478的硬件IIC使用

    LPC2478的IIC使用 LPC2478带有三个IIC接口,每个IIC都可以工作在主机或者从机模式下,LPC的IIC的架构是一种状态机的形式,在不同的的时间做不同的工作之后有不同的状态来表示, 简单 ...

  9. Xcode中使用数据(硬件)断点调试

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在Xcode的GUI界面中只能添加软断点,而无法增加硬断点.但 ...

  10. FPGA开发要懂得使用硬件分析仪调试——ILA

    0. ILA概述在FPGA开发中,当我们写完代码,进行仿真,确定设计没有问题后,下载到硬件上一般都能按照我们的设计意愿执行相应功能.但这也并非绝对的,有时候你会遇到一些突然情况,比如时序问题或者仿真时 ...

随机推荐

  1. bugku-source-wp详解

    bugku-source-wp详解 F12先看源代码 base64解码 提交flag 发现这个flag是假的 根据提示打开kali直接扫 命令:gobuster dir -u http://114.6 ...

  2. C#中检查null的语法糖,非常实用

    c#处理null的几个语法糖,非常实用.(尤其是文末Dictionary那个案例,记得收藏) ??如果左边是的null,那么返回右边的操作数,否则就返回左边的操作数,这个在给变量赋予默认值非常好用. ...

  3. js获取时间最详细~~~~

    最详细 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  4. 如何在es中查询null值

    目录 1.背景 2.需求 3.准备数据 3.1 创建mapping 3.2 插入数据 4.查询 name字段为null的数据 5.查询address不存在或值直接为null的数据 6.参考链接 1.背 ...

  5. 字符编码,存储引擎及MySQL字段类型相关知识点

    字符编码,存储引擎及MySQL字段类型相关知识点 一.字符编码 1.在终端输入\s,查看数据库的基本信息(当前用户,版本,编码,端口号) 2.默认的配置文件是my-default.ini 拷贝上述的文 ...

  6. 结构型模式 - 外观模式Facade

    1.tm的NT审核机制,满篇文章哪来的广告? 就算有也是你们自己加的吧?等财富能支持我自己的网站后,就是和你们说再见之时. 2.tm第二遍说,我接着提交,这个审核机制的傻逼设计者或者是程序敲出来的bu ...

  7. 关于计算机与常用DOS命令

    计算机 计算机 计算机由软件和硬件组成. 能够按照程序运行,自动,高速处理海量数据的现代化智能电子设备. 计算机硬件 CPU 主板 内存 电源.主机箱 硬盘 显卡 键盘.鼠标(输入设备) 显示器(输出 ...

  8. Mybatis Plus整合PageHelper分页的实现示例

    1.依赖引入 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pag ...

  9. Vue 26 plugins

    1 简介 它是用来增强vue的.它是包含install方法的一个对象,install的第一个参数是Vue,第二个以后参数是插件使用者传入的参数 插件里面可以配置全局过滤器.全局指令.混入.Vue原型上 ...

  10. 构建api gateway之 openresty 中如何使用 wasm

    openresty 中如何使用 wasm WASM 是什么? WebAssembly是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果.它设计的目的不是为了手写代码而是为诸如C.C++ ...