MSAN-178. Application Note. Applications of the HRA and Energy Detect Blocks of the MT90812 Integrated Digital Switch. Contents. 1.

Similar documents
MSAN-129. Application Note. Time Space Switching 8,16 or 32 kbps Channels using the MT8980. Contents. 2.0 Circuit Description.

This product is obsolete. This information is available for your convenience only.

MSAN-124. Application Note MT9171/72 DNIC Application Circuits. Connection to Line. Protection Circuit for the LIN Pin

ZLS38503 Firmware for Voice Prompting and Messaging Firmware Manual

THIS DOCUMENT IS FOR MAINTENANCE PURPOSES ONLY AND IS NOT RECOMMENDED FOR NEW DESIGNS

MT x 16 Analog Switch Array

NJ88C Frequency Synthesiser with non-resettable counters

MT8809 8x8 Analog Switch Array

SLIC Devices Applications of the Zarlink SLIC Devices Longitudinal Balance of Zarlink Subscriber Line Interface Circuits (SLICs)

This product is obsolete. This information is available for your convenience only.

MSAN B1Q Line Code Tutorial Application Note. Introduction. Line Coding

ZLAN-35 Applications of the ZL30406 and MT9046 SONET/SDH Linecard Solutions

ISO 2 -CMOS MT8840 Data Over Voice Modem

2.6GHz Bidirectional I 2 C BUS Controlled Synthesiser

SL MHz Wideband AGC Amplifier SL6140. Features

MV1820. Downloaded from Elcodis.com electronic components distributor

ZL70101 Medical Implantable RF Transceiver

ZL30111 POTS Line Card PLL

M V/5V General Purpose Call Progress Tone Detector INTEGRATED CIRCUITS DIVISION. Description. Features. Applications. Ordering Information

MT8980D Digital Switch

ZL Features. Description

Technical Proposal for COMMON-ISDN-API. Version 2.0. Generic Tone Generator and Detector Support for Voice Applications. Extension.

ZL40212 Precision 1:2 LVDS Fanout Buffer

ZL30416 SONET/SDH Clock Multiplier PLL


SP5055S P3 P4. Figure 1 - Decoupling/grounding of used and unused ports SP5055S SDA SCL GND V EE RF RF V CC C A GND. C A =100p C B =100n

ZL30131 OC-192/STM-64 SONET/SDH/10GbE Network Interface Synchronizer

Part IV: Glossary of Terms

75T2089/2090/2091 DTMF Transceivers

MT Features. Description. Applications

ZL30415 SONET/SDH Clock Multiplier PLL

ZL30110 Telecom Rate Conversion DPLL

MT8941AP. CMOS ST-BUS FAMILY MT8941 Advanced T1/CEPT Digital Trunk PLL. Features. Description. Applications. Ordering Information

UM0791 User manual. Demonstration firmware for the DMX-512 communication protocol receiver based on the STM32F103Zx. Introduction

ZL30414 SONET/SDH Clock Multiplier PLL

MT9041B T1/E1 System Synchronizer

INTEGRATED CIRCUITS DATA SHEET. TDA2611A 5 W audio power amplifier

CYG2020/CYG2021 RING HOOKSWITCH LOOPI OH RING RING RING R_LIM

LS1240. Electronic two-tone ringer. Features. Description. Pin connection (top view)

M-980 General Purpose Call Progress Tone Detector

Call Progress Tone and Ringing Signal Generation

DraftETSI EN V1.2.1 ( )

DATA SHEET. BAS216 High-speed switching diode DISCRETE SEMICONDUCTORS. Product data sheet Supersedes data of 1999 Apr May 28.

Draft ETSI EN V1.3.1 ( )

LM325 LM325 Dual Voltage Regulator

DATA SHEET. BAS216 High-speed switching diode DISCRETE SEMICONDUCTORS. Product specification Supersedes data of 1999 Apr 22.

Passivated, sensitive gate triacs in a SOT54 plastic package. General purpose switching and phase control

THIS SPEC IS OBSOLETE

AN1756 Application note

VC-4/4A, VC-8/8A, VC-16 4/8/16-Channel PCM and ADPCM Voice Modules

V5 - UK PSTN MAPPING REQUIREMENTS

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

DISCRETE SEMICONDUCTORS DATA SHEET. BT150 series Thyristors logic level

TL594 PULSE-WIDTH-MODULATION CONTROL CIRCUIT

AN279 Application note

Passivated sensitive gate triac in a SOT54 plastic package. General purpose switching and phase control

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

CYG2111. Cybergate TM DAA INTEGRATED CIRCUITS DIVISION. Description. Features. Applications. Approvals. Ordering Information. Typical Application

MT9040 T1/E1 Synchronizer

This document is designed to be used in conjunction with the CMX869A data sheet.

DISCRETE SEMICONDUCTORS DATA SHEET. 1PS76SB10 Schottky barrier diode. Product specification Supersedes data of 1996 Oct 14.

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

CYG20xx. Cybergate TM DAA INTEGRATED CIRCUITS DIVISION. Description. Features. Approvals. Ordering Information. Applications.

The Frequency Divider component produces an output that is the clock input divided by the specified value.

AN Industrial Stepper Motor Driver. Application Note Abstract. Introduction. Stepper Motor Control Method

PESDxS1UL series. 1. Product profile. ESD protection diodes in a SOD882 package. 1.1 General description. 1.2 Features. 1.

DISCRETE SEMICONDUCTORS DATA SHEET M3D176. 1N914; 1N914A; 1N914B High-speed diodes. Product specification Supersedes data of 1999 May 26.

APPLICATION NOTE. AT11009: Migration from ATxmega64D3/128D3/192D3/256D3 Revision E to Revision I. Introduction. Features.

Le87251 Worldwide ADSL2+ Dual Channel Line Driver BD870 Series

AN2625 Application note High AC input voltage limiting circuit Introduction

CPC1510GSTR. 1-Form-A Solid State Relay with Integrated Current Limit

TLP222A, TLP222A-2 TLP222A,TLP222A-2. Telecommunications Measurement and Control Equipment Data Acquisition System Measurement Equipment

DATA SHEET. BAV23S General purpose double diode DISCRETE SEMICONDUCTORS. Product specification Supersedes data of 1999 May 05.

UHF variable capacitance diode. Voltage Controlled Oscillators (VCO) Electronic tuning in UHF television tuners

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

BT G0T. 1. General description. 2. Features and benefits. 3. Applications. 4. Quick reference data. 4Q Triac

BTA202X series D and E

TL494M PULSE-WIDTH-MODULATION CONTROL CIRCUIT

TL594 PULSE-WIDTH-MODULATION CONTROL CIRCUITS

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

Pixel. Pixel 3. The LUMENOLOGY Company Texas Advanced Optoelectronic Solutions Inc. 800 Jupiter Road, Suite 205 Plano, TX (972)

STEVAL-CCA040V1. 4X10 Watt dual/quad power amplifier demonstration board based on the STA540SAN. Features. Description

TLP206G TLP206G. PBX Modem FAX Card Measurement Instrument. Pin Configuration (top view) TOSHIBA Photocoupler GaAs Ired & Photo-MOS FET

Is Now Part of To learn more about ON Semiconductor, please visit our website at

TLP4227G, TLP4227G-2

PESDxV4UG series. 1. Product profile. Very low capacitance quadruple ESD protection diode arrays in SOT353 package. 1.1 General description

ARCHIVED BY FREESCALE SEMICONDUCTOR, INC. 2005

DISCRETE SEMICONDUCTORS DATA SHEET. book, halfpage M3D302. BZA418A Quadruple ESD transient voltage suppressor. Product specification 2002 Sep 02

Vybrid ASRC Performance

AMBA Generic Infra Red Interface

TLP172A. Telecommunications Control Equipment Data Acquisition System Security Equipment Measurement Equipment. Pin Configuration (top view)

74ABT bit buffer/line driver, non-inverting (3-State)

UM1746 User manual. 500 W fully digital AC-DC power supply based on the STM32F334 microcontroller. Introduction

TL494 PULSE-WIDTH-MODULATION CONTROL CIRCUITS

TLP174GA TLP174GA. Modem Fax Cards, Modems in PC Telecommunications PBX Measurement Equipment. Pin Configuration (top view)

DISCRETE SEMICONDUCTORS DATA SHEET. BAP50-03 General purpose PIN diode. Product specification Supersedes data of 1999 May 10.

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

M-991 Call Progress Tone Generator

Transcription:

Application Note MSAN-178 Applications of the HRA and Energy Detect Blocks of the MT90812 Integrated Digital Switch Contents 1.0 Introduction 2.0 HRA Programming Sequence for Multiplexed Mode 3.0 Implementing an Algorithm for Interpreting the Measured Cadence of a Call Progress Signal Background Information Algorithm Description Algorithm Source Code Energy Detect Program Algorithm Algorithm Source Code AN5207 ISSUE 1 September 1999 1.0 Introduction The MT90812 Integrated Digital Switch (IDX) provides the integration of several functions required in a telecom application. The purpose of this Application Note is to provide supplementary information on the application of the HRA and Energy Detect blocks of the IDX. A programming sequence for the multiplexed mode of the HRA is provided to assist the system designer with the steps required to program the IDX. The software algorithm for the Energy Detect block provides the system designer with a sample algorithm to interpret the cadence of supervisory signals. 2.0 HRA Programming Sequence for Multiplexed Mode The HLDC Resource Allocator (HRA) module in the MT90812 supports communications over the D- channel and provides an interface to the MT8952 HDLC Protocol Controller. The RX section of the HRA can operate in Dedicated Receive mode or Multiplexed Receive mode (RX channel Auto-hunt). The primary function of the RX channel Auto-hunt circuit is to provide the RX circuit with the next receive channel number. This section of the Application Note provides the programming sequence for the Auto-hunt mode. For the hardware architecture refer to the diagram Typical Application Using the HDLC Resource Allocator in the MT90812 data sheet. The steps provided here are intended to guide the system designer with some of the programming aspects of the Auto-hunt mode. To exercise the Autohunt mode a few assumptions are made as follows: The system contains 16 DNICs The C-channels occur before D-channels on the STi/o1 stream The D-channel bit rate is at 16 kb/s on the ST- BUS. Hence the DNICs need to operate at 160 kb/s The peripheral connected to DNIC 2 sends the first RTS flags While the HRA and the HDLC receiver are busy with the D-channel slot for DNIC 2, the 1

MSAN-178 Application Note peripheral connected to DNIC 14 sends RTS flags The following steps provide the initial programming steps: Enable the HDLC Controller for External Timing mode and idle state Enable the Interrupt Flag bits of the HDLC Controller as desired Enable the HRA by setting the EN bit high in the HRA Control register 1 Allow C channels to occur before D channels by setting the CD bit high in the HRA Control register 1 To enable the D channel bit rate at 16 kb/s, set the BRSEL1-0 bits to 01 in the HRA Control register 1 In order for the Auto-hunt circuit to monitor all 16 D channels, set LOC0-7 and LOC8-15 bits to low in HRA Lock Out Registers 1 and 2 Figure 1 summarizes the Auto-hunt algorithm. Figure 2 illustrates the sequence of events in this example. The Auto-hunt circuit will start monitoring channels 16 to 31 (bit CD=1 in the HC1 register) of stream STi1. It is assumed that the peripheral connected to DNIC 2 sends the first RTS flags. Upon detection of the RTS flag by the auto-hunt circuit, it will send a GA flag (CTS flag = 011111110 = 7F + 0 ) and enable RxCEN for 2 bits per frame during channel 17 which is allocated for the DNIC 2 D-channel. A read of HRA Status register 1 should confirm that the present receive channel is channel 17 (PRX4-1 = 0001) and the receive channel is latched (RXCHNL is set high). Once the RxCEN is enabled for 2 bits per frame during channel 17, the HDLC Controller will start receiving packets from the DNIC 2 peripheral. The receive section of the HDLC Controller searches the incoming packets for flags on a bit-by-bit basis and establishes frame synchronization. The flag is a unique pattern of 8 bits (01111110 = 7E) defining the data packets frame boundary. It is assumed that while the HRA RX and HDLC receiver are busy with DNIC 2 peripheral, DNIC 14 peripheral will start sending RTS flags. Since the RX is busy with DNIC 2 peripheral, then no GA flag will be sent to the DNIC 14 peripheral and therefore the FLAG bit in the HRA Status register 1 will be held high until the RX becomes inactive by receiving a REOP strobe (1 bit long) from the HDLC Controller and the HRA Status register 3 is read. The FLAG bit indicates that the Auto-hunt circuitry has detected an Look at Channel Slot for 15 Bits Auto-hunt Circuit Goes to the Next Enabled Channel No Is there a Request To Send Flag? Yes Is the HDLC RX Busy? Yes Wait No Send Clear To Send Flag (Go Ahead) Route Data to the HDLC Controller Figure 1 - The Auto-hunt Algorithm 2

Application Note MSAN-178 RTS flag from the peripheral but has not acted upon it yet. A read of HRA Status register 3 must also be done by the system to initiate receiving of packets from the DNIC 14 peripheral. Once an end-of-packet flag is received from the DNIC 2 peripheral (the EOPD bit in the Interrupt Flag register of the HDLC controller will be held high) the HDLC controller will generate an interrupt. The REOP strobe is generated by the HDLC controller once it receives a closing flag or the incoming packet is aborted or an invalid packet of 24 or more bits is detected. The system may also deactivate the HRA RX by enabling the SREOP bit in the HRA Control register 2. Once the RX becomes inactive then the system needs to read the HRA Status register 3 for the most recently active receive channel number (channel 17) in order to initiate receiving packets from the DNIC 14 peripheral. The Auto-hunt circuit will then send a GA flag to the DNIC 14 peripheral and move the RxCEN strobe to channel 29 on the STi1 stream. A read of HRA Status register 1 should confirm that the present receive channel is channel 29 (PRX4-1 = 1101) and the receive channel is latched, i.e. RXCHNL is set high. The HDLC receiver is now ready to receive packets from the peripheral. Peripherals MT90812 HRA Peripheral 1 Idle Request To Send (7E) MT8952 HDLC Controller Clear To Send (7F+0) Peripheral 2 Active Send Data Send Data Peripheral 3 Idle Request To Send (7E) Peripheral 14 Clear To Send (7F+0) Wait until peripheral 2 data transfer is finished Active Send Data Send Data Peripheral 15 Idle Peripheral 16 Idle This assumes that the TX section of the MT90812 HRA is not accessing the same peripheral as the RX section of the MT90812 HRA Figure 2 - Monitoring D-channels for RTS Flags 3

MSAN-178 Application Note 3.0 Implementing an Algorithm for Interpreting The Measured Cadence of a Call Progress Signal The cadence of a call progress signal can be measured by the Energy Detect block of the MT90812. This section of the Application Note provides a software algorithm to interpret the measured cadence of the call progress signal. Background Information Call progress or supervisory signals are audible signals sent to a caller during the process of setting up, holding, or transferring a call in order to inform the caller about the status of the call. Call progress signals can be heard by users located in the following systems: Call progress signals are either a single-frequency or the combination of dual-frequency of sinusoidal voltages applied in specific cadence or ON-OFF patterns. The signals which are most frequently used in PBXs are Dial, Reorder, Busy, and Audible Ring tones. The following table provides the frequency combination, permissible power level and the ON- OFF or cadence pattern. The recognition of the call progress tones can be done either with frequency or cadence detection. As shown in Table 1 each tone has a distinct cadence pattern. This Application Note provides a software algorithm to interpret the cadence information measured by the energy detect block of the MT90812 (IDX). On-premise and off-premise PBX stations PBX attendants The public switched telephone network (PSTN) Users of other PBXs or other switching systems accessing this PBX via tie trunks or other facilities Permissible Power Level Per Frequency Name Frequency (Hz) CO Trunk Interface All Other Interfaces Cadence or ON-OFF Pattern Max (dbm) Min (dbm) Max (dbm) Min (dbm) Dial Tone 350 + 440-16 -17.5-16 -26 No Interruption or ON-OFF Pattern (Continuous Tone) Reorder Tone 480 + 620-19.5-22.5-19.5-35 Repetition of tone ON for 0.25 +/- 0.025 s and tone OFF for 0.25 +/- 0.025 s Busy Tone 480 + 620-19.5-22.5-19.5-35 Repetition of tone ON for 0.5 +/- 0.05 s and tone OFF for 0.5 +/- 0.05 s Audible Ring Tone 440 + 480-14.5-17.5-14.5-30 Repetition of tone ON for 2.0 s and tone OFF for 4.0 s Table 1 - Most Frequently Used Call Progress Signals 4

Application Note MSAN-178 4.0 Energy Detect Program Algorithm The MT90812 provides two energy detect blocks for monitoring call progress tones during trunk calls. For a detailed description of the energy detect blocks refer to the MT90812 (IDX) data sheet. The energy detect block follows the envelope of the monitored call progress signal and generates an interrupt once the programmed threshold level (content of EDLTA/B or EDHTA/B registers of the IDX) is crossed by the envelope of the signal or a maximum count of 508 msec is reached. Refer to Figure 3. When an interrupt is generated the SSCRA/B register is updated with the cadence and position of the signal envelope. In order to interpret the measured cadence time and position of the signal envelope, the attached algorithm can be implemented. Refer to the Algorithm Source Code section. This software algorithm assumes that the cadence and position information of the monitored supervisory signal is stored in a 2x16 array. The software algorithm runs through 16 consecutive rows of the cadence and position array, adds consecutive ON or OFF times and rejects noise intervals. When the reported cadence time reaches the maximum count of 508 msec and the position remains the same as the previous position, the ON/OFF interval continues and the interval times get added. Table 2 provides the result generated by the software algorithm from a sample data reported by the IDX. The cadence time column is the content of SSCRA/B cadence bits converted to msec. The software algorithm also rejects noise intervals during ON time or OFF time. Refer to Figure 3. It should be noted that the 25 msec leaky hold time of the energy detect block provides noise rejection during ON time. This software algorithm provides additional noise rejection during ON time as well as OFF time. As shown in Figure 3 at the beginning of the ON time noise interval the present position is low (end of T3) and the next and previous positions are both high (end of T2 and T4, respectively). The software algorithm interprets the dip in the envelope of the signal as noise and therefore complements the Interrupt Count Position_Cadence Array (Content of SSCRA/B register over 16 interrupts) Position bit Cadence time (msec) Cadence Time Interpreted By the Software Algorithm Interval Duration (msec) Comments 1 1 50 OFF Time 50 2 1 508 Maximum Count 3 0 472 4 1 12 Noise during ON time 5 1 508 Maximum Count 6 0 500 ON Time 2,000 7 1 52 8 0 36 Noise during OFF time 9 0 508 Maximum Count 10 0 508 Maximum Count 11 0 508 Maximum Count 12 0 508 Maximum Count 13 0 508 Maximum Count 14 0 508 Maximum Count 15 0 508 Maximum Count 16 1 356 OFF Time 4,000 Table 2 - Interpreting the Cadence and Position Bits of the SSCRA/B 5

MSAN-178 Application Note present position to high. This will ensure that T4 is added to T2 and T3 and reported as ON time. In the second case the present position is high (end of T7) and the next and previous positions are both low (end of T6 and T8, respectively). The software algorithm interprets the spike in the envelope of the signal as noise and therefore complements the present position to low. This will ensure that T8 is added to T7 and T9 and reported as OFF time. There are two variables used to specify the duration of the noise intervals to be rejected, MaxReported- ONTimeNoiseInterval and MaxReportedOFFTime- NoiseInterval. The MaxReportedONTimeNoiseInterval variable is assigned to 15 msec in the initialization portion of the software algorithm. With the MaxReported- ONTimeNoiseInterval assigned to 15 msec, noise intervals of 40 msec or less during ON time are rejected by the software algorithm. Refer to Figure 4. The maximum interval of 40 msec is reported by the energy detect block as 15 msec due to the leaky hold time of 25 msec. This hold time is used for the peak detector of the energy detect block to bridge between the envelope peaks. The MaxReportedOFFTimeNoiseInterval variable is assigned to 40 msec in the initialization portion of the software algorithm. Hence the algorithm rejects noise intervals up to and including 40 msec during OFF time. This value is compared with the reported time by the energy detect block. If the reported time is greater than 40 msec then the interval is considered as ON Time. Otherwise the interval is considered as noise and will be added to OFF time. The reported time will also include the 25 msec leaky hold time. Refer to Figure 4. The software algorithm source code for interpreting the cadence and position information is provided in the following pages. Signal Envelope Position = High Time = T1 Position = High Time = T2 = 508 ms Maximum count Noise During ON Time Position = Low Time = T3 Position = High Time = T4 Position = High Time = T5 = 508 msec Maximum count Position = Low Time = T6 Position = High Time = T7 Position = Low Time = T8 Noise During OFF Time High threshold Low threshold t0 T2 T3 T5 T6 T7 T9 T4 <= MaxReportedONTimeNoiseInterval* The algorithm will interpret T4 as an ON time T8 <=MaxReportedOFFTimeNoiseInterval* The algorithm will interpet T8 as an OFF time OFF Time = t0 ON Time = T2 + T3 + T4 + T5 + T6 OFF Time = T7 + T8 + T9 * The MaxReportedONTimeNoiseInterval and MaxReportedOFFTimeNoiseInterval variables are initialized in the initialization portion of the software algorithm and can be assigned to other values as desired. Figure 3 - Two Noise Secenarios Considered by the Algorithm 6

Application Note MSAN-178 OFF Time t1 ON Time t3 OFF Time High Threshold Level Low Threshold Level t4 1 Noise During ON Time 1 2 Actual Noise Interval Peak Detector Following the Signal Envelope 25 msec Leaky Hold Time t2 <= MaxReportedONTimeNoiseInterval High Threshold Level Low Threshold Level 2 msec Exponential Decay t1 Interrupt P=0, t1 Interrupt P=1, t2 t3 2 Noise During OFF Time Peak Detector Following the Signal Envelope 25 msec Leaky Hold Time High Threshold Level Low Threshold Level t4 Interrupt P=1, t4 Interrupt P=0, t5 2 msec Exponential Decay t5 <= MaxReportedOFFTimeNoiseInterval Figure 4 - Noise During ON-OFF Intervals 7

MSAN-178 Application Note 5.0 Algorithm Source Code The program assumes that the Position and Cadence information is stored in Position_Cadence [] array. The program stores the results in the Interval_Cadence[] array, i.e. "ON/OFF Time" string and the ON/OFF time interval in msec........ // Initialization #define Low 0; #define High 1; #define MaxReportedONTimeNoiseInterval 15; #define MaxReportedOFFTimeNoiseInterval 40; // 15 msec // 40 msec = 25 msec Leaky Hold Time + 15 msec #define Min_Row 1; #define Max_Row 16; T_previous = 0; T_present = 0; P_previous = Low; P_present = Low; // Previous cadence time in msec // Present cadence time in msec // Previous position bit // Present position bit....... for(row_number = Min_Row ; Row_Number < Max_Row ; Row_Number++) // First and only for() loop // ON time noise rejection // if(present_position = 0 AND next_position = 1 AND previous_position = 1) if(((position_cadence [Row_Number].position == Low)&& (Position_Cadence [Row_Number + 1].position == High))&& (Position_Cadence [Row_Number - 1].position == High)) if(position_cadence[row_number + 1].cadence <= MaxReportedONTimeNoiseInterval) // complement the P bit: present_position = 0 -> 1 P_present =!( Position_Cadence [Row_Number].position); else P_present = Position_Cadence [Row_Number].position; } // OFF time noise rejection // elseif(present_position = 1 AND next_position = 0 AND previous_position = 0) else if(((position_cadence [Row_Number].position == High)&& (Position_Cadence [Row_Number + 1].position == Low))& (Position_Cadence [Row_Number - 1].position == Low)) 8

Application Note MSAN-178 if(position_cadence[row_number + 1].cadence <= MaxReportedOFFTimeNoiseInterval) // complement the P bit: present_position = 1 -> 0 P_present =!( Position_Cadence [Row_Number].position); else P_present = Position_Cadence [Row_Number].position; } else P_present = Position_Cadence [Row_Number].position; // Compute ON or OFF time T_present = Position_Cadence [Row_Number].cadence; // Low to High, Calculate OFF Time if(p_present == High) // P_present = 1 if(p_previous == High) // P_previous = 1, Add consecutive ON time intervals T_previous = T_present + T_previous; else // P_previous = 0 T_off = T_previous + T_present; T_previous = 0; T_present = 0; // Store OFF Time in the Interval_Cadence array Interval_Cadence[Row_Number].interval = "OFF Time ; // Store the OFF time value in the Interval_Cadence array Interval_Cadence[Row_Number].cadence = T_off } } // High to Low, Calculate ON Time else // P_present = 0 if(p_previous == High) // P_previous = 1 T_on = T_previous + T_present; T_previous = 0; T_present = 0; // Store ON Time in the Interval_Cadence array Interval_Cadence[Row_Number].interval = "On Time"; // Store the ON time value in the Interval_Cadence array 9

MSAN-178 Application Note Interval_Cadence[Row_Number].Cadence = T_on; } else // P_previous = 0 T_previous = T_present + T_previous; } P_previous = P_present; } // End of the for() loop....... 10

Application Note MSAN-178 Notes: 11

For more information about all Zarlink products visit our Web Site at www.zarlink.com Information relating to products and services furnished herein by Zarlink Semiconductor Inc. trading as Zarlink Semiconductor or its subsidiaries (collectively Zarlink ) is believed to be reliable. However, Zarlink assumes no liability for errors that may appear in this publication, or for liability otherwise arising from the application or use of any such information, product or service or for any infringement of patents or other intellectual property rights owned by third parties which may result from such application or use. Neither the supply of such information or purchase of product or service conveys any license, either express or implied, under patents or other intellectual property rights owned by Zarlink or licensed from third parties by Zarlink, whatsoever. Purchasers of products are also hereby notified that the use of product in certain ways or in combination with Zarlink, or non-zarlink furnished goods or services may infringe patents or other intellectual property rights owned by Zarlink. This publication is issued to provide information only and (unless agreed by Zarlink in writing) may not be used, applied or reproduced for any purpose nor form part of any order or contract nor to be regarded as a representation relating to the products or services concerned. The products, their specifications, services and other information appearing in this publication are subject to change by Zarlink without notice. No warranty or guarantee express or implied is made regarding the capability, performance or suitability of any product or service. Information concerning possible methods of use is provided as a guide only and does not constitute any guarantee that such methods of use will be satisfactory in a specific piece of equipment. It is the user s responsibility to fully determine the performance and suitability of any equipment using such information and to ensure that any publication or data used is up to date and has not been superseded. Manufacturing does not necessarily include testing of all functions or parameters. These products are not suitable for use in any medical products whose failure to perform may result in significant injury or death to the user. All products and materials are sold and services provided subject to Zarlink s conditions of sale which are available on request. Purchase of Zarlink s I 2 C components conveys a licence under the Philips I 2 C Patent rights to use these components in and I 2 C System, provided that the system conforms to the I 2 C Standard Specification as defined by Philips. Zarlink and the Zarlink Semiconductor logo are trademarks of Zarlink Semiconductor Inc. Copyright 2001, Zarlink Semiconductor Inc. All Rights Reserved. TECHNICAL DOCUMENTATION - NOT FOR RESALE

For more information about all Zarlink products visit our Web Site at www.zarlink.com Information relating to products and services furnished herein by Zarlink Semiconductor Inc. or its subsidiaries (collectively Zarlink ) is believed to be reliable. However, Zarlink assumes no liability for errors that may appear in this publication, or for liability otherwise arising from the application or use of any such information, product or service or for any infringement of patents or other intellectual property rights owned by third parties which may result from such application or use. Neither the supply of such information or purchase of product or service conveys any license, either express or implied, under patents or other intellectual property rights owned by Zarlink or licensed from third parties by Zarlink, whatsoever. Purchasers of products are also hereby notified that the use of product in certain ways or in combination with Zarlink, or non-zarlink furnished goods or services may infringe patents or other intellectual property rights owned by Zarlink. This publication is issued to provide information only and (unless agreed by Zarlink in writing) may not be used, applied or reproduced for any purpose nor form part of any order or contract nor to be regarded as a representation relating to the products or services concerned. The products, their specifications, services and other information appearing in this publication are subject to change by Zarlink without notice. No warranty or guarantee express or implied is made regarding the capability, performance or suitability of any product or service. Information concerning possible methods of use is provided as a guide only and does not constitute any guarantee that such methods of use will be satisfactory in a specific piece of equipment. It is the user s responsibility to fully determine the performance and suitability of any equipment using such information and to ensure that any publication or data used is up to date and has not been superseded. Manufacturing does not necessarily include testing of all functions or parameters. These products are not suitable for use in any medical products whose failure to perform may result in significant injury or death to the user. All products and materials are sold and services provided subject to Zarlink s conditions of sale which are available on request. Purchase of Zarlink s I 2 C components conveys a licence under the Philips I 2 C Patent rights to use these components in and I 2 C System, provided that the system conforms to the I 2 C Standard Specification as defined by Philips. Zarlink, ZL and the Zarlink Semiconductor logo are trademarks of Zarlink Semiconductor Inc. Copyright Zarlink Semiconductor Inc. All Rights Reserved. TECHNICAL DOCUMENTATION - NOT FOR RESALE