English
Language : 

TP3420A Datasheet, PDF (29/32 Pages) National Semiconductor (TI) – ISDN S/T Interface Device
is checked to see if it contains new data; if yes the data is
sent out from the MFT1H FIFO, if not, then the data from the
MFT1L register is sent.
If both the buffers are full, then a third load to the MFT1H
register will cause the first buffer to be overwritten by the
second and the second buffer to be loaded with the third
load. This way if a DTSE and FECV are already loaded, and
the power on the NT1 starts to fail, the software can still write
a LP command in the MFT1H register as well as the MFT1L
register. This ensures that the commands will be sent out at
the earliest moment and will continue until the power is com-
pletely lost.
Whenever a MFT1H command is written, a software flag
FL__EXT (extend SC1L) should be set. This flag informs the
software that 1 occurrence of the present 6x repetition of the
SC1L messages was overwritten by a message from SC1H,
and hence it is necessary to extend the MFT1L command for
another 30 ms to guarantee 6x tranmission. This flag is reset
after the next 30 ms tick.
SC1 Messaging Sequence
Example
Assume Software flags and buffers are defined as:
SC1L__PB - software variable, indicating previous data sent
via the SC1L channel
SC1L__NB - software variable, indicating the next value to
be sent via the SC1L channel
FL__EXT - Flag to Extend SC1L command for another 30
ms.
MFT1L, MFT1H and MFT2, are the device registers.
The sequences of events shown below indicate activity on
the SC1 channel on the line and the actions required by the
local microcontroller at each 30 ms (MFC status interrupt)
ticks.
Time
(ms)
0 (MFC INT)
5
10
15
20
25
0 (MFC INT)
5
10
15
20
25
0 (MFC INT)
5
10
15
20
25
SC1
I430 Frame Content
(IDLE)
(IDLE)
(IDLE)
(IDLE)
(IDLE)
(IDLE)
(LRS)
(LRS)
(LRS)
(DTSE)
(LRS)
(FECV)
(LRS)
(LRS)
(LRS)
(DTSE)
(FECV)
(LRS)
Actions Required
if FL__EXT flag not set, check for new flags on SC1L, assume LRS.
Check for SC2 channel. Send SC2 command > MFT2.
SC1__NB(IDLE)> SC1__PD, SC1 command(LRS) > SC1__NB,
SC1__NB(LRS) > MFT1L.
if FL__EXT flag not set, check for new flags on SC1L, assume IDLE.
Check for SC2 channel Flags. Send SC2 command as appropriate.
SC1__NB(LRS)> SC1__PB, SC1L command(IDLE) > SC1__NB,
SC1__NB > MFT1L(IDLE).
Assume DTSE-IN Interrupt from UID, Send DTSE > MFT1H register.
Set the FL__EXT. SC1L__PB > MFT1L (LRS).
RMFE in Interrupt from local SID, FECV > MFT1H,
SC1L__PB > MFT1L(LRS). Set FL-EXT.
if FL__EXT flag set, do not check for new flags on SC1L, but check for
SC2 channel. Reset FL__EXT. Send SC2 command as appropriate,
SC1L__NB (IDLE) > MFT1L.
DTSE-IN Interrupt from UID, DTSE > MFT1H register. Set
FL__EXT, SC1L__PB > MFT1L register.
Also RMFE in Interrupt from local SID, FECV > MFT1H register. Set
FL__EXT. SC1L__PB > MFT1L register.
Now the FECV command is queued in the MFT1H register.
29
www.national.com