Data Sheet

4-Level FSK Modem Data Pump Page 35 of 47 MX919B PRELIMINARY INFORMATION
©2001 MX•COM, INC. www.mxcom.com Tele: 800 638 5577 336 744 5050 Fax: 336 744 5054 Doc. # 20480170.003
4800 Bethania Station Road, Winston-Salem, NC 27105-1201 USA All trademarks and service marks are held by their respective companies.
Value of µC variable 'STATE' on entry to IRQ routine
and corresponding MX919B's actions:
0 : Frame Sync has been recognized
and Header block received,
read out data and load RILB task.
1 : Intermediate block has been received,
read out data and load RILB task.
2 : Last block has been received,
read out data and finish.
Read Status Register
Ye s
Ye s
Ye s
Ye s
Ye s
Ye s
Ye s
Ye s
No
No
No
No
No
No
No
No
START
( line goes low )IRQ
RETURNRETURN
RETURN
( Not MX919B IRQ )
IRQ bit = 1 ?
BFREE bit = 1 ?
DIBOVF bit = 0 ?
'STATE' = 0 ?
'STATE' = 1 ?
CRCERR bit = 0 ?
'IBLOCKS' = 0 ?
'STATE' = 2 ?
E
E
E
Set µC variable 'STATE' to 9Set µC variable 'STATE' to 2
Decrement µC variable
'IBLOCKS'
RETURN
( Error )
E
Read 10 Header block bytes
from the Data Buffer then
write a RILB task to the
Command Register
SEE NOTE BELOW
Read 12 Intermediate Block
bytes from the Data Buffer
then write a RILB task to
the Command Register
Set µC variable 'IBLOCKS'
to the number of Intermediate
Blocks to be received
Read 8 Last Block data bytes
from the Data Buffer.
Increment µC variable
'STATE'
Figure 22: Rx Interrupt Service routine
Note: This routine assumes that the number of Intermediate blocks in the Frame is contained within the
Header Block Data.