STM32的硬件IIC有问题千万慎用!
STM32的硬件IIC有问题千万慎用!
STM32的硬件IIC有问题千万慎用!
重要的事情要说三遍!
软件模拟IIC除了比较费时,占用CPU的计算时间外,其实还是很灵活方便的,比如,可以设置任意IO口。
模拟IIC分为三种:主模式,从模式和静音模式,第三种是我自己定义的,后面再解释。
作为IIC主模式的话,基本就没有太大问题,因为时钟信号SCL是主模式控制的,爱怎么做就怎么做;
作为IIC从模式的话,最大的麻烦是必须同步SCL信号,因为SCL是主机发出的,必须能够识别SCL的起始、停止信号,然后才能从SDA读到数据。
静音模式:其实就是从模式的增强版,主要用于IIC总线数据读取,监控全部的IIC数据,包括IIC读、IIC写、物理地址、逻辑地址、数据参数等,相当于一个逻辑分析仪。但是相比逻辑分析仪,IIC静音模式能够几乎无限制的读取IIC数据,并且转换成串口或者其他方式显示出来;
作为IIC静音模式,首先不能对IIC总线的任何数据产生回应,如ACK/NAK;也不能做地址过滤,地址匹配之类的,收到所有数据都要保存起来;
IIC静音模式的应用场景:
1.原车屏升级:大多数触控屏的驱动芯片都是IIC总线,要识别触摸位置以及触摸动作,就必须在IIC静默模式下解析IIC数据;
2.解密EEPROM:识别EEPROM的数据,读出地址及存储位置,读出重要数据,比如应用于硬件加密狗,部分MCU程序解密都是使用这种办法;
3.多节点IIC通信:多节点通信时,用于观察IIC通信效率,检查通信故障,排除隐患等。
4.IIC校验:判断通信过程是否符合预期。

STM32的硬件IIC有问题千万慎用!
STM32的硬件IIC有问题千万慎用!
重要的事情要说三遍!
软件模拟IIC除了比较费时,占用CPU的计算时间外,其实还是很灵活方便的,比如,可以设置任意IO口。
模拟IIC分为三种:主模式,从模式和静音模式,第三种是我自己定义的,后面再解释。
作为IIC主模式的话,基本就没有太大问题,因为时钟信号SCL是主模式控制的,爱怎么做就怎么做;
作为IIC从模式的话,最大的麻烦是必须同步SCL信号,因为SCL是主机发出的,必须能够识别SCL的起始、停止信号,然后才能从SDA读到数据。
静音模式:其实就是从模式的增强版,主要用于IIC总线数据读取,监控全部的IIC数据,包括IIC读、IIC写、物理地址、逻辑地址、数据参数等,相当于一个逻辑分析仪。但是相比逻辑分析仪,IIC静音模式能够几乎无限制的读取IIC数据,并且转换成串口或者其他方式显示出来;
作为IIC静音模式,首先不能对IIC总线的任何数据产生回应,如ACK/NAK;也不能做地址过滤,地址匹配之类的,收到所有数据都要保存起来;
IIC静音模式的应用场景:
1.原车屏升级:大多数触控屏的驱动芯片都是IIC总线,要识别触摸位置以及触摸动作,就必须在IIC静默模式下解析IIC数据;
2.解密EEPROM:识别EEPROM的数据,读出地址及存储位置,读出重要数据,比如应用于硬件加密狗,部分MCU程序解密都是使用这种办法;
3.多节点IIC通信:多节点通信时,用于观察IIC通信效率,检查通信故障,排除隐患等。
4.IIC校验:判断通信过程是否符合预期。

