ZHCS103Q March 2011 – March 2024 TUSB7320 , TUSB7340
PRODUCTION DATA
All data transfers are initiated by the serial-bus controller. The beginning of a data transfer is indicated by a start condition, which is signaled when the SDA line transitions to the low state while SCL is in the high state, as illustrated in Figure 6-3. The end of a requested data transfer is indicated by a stop condition, which is signaled by a low-to-high transition of SDA while SCL is in the high state, as shown in Figure 6-3. Data on SDA must remain stable during the high state of the SCL signal, as changes on the SDA signal during the high state of SCL are interpreted as control signals, that is, a start or stop condition.
Data is transferred serially in 8-bit bytes. During a data transfer operation, the exact number of bytes that are transmitted is unlimited. However, each byte must be followed by an acknowledge bit to continue the data transfer operation. An acknowledge (ACK) is indicated by the data byte receiver pulling the SDA signal low, so that it remains low during the high state of the SCL signal. Figure 6-4 illustrates the acknowledge protocol.
The host controller performs three basic serial-bus operations: single byte reads, single byte writes, and multibyte reads. The single byte operations occur under software control. The multibyte read operations are performed by the serial EEPROM initialization circuitry immediately after a PCI Express reset. See TUSB7340 Power Consumption, Serial-Bus EEPROM Application, for details on how the host controller automatically loads the subsystem identification and other register defaults from the serial-bus EEPROM.
Figure 6-5 illustrates a single byte write. The host controller issues a start condition and sends the 7-bit target device address and the R/W command bit is equal to 0b. A 0b in the R/W command bit indicates that the data transfer is a write. The target device acknowledges if it recognizes the target address. If no acknowledgment is received by the host controller, then bit 1 (SB_ERR) is set in the serial-bus control and status register (PCI offset BCh, see Serial Bus Control and Status Register). Next, the EEPROM word address is sent by the host controller, and another target acknowledgment is expected. Then the host controller delivers the data byte MSB first and expects a final acknowledgment before issuing the stop condition.
Figure 6-6 illustrates a single byte read. The host controller issues a start condition and sends the 7-bit target device address and the R/W command bit is equal to 0b (write). The target device acknowledges if it recognizes the target address. Next, the EEPROM word address is sent by the host controller, and another target acknowledgment is expected. Then, the host controller issues a restart condition followed by the 7-bit target address and the R/W command bit is equal to 1b (read). Once again, the target device responds with an acknowledge. Next, the target device sends the 8-bit data byte, MSB first. Because this is a 1-byte read, the host controller responds with no acknowledge (logic high) indicating the last data byte. Finally, the host controller issues a stop condition.
Figure 6-7 illustrates the serial interface protocol during a multibyte serial EEPROM download. The serial-bus protocol starts exactly the same as a 1-byte read. The only difference is that multiple data bytes are transferred. The number of transferred data bytes is controlled by the host controller. After each data byte, the host controller issues acknowledge (logic low) if more data bytes are requested. The transfer ends after a host controller no acknowledge (logic high) followed by a stop condition.
Bit 7 (PROT_SEL) in the serial-bus control and status register changes the serial-bus protocol. Each of the three previous serial-bus protocol figures illustrates the PROT_SEL bit default (logic low). When this control bit is asserted, the word address and corresponding acknowledge are removed from the serial-bus protocol. This feature allows the system designer a second serial-bus protocol option when selecting external EEPROM devices.