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
只有在总线空闲时,控制器才可以启动传输在启动条件的最短保持时间内,两个或两个以上的控制器可以生成一个启动条件。在这些情况下,当 SCL 为高电平时,SDA 线上产生仲裁机制(请参阅图 22-8)。产生逻辑高电平的第一个控制器发送器被产生逻辑低电平的另一个控制器控制,而丢失的控制器释放总线,直到总线再次空闲。
仲裁可以在多个位上发生。仲裁的第一个阶段是比较地址位,如果两个控制器都试图寻址同一个器件,仲裁将继续比较数据位
当检测到仲裁丢失时,I2Cx.MSR.ARBLST 标志置位。在总线上检测到下一个停止条件时,该标志将由硬件复位。此外,会设置 CPU_INT.RIS 寄存器中的 ARBLOST 标志。
如果在 I2C 控制器启动传输时仲裁丢失,应用程序应执行以下步骤来正确处理仲裁丢失: