Serial Host Interface
SHI Programming Considerations
MOTOROLA
DSP56367
9-25
•
SCK/SCL is the SCL serial clock input.
•
MISO/SDA is the SDA open drain serial data line.
•
MOSI/HA0 is the HA0 slave device address input.
•
SS/HA2 is the HA2 slave device address input.
•
HREQ is the Host Request output.
When the SHI is enabled and configured in the I
2
C slave mode, the SHI controller inspects the
SDA and SCL lines to detect a start event. Upon detection of the start event, the SHI receives
the slave device address byte and enables the slave device address recognition unit. If the
slave device address byte was not identified as its personal address, the SHI controller fails to
acknowledge this byte by not driving low the SDA line at the ninth clock pulse (ACK = 1).
However, it continues to poll the SDA and SCL lines to detect a new start event. If the
personal slave device address was correctly identified, the slave device address byte is
acknowledged (ACK = 0 is sent) and a receive/transmit session is initiated according to the
eighth bit of the received slave device address byte (i.e., the R/W bit).
9.7.3.1
Receive Data in I
2
C Slave Mode
A receive session is initiated when the personal slave device address has been correctly
identified and the R/W bit of the received slave device address byte has been cleared.
Following a receive initiation, data in the SDA line is shifted into IOSR MSB first. Following
each received byte, an acknowledge (ACK = 0) is sent at the ninth clock pulse via the SDA
line. Data is acknowledged bytewise, as required by the I
2
C bus protocol, and is transferred to
the HRX FIFO when the complete word (according to HM[1:0]) is filled into IOSR. It is the
responsibility of the programmer to select the correct number of bytes in an I
2
C frame so that
they fit in a complete number of words. For this purpose, the slave device address byte does
not count as part of the data; therefore, it is treated separately.
In a receive session, only the receive path is enabled and HTX to IOSR transfers are inhibited.
The HRX FIFO contains valid data, which may be read by the DSP with either DSP
instructions or DMA transfers (if the HRNE status bit is set).
If HCKFR is cleared, when the HRX FIFO is full and IOSR is filled, an overrun error occurs
and the HROE status bit is set. In this case, the last received byte is not acknowledged
(ACK=1 is sent) and the word in the IOSR is not transferred to the HRX FIFO. This may
inform the external I
2
C master device of the occurrence of an overrun error on the slave side.
Consequently the I
2
C master device may terminate this session by generating a stop event.
If HCKFR is set, when the HRX FIFO is full the SHI holds the clock line to GND not letting
the master device write to IOSR, which eliminates the possibility of reaching the overrun
condition.
Summary of Contents for DSP56367
Page 16: ...xvi MOTOROLA CONTENTS Paragraph Number Title Page Number ...
Page 22: ...xxii MOTOROLA List of Figures Figure Number Title Page Number ...
Page 26: ...xxvi MOTOROLA List of Tables Table Number Title Page Number ...
Page 148: ...4 6 DSP56367 MOTOROLA Design Considerations PLL Performance Issues ...
Page 248: ...9 30 DSP56367 MOTOROLA Serial Host Interface SHI Programming Considerations ...
Page 306: ...10 58 DSP56367 MOTOROLA Enhanced Serial Audio Interface ESAI ESAI Initialization Examples ...
Page 389: ...Bootstrap ROM Contents MOTOROLA DSP56367 A 15 end ...
Page 390: ...A 16 DSP56367 MOTOROLA Bootstrap ROM Contents ...
Page 432: ...C 8 DSP56367 MOTOROLA JTAG BSDL ...
Page 484: ...D 52 DSP56367 MOTOROLA Programmer s Reference ...
Page 490: ...E 6 DSP56367 MOTOROLA Power Consumption Benchmark ...
Page 516: ...F 26 DSP56367 MOTOROLA IBIS Model ...
Page 522: ...Index 6 MOTOROLA Index ...
Page 523: ......