赤壁网站开发,dede分类信息网站,柳州网站推广,如何在亚马逊上开店卖到国外I2C协议——读写EEPROM 关注我#xff0c;共同交流#xff0c;一起成长 前言一、协议简介二、I2C特性及架构三、通信过程 前言
这是一种主要用于集成电路和集成电路#xff08;IC#xff09;通信#xff0c;计算机中复杂的问题大多数就是用分层来进行解决#xff0c;这个… I2C协议——读写EEPROM 关注我共同交流一起成长 前言一、协议简介二、I2C特性及架构三、通信过程 前言
这是一种主要用于集成电路和集成电路IC通信计算机中复杂的问题大多数就是用分层来进行解决这个通讯也是一样的道理这里就是会分为物理层和协议层物理层就是确保了我们的原始数据在物理媒体的传输协议层主要规定了通讯相关逻辑。 一、协议简介
这个地方物理层其实作用不大主要是这个地方的相关的协议层的东西。物理层的一个特点就是每一个主机和从机都引出来两条线交接到这个SCL总线和SDA总线上面去。主机通过这个总线输出一个时钟然后从机就依靠这个时钟信号来进行数据采集和数据发送然后依靠这个时钟来协调通讯和同步。 数据包要搞清楚能够理解好 具体来说就是关于基本读写、通讯起止、数据有效性、地址及数据方向、响应等等的东西。写程序的时候对这个协议是必须要搞得滚瓜烂熟才行的。这个协议传输过程的逻辑还是比较清晰的存在的。通过两个总线的不同状态来表示一个数据包具体有起点、终点、读、写、复合格式例如说 这个起始点就是相当于上课了那么接在这个总线上边的各个从机就要去听老师有没有点自己的adress名字了。 数据是否有效性也是通过两根总线的这种交互产生的
二、I2C特性及架构
STM32的I2C外设可用作通讯的主机以及从机支持100Kbit/s和400Kbit/s的速率支持7位、10位设备地址支持DMA数据传输并具有数据校验功能。 如果我们直接控制STM32的两个GPIO引脚分别用作SCL和SDA分别用作SCL及 SDA按照上述信号的时序要求直接像控制LED灯那样控制引脚的输出(若是接收数据时则读取SDA电平)就可以实现I2C通讯。同样假如我们按照USART的要求去控制引脚也能实现USART通讯。所以只要遵守协议就是标准的通讯不管您如何实现它不管是ST生产的控制器还是ATMEL生产的存储器都能按通讯标准交互。 意思就是这里其实就是一种联对的逻辑我们只需要更高级地设定好一个存在之后然后系统的内部设定就会根据你的这个选择将两根总线的输出进行一定的调节控制然后就用不着直接去控制相关总线了。 硬件实现协议:由STM32的I2C片上外设专门负责实现I2C通讯协议只要配置好该外设它就会自动根据协议要求产生通讯信号收发数据并缓存起来CPU只要检测该外设的状态和访问数据寄存器就能完成数据收发。这种由硬件外设处理I2C协议的方式减轻了CPU的工作且使软件设计更加简单。 然后这里有一个架构图的存在通过这个架构图可以从中看到很多的别的东西对于架构剖析来说的话主要有这个通讯引脚、时钟控制逻辑SCL线、数据控制逻辑SDA线、整体控制逻辑SMBA之分。就是说因为这个I2C里面存在着这样子的一个结构就能够直接去控制那些引脚就不用再去进行软件模拟了。
三、通信过程
使用12C 外设通讯时在通讯的不同阶段它会对“状态寄存器(SR1及 SR2)”的不同数据位写入参数我们通过读取这些寄存器标志来了解通讯状态。 只有了解了这个过程流程此后在书写软件来进行数据的收发的时候就会方便很多了。那么我们通过这个状态寄存器就能够发现在这个背后传输过来的这个事件 上面那行东西是控制寄存器发送的内容而下面的那一行则是状态寄存器最终检测的内容了控制寄存器每做一个步骤状态寄存器都会产生一个事件为了看是否进行控制下一个步骤。
关注我持续了解行业知识如果本文让你有所收获期待你的点赞。 如果想要获取相关知识资料请扫码关注微信公众号