I2C总线学习笔记
2016-12-28 20:36
253 查看
20IIC-BUS INTERFACE
S3C2440支持IIC接口。可以在接口器件之间传送信息。SDA,SCL是双向
控制I2C总线操作,必须写以下几个寄存器
IIC总线控制寄存器 IICCON
IIC总线控制状态寄存器IICSTAT
IIC总线收发移位寄存器IICDS---data shift
IIC总线地址寄存器IICADD
IIC总线空闲,SDA,SCL都为高电平。SDA从高到低为开始传送。SCL一直为高,SDA由低到高结束操作。
开始结束操作由主控端发出。第一个字节信息,前七位为从设备地址,第八位为传送方向。(读或写)
SDA每次传送8位。在总线传输期间字节数不受限制。数据总是从最高位开始传输,每字节传输完成后会有一个ACK应答位。
S3C2440 IIC总线四种传输模式
主传输
主接收
从发送
从接收
IIC接口不活动,一般都是从模式。在侦测到SDA上的开始信号,IIC为从模式。开始信号是SCL为高,SDA由高到低。
主设备初始化一个开始信号,先发送一个字节。这个字节高七位为从设备地址,最后一位为传输方向(读或写)如果第8位为0,写操作。为1,读操作。
主设备用停止信号结束传输。如果要继续传输,就需要重新产生开始信号。
字节传输格式
每个SDA线上传输的都是八位数据。字节数在每次传输不受限制。开始信号后的第一个字节包括从设备地址。每个字节后跟一个应答位。最高位先传。
ACK信号
完成一个字节传输,从设备需要发送一个ACK位给主设备。ACK脉冲出现在SCL线的第九个时钟周期。之前的八个时钟用于数据传输。
主设备收到ACK时钟脉冲,应该让SDA线为高释放SDA。从设备在ACK时钟周期将ACK拉低。
ACK位的传输功能可以通过IICSTAT寄存器使能或禁用。SCL第九个时钟的ACK信号必须完成一个字节的传输。
S3C2440支持IIC接口。可以在接口器件之间传送信息。SDA,SCL是双向
控制I2C总线操作,必须写以下几个寄存器
IIC总线控制寄存器 IICCON
IIC总线控制状态寄存器IICSTAT
IIC总线收发移位寄存器IICDS---data shift
IIC总线地址寄存器IICADD
IIC总线空闲,SDA,SCL都为高电平。SDA从高到低为开始传送。SCL一直为高,SDA由低到高结束操作。
开始结束操作由主控端发出。第一个字节信息,前七位为从设备地址,第八位为传送方向。(读或写)
SDA每次传送8位。在总线传输期间字节数不受限制。数据总是从最高位开始传输,每字节传输完成后会有一个ACK应答位。
S3C2440 IIC总线四种传输模式
主传输
主接收
从发送
从接收
IIC接口不活动,一般都是从模式。在侦测到SDA上的开始信号,IIC为从模式。开始信号是SCL为高,SDA由高到低。
主设备初始化一个开始信号,先发送一个字节。这个字节高七位为从设备地址,最后一位为传输方向(读或写)如果第8位为0,写操作。为1,读操作。
主设备用停止信号结束传输。如果要继续传输,就需要重新产生开始信号。
字节传输格式
每个SDA线上传输的都是八位数据。字节数在每次传输不受限制。开始信号后的第一个字节包括从设备地址。每个字节后跟一个应答位。最高位先传。
ACK信号
完成一个字节传输,从设备需要发送一个ACK位给主设备。ACK脉冲出现在SCL线的第九个时钟周期。之前的八个时钟用于数据传输。
主设备收到ACK时钟脉冲,应该让SDA线为高释放SDA。从设备在ACK时钟周期将ACK拉低。
ACK位的传输功能可以通过IICSTAT寄存器使能或禁用。SCL第九个时钟的ACK信号必须完成一个字节的传输。
相关文章推荐
- I2C总线协议学习笔记
- Linux I2C总线框架 学习笔记
- I2C 总线规范学习笔记
- I2C总线协议学习笔记
- I2C总线协议学习笔记
- I2C总线协议学习笔记
- cortex_m3_stm32嵌入式学习笔记(二十):IIC实验(I2C串行总线)
- 学习笔记 --- LINUX I2C总线驱动框架分析
- I2C总线协议学习笔记
- I2C总线协议学习笔记
- I2C总线协议学习笔记
- 《嵌入式linux应用程序开发完全手册》I2C总线接口学习笔记
- I2C总线协议学习笔记
- I2C总线学习—查缺补漏—对数据有效性的思考
- I2C总线学习—查缺补漏—应答信号ACK
- I2C总线学习—查缺补漏—对数据有效性的思考
- I2C总线学习(四)--读写过程
- I2C总线学习(一)--信号类型
- ARM学习笔记--SPI总线接口
- ARM学习笔记--IIC总线接口