ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
I2C 目标初始化
I2C 目标状态
用户可以通过读取 I2Cx.SSR 寄存器来检查 I2C 目标的当前状态。
| 位域 | 说明 |
|---|---|
| RREQ | 如果 I2C 控制器具有来自 I2C 控制器的未处理的接收数据,并且正在使用时钟拉伸技术来延迟控制器直到从 SRXDATA FIFO 读取数据(目标 RX FIFO 已满),则会设置该位。 |
| TREQ | 如果 I2C 控制器已被寻址为目标发送器,并且正在使用时钟拉伸技术来延迟控制器直到数据被写入 STXDATA FIFO(目标 TX FIFO 为空),则会设置该位。 |
| OAR2SEL | 如果 SOAR2.OAR2 地址匹配并被目标确认 (ACK),则会设置该位。 |
| QCMDST | 快速命令状态值。如果最后一个事务是正常事务或没有发生事务,则该位为 0。如果最后一个事务是快速命令事务,则会设置该位。 |
| QCMDRW | 快速命令读取/写入状态。仅当设置了 QCMDST 位时,该位才有意义。如果快速命令是写入,则该位为 0。如果快速命令是读取,则会设置该位。 |
当控制器发送的目标地址与其自己的地址相匹配并且接收到已清除的 R/W 位时,将进入目标接收器模式。在目标接收器模式下,会使用控制器器件生成的时钟脉冲将 SDA 上接收的串行数据位移入。目标器件不会产生时钟,但是当一个字节接收完毕后需要 CPU 的干预时,它可以保持 SCL 为低电平。
在收到一个数据字节后,会设置 CPU_INT.IIDX 寄存器中的 SRXDONE (0x11) 中断以指示已接收到一个字节。I2C 模块会自动确认接收到的数据,用户也可以选择手动配置 I2Cx.SACKCTL 寄存器,以便在接收到每个字节后发送确认。
当控制器产生启动条件时,设置 CPU_INT.IIDX 寄存器中的 SSTART (0x17) 中断。当控制器产生停止条件时,设置 CPU_INT.IIDX 寄存器中的 SSTOP (0x18) 中断。
用户也可以设置使用 CPU_INT.IIDX 寄存器中的 SRXFIFOTRG (0x13) 中断从接收 FIFO 中读取数据。当接收 FIFO 包含的内容 >= 定义的字节时将触发该中断,触发电平可以通过使用 I2Cx.SFIFOCTL 寄存器中的 RXTRIG 位来定义。
如果目标希望减慢通信速度以评估每个字节的接收情况,则可以使用 SRXDONE 方法,而 SRXFIFOTRG 方法可用于尽可能提高吞吐量并避免时钟拉伸。
使用 SRXDONE 和 SRXFIFOTRG 中断来读取接收数据的流程图分别如图 22-13 和图 22-14 所示。I2C 目标发送器模式
当控制器发送的目标地址与其自身设置了 R/W 位的地址相同时,将进入目标发送器模式。目标发送器使用控制器器件生成的时钟脉冲将 SDA 上的串行数据移出。目标器件不会产生时钟,但是当一个字节发送完毕后需要 CPU 的干预时,它可以保持 SCL 为低电平。在发送一个数据字节后,会设置 CPU_INT.IIDX 寄存器中的 STXDONE (0x12) 中断,指示已发送一个字节。
当控制器产生启动条件时,设置 CPU_INT.IIDX 寄存器中的 SSTART (0x17) 中断。当控制器产生停止条件时,设置 CPU_INT.IIDX 寄存器中的 SSTOP (0x18) 中断。
用户也可以设置 CPU_INT.IIDX 寄存器中的 STXFIFOTRG (0x14) 中断,将数据加载到发送 FIFO 中。当发送 FIFO 包含的内容 <= 定义的字节时将触发该中断,触发电平可以通过使用 I2Cx.SFIFOCTL 寄存器中的 TXTRIG 位来定义。
如果目标希望减慢通信速度以评估每个字节的接收情况,则可以使用 STXDONE 方法,而 STXFIFOTRG 方法可用于尽可能提高吞吐量并避免时钟拉伸。使用 STXDONE 和 STXFIFOTRG 中断来发送数据的流程图如图 22-15 和图 22-16 所示。