ZHCS103R March 2011 – August 2026 TUSB7320 , TUSB7340
PRODUCTION DATA
所有数据传输均由串行总线控制器发起。数据传输的开始由起始条件指示,即当 SCL 为高电平状态时,SDA 线路从高电平切换到低电平,如图 6-3 所示。所请求数据传输的结束由停止条件指示,即当 SCL 为高电平状态时,SDA 发生由低到高的切换,如图 6-3 所示。在 SCL 信号为高电平状态期间,SDA 上的数据必须保持稳定,因为 SCL 为高电平状态期间 SDA 信号的变化会被解释为控制信号,即起始或停止条件。
图 6-3 串行总线起始和停止条件及位传输数据以 8 位字节的形式串行传输。在数据传输操作期间,传输的确切字节数没有限制。但是,每个字节之后必须跟随一个应答位,才能继续数据传输操作。应答 (ACK) 由数据字节接收器将 SDA 信号拉低来指示,使其在 SCL 信号为高电平状态期间保持低电平。图 6-4 展示了应答协议。
主机控制器执行三种基本的串行总线操作:单字节读取、单字节写入和多字节读取。单字节操作在软件控制下进行。多字节读取操作由串行 EEPROM 初始化电路在 PCI Express 复位后立即执行。有关主机控制器如何从串行总线 EEPROM 自动加载子系统标识和其他寄存器默认值的详细信息,请参阅 TUSB7340 功耗,串行总线 EEPROM 应用。
图 6-5 展示了单字节写入。主机控制器发出起始条件,并发送 7 位目标器件地址,且 R/W 命令位为 0b。R/W 命令位 0b 指示数据传输为写入。如果目标器件识别出该目标地址,则会应答。如果主机控制器未收到应答,则串行总线控制和状态寄存器(PCI 偏移 BCh,请参阅串行总线控制和状态寄存器)中的位 1 (SB_ERR) 将被置位。接下来,主机控制器发送 EEPROM 字地址,应会收到目标器件的另一次应答。然后,主机控制器先发送数据字节的 MSB,并应在发出停止条件之前收到最后一次应答。
图 6-5 串行总线协议 – 字节写入图 6-6 展示了单字节读取。主机控制器发出起始条件,并发送 7 位目标器件地址,且 R/W 命令位为 0b(写入)。如果目标器件识别出该目标地址,则会应答。接下来,主机控制器发送 EEPROM 字地址,应会收到目标器件的另一次应答。然后,主机控制器发出重复起始条件,随后发送 7 位目标地址,且 R/W 命令位为 1b(读取)。目标器件再次应答。接下来,目标器件发送 8 位数据字节,MSB 在前。由于这是 1 字节读取操作,主机控制器以无应答形式(逻辑高电平)响应,指示这是最后一个数据字节。最后,主机控制器发出停止条件。
图 6-6 串行总线协议 – 字节读取图 6-7 展示了多字节串行 EEPROM 下载期间的串行接口协议。串行总线协议的开始与 1 字节读取完全相同。唯一的区别是传输多个数据字节。传输的数据字节数由主机控制器控制。在每个数据字节之后,如果请求更多数据字节,主机控制器会发出应答(逻辑低电平)。传输在主机控制器无应答(逻辑高电平)并随后发出停止条件后结束。
图 6-7 串行总线协议 – 多字节读取串行总线控制和状态寄存器中的位 7 (PROT_SEL) 可更改串行总线协议。上述三个串行总线协议图均显示 PROT_SEL 位为默认值(逻辑低电平)。当该控制位被置为有效时,字地址及相应的应答将从串行总线协议中移除。此功能允许系统设计人员在选择外部 EEPROM 器件时使用第二种串行总线协议选项。