S3C44B0X中文数据手册 2004年8月27日S3C44B0X中文数据手册
目录
S3C44B0X中文数据手册 (1)
16 IIC总线接口 (2)
16.4 S3C44B0X的I2C接口 (2)
16.4.1读写操作 (2)
16.4.2配置IIC总线 (2)
16.4.3各种模式下的操作流程 (2)
16.4.4 I2C总线接口专用寄存器 (7)
16.4.4.1多主I2C总线控制寄存器(IICCON) (7)
16.4.4.2 I2C状态寄存器(IICSTAT) (8)
16.4.4.3 I2C总线地址寄存器 (8)
16.4.4.4 I2C总线发送/接收数据移位寄存器(IICDS) (8)
S3C44B0X中文数据手册 2004年8月27日16 IIC总线接口
16.4 S3C44B0X的I2C接口
S3C44B0X处理器支持多主模式的I2C总线串行接口。S3C44B0X采用专门的串行数据线(SDA)和串行时钟线(SCL),与总线上的其它外设传输信息。
S3C44B0X支持的操作模式有:
-主设备发送模式;
-主设备接收模式;
-从设备发送模式;
-从设备接收模式。
16.4.1读写操作
在发送器模式下,数据被发送之后,I2C总线接口会等待直到IICDS(I2C数据移位寄存器)被程序写入新的数据。在新的数据被写入之前,SCL线都被拉低。新的数据写入之后,SCL线被释放。S3C44B0X利用中断来判别当前数据字节是否已经完全送出。在CPU接收到中断请求后,再中断处理中再次将下一个新的数据写入IICDS,如此循环。
在接收模式下,数据被接收到后,I2C总线接口将等待直到IICDS寄存器被程序读出。在数据被读出之前,SCL线保持低电平。新的数据从读出之后,SCL线才释放。S3C44B0X 也利用中断来判别是否接收到了新的数据。CPU收到中断请求之后,处理程序将从IICDS 读取数据。
16.4.2配置IIC总线
要控制串行时钟SCL的频率,可以通过IICCON寄存器中的4位预分频值来设置。I2C 总线接口地址保存在IIC总线地址寄存器IICADD内。参考3.4.4节。
16.4.3各种模式下的操作流程
在任何IIC发送/接收操作中,遵循以下步骤:
1)如果需要,在自身的从地址寄存器IICADD中写入地址;
2)设置IICCON寄存器:a)使能中断;b)定义SCL周期;
3)设置IICSTAT来使能串行输出
发送/接收数据流程图如下:
图12-8 IIC主(master)模式发送数据流程
图12-9 IIC主(master)模式接收数据流程
图12-10 IIC总线从(slave)模式发送数据流程
图12-11 IIC总线从(slave)模式接收数据流程
S3C44B0X中文数据手册 2004年8月27日16.4.4 I2C总线接口专用寄存器
16.4.4.1多主I2C总线控制寄存器(IICCON)
S3C44B0X中文数据手册 2004年8月27日16.4.4.2 I2C状态寄存器(IICSTAT)
16.4.4.3 I2C总线地址寄存器
16.4.4.4 I2C总线发送/接收数据移位寄存器(IICDS)