IIC通讯调试

时间:2024-04-01 14:21:53

IIC总线是Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。

主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件。然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。

LKT系列有多种IIC接口的加密芯片。LKT4106、LKT4303、LKT4304、LKT4302A等,涵盖了SOP8、VSOP8、QFN32,适用于不同行业的不同需求。

以一组通讯交互时序来说明调试通讯中注意的点:(以取随机数为例)

发送时序:

IIC通讯调试

接收时序:

IIC通讯调试

1.主机从机的设定:MCU作为主机,LKT系列加密芯片作为IIC通讯的从机。

2.读写地址的设定:完成通讯交互要有读写地址的设定,我司目前IIC接口类芯片,写地址一般为0x50,读地址为0x51,具体参考对应型号的芯片手册。要等读写地址有应答之后才能正确发送和接收后续数据。

3.起始位、停止位的设定:符合标准时序就可以。起始位SCL为高电平时,SDA由高变低;停止位SCL为高电平时,SCL由低变高。

4.应答非应答位的设定:主机发送数据时,由从机(加密芯片)回送应答信号,从机回送数据,由主机给出应答信号,等数据接收完成时,主机给出非应答信号,表示该帧交互指令完成。

5.应答非应答时序设定:应答SCL为高电平时,SDA为低电平;非应答SCL为高电平时,SDA为高电平。

IIC通讯调试

6.指令与指令间可以适当加一些延时,延时时间不必太长。几十到几百微秒就可以。