Low Level Controller
Int_ICC ()
Interrupt Handler
Evaluates and handles the ISAC-S interrupts.
Interrupt service procedure:
The bits of the interrupt status register ISTA are scanned. XPR, TIN, RSC, and EXI interrupts
are handled directly by Int_ICC. For RPF and RME interrupts the function RX_ICC is called,
for CISQ interrupts IntL1_SBC is called. The interrupt related actions performed are:
– XPR(transmit pool ready) interrupt, but no TIN and no PCE (EXIR:PCE) interrupt:
a) HDLC controller reset was given previously.
b) last transmission is finished. The XFIFO will be loaded if there are more bytes to
be sent. If not, a 'transmit frame acknowledge' can be generated (if depends on
the message transfer mode and some other conditions).
– TIN interrupt:
The HDLC controller's internal timer has expired (in auto-mode only).
– RSC (receiver status change of remote station) interrupt:
A status change of the remote station's receiver has been detected. This is reported to the
higher layers.
– EXI (extended) interrupt:
One of the six non-critical interrupts has been generated. The exact cause is read from
register EXIR and reported to the higher layers.
RX_ICC ()
Interrupt Handler
Handles the receive pool full and receive message end (RPF and RME) interrupts if TIN and
PCE (EXIR:PCE) interrupt are not indicated. Received frames are handed over to the higher
software levels. Errors detected during the frame reception are reported to the higher layers.
RPF interrupt: 32 data bytes are in the RFIFO. The end of the received frame is yet to be
received and the message is not complete.
RME interrupt: The receive message is complete. The RFIFO contains the last bytes of a
frame greater than 32 bytes long or a complete frame. In the case of a
long frame the beginning of this frame will already have been received
using the RPF interrupt. Address and control field information is
examined, the type of frame (HDLC U, UI, I or S-frame) is determined and
the validity of the frame is checked. Finally the frame or a error condition
message is sent to the higher layers.
Check_TREC_status_ICC ()
Check_TREC_status_ICC () is called periodically by the operating system, if 'timer recovery
status' (STAR2:TREC) was detected during a previous XPR interrupt handling. A 'transmit
frame acknowledge' for an HDLC I-frame is generated if the TREC status is left and no timer
interrupt (ISTA:TIN) is indicated.
Semiconductor Group
284