User guide
6: ICP Software
DC 900-1338I 111
SCC External/Status (ICP6000 only) This interrupt is generated under any of the fol-
lowing conditions:
Loss of DCD An error count is incremented and the receiver is restarted using
the current receive buffer.
Abort An error count is incremented and the receiver is restarted using the cur-
rent receive buffer.
Transmit Underrun If the DMA has reached terminal count, transmit underrun
can cause an external/status interrupt. This indicates end-of-frame on
transmit, although the final character of the frame might not yet be com-
pletely sent. If the SCC transmit buffer is empty, the end of the transmission
is processed. Otherwise, the SCC’s transmit interrupt is enabled, so the end
of the transmission can be processed when the transmit buffer becomes
empty. If a transmit underrun interrupt is generated when the DMA has not
reached terminal count, an actual underrun has occurred. An error count is
incremented, but the transmission is allowed to continue. (The receiving
link detects a CRC error on the frame.)
6.3.2 ISR Operation in Asynchronous Mode
For asynchronous mode, DMA (conditional compile option for the IUSC) is not used
for either transmit or receive. Rather, the SCC or IUSC is set up to generate interrupts
on every character received and transmitted. On transmit, a count is decremented as
each character is written to the SCC’s or IUSC’s transmit buffer, and the block is com-
plete when the count reaches zero. On receive, user-configured start and end characters
are used to delimit a block. CRC, if enabled, is calculated and compared at the task level.
The following interrupts are serviced in asynchronous mode:
SCC or IUSC Receive Character Available This interrupt is generated on every
received character. The receive interrupt service routine is state-driven. After