
XBUS high-speed synchronous serial interface
UM0404
DocID13284 Rev 2
via SSCBEN, the error interrupt request flag (see XP3INT line). Using this error detection
capability requires that the slave's Baud rate generator is programmed to the same Baud
rate as the master device.
This feature detects false additional, or missing pulses on the clock line (within a certain
frame).
Note:
If this error condition occurs and bit SSCAREN
=
‘1’, an automatic reset of the XSSC will be
performed in case of this error. This is done to re-initialize the XSSC, if too few or too many
clock pulses have been detected.
A
Transmit Error
(Slave mode) is detected, when a transfer was initiated by the master
(shift clock gets active), but the transmit buffer XSSCTB of the slave was not updated since
the last transfer. This condition sets the error flag SSCTE and, when enabled via SSCTEN,
the error interrupt request flag (see XP3INT line). If a transfer starts while the transmit buffer
is not updated, the slave will shift out the 'old' contents of the shift register, which normally is
the data received during the last transfer.
This may lead to the corruption of the data on the transmit/receive line in half-duplex mode
(open drain configuration), if this slave is not selected for transmission. This mode requires
that slaves not selected for transmission only shift out ones, so their transmit buffers must
be loaded with 'FFFFh' prior to any transfer.
Note:
A slave with push-pull output drivers, which is not selected for transmission, will normally
have its output drivers switched. However, in order to avoid possible conflicts or
misinterpretations, it is recommended to always load the slave's transmit buffer prior to any
transfer.
13.5
XSSC interrupt control
Up to four interrupt control registers (XIRxSEL, x = 0, 1, 2, 3) are provided in order to select
the source of the XBUS interrupt: the transmit interrupt, the receive interrupt and the error
interrupt of serial channel XSSC are linked to the one of the XPxIC registers (x = 0, 1, 2, 3).
In particular, the three interrupt lines are available on the following interrupt vectors:
•
Receive
XP0INT XP1INT XP2INT
•
Transmit
XP0INT XP1INT XP2INT
•
Error
XP3INT
Section 5.7: X-peripheral interrupt on page 117
for details.
The cause of an error interrupt request (receive, phase, baudrate, transmit error) can be
identified by checking the error status flags in control register XSSCCON.
Note:
The error status flags SSCxE are not reset automatically upon entry into the error interrupt
service routine, but must be cleared by software.