新闻  |   论坛  |   博客  |   在线研讨会
LKT芯片接口调试建议-IIC接口
xiaoxiao10 | 2020-10-29 10:26:35    阅读:304   发布文章

本文主要介绍使用STM32芯片 IO模拟方式调试IIC接口LKT加密芯片时需要注意的问题点。可能有人会说我之前操作过XXXX IIC接口的芯片,IIC接口没什么好介绍的。其实不然如果IO模拟的IIC程序写的不好,有可能造成程序对个别芯片兼容性不好的问题,或者稍微调整通讯速度后通讯就变的不稳定等现象出现。

基础介绍- IO口开漏输出:

下图为开漏模式的结构图,输出寄存器上的‘0’将N-MOS激活 P-MOS截止,此时I/O引脚相当于与VSS连接。输出寄存器上的‘1’使P-MOS和N-MOS截止,此时I/O处于高阻态状态。所以开模式下要输出高电平时需要加入上拉电阻。

图片1.jpg

调试注意事项:

STM32操作LKT加密芯片的SDA、SCL两条线一定要设置成开漏输出,切记不要使用推挽输出。

STM32在发送和读取数据时,SDA数据线引脚不需要进行输入输出设置,直接读取端口寄存器状态即可。

STM32在读取数据时,当SCL拉高后不要做简单固定延时之后就进行后续操作,尽量做一个拉高的超时判断(因为存在总线被从器件占用的可能性,这里可以做一个超时判断如果SCL超时还未拉高则认为是总线异常)这样做也是符合硬件IIC的操作逻辑更符合时序规则。



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
Lity2016  2020-11-03 09:04:37 

已转我们技术,很有用哦

haofeng  2020-11-03 08:36:19 

文章技术性真强,mark

pinbo2008  2020-11-02 21:29:09 

看来SDA、SCL两条线对调试I2C接口起了很关键性作用。

25257758  2020-11-02 20:08:07 

io模拟iic和硬件iic有什么区别?

paultoday  2020-11-02 09:04:53 

文章描述的IO模拟稳定问题其实是IIC协议的"Clock Stretching"特性。使用开漏和超时判断就是为了解决“Clock Stretching"问题。

15930473139  2020-11-02 07:33:53 

STM32的IO模拟IIC通讯速率一般能达到多快那,有没有测试过?

haofeng  2020-11-01 19:35:13 

介绍太简单了,时序上没有特殊性?

Lity2016  2020-11-01 16:09:20 

那是否意味着只挂载1个器件的话,不上拉也行吧?

tiancongcong  2020-11-01 14:31:37 

支持IIC的有很多种,具体看你用于什么行业还有成本问题

YXG12345679  2020-11-01 14:14:20 

LKT加密芯片,有谁用过吗?可以推荐一下具体型号吗?

zhr1996113  2020-11-01 10:39:56 

I2C是Inter-Integrated Circuit的简称,读作:I-squared-C。由飞利浦公司于1980年代提出,为了让主板、嵌入式系统或手机用以连接低速周边外部设备而发展。

15930473139  2020-11-01 00:13:29 

什么是标准I2C通讯协议?

李阿淇  2020-10-31 09:28:30 

开漏意思是漏极开路,是这个引脚只接了MOS管的漏极,没有其他;推挽是指既能拉到GND,也能推到VCC

旋转木偶  2020-10-30 21:16:32 

开漏输出和推完输出的本质区别是什么?

xiaoxiao10  2020-10-30 21:09:43 

@ 旋转木偶 1Mbps

旋转木偶  2020-10-30 20:58:16 

IO模拟IIC的通讯速率最快能达到多少?

xiaoxiao10  2020-10-30 19:34:59 

@ tiancongcong 是的

tiancongcong  2020-10-30 17:30:07 

LKT加密芯片I2C接口是标准I2C通讯协议吗?

pinbo2008  2020-10-30 17:06:09 

文章对STM32在发送和读取数据时的调试注意事项介绍得言简易懂,挺好。

25257758  2020-10-30 16:56:42 

不错不错,收藏了

25257758  2020-10-30 16:56:18 

不错不错,收藏了

paultoday  2020-10-30 13:47:17 

写的挺好,其实很多人调试IIC接口都不太关注开漏设置。我敢说肯定很多人都不知道为什么必须加上拉。其实IIC协议里写的很清楚,正式因为开漏设置和上拉电阻加入,才使得IIC总线允许挂载多个从器件。

YXG123456987  2020-10-30 13:42:16 

文中提到的经验,是可以推广到stm32之外的CPU上吗?

推荐文章
最近访客