s5pv210开发与学习:1.17之I2C通信详解

1.原理图

2.资料参考

数据手册相关资料参照(883页)section 08_connectivity_storage---》2 IIC-BUS INTERFACE

2.1 IIC-总线接口概述
S5PV210 RISC微处理器支持四个多主I2C总线串行接口。为了在总线主机和连接到I2C总线的外围设备之间传递信息,使用了专用的串行数据线(SDA)和串行时钟线(SCL)。 SDA和SCL线都是双向的。
在多主机I2C总线模式下,多个S5PV210 RISC微处理器与从设备之间收发串行数据。主站S5PV210启动和终止通过I2C总线的数据传输。 S5PV210中的I2C总线使用标准的总线仲裁程序。
要控制多主机I2C总线操作,必须将值写入以下寄存器:
•多主机I2C总线控制寄存器-I2CCON
•多主I2C总线控制/状态寄存器-I2CSTAT
•多主机I2C总线Tx / Rx数据移位寄存器-I2CDS
•多主机I2C总线地址寄存器-I2CADD
如果I2C总线空闲,则SDA和SCL线路均应处于高电平。 SDA的高到低转换会启动启动条件。当SCL保持稳定在高电平时,SDA由低到高的转换会启动停止条件。
主设备始终生成启动和停止条件。启动条件启动后,通过SDA线传输的数据字节中的第一个7位地址值可以确定总线主设备已选择的从设备。第8位确定传输方向(读或写)。
放在SDA线上的每个数据字节总计应为八位。在总线传输操作期间,发送或接收字节没有限制。始终总是从最高有效位(MSB)首先发送数据,并且每个字节后应立即紧跟确认(ACK)位

3.代码

4.拓展

发布了56 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/I_feige/article/details/105365743