Maxim Integrated 73M1822/73M1922 Implementers Guide User Manual

Page 17

Advertising
background image

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

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

Advertising