Byte Data Link Controller-Digital (BDLC-D)
Data Sheet
MC68HC08AS32A — Rev. 1
94
Byte Data Link Controller-Digital (BDLC-D)
For More Information On This Product,
Go to: www.freescale.com
MOTOROLA
Upon receiving a BDLC interrupt, the user can read the value within the BSVR,
transferring it to the CPU’s index register. The value can then be used to index
into a jump table, with entries four bytes apart, to quickly enter the appropriate
service routine. For example:
NOTE:
The NOPs are used only to align the JMPs onto 4-byte boundaries so that the value
in the BSVR can be used intact. Each of the service routines must end with an RTI
instruction to guarantee correct continued operation of the device. Note also that
the first entry can be omitted since it corresponds to no interrupt occurring.
The service routines should clear all of the sources that are causing the pending
interrupts. Note that the clearing of a high priority interrupt may still leave a lower
priority interrupt pending, in which case bits I0, I1, and I2 of the BSVR will then
reflect the source of the remaining interrupt request.
If fewer states are used or if a different software approach is taken, the jump
table can be made smaller or omitted altogether.
Table 4-5. BDLC Interrupt Sources
BSVR
I3
I2
I1
I0
Interrupt Source
Priority
$00
0
0
0
0
No interrupts pending
0 (lowest)
$04
0
0
0
1
Received EOF
1
$08
0
0
1
0
Received IFR byte (RXIFR)
2
$0C
0
0
1
1
BDLC Rx data register full (RDRF)
3
$10
0
1
0
0
BDLC Tx data register empty (TDRE)
4
$14
0
1
0
1
Loss of arbitration
5
$18
0
1
1
0
Cyclical redundancy check (CRC) error
6
$1C
0
1
1
1
Symbol invalid or out of range
7
$20
1
0
0
0
Wakeup
8 (highest)
Service
LDX
JMP
BSVR
JMPTAB,X
Fetch State Vector Number
Enter service routine,
(must end in RTI)
*
*
JMPTAB
JMP
NOP
JMP
NOP
JMP
NOP
SERVE0
Service condition #0
SERVE1
Service condition #1
SERVE2
Service condition #2
*
JMP
END
SERVE8
Service condition #8
F
Freescale Semiconductor, Inc.
n
.