Si2401
16
Preliminary Rev. 0.9
Parallel Phone Detection
The ISOmodem
®
chipset is able to detect when another
telephone, modem, or other device is using the phone
line. This allows the host to avoid interrupting another
phone call when the phone line is already in use and to
intelligently handle an interruption when the ISOmodem
chipset is using the phone line.
On-Hook Intrusion Detection
When the ISOmodem chipset is sharing the telephone
line with other devices, it is important that it not interrupt
a call in progress. To detect when another device is
using the shared telephone line, the host can use the
ISOmodem chipset to monitor the TIP-RING dc voltage
with the LVS[7:0] bits (SDB). The LVS[7:0] bits have a
resolution of 1 V per bit with an accuracy of
approximately ±10%. Bits 0 through 6 of this 8-bit signed
2’s complement number indicate the value of the line
voltage, and the sign bit (bit 7) indicates the polarity of
TIP and RING.
When all devices on a particular telephone line are on-
hook, there is no loop current flowing through TIP and
RING. Therefore, the voltage across TIP and RING is at
a maximum. (On most telephone lines, this on-hook
voltage is a minimum of 40 V.) Once a device goes off-
hook, current flows through TIP and RING on that
device, and the TIP-RING voltage drops appreciably.
(On most telephone lines, this off-hook voltage is a
maximum of 20 V.)
If the host checks the TIP-RING voltage via LVS before
causing the ISOmodem chipset to dial out or go off-
hook, the host can determine if another device is using
the telephone line. One way to do this is to verify that
the voltage represented in LVS is above some fixed
threshold, such as 30 V.
Off-Hook Intrusion Detection
After it has been determined that it is safe to use the
phone line without interrupting a call, the host can
instruct the ISOmodem chipset to begin a call or go off-
hook. However, once the call has begun and the
ISOmodem chipset is in data mode, the serial port is
used for modem data making it difficult for the host to
monitor registers. Therefore, when the ISOmodem
chipset is off-hook, an algorithm is implemented to
automatically monitor the TIP-RING loop current via the
LCS register (SF3). Because the TIP-RING voltage
drops significantly when off-hook, TIP-RING current is a
better indicator of another device using the phone line.
The LCS[7:0] bits have a resolution of 1.1 mA per bit.
An LCS register value of 0x00 indicates less than the
required loop current is present, and a value of 0xFF
indicates excessive current draw (>120 mA if ILIM = 0
or >60 mA if ILIM = 1). The user can read these bits
directly through the LCS register. Upon detecting an
intrusion, an "i" result code is sent to the host if it is in
the call negotiation stage or command mode.
Otherwise, the modem can be programmed to generate
an interrupt to notify the host of the intrusion.
The off-hook intrusion algorithm monitors the value of
LCS (SF3) at a sample rate determined by the DGSR
(SDF, bits 6:0) register (40 ms units). The algorithm
compares each LCS sample to the reference value in
the ACL register (S12). If LCS is lower than ACL by an
amount greater than DCL (S11, bits 4:0), the algorithm
waits for another LCS sample, and if the next LCS
sample is also lower than ACL by an amount greater
than DCL, an interrupt occurs. This helps the
ISOmodem chipset avoid a false parallel phone
detection (PPD) interrupt due to glitches on the phone
line. The ACL is continually updated with the value of
LCS as outlined below. The algorithm can be outlined
as follows:
If LCS(t) = LCS(t – 40 ms x DGSR)
and
LCS(t) – ACL > DCL
then ACL = LCS(t)
If
(ACL – LCS[t – 40 ms x DGSR]) > DCL)
and
(ACL – LCS[t]) > DCL)
then an intrusion is sent to the host.
The very first sample of LCS the algorithm uses after
going off-hook does not have any previous samples for
comparison. If LCS was measured during a previous
call, this value of LCS may be used as an initial
reference. ACL may be written by the host with this
known value of LCS. If ACL is non-zero, the ISOmodem
chipset uses ACL as the first valid LCS sample in the
off-hook intrusion algorithm. If ACL is 0 (default after
reset), the ISOmodem chipset ignores the register and
does not begin operating the algorithm until two LCS
samples have been received. Additionally, immediately
after a modem call, ACL is updated automatically with
the last valid LCS value before a parallel phone
detection (PPD) intrusion or going back on-hook.
The off-hook intrusion algorithm does not begin to
operate immediately after going off-hook. This is to
avoid triggering an interrupt due to transients resulting
from the ISOmodem chipset itself going from on-hook to
off-hook. The time that elapses between the ISOmodem
chipset going off-hook and the intrusion algorithm
starting defaults to one second and may be adjusted via
the IST register (S82, bits 7:4). If ACL is written to a
non-zero value before going off-hook, a parallel phone
intrusion that occurs during this IST interval and