![](http://datasheet.mmic.net.cn/30000/MQ83C154DXXX-25-883R_datasheet_2377229/MQ83C154DXXX-25-883R_814.png)
814
6384E–ATARM–05-Feb-10
AT91SAM9G20
44.3.6
Serial Peripheral Interface (SPI)
44.3.6.1
SPI: Bad Serial Clock Generation on second chip_select when SCBR = 1, CPOL = 1 and NCPHA = 0
If the SPI is used in the following configuration:
master mode
CPOL =1 and NCPHA = 0
multiple chip selects used with one transfer with Baud rate (SCBR) equal to 1 (i.e., when
serial clock frequency equals the system clock frequency) and the other transfers set with
SCBR not equal to 1
transmit with the slowest chip select and then with the fastest one
then an additional pulse will be generated on output PSCK during the second transfer.
Problem Fix/Workaround
Do not use a multiple Chip Select configuration where at least one SCRx register is configured
with SCBR = 1 and the others differ from 1 if CPHA = 0 and CPOL = 1.
If all chip selects are configured with Baudrate = 1, the issue does not appear.
44.3.6.2
SPI: Baudrate set to 1
When Baudrate is set to 1 (i.e., when serial clock frequency equals the system clock frequency),
and when the fields BITS (number of bits to be transmitted) equals an ODD value (in this case
9,11,13 or 15), an additional pulse is generated on output SPCK. No error occurs if BITS field
equals 8,10,12,14 or 16 and Baudrate = 1.
Problem Fix/Workaround
None.
44.3.7
Serial Synchronous Controller (SSC)
44.3.7.1
SSC: Unexpected RK clock cycle when RK outputs a clock during data transfer
When the SSC receiver is used in the following configuration:
the internal clock divider is used (CKS =0 and DIV different from 0),
RK pin set as output and provides the clock during data transfer (CKO=2)
data sampled on RK falling edge (CKI =0)
then, at the end of the data, the RK pin is set in high impedance which may be interpreted as an
unexpected clock cycle.
Problem Fix/Workaround
Enable the pull-up on RK pin.
44.3.7.2
SSC: Incorrect first RK clock cycle when RK outputs a clock during data transfer
When the SSC receiver is used in the following configuration:
RX clock is divided clock (CKS = 0 and DIV different from 0)
RK pin set as output and provides the clock during data transfer (CKO = 2)
data sampled on RK falling edge (CKI = 0)
then the first clock cycle time generated by the RK pin is equal to MCK/(2 x (DIV +1)) instead of
MCK/(2 x DIV).
Problem Fix/Workaround