系列文章:《I2C总线(1)–数据传输格式与7位地址读写》;《I2C总线(2)–10位地址读写》;《I2C总线(3)–时钟同步和仲裁》;《I2C总线(5)–线与和上拉电阻》
高速模式下的区别
Hs-mode模式(高速模式)的传输速率可以达到3.4MB/s,仍然可以向下兼容快速模式+、快速模式或标准模式设备,用于在混合速度总线系统中进行双向通信。与标准模式相比,高速模式(Hs-mode)下,仲裁和时钟同步功能不执行,其他的串行总线协议和数据格式相同。
为了实现高速传输,对I2C-bus规范做了如下改进:
- Hs-mode主设备具有SDAH(高速数据)的漏极开路输出缓冲器和用于SCLH(高速串行时钟)的漏极开路下拉和电流源上拉组合电路。通过这种电流源电路缩短了SCLH的上升时间。在任何时候,只启动一个主设备的电流源,而且只在Hs模式下使用。
- Hs-mode主设备产生的SCL信号的高低比为1/2,减轻了建立和保持时间的约束。
- 高速模式的主设备内置了一个桥接器,在传输过程中,将高速器件的SDAH和SCLH线与快速(F)/标准(S)模式的器件的SDA和SCL线,通过这个桥接器分开。这减少了SDAH和SCLH线的电容性负载,从而有更短的上升和下降时间。
- 高速模式下的从设备和快速/标准模式的从设备的唯一区别在于运行速度。高速模式从设备在SCLH和SDAH输出上具有漏极开路输出缓冲区;
- 高速设备的输入包括SDAH和SCLH输入处的脉冲抑制和Schmitt触发器。
高速模式下的串行数据传输格式的启动要满足的条件:
- 在快速(F)或标准(S)模式下启动。
- 启动条件(S)+ 位主码(0000 1XXX)+ NACK 。
- 主码允许竞争获取总线权限的主设备在快速(F)或标准(S)模式下进行仲裁和同步,同时表明一个Hs模式的开始。