Maxim Integrated 73M1822/73M1922 Implementers Guide User Manual
Page 17

UG_1x22_052
73M1822/73M1922 Implementer’s Guide
Rev. 1.0
17
If the line voltage does not exceed the threshold within the 25 ms period, RGMON becomes de-asserted,
as illustrated by “6” and “9” in
Upon the first reception of the first RGDT interrupt, if no other ring interrupt was received during a
sufficiently long period then it can be assumed that a Line Polarity Reversal has occurred. To filter out
spurious ring events (from a parallel device going off hook or battery loss), the driver should check that
the line voltage is the same as previously before determining that the single ring event was, in fact, a line
polarity reversal.
The registers used for Ring Detection and Line Voltage Reversal are:
0x05
ENGPIO7 ENGPIO6 ENGPIO5 ENGPIO4 ENAPOL
ENDET
ENSYNL ENRGDT
Write
X
X
X
X
X
X
X
1
0x0E
FRCVCO PWDNPLL
Res
Res
Res
Res
RGTH1
RGTH0
Write
X
X
X
X
X
X
Threshold
0x03
GPIO7
GPIO6
GPIO5
GPIO4
RGMON
DET
SYNL
RGDT
Write
X
X
X
X
X
X
X
?
Set the ring detect threshold voltage
Set ENRGT = 1 in Register 0x05 to enable the RGMON and RGDT interrupts. See
(Threshold) in the RGTH[1:0] bits in Register 0x0E.
for more information on interrupts.
The system variables defined in this procedure are:
ring_count
= initial 0, keeps track of number of ring interrupts
ring_first
= time of first ring interrupt
ring_last
= time of last ring interrupt
ring_frequency = ring frequency in HZ
ring_duration = ring duration
Begin @ RGDT interrupt (RGDT = 1)
1. If (ring_count == 0) ring_first = now;
2. ring_last = now
3. start/restart ring_timer for approx 150 ms
End
1
The ring detect threshold is country specific. The recommended values are shown in the 73M1x22
Worldwide Design Guide.
@RGDT
If(ring_count == 0)
Ring_last = now
Ring_count++
Restart
ring_timer
End
If(ring_count == 0)
ring_first = now