4-Level FSK Modem Data Pump
Page 35 of 47
MX919B PRELIMINARY INFORMATION
START
( IRQ line goes low )
Read Status Register
No
IRQ bit = 1 ?
Yes
RETURN
( Not MX919B IRQ )
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.
BFREE bit = 1 ?
Yes
DIBOVF bit = 0 ?
Yes
'STATE' = 1 ?
No
E
No
E
No
Yes
No
CRCERR bit = 0 ?
E
Yes
Read 12 Intermediate Block
bytes from the Data Buffer
then write a RILB task to
the Command Register
Yes
Read 10 Header block bytes
from the Data Buffer then
write a RILB task to the
Command Register
SEE NOTE BELOW
'STATE' = 0 ?
No
Decrement µC variable
'IBLOCKS'
Set µC variable 'IBLOCKS'
to the number of Intermediate
Blocks to be received
No
'STATE' = 2 ?
Yes
No
'IBLOCKS' = 0 ?
Yes
Set µC variable 'STATE' to 2
E
Set µC variable 'STATE' to 9
Read 8 Last Block data bytes
from the Data Buffer.
Increment µC variable
'STATE'
RETURN
RETURN
( Error )
RETURN
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.
©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.