I2C总线一

来源:互联网 发布:php后缀的文件怎么打开 编辑:程序博客网 时间:2024/05/20 09:43

一、总述

I2C--两条线:clk时钟,sda数据。

下面是两个读写示例图(随机读取/写入单字节)

1、写--主机发送START信号,紧跟着从机地址并带WRITE信号,从机返回一个ACK信号;再接着主机发送片内从地址,从机再次返回ACK信号,最后主机发送写数据,器件接收后返回ACK信号;最后主机发送STOP信号。

2、读--主机发送START信号,紧接着从机地址并带WRITE信号,从机返回一个ACK信号;接着主机发片内从地址,从机会再次返回ACK信号;主机重启,紧跟着7位从机地址和READ命令,从机返回ACK信号;从机将片内地址寄存器的值传给主机,主机返回一个ACK确认信号;最后主机发送STOP信号


二、s3c2440作为主发送,主接收流程图

主机发送关键点设置

1、设置为主发送模式

2、将从机地址写入IICDS(数据发送/接收寄存器)

3、启动传输

4、当地址传输完成并接受到ACK,进入中断模式

5、写的数据是否完成(判断是否为最后一字节)

6、stop



主机接收设置关键点

1、设置为主接收模式

2、将从地址地址写入IICDS(数据发送/接收寄存器)

3、启动传输

4、当地址传输完成并接受到ACK,进入中断模式

5、是否还剩一字节--设置不发送ACK

6、接收最后一字节

7、stop



0 0