新茂SM59系列IIC使用详解

需积分: 9 1 下载量 136 浏览量 更新于2024-10-12 收藏 222KB PDF 举报
"SynMos IIC功能使用方法详细指南" 在SynMos的SM59R16A2和SM59R08A22系列芯片中,集成的IIC(Inter-Integrated Circuit)功能提供了在微控制器和其他电子设备之间进行通信的能力。IIC协议是一种双线制通信接口,它仅使用两条线——SCL(Serial Clock)和SDA(Serial Data)来传输数据。以下是关于IIC功能的详细说明: 1. **硬件配置**:IIC模块依赖SCL和SDA线进行通信。这两条线负责时钟和数据传输,它们共同构成了IIC总线的基础。 2. **传输速率**:SCL时钟频率最高可支持400Kbps,这个速度可以通过软件设置SFRIICBR[2:0]寄存器来调整。 3. **工作模式**:IIC支持主控器(Master)和从设备(Slave)两种模式。主控器可以启动并控制通信过程,而从设备则响应主控器的请求。 4. **中断和控制**:IIC模块提供中断(RXIF, TXIF)功能,以及两组控制地址。中断用于指示接收或发送数据的完成。此外,通过硬件设置,主控器可以自动产生START、Re-START和STOP信号,而从设备可以自动检测这些信号。 5. **从设备数量**:一个IIC总线上最多可以连接127个从设备,但线路电容限制为400pF。 **特殊控制和状态寄存器**: - **IICCTL(IIC Control Register)**:0xF9h,包括IICEN标志,用于启用IIC功能,以及其他控制位如MSS(Slave Select)、MAS(Master Select)、RStart(Repeated Start)和IICBR[2:0](Bus Rate设置)。 - **IICS(IIC Status Register)**:0xF8h,包含了MStart(Master Start Flag)、RXIF(Receive Interrupt Flag)、TXIF(Transmit Interrupt Flag)、RDR(Receive Data Ready)、TDR(Transmit Data Ready)、RXAK(Receive Acknowledge)、TXAK(Transmit Acknowledge)和RW(Read/Write Flag)等状态位。 - **IICA1 and IICA2(IIC Address Registers)**:0xFAh和0xFBh,分别存储从设备的两个7位地址,MATCH1和MATCH2表示地址匹配,RW1和RW2指示读写操作。 - **IICRWD(IIC Read/Write Register)**:0xFCh,包含IICSRWD[7:0],用于控制读写操作。 **操作步骤**: 1. 启用IIC功能,设置IICEN为1。 2. 设置IICBR以设定适当的数据传输速率。 3. 如果作为主控器,生成START信号并发送从设备地址。 4. 读取或写入数据,根据需要使用ACK信号。 5. 当通信完成后,发送STOP信号。 **中断处理**: - RXIF中断表明有数据从IIC总线接收,此时可以读取接收数据。 - TXIF中断表明数据已成功发送,可以准备发送下一个字节。 **注意事项**: 确保在总线上没有冲突,每个从设备都有独特的7位地址,且总线的电容不应超过400pF以保持信号完整性。 SynMos SM59系列的IIC功能为用户提供了灵活的通信选项,适用于多种嵌入式系统设计。正确理解和利用这些特性,可以有效地实现与其他IIC兼容设备的通信。