Symphony DSP56724/DSP56725 Multi-Core Audio Processors, Rev. 0
10-24
Freescale Semiconductor
Serial Host Interface (SHI, SHI_1)
If the HCKFR bit is cleared, the HRX FIFO is full, and the IOSR register 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 register is not transferred to the HRX FIFO. This informs the external I
2
C master
device of an overrun error on the slave side, and upon learning that, the I
2
C master device may terminate
this session by generating a stop event.
If the HCKFR bit is set and the HRX FIFO is full, the SHI will hold the clock line to GND, thereby not
letting the master device write to the IOSR register, which eliminates the possibility of reaching the
overrun condition.
When the IOSR register is ready to receive and the HRX FIFO is not full, the HREQ output pin (if enabled
for receive (HRQE[1:0] = 01) is asserted; this operation guarantees that the next received data word is
stored in the HRX FIFO. HREQ is deasserted at the first clock pulse of the next received word.
The HREQ line can be used to interrupt the external I
2
C master device. Connecting the HREQ line
between two SHI-equipped DSPs enables full hardware handshaking, with one DSP operating as an I
2
C
master device and the other DSP operating as an I
2
C slave device.
10.6.3.2
Transmit Data In I
2
C Slave Mode
A transmit 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 set. Following a transmit initiation, the IOSR
register is loaded from the HTX register (assuming the HTX register is not empty), and the HTX register’s
contents are shifted out, MSB first, onto the SDA line. Following each transmitted byte, the SHI controller
samples the SDA line at the 9th clock pulse and inspects the ACK status. If the transmitted byte was
acknowledged (ACK = 0), then the SHI controller continues and transmits the next byte. However, if the
transmitted byte was not acknowledged (ACK = 1), then the transmit session is stopped and the SDA line
is released. Consequently, the external master device may generate a stop event to terminate the session.
The HTX register contents are transferred to the IOSR register when the complete word (according to
HM[1:0] bits) has been shifted out. It is the programmer’s responsibility to select the correct number of
bytes in an I
2
C frame, so that the bytes fit into a complete number of words. For this purpose, the slave
device address byte does not count as part of the data; the slave device address byte is treated separately.
In a transmit session, only the transmit path is enabled and the IOSR-register-to-HRX FIFO transfers are
inhibited. When the HTX register transfers its valid data word to the IOSR register, the HTDE status bit
is set and the DSP may write a new data word to the HTX register using either DSP instructions or DMA
transfers.
When the master device attempts a transmit session:
•
If the HCKFR bit is cleared and if both IOSR and HTX registers are empty, an underrun condition
occurs (thereby setting the HTUE status bit), and the previous word is re-transmitted.
•
If the HCKFR bit is set and if both IOSR and HTX registers are empty, the SHI holds the clock
line to GND to avoid an underrun condition.
When the HTX register is transferred to the IOSR register for transmission, the HREQ output pin is
asserted (if HREQ is enabled for transmit (HRQE[1:0] = 10)). When asserted, HREQ indicates that the
Содержание Symphony DSP56724
Страница 22: ...Symphony DSP56724 DSP56725 Multi Core Audio Processors Rev 0 1 10 Freescale Semiconductor Introduction ...
Страница 52: ...Symphony DSP56724 DSP56725 Multi Core Audio Processors Rev 0 2 30 Freescale Semiconductor Signal Descriptions ...
Страница 112: ...Symphony DSP56724 DSP56725 Multi Core Audio Processors Rev 0 7 12 Freescale Semiconductor Clock Generation Module CGM ...
Страница 244: ...Symphony DSP56724 DSP56725 Multi Core Audio Processors Rev 0 14 6 Freescale Semiconductor Shared Bus Arbiter ...
Страница 246: ...Symphony DSP56724 DSP56725 Multi Core Audio Processors Rev 0 15 2 Freescale Semiconductor Shared Memory Shared Memory ...