TMP92CF30
2009-06-12
92CF30-471
3.17.3 Notes on the Operations Using the FIFO Buffers
Things to be noted when using the SPIC are as follows:
1)
Transmission
The transmit FIFO buffer is overwritten if the new data is written with the transmit FIFO
buffer being full. Also, since the FIFO write pointer does not point to the correct write position,
interrupts and transmissions are not properly executed. Therefore, the number of writes
should be controlled by using software.
In the Sequential-mode transmission, the data writes to the transmit FIFO must be
performed in 16-byte units. Otherwise, the TEMP interrupt is not properly generated.
Note: For data transmission in units of other than 16 bytes, UNIT mode must be selected.
2)
Reception
If a read operation is performed when the receive FIFO is empty, undefined data is read.
Also, since the FIFO read pointer does not point to the correct read position, interrupts and
receptions are not properly executed. Therefore, the number of reads should be controlled by
using software.
In the Sequential-mode reception, the data reads from the receive FIFO must be performed
in 16–byte units. Otherwise, the RFUL interrupt is not properly generated.
Note: For data reception in units of other than 16 bytes, UNIT mode must be selected.
3)
CRC
The CRC is generated upon transmission and reception to/from the SPI slave device. (Refer
to the section on the SPICRC register fro more details.) The timing of the CRC comparison
should be fully considered when performing Sequential-mode transmit and receive operation
using the FIFOs.
Example: Sequential-mode reception
1.
Start Sequential-mode reception
2.
finish valid data receive (FIFO_Full)
3.
Stop data reception
4.
Read valid data from the FIFO to a temporary buffer (internal RAM, etc.)
5.
Read CRC1 from the CRC generator in the SPIC
6.
Start CRC2 reception (upon UNIT-mode reception from the SD-CARD)
7.
Compare CRC1 and CRC2
Note: The steps 2 to 4 of the above sequence can be used DMAC. However, to perform the CRC comparison, the
receive operation must be stopped once as described in step 3. Otherwise, the CRC1 value obtained from the
internal CRC generator unintentionally contains CRC2 as well as the valid data, which leads to an incorrect
CRC comparison.
Summary of Contents for TLCS-900/H1 Series
Page 652: ...TMP92CF30 2009 06 12 92CF30 650 ...