Manual

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 by6” and “9” in Figure 1.
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
1
Set ENRGT = 1 in Register 0x05 to enable the RGMON and RGDT interrupts. See
(Threshold) in the RGTH[1:0] bits in Register 0x0E.
Section 6 Interrupt
Processing 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