AN75
Si322
X
D
UAL
P
RO
SLIC D
EMO
PBX
AND
GR 909 L
OOP
T
ESTING
S
OFTWARE
G
UIDE
1. Introduction
Silicon Laboratories has developed example software for the Si3220/Si3225 Dual ProSLIC. The source code itself is available on the Silicon Laboratories web site: www.silabs.com. This document describes the software interface and functions. When the software is running in a DOS console applications window, it controls the parallel port to drive an evaluation board set (Si3220PPT0-EVB or Si3225PPT0-EVB). This code can be easily ported to an embedded processor for a production application.
The Dual ProSLIC LINC software is additional software provided with the evaluation board setup. It is a register graphical user interface (GUI) debugger for the Si322x. This LINC software allows the user to test static configurations of the SLIC and is the best environment for testing configurations of impedance synthesis coefficients, hybrid echo canceller coefficients, oscillators, ringing generation, pulse-metering generation, and SLIC voltage and current parameters. The PC demo code is best for testing real-time behavior and starting a baseline for SLIC device driver development. The SLIC interface itself is the basis for SLIC access.
1.1. Software
The PC demo code creates a simple PBX. It can be open as a software project using Microsoft Visual Studio. When the demo.exe file is run, it will begin to control the Si3220 through the parallel port. When the program is running, a user can pick up any phone connected to a channel on the evaluation board stack, hear a dial tone, and dial any other phone. The phone number for channel 1 is 61; for channel 2, it is 62, and so on. The second phone will ring, and when picked up, a direct audio connection is made between the two phones. Additionally, the demo code demonstrates how to write software to run GR 909 loop tests. The command window gives the user the option of running diagnostic loop tests or entering PBX mode.
The 32-bit PC version of the demo code is oversized because the Si322x PBX application requires very limited resources from the PC. The 8-bit microcontroller version of the PBX application described in “AN73: Si3220/Si3225 System Demonstration Kit User’s Guide” uses a minimum amount of RAM and external memory options and can run on a slow platform. It is ideal for applications where the processor does not have
sufficient resources.
Both versions of the code are portable to any processor depending on RAM and MIPS limitations. The ProSLIC drivers are written such that it can be moved to any processor with little difficulty.
1.2. The Files
Figure 1 shows a high-level block diagram of the layers in the software. Dual_i2o.c (associated header file: dual_io.h) is a low-level driver that communicates to the ProSLIC through the SPI port and sends the correct order of bytes to read/write to the Dual ProSLIC register/SRAM.
Gr909.c, ISR.c, and SLIC.c are high-level drivers that demonstrate how to perform various common telephony tasks. (The associated header files are: SLIC.h, registers.h, SRAM.h, gr909.h.) Refer to code comments for more information on any of the software that is described here.
SLIC.c has all the basic data structures and functionality to initialize the ProSLIC and perform all basic necessary telephony functions. Table 1 explains the functions contained in SLIC.c. This file is made portable enough to fit into any processor. These are the most common needed functions for any application.
GR909.c demonstrates how to perform GR 909 diagnostic loop tests. Further information on how these tests are performed is described in the next section. Caller.c demonstrates how to send caller-ID data using the Dual ProSLIC. Additionally, the DualDemo.c has details on how to detect dial pulses for pulse dialing. Code comments explain these algorithms in more detail.
ISR.c contains the interrupt service routines of the program. Unlike the microcontroller version explained in AN73 where the software relies on being awakened by an interrupt handler, the PC here polls the interrupt status registers in the Dual ProSLIC. ISR.c processes the interrupt and sends the data back to the main program to perform the necessary action.
Data.c and DualDemo.c contain the data structures and function on how the PBX runs. The main loop runs through each channel one by one and polls the interrupt status registers. Once an interrupt is found, it executes the state machine to determine what the next change of state should be. Figure 2 shows the basic state machine the PBX follows. Code comments explain these files in more detail.
AN75
Figure 1. Software Block Diagram
Table 1. SLIC.c/SLIC.h Function
unsigned char
dualProSLIC_channelInit(void) Initializes and calibrates the ProSLIC. This function is nec-essary to be run before any operation of the Si3220/ Si3225. Initial RAM and registers values are loaded from data structures elsewhere in this file. The function then per-forms the proper calibration routine. Refer to “AN58: Si3220/Si3225 Programmer’s Guide” for the correct initial-ization procedure.
void activateRinging(void); void goActive(void); void goOpen(void); void goOHT(void);
These four functions change the linefeed states of the Si3220/25. They switch between open, active, on-hook transmission and ringing. They write to LINEFEED (Register 6).
unsigned char
getLoopSta-tus(void); Returns value of the loop closure bit in LCRRTP(Register 9). Returns 1 if off-hook and 0 if on-hook. unsigned char
get_DTMFdigit(void); Returns DTMF digit value in TONDTMF (Register 69). void disableOscillators(); Turns off oscillators. Stops generated tones.
void breakConnection( unsigned char c1, unsigned char c2); void makeConnection( unsigned char c1, unsigned char c2);
Makes and Breaks a direct PCM connection between 2 channels.
void waitForTheChannel(void) Checks MSTRSTAT (register 3) to ensure the ProSLIC is up and running.
void genTone(tone_struct *tone) Generates a tone with the internal oscillator.
void initilaize_ringing (void) Initializes ringing registers before ringing is activated. void enable_PulseMetering(void) Initializes pulse metering registers.
Main .C PBX Demo.C ISR .C SLIC .C GR909.C Caller .C dual_I20.C I/O Port SPI Hardware Si3220 HARDWARE SOFTWARE Interface drivers SlIC drivers Demo .C Data .C
AN75
Figure 2. State Machine
On hook
On Hook
First Ring
Congestion
Connecting
Ringback
Digit
Decoding
DTMF
Dialtone
Off hook
Dialpulse
Busy
Caller ID
Ringing
AN75
2. GR 909 Loop Diagnostics
The Dual ProSLIC integrates powerful ac and dc diagnostic capabilities for performing a wide variety of metallic loop tests. This application note describes how to implement the Si322x’s diagnostic capabilities to meet North American metallic loop testing requirements as specified in Telcordia Technologies’ generic requirements document, GR 909. This application note is divided into the following sections: summary of the various GR 909 tests; how the Si322x’s operating states and linefeed resources are utilized in metallic loop testing; description of software-controlled testing methods, and detailed analysis of the specific software functions used in testing to GR 909 specifications. The GR 909 testing sample source code described is available on Silicon Laboratories’ web site: www.silabs.com.
2.1. GR 909 Metallic Loop Tests
There are five general test categories specified by GR 909. The Si322x addresses each of these in the manner and to the extent described below.
Hazardous potential—GR 909 specifies that a TIP-GND or RING-TIP-GND ac voltage greater than 50 Vrms or dc voltage greater than 135 VDC constitutes a failure. The Si322x can measure hazardous voltages to the limit of line protection.
Foreign voltage test—GR 909 specifies that a TIP-GND or RING-TIP-GND ac voltage greater than
10 VRING or dc voltage greater than 6 V constitutes a failure. The Si322x provides foreign voltage
measurement within the bounds of line protection. Resistive faults test—GR 909 specifies that a
TIP-RING, TIP-GND, or RING-GND on-hook dc resistance less than 150 k constitutes a failure. The Si322x provides resistive fault testing within practical limits for medium and short loop applications.
Receiver off-hook test—GR 909 specifies that the telecom system must be able to discriminate between a resistive fault and an off-hook condition. The Si322x is capable of detecting non-linear resistive loads, which is indicative of a resistive fault condition.
Ringing equivalency number (REN) test—GR 909 specifies that a measurement less than 0.175 REN or greater than 5.0 REN constitutes a failure. The Si322x is capable of measuring REN loading.
2.2. Linefeed State Descriptions
The diagnostic software takes advantage of the eight linefeed states of the ProSLIC family to achieve precise line conditions for measurement.
The ProSLIC line states are OPEN, FORWARD ACTIVE, ON-HOOK TRANSMISSION, GROUND START, RINGING, REVERSE ACTIVE, REVERSE GROUND START, and REVERSE ON-HOOK TRANSMISSION.
2.2.1. OPEN State
In the OPEN State, the TIP and RING signals are not driven; they are held in high impedance. However, some impedance to ground is still present. This impedance is a by-product of the sense resistors for TIP, RING, and VBAT. Figure 3 illustrates the effective resistance seen at TIP and RING.
The OPEN state is used during diagnostic testing to present a high-impedance condition. Specifically, the OPEN state is used in foreign and hazardous voltage tests.
Figure 3. OPEN State DC Impedance
2.2.2. FORWARD ACTIVE State
The FORWARD ACTIVE state is used during diagnostics as a low-impedance source. The FORWARD ACTIVE state presents approximately 320 source resistance as shown in Figure 4. The TIP and RING signal voltages are programmed using the VOC (open circuit voltage) RAM register. VOC controls the voltage difference between TIP and RING during the FORWARD ACTIVE state. Longitudinal currents measured during the FORWARD ACTIVE state represent resistance between RING and GND. Metallic (differential) currents measured represent the resistance between TIP and RING.
The diagnostics step through several voltage conditions for TIP and RING while simultaneously monitoring the loop current, from which TIP-RING resistance can be determined. The Forward active state is also used to
402 k 800 k 402 k TIP RING GND 1.5 V 1.5 V – + – +
AN75
charge a capacitive load.Figure 4. FORWARD ACTIVE State DC
Impedance
2.2.3. GROUND START State
The GROUND START state presents a low-impedance (320 ) source impedance between RING and ground. VOC controls the level of the voltage on RING. TIP is in a high-impedance (403 k) state. The GROUND START state is used to measure longitudinal currents.
Figure 5. GROUND START State DC Impedance
2.2.4. ON-HOOK TRANSMISSION State
The ON-HOOK TRANSMISSION state is not used because there is no advantage over using the FORWARD ACTIVE state.
2.2.5. RINGING State
The RINGING state is used to measure high REN loads. A 17 Vrms signal is applied to TIP and RING to measure REN. The ringing signal has an output impedance of 320 as shown in Figure 6.
Figure 6. RINGING State Impedance
2.2.6. REVERSE ACTIVE State
The REVERSE ACTIVE state shown in Figure 7 is used to check for non-linearity in the resistance between TIP and RING. This may indicate a diode or an electronic device on the line.
Figure 7. REVERSE ACTIVE State DC
Impedance
2.2.7. REVERSE GROUND START State
The REVERSE GROUND START state shown in Figure 8 is complementary to the FORWARD GROUND START state and is used in measuring longitudinal currents.
Figure 8. REVERSE GROUND START State DC
Impedance
800 k 320 Vcm RING TIP Vcm+Voc GND 320 800 k 402 k RING TIP Voc+Vcm GND – + 1.5 800 k 320 RING TIP AC AC Z Ringer Load GND 800 k 320 Vcm+Voc RING TIP Vcm GND 403 k 800 k 320 Voc + Vcm RING TIP GND 1.5 V– +AN75
2.2.8. REVERSE ON-HOOK TRANSMISSION State
REVERSE ON-HOOK TRANSMISSION is not used for SLIC testing because it is the same as REVERSE FORWARD ACTIVE as far as SLIC testing is concerned.
2.3. Line Voltage/Current Measurement
The Silicon Laboratories Si322x part continuously monitors the TIP–GND, RING–GND, and TIP to RING voltages and currents at a rate of 800 Hz. An accurate measurement of these voltages/currents can be made at anytime via the appropriate registers. (See the data sheet). To test for Foreign Voltage, the Si322x should be in the OPEN state. It is good practice to allow 100 ms settling time for the line before voltage measurement takes place.The line voltage measurement software functions perform multiple samples to give an accurate dc voltage. The example code listed below uses raw samples to get a true rms value and dc average value. It is possible to throw out samples so that 1/20 samples are non-redundant.
2.4. Line Diagnostics
The Si322x has internal capabilities to determine the dc, ac, and peak value of voltage/current waveforms. (See the data sheet). The dc measurement takes multiple samples and sends it through a pass filter. The low-pass filter architecture is shown in Figure 9.
Figure 9. Low-Pass Filter Architecture
This implements a simple first order IIR filter with the following transfer function:
Therefore, the low-pass pole frequency is approximately
Where Fs = 800 Hz.
The low-pass filter coefficient is programmed by
where DIAGxCCO refers to the DIAGACCO and DIAGDCCO registers.
For example:
DIAGxCC0 = 4096 = 0x4000 => N = 1 => the low-pass filter is wide open.
DIAGxCC0 = 1 => N = 4096 => Fp = 0.031 Hz Calculated outputs are stored in DIAGDC. The ac filter works similarly, except its input is a rectified wave in the filter above; its output is stored in DIAGAC. The peak value gives the highest value of the rectified wave; its output is stored in DIAGPK. See the Si3220/25 data sheet for more information on initializing the diagnostics registers.
2.5. Resistive Fault Measurement
GR 909 testing requires the ability to measure resistor faults below 150 k between tip-ring, tip-gnd, and ring-gnd. These resistive measurements can be measured in two ways: Voltage division and V/I measurement.
2.5.1. Voltage Division
Using the recommended 800 k resistor across tip-ring, a resistive fault can be found by taking voltage measurements when in the ground start and reverse ground start states and using basic voltage division calculations.
2.5.2. V/I measurement
When the resistive faults gets low enough where accurate readings of the current can be taken, it is possible to take a measurement of voltage and current to find resistance.
2.6. Capacitance and REN Load
Measure-ment
GR 909 testing requires the ability to measure relatively small capacitive loads on the line. Two methods for measuring line capacitance are described here that can be implemented by the Si322x ProSLIC: a charge/ discharge single-slope conversion method and a sub-ringing threshold signal generation/measurement.
2.6.1. Using Single-Slope Conversion
The Si322x is able to charge a capacitive line load to VOC using the FORWARD ACTIVE state. The load is then allowed to discharge through TIP and RING in the OPEN state. Because the impedance time constant is directly related to the charge/discharge time, one can measure the charge and/or discharge time between two voltage points. Using multiple charge/discharge cycles increases the accuracy of the impedance calculation.
1/N (N-1)/N Z-1 + H z 1 N ----1 N ----1–--- zN– –1 ---= Fp = 2 N 1---Fs– DIAGxCCO = 4096---Ndec
AN75
Using this method, the example test code is able tomeasure REN loading within approximately 5% accuracy.
2.6.2. Using Sub-Ringing Threshold Signal Genera-tion/Measurement
GR 909 specifies that a sub-ringing threshold ringing amplitude can be applied to TIP and RING for the purpose of measuring REN load. A ringing signal less than 17 Vrms should be small enough not to trigger an audible ring of the phone. The Si322x can be programmed to apply such a ringing signal to the line while simultaneously measuring loop current in order to derive the REN load between TIP and RING.
2.7. Test Function Notes and Usage
This section describes the software functions used in performing GR 909 measurements. The source code is available on the Silicon Laboratories web site:
www. silabs.com.
2.7.1. OpenVoltages
void openVoltages (
unsigned short *acVloop, unsigned short *dcVloop, unsigned short *acVring, unsigned short *dcVring, unsigned short *acVtip, unsigned short *dcVtip )
The OpenVoltage test samples TIP and RING voltage 50 times while the Dual ProSLIC is in OPEN state. The sum of the samples is used to compute the average and the rms average of the voltages measured when the line is in OPEN state. The interpretation of these voltages is left to the user. The GR 909 guidelines are that >50 Vrms or >135 VDC are hazardous voltages. Under these circumstances it is not advised that any other testing or operations continue. The same OpenVoltage readings can be used for determination of foreign voltage. The GR 909 guidelines for foreign voltage are ac greater than 10 Vrms or dc greater than 6 VDC. To use OpenVoltage, allocate six short (16-bit) data items to receive the approximate ac and dc voltages TIP-GND, RING-GND, and TIP-RING.
Note: It is possible to avoid using the square root function by
doing limit comparisons against the square. It is also possible to use a table of square values and interpo-late.
AN75
2.8. Open Voltage
An algorithm flow chart follows:
AC voltages can be found by subtracting the average dc value from each sample voltage.
VX = Voltage under consideration
Vavgdc = Average dc voltage from the above algorithm
2.8.1. LowREN
int LowREN(void)
The LowREN function charges the load on TIP and RING to 30 V using the FORWARD ACTIVE linefeed state. The LowREN function then sets the loop to open state and monitors TIP and RING. If TIP and RING hold the voltage, the ringer’s dc blocking capacitance is holding the charge.
The LowREN function uses the FORWARD ACTIVE linefeed state and then the OPEN linefeed state. The discharge period for even very low REN loads should be hundreds of milliseconds.
Accuracy = .2 REN Range = 0–2
2.8.2. LineCap
int lineCap(void)
The LineCap function creates a square wave output between two limit voltages 55 and 60 V for 50 cycles. The time it takes to complete these 50 cycles measures the capacitance.
The LineCap function can be used for very precise and very repeatable capacitance measurement in a system with 2 ms latency.
To use LineCap function an external timer should periodically sample the VLOOP. The system time should be recorded before and after the 50 cycles are complete.
2.9. Line Cap
The time the line takes to switch from 55 to 60 V and back to 55 V is a linear relationship with capacitance: thus:
A quick calibration routine helps determine the constants (, ). Constant values in the sample code were derived under laboratory conditions.
Accuracy: 5%* Range: 600 nF – 3 F
Note: The ESR of a capacitor affects the accuracy of the
capacitor measurement.
Start
Linefeed = 0x0
Read RAM (V
tip)
Ream RAM (V
ring)
avg(V
TIP,V
RING)
Result
End
Loop = 50
Accuracy: ±.3 V
Range: 0 to –64 V
Accuracy: ±.6 V
Range: –65 to –160 V
ACvoltage Vx–Vavgdc2 N 0= N
= t = C B+ C = t B---–AN75
2.9.1. Algorithm Flowchart
2.9.2. CapUsingRinging
int capUsingRinging(void)
If a capacitor impairment is between TIP and RING, it can be measured by using a low level ringing signal while monitoring the ac current. The same measurement can be used for measuring large REN greater than 3.
The absolute value of TIP and RING current is averaged over a one second period of 17 Vrms ringing. The resulting average current estimates the capacitance or REN load. The current through the load is the rms voltage divided by the impedance.
It is reasonable to use this function for measuring REN between 2 and 5 REN with the valid conversion of 1 REN equals approximately 1 F.
To use capUsingRinging, compute the difference between the beginning and end average cycles. The same measurement int capUsingRinging40Hz(void) can give a differential comparison for capacitance versus REN.
2.10. Cap Using Ringing
where Start Note time Set VOL = 55 While VOL 55 Note time End
B
t
C
Loop = 50 Set VOL = 60 While VOL 60320
806k
C
C 1.25 10 –6 6.405 10 11– z2 2 f z2–102400 ---= z Vrms Irms ---= f = ringing frequency REN 000248 z 806320 – 11562+390625 · – z 320– ---where 2 = f =AN75
Algorithm Flowchart
2.10.1. CapUsingRinging40Hz
int capUsingRinging40Hz (void)
This is identical to capUsingRinging except it is done at 40 Hz. Using both the 40 Hz function and the 20 Hz function, one can easily distinguish a Ringer from a Capacitor. A capacitor measures to be about the same value ±20%. A ringer measures to be twice as large at 40 Hz than at 20 Hz.
2.10.2. RENtest
Void RENtest (unsigned* ren).
By monitoring the metallic loop current after a step voltage, it is possible to determine the number of REN on the line. Here, the maximum current after a shift in voltage is directly proportional to the number of REN. Accuracy: ±.5 REN
Range: 1 – 5 REN
2.10.3. RTG/RRG/RTRtip open or /RTRringopen,
void RTG(void), void RRG(void),
void RTRtipopen(void), void RTRringopen(void)
Using the 800 k resistor between the TIP and RING and the 400 k sense resistor to TIP and RING separately, it is possible to sense a high-impedance impairment. The GROUND START and REVERSE GROUND START linefeed states allow the Si322x to supply a voltage divider. By looking at VTIP and VRING voltages, it is possible to infer impairments to ground.
TIP and RING voltages are stepped in 10 V increments while monitoring the opposite pole (RING or TIP). The voltage appearing on the opposite pole will be one third of the voltage on TIP or RING if no impairment is present.
When a tip-to-ground or ring-to-ground impedance goes below 15 k, it is possible to get a more accurate measurement using the ILOOP rather than a voltage divider calculation. Between 5 and 15 k, the function uses a V/I measurement instead of a voltage division measurement.
For the loop resistance, if there is an impairment on ring-to-ground, an inaccurate value will be obtained because of differences in the voltage division ratio. For this reason, there is both a tip open and a ring open version of these functions to measure loop resistance.
Accuracy: 20%
Start
Start Ringing
Read DIAGAC
Calculate
capacitance/REN
End
Range: 300 nF–3 F
Wait 1 second
AN75
2.11. Resistive Fault
Figure 10. Resistive Fault
Accuracy: 10% Range 30 k – 5 M Where Vr= Ring Voltage Vt= tip Voltage
Vtr= tip-ring Voltage
2.11.1. TipRingCurrentOverVoltageFwrd
int tipRingCurrentOverVoltageFwrd(short currentArray )
The TipRingCurrentOverVoltageFwrd function measures dc current at five TIP-RING voltages. The TipRingCurrentOverVoltageFwrd function steps through the voltages slowly to avoid accidental telephone ringing. Only the last two are used for resistive impairment determination; these are the highest voltages and give the greatest resolution. It is possible to step through more voltage levels for greater resolution.
To use the TipRingCurrentOverVoltageFwrd function,
allocate an array of sixteen bit values that will contain the amount of current for 10, 20, 30, 40, and 50 V after the function is executed.
2.11.2. TipRingCurrentOverVoltageRev
int tipRingCurrentOverVoltageRev(short currentArray )
The TipRingCurrentOverVoltageRev function is identical to the TipRingCurrentOverVoltageFwd function except that measurements are made in REVERSE ACTIVE instead of FORWARD ACTIVE. This function can be used to determine if a resistive impairment has a non-linear or possibly a single direction resistance. The forward and reverse tests together can determine if the impairment might be a broken or unexpected equipment fault.
To use the TipRingCurrentOverVoltageRev function allocate an array of sixteen bit values which will contain the amount of current for 10, 20, 30, 40, and 50 V after the function is executed.
2.11.3. RingToGroundCurrent
int ringToGroundCurrent(short currents[ ]) // 0 to 50 V in 10 V increments
The ringToGroundCurrent function uses the GROUND-START linefeed state in conjunction with the longitudinal current measurement to produce a low impedance to RING and a high impedance to TIP. The measurement is made over five voltages. The measurement can be reduced to two voltages without any risk of ringing a phone since the TIP is at high impedance. Current from TIP should be due to impairment and the sense resistor. This test can be used in conjunction with the oneHundredKTest to measure higher impedance impairments. 800k Vt Vr Vt r 402k
±
GND 1.5 V 402k±
1.5 V T R RTR RRG RTG RRG VVr800 tr–2Vr+3 --- 1000 = RTG –VVt800 tr–2Vr+3 --- 1000 = RTR(Tip open) VVtr800 tr–2Vr+3 --- 1000 = RTR(Ring open) –V–Vtr800 tr –2Vt+3 ---=AN75
To use the ringToGroundCurrent function, allocate an array of 16-bit values which will contain the amount of current for 10, 20, 30, 40, and 50 V after the function is executed.
2.11.4. TipToGroundCurrent
int tipToGroundCurrent(short currents[ ]) // 0 to 50 V in 10 V increments
This measurement is identical to the RingToGround measurement, only the TIP is the source and the RING is the sense.
The tipToGroundCurrent function uses the REVERSE GROUND START linefeed state in conjunction with the longitudinal current measurement to produce a low impedance to TIP and a high impedance to RING. The measurement is made over five voltages. The measurement can be reduced to two voltages without any risk of ringing a phone since RING is high impedance.
Current from TIP should be due to impairment and the sense resistor. This test can be used in conjunction with the oneHundredKTest to measure higher impedance impairments.
To use the tipToGroundCurrent function allocate an array of 16-bit values which will contain the amount of current for 10, 20, 30, 40, and 50 V after the function is executed.
2.11.5. FusePresent
int fusePresent(short scratch[ ]) // 0 to 50 V in 5 V increments
The FusePresent function can be used to identify the presence of a fuse and the presence of a phone. It is redundant to LowREN (which can be used to detect a phone) and to one oneHundredKTest (which can be used to detect a fuse). FusePresent is a freestanding alternative for measuring the presence of the TIP and RING fuses. If a fuse is missing, it is possible to use oneHundredKTest to determine which fuse is missing. To use the FusePresent function, the scratch array can be used to store samples of voltages from which a fuse can be determined to be present or absent. An average of these samples is used to determine if the fuse is present. 2.11.6. LogitudinalCurrentOverVoltageReverseAc-tive void logitudinalCurrentOverVoltageReverseActive(unsigned short currents[ ])
Longitudinal currents are monitored for groundstart and reverse ground individually by the RingToGroundCurrent function and the
TiptoGroundCurrent function. There is the possible common mode short to ground, which the RingToGroundCurrent and the TiptoGroundCurrent functions would not measure well.
To use the LogitudinalCurrentOverVoltageReverseActive supply, the currents array and the five currents measured at 10, 20, 30, 40, and 50 V will be returned.
2.12. Realtime Requirement
Table 2 gives the approximate execution times for each of the tests. Each entry includes an approximate total real-time and maximum latency time. The latency time is the maximum time between when a sample is ready and when the sample needs to be read. In some cases, the accuracy is compromised proportionally to the amount of time by which the latency time is violated. This is the case for each of the measurements using the low-pass filters.
2.13. Calibrating GR 909 Tests
All tests have constants that as a rule should be calibrated to the individual system designs. Accuracy of the tests is affected by operating voltages and the presence of other impedance in the circuit. The calibration can be easily performed against known loads.
It is better to calibrate the constants to known REN, capacitance, and resistance than to rely on numbers supplied by Silicon Laboratories.
Performing these calibrations using 0.2 REN, 1 REN, 5 REN, 1 F, 5 F, 10 k, 30 k, and 200 k resistances to the TIP-GND, RING-GND, and TIP-RING is recommended. The result of these measurements will allow the tests to display samples. Adjust the scalars of the measurements to yield the most accurate results.
2.14. Verify Timing
In addition to the calibration, it is up to the implementor to verify the accuracy and realtime requirement for each system. It is strongly recommended that the EVB be used as a standard of comparison.
AN75
Table 2. Test Function Execution and Latency Times
Function Name Function Purpose Time From Start to Completion milliseconds Latency Requirement milliseconds Feed Condition
doReset Reset the Evaluation Board. 500 NONE RESET
openVoltages Measure the Open Circuit ac and
dc voltages. 150 1.25 OPEN
tipRingCurrentOverVolt-ageFwrd Measure the Resistance in For-ward Active linefeed condition. 1000 100 FORWARD ACTIVE
tipRingCurrentOverVolt-ageRev Measure the resistance in Reverse Active linefeed condi-tion.
2500 100 REVERSE
ACTIVE ringToGroundCurrent Measure the resistance from
Ring to Ground. 2000 100 REVERSE
GROUND-START tipToGroundCurrent Measure the resistance from Tip
to Ground. 2000 100 FORWARD
GROUND-START REN test Measure the REN Load for REN
greater than 3 REN. 1000 100 REVERSE ACTIVE
LowREN Measure REN values less than 1
REN. 2000 10 THEN OPENFORWARD
lineCap Measure the capacitance using
limit cycle approach. 100 100 FORWARD ACTIVE
fusePresent Measure the assumed 800 k resistance indicating presents of the Tip/Ring fuses.
100 100 FORWARD
GROUND-START
logitudinalCurrentOver-VoltageReverseAcitive Measure longitudinal voltage over various reverse active lev-els.
1500 NONE RINGING
capUsingRinging Measure capacitance using
20 Hz 17 Vrms Ringing signal. 1500 NONE RINGING CapUsingRinging40Hz Measure capacitance using
20 Hz 8.5 Vrms Ringing signal. 600 NONE RINGING
RTG/RRG/RTGrin-gopen/RRGtipopen Measure resistance greater than 100 k using 800 k resistance. Fuse can be inferred.
300 NONE REVERSE
GROUND-START
Disclaimer
Silicon Laboratories intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Laboratories products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Laboratories reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Laboratories shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products must not be used within any Life Support System without the specific written consent of Silicon Laboratories. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Laboratories products are generally not intended for military applications. Silicon Laboratories products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons.
Trademark Information
Silicon Laboratories Inc., Silicon Laboratories, Silicon Labs, SiLabs and the Silicon Labs logo, CMEMS®, EFM, EFM32, EFR, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZMac®, EZRadio®, EZRadioPRO®, DSPLL®, ISOmodem ®, Precision32®, ProSLIC®, SiPHY®, USBXpress® and others are trademarks or registered trademarks of Silicon Laboratories Inc. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders.
Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701
Smart. Connected. Energy-Friendly
Products