| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Literature Number: BPRA056 Texas Instruments Europe July 1997 IMP
Top Searches for this datasheetCaller TMS320C2xx Literature Number: BPRA056 Texas Instruments Europe July 1997 IMPORTANT NOTICE Texas Instruments (TI) reserves right make changes products discontinue semiconductor product service without notice, advises customers obtain latest version relevant information verify, before placing orders, that information being relied current. warrants performance semiconductor products related software specifications applicable time sale accordance with TI's standard warranty. Testing other quality control techniques utilized extent deems necessary support this warranty. Specific testing parameters each device necessarily performed, except those mandated government requirements. Certain applications using semiconductor products involve potential risks death, personal injury, severe property environmental damage ("Critical Applications"). SEMICONDUCTOR PRODUCTS DESIGNED, INTENDED, AUTHORIZED, WARRANTED SUITABLE LIFE-SUPPORT APPLICATIONS, DEVICES SYSTEMS OTHER CRITICAL APPLICATIONS. Inclusion products such applications understood fully risk customer. products such applications requires written approval appropriate officer. Questions concerning potential risk applications should directed through local sales office. order minimize risks associated with customer's applications, adequate design operating safeguards should provided customer minimize inherent procedural hazards. assumes liability applications assistance, customer product design, software performance, infringement patents services described herein. does warrant represent that license, either express implied, granted under patent right, copyright, mask work right, other intellectual property right covering relating combination, machine, process which such semiconductor products services might used. Copyright 1997, Texas Instruments Incorporated Contents What Caller-ID Physical Layer Datalink Layer.2 1.2.1 Channel Seizure 1.2.2 Mark Signal 1.2.3 Message Type 1.2.4 Message Length 1.2.5 Message (Presentation Layer).2 1.2.6 Checksum Presentation Layer.3 1.3.1 Parameter Type.3 1.3.2 Length Caller-ID message 1.3.3 Received Characteristics V.23 Signals Software Performance. MIPs.8 Generation Routines (Fskgen25/50.asm) Caller Generation 3.1.1 Init_V23/Init_BEL202 3.1.2 GetCID 3.1.3 Seizure 3.1.4 Mark 3.1.5 RunOff 3.1.6 Finished.10 3.1.7 Message.10 3.1.8 Sample 3.1.9 Symmetrical Compression.10 3.1.10 Variables Caller Receive Routines (Fskrcv.asm) Caller Receiver.11 4.1.1 Standard(s) Background Caller TMS320C2xx 4.1.2 resV23 4.1.3 Wait Seizure. 4.1.4 Started 4.1.5 Ended 4.1.6 4.1.7 Wait 4.1.8 Wait Seizure 4.1.9 Seizure Ended 4.1.10 Caller Demodulation Background 4.2.1 V23rx (Demodulation) 4.2.2 Data Carrier Detect (DCD) 4.2.3 Phase Detect 4.2.4 Extract 4.2.5 Clock/Byte Extract. Additional Function Based Systems. 4.3.1 Alert 4.3.2 ADSI Main Code Tone Generation Routines (Tone.asm) INITDTMF TONE_SAMP. Literature Number: BPRA056 List Figures Figure Frequency Filter ADSI Alert.15 Figure High Frequency Filter ADSI Alert Caller TMS320C2xx List Tables Table Actual DTMF Frequencies Generated. Literature Number: BPRA056 Caller TMS320C2xx ABSTRACT Caller method transmitting telephone number and/or name caller subscriber burst BEL202 data during ringing phase telephone call. Various methods signaling start this message used different countries this report attempts identify near universal core routine handling messages within environment. ADSI extension Caller-ID used some countries deliver menu driven options feature phones, basic signaling same Caller-ID except that messages sent during call phase, there full acknowledgment request send data. This report covers reception decoding either Caller-ID ADSI burst, does cover interpretation burst recognition non-DSP signaling, such ringing line reversal that occur start, need switch matching impedance onto line. These considered part micro-controller function. This application report designed used with Texas Instruments Caller-ID software package. What Caller-ID Below example typical Caller-ID specification, some parameters however vary between countries. Physical Layer Signaling occur either idle state loop state. data transmitted physical layer consists 8-bit characters transmitted asynchronously, preceded start followed minimum stop bit. With exception mark signal immediately following channel seizure, more than stop bits transmitted between characters. Values octets given following format: (Order bits first last) where start stop most significant least significant numbers Octets transmitted with most significant octet first. Caller TMS320C2xx Datalink Layer datalink layer provides framing data into packets that distinguished from noise, error detection form checksum. Channel Seizure Mark Signal Message Type Message Length Message (Presentation Layer) Check -Sum 1.2.1 Channel Seizure channel seizure consists continuous sequence alternate bits 1200 bits/s. purpose channel seizure minimize possibility noise mimicking genuine carrier. length channel seizure seen terminal equipment least bits ms). longer, bits (262 1.2.2 Mark Signal mark signal seen terminal equipment least bits continuous mark condition (equivalent series stop bits, data being transmitted). 1.2.3 Message Type message type single binary byte. value depends application. 1.2.4 Message Length message length single binary byte indicating number bytes message, excluding message type, message length, checksum bytes. This allows message between bytes. 1.2.5 Message (Presentation Layer) message consists between bytes, according message length field. This presentation layer message (explained later). 8-bit value sent, depending requirements presentation layer application. 1.2.6 Checksum checksum consists single byte equal two's complement bytes starting from "message type" word message block. Carry from most significant ignored. receiver must compute 8-bit bytes starting from "message type" including checksum. result must zero message will assumed corrupt. Literature Number: BPRA056 Presentation Layer Parameter Type Parameter Length Parameter Byte(s) Parameter Type Parameter Length Parameter Byte(s) fields Parameter Type, Length, Byte, together describe presentation layer parameter, repeated. Parameter Type will discussed more fully next section. Parameter Length single binary byte value between 255. Basic Mode complete message must contained within single datalink packet, this means that total length presentation layer parameters must exceed bytes. Parameter Byte(s) contains zero more bytes application related information. information contained this parameter should encoded local country specific character set. Most countries some variant ISO8859-1 (i.e., this ASCII, IA5). these coding variations similar have national characters currency accents. This display requirement transparent carrying reception 1.3.1 Parameter Type There currently eight parameter types associated with Caller-ID Parameter Type Value 00010001 00000001 00000010 00000011 00000100 00000111 00001000 00010011 Parameter Name Call Type Time Date Calling line directory number (DN) Called directory number Reason absence Caller name/text Reason absence name Network message system status calling line directory number number line from which call made, substitute presentation number. called directory number number that called. This significance when call been diverted. There parameters other types present. call type parameter, present, will always sent first. Other parameters sent order. least seven these eight parameters must recognized CLIP service (Called directory number necessary). Parameters sent with zero length. such cases, parameter length will zero checksum will correct. Parameters usually encoded IA5. version used 7-bit code sent 8-bit bytes with most significant zero. Non-displayable characters (codes 0-32 decimal) used. tables following, byte number sent first, followed byte number Caller TMS320C2xx 1.3.1.1 Call Type Parameter Byte Number Contents Call Type Parameter Type Code(00010001) Parameter Length(1) Call Type 00000001 voice call 00000010 ring-back-when-free call 10000001 message waiting call call type parameter omitted then call type "voice call". Additional Call Types defined later. Other call types (i.e., FAX, will used when they available). "message waiting" call type used give indication message from specific caller. 1.3.1.2 Time Date Parameter Time parameter indicates date time (+/- minute) event associated with supplementary information message. Where call type value (01111111) less, then time current time used internal terminal equipment clocks calendars. "message waiting" call type time date refer time message left recovered. other call types with value (10000000) greater, time date refer some unspecified event necessarily current time Byte Number 9,10 Contents Time Date parameter type code(00000001) Parameter length Month Hours Minutes 1.3.1.3 Calling Line Directory Number Parameter maximum length number sent characters. first digit sent byte Calling Line Directory Number number that used call back caller, same service. directory number originating call. example, 0800 associated with caller. Where alternative directory number caller sent, this known Presentation Number. There indication which type number sent; this change. only partial number known then that partial number sent. This will followed "-". instance, where call comes from outside digital network area code still sent shown 01604-66-or, international call from France; Literature Number: BPRA056 Byte Number Contents Calling Line Directory Number parameter type code(00000010) Parameter length First digit Second digit digit 1.3.1.4 Reason Absence Directory Number Parameter Byte Number Contents Reason Absence parameter type code(00000100) Parameter length Reason reason will following IA5-encoded values "Number Withheld" "Number Unavailable" 1.3.1.5 Called Directory Number Parameter Called Directory Number telephone number used caller when making call. maximum length characters sent first digit number sent byte second byte Byte Number Contents Called Directory Number Parameter type code(00000011) Parameter length First digit Second digit digit 1.3.1.6 Caller Name/Text parameter launch service Caller Name will available, parameter will contain text only. Name/Text consists between characters. parameter used other information when name available. Caller TMS320C2xx Byte Number Contents Caller Name/Text Parameter type code(00000111) Parameter length First character Second character character 1.3.1.7 Reason Absence Name Parameter reason will following IA5-encoded values "Name Withheld" "Name Unavailable" Byte Number Contents Reason Absence Name type code(00001000) Parameter length Reason 1.3.1.8 Network Message System Status Parameter value Network Message System Status parameter binary encoded value indicating number messages waiting message system. means messages, means unspecified number; other values indicate that number messages waiting. This parameter necessarily associated with normal phone call, will probably sent ring call. Byte Number Contents Network System Message Status Parameter (00010011) Parameter length Network System Message Status Unless Call Type parameter also set, then time parameter sent with Network System Status parameter will indicate current clock time. This enable terminal equipment assume time current time internal clock where Call Type parameter sent. 1.3.2 Length Caller-ID message longest Caller-ID message, excluding datalink layer information currently bytes. This length expected call types "Voice", "Ring-back-when-free", "Message Waiting". future there additional parameters that could extend message length, these will sent after parameters Call Type, caller number, name/text, reason absence name number, Network Message System Status. Literature Number: BPRA056 1.3.3 Received Characteristics V.23 Signals Modulation Mark (Logic Space (Logic Received signal level mark Received signal level space Signal level differential Unwanted signals Transmission rate Data format 1300 1.5% 2100 1.5% -8dBV -40dBV -8dBV -40dBV received signal levels differ Total power extraneous signals voice band least 20dB below signal levels 1200 baud Serial binary asynchronous start first, then data bits with least significant first, followed stop minimum, stop bits maximum. Start stop Caller TMS320C2xx Software Performance Texas Instruments Caller ADSI code implements basic rate caller function (for both transmitter receiver during call set-up) and, additionally, receiver only more advanced full alert/acknowledge signaling off-hook data transmission. cases 1200 Baud V23/BEL202 used basis signaling data message (Caller message). Please note that code described this documentation evaluation code that been generated determine MIPs requirements, only been tested basic self loop-back functionality; been verified against published standards V23, BEL202, Caller-ID other standards. Coding been based draft specifications both British French Caller-ID standards. MIPs Below MIPs memory requirements Caller-ID software subroutines. 320C2x 58C80 Generate Receive Ring Receive Receive Auto Generate Receive Ring Receive Receive Auto Generate Receive Ring Receive Receive Auto Cycles 52/69 195/172 195/172 281/172 57/76 200/169 200174 287/169 47/59 196/167 196/172 271/167 320c2xx 320c5x First figure cycles table maximum number second typical, maximum occur maximum cycles every cycles. worst case scenario max., nom, max., max. nom,. Literature Number: BPRA056 Generation Routines (Fskgen25/50.asm) Caller Generation This software takes message pointed data memory generates sequence serial modem output based complete Caller-ID transmission. message pointed must have following structure. Word SeizCnt=x MarkCnt=y DataCnt=z Data Words Meaning length line seizure burst will 10*x+6 bits length mark burst will 10*y bits next words contain Caller-ID message lower byte each word. Each word contained Byte Caller-ID data. 3.1.1 Init_V23/Init_BEL202 These subroutines initialize modulator generate either BEL202 modem tones, extract data lengths from message passed Caller-ID generator into state "Seizure" 3.1.2 GetCID This subroutine generates 8kHz sample output modem wave-form. first checks serial buffer variable "InMask" determine there room parallel/serial data stream another bits (start, byte, stop). not, goes straight Sample generate next modem sample. there room more data branches state "State" inserts next byte serial data. Operation defined neither Init_V23 Init_BEL202 been called first. 3.1.3 Seizure Inserts bits seizure data serial stream, decrements number samples left, when more samples sets state Mark. 3.1.4 Mark Inserts bits mark data serial stream, decrements number samples left, when more samples sets state Message. 3.1.5 RunOff Performs remaining serial data once message data been serial buffer. When more samples, sets state Finished. Caller TMS320C2xx 3.1.6 Finished Outputs zero value modem value indicate whole message been transmitted, also outputs zero GetCID called additionally after completion. 3.1.7 Message Inserts into serial stream bits data consisting start bit, serial data bits (one byte) stop bit. When more samples, sets state RunOff. 3.1.8 Sample Generates modem sample based current transmission, advances phase frequency dependent amount, adjusting 24kHz common denominator 1200 baud data 8kHz sample data boundary bits generate output "phase". 3.1.9 Symmetrical Compression Compresses calculate "phase" bits truncation, then symmetry look wave table, then re-expands regenerate negative half cycle. 3.1.10 Variables State BytePtr SeizCnt DataCnt Address routine present state message generator. Parallel Data Pointer. samples Seizure left serialize. samples Mark left serialize. bytes Caller-ID data left serialize. 8kHz Phase Change logic 24kHz Phase Change difference between logic Zero logic One. Serial Data Stream. Valid bits "Input". 24kHz samples remaining current bit. Output Phase pointer modem data. serial data output sample. MarkCnt DigitOne DigitZero Input InMask BitTime Phase Literature Number: BPRA056 Caller Receive Routines (Fskrcv.asm) Caller Receiver 4.1.1 Standard(s) Background There alternatives signaling start Caller-ID common usage. These commonly described "before first ring" "after first ring". "before first ring", start Caller-ID message signaled alert tone commonly called either "Idle state tone alert" "Customer Premises Equipment alert" (CPE), whereas, "after first ring", ring itself that signals burst data. former systems more user-friendly that, user answers quickly, they don't burst modem data and/or lose Caller-ID data they require more complex software detect. Some countries have opted both systems, indeed some countries, such United Kingdom, both systems common use, with British Telecom using "before" system some combined cable TV/phone companies using "after" system. This software takes serial data either BEL202 format regenerates transmitted Caller-ID message. code follows state machine shown below right, each these blocks described more detail below. 4.1.2 resV23 This subroutine resets receiver. Reset Wait Seizure V23Data Carrier Detected Starts 4.1.3 Wait Seizure Label: RX_CID Ends Hook Started Ends Hook Ended Samples Here This subroutine takes received 8kHz line value accumulator calls Samples Here standard receive then 1600 Samples Here Wait examines data extract Data Carrier Detected Caller-ID message. local variable Wait Seizure lost "CIDstat" mirrors message states Caller-ID protocol. lost Seizure Ended subroutine first calls V23rx (see later). Seizure Burst lost Three situations occur CallerID Message already been detected, continues decode received data. detected already been detected, state machine forced into state "Wait Seizure" forcing "CIDstat" Wseiz Caller TMS320C2xx Continues with normal state machine processing. 4.1.4 Started Label: StCPE Waits burst then, hook, sets state Wseiz hook, sets state EndCPE. 4.1.5 Ended Label: EndCPE Waits samples then sets state AckCPE. 4.1.6 Label: AckCPE Sends sample burst DTMF tone then sets state WaitV23. 4.1.7 Wait Label: WaitV23 Waits 1600 samples carrier detect before abandoning sequence. When goes active sets state WSeiz. 4.1.8 Wait Seizure Label: WSeiz Waits burst alternating marks spaces received. This will received 0x55. When received, sets state Seiz. 4.1.9 Seizure Ended Label: Seiz Waits seizure burst throwing away additional 0x55's received. burst 0x55's, during switch mark, erroneous character received (0x57,0x5f,0x7f 0xff) first byte Caller-ID message, 0x80. This routine ignores false seizure-mark byte passes valid message byte CIDmsg; either case "CIDstat" CIDmsg. 4.1.10 Caller Label: CIDmsg Literature Number: BPRA056 Outputs valid bytes parallel output port until loss indicates message. Demodulation Background decoder software capable decoding data transmitted either Bell 1200 baud standards with start, data stop symbol. modem data decoded using digital quadrature demodulation techniques. Although BEL202 modulation, this demodulator uses BPSK (binary phase shift key) core. beyond scope this report shown that BPSK=FSK with modulation index 0.25, with carrier frequency 1700Hz both BEL202, this corresponds frequencies 1275Hz 2125Hz. Both BEL202 standards close enough these frequencies demodulated transparently whichever standard actually being used. 16384 BEL202 106o (0,1) 135o (0,0) 32767 -32768 Ref. Phase (1,1) 225o BEL202 254o -16384 (1,0) 315o 276o relative phase difference adjacent bits different V23/V26 BEL202 standards shown plot alongside. seen, both BEL202 logic represented positive phase change logic negative phase change. actual phase demodulator capable handling more complex modem standards such QPSK. points, also shown diagram, phase positions QPSK decoder. reference frequency this is1800Hz while V23/BEL202 reference frequency 1700Hz. right plot phase difference within BPSK demodulator typical received byte sequence minimum signal level which detection required. seen, detection quite clean even this poor signal level. From left right bits stop, data data, start. (only this message). 4.2.1 V23rx (Demodulation) This subroutine demodulates data received "V23Sig". First, updates phase oscillators advancing 1700Hz (carrier), then mixes each produce phase quadrature base-band signal. Caller TMS320C2xx These then low-pass filtered with raised cosine remove higher frequency components from mixing. resultant phase quadrature amplitudes squared added give real square amplitude. 4.2.2 Data Carrier Detect (DCD) This takes square amplitude incoming data, averages over time, then compares instantaneous amplitude with long term average amplitude check stable amplitude type signal. instantaneous amplitude variation again lowpass filtered ignore spikes produce data carrier detect. Overall, value will negative when signal <6dB amplitude variation over approximately periods. 4.2.3 Phase Detect measured amplitude used generate Automatic Gain Control signals, which normalized 0dBm0 signal, MSB's each signals then merged into byte arc-tangent taken determine phase signal. order keep mathematics easier later, circle divided into "degrees" rather than usual 360, this means that, when phase comparison performed, module arithmetic used overflows ignored. 4.2.4 Extract comparing phase current sample with phase samples previously, frequency obtained over last period relative 1700Hz mixing signal. phase difference negative, then frequency below 1700Hz one) sent. Conversely, positive, frequency above 1700Hz zero) sent. simple +/comparison found give sufficiently error rate though margin could introduced further improvement. transmitted stream been reconstructed thus possible extract data. 4.2.5 Clock/Byte Extract First check data carrier. detected, then signal Carrier calling routine. Once carrier been detected, change state Carrier Idle start looking negative phase indicate logic start bit. soon detected, this indicates beginning byte clock times. first subsequent data bits will then sampled middle (hopefully); continue sample intervals until data bits have been received then check stop bit. lost, then throw away data. When stop successfully sampled, state Carrier Stop. calling software extract data from "Data", start looking another start bit, extraction clock re-synchronized each byte true "asynchronous" manner. Literature Number: BPRA056 Additional Function Based Systems. 4.3.1 Alert Software detect alert signal which consists dual tone 2130Hz 2750Hz respond transmitting required DTMF back exchange. alerting signal will detected 32-40ms after start alert transmission. After alert tone been detected, code will return mute request code, 20ms later will transmit 50ms Acknowledge signal (DTMF code will then wait 200ms data appear line. data appears, will demodulated. data appears, then will revert waiting alert signal. When on-hook state, alert/acknowledge cycle bypassed code will decode data present line. filter response curves individual tone detection filters alerting signal shown figures below. Each filter order resonator made bi-quads. closeness frequencies bandwidths within which signals must recognized, filters incorporate notch midway point between frequencies (2440Hz) prevent single frequency this level falsely triggering both resonators would occur simpler filter designs were used. order ensure recognition signal, which 38dB below speech level though present relatively long time, filters with stop-band rejection least 40dB required. These filters have stop band rejection 60dB. Figure Frequency Filter ADSI Alert Caller TMS320C2xx Figure High Frequency Filter ADSI Alert 4.3.2 ADSI Main Code following global variables should initialized before calling interrupt service routine. V23Sig OnHook latest sample from incoming line format Should contain phone currently hook phone currently hook. NoCPE StCPE Alert detected Start Alert detected After calling, information available following variables: CPEstate EndCPE Alert detected AckCPE Data register contains Acknowledge signal format WaitV23 Waiting start data Wseiz Seiz State 0x00 0x01 0x03 0xy3 0x05 Waiting Seizure burst Waiting Seizure burst Carrier Detected Carrier Detected, data transmission Start byte detected byte received Stop detected, Data register contains received byte lSB's CIDmsg Processing message Literature Number: BPRA056 Data This location contains either acknowledge signal format received data byte depending state indicated status words. "CPEstate" StCPE higher, then main routine should mute handset keypad telephone. routine only called when either "OnHook" indicates phone hook "CPEstate" indicates that data expected. Caller TMS320C2xx Tone Generation Routines (Tone.asm) INITDTMF This subroutine takes digit passed Accumulator resets tone generation variables generate samples this DTMF tone. digits should passed *,10; #,11; A-D, 12-15. must called before first call TONE_SAMP. This subroutine called directly dialing purposes during call set-up, reducing need separate dialer chip. TONE_SAMP This subroutine requires parameters returns accumulator next sample DTMF tone format output line. This subroutine called directly dialing purposes during call set-up, reducing need separate dialer chip. values programming DTMF dial tones stored internally loaded INITDTMF. actual frequencies generated shown table below. Table Actual DTMF Frequencies Generated Required Frequency Actual Frequency 696.97 770.02 852.02 940.99 Error +0.0045% +0.0025% -0.0027% -0.0006% Required Frequency 1209 1336 1477 1633 Actual Frequency 1208.98 1335.98 1476.98 1632.99 Error -0.0013% -0.0016% -0.0013% -0.0004% Literature Number: BPRA056 Caller TMS320C2xx Other recent searchesPT6650 - PT6650 PT6650 Datasheet PLT131 - PLT131 PLT131 Datasheet LA29B - LA29B LA29B Datasheet 4GYHY - 4GYHY 4GYHY Datasheet ISL9R18120G2 - ISL9R18120G2 ISL9R18120G2 Datasheet ISL9R18120P2 - ISL9R18120P2 ISL9R18120P2 Datasheet ISL9R18120S3S - ISL9R18120S3S ISL9R18120S3S Datasheet ISL9301 - ISL9301 ISL9301 Datasheet HBC310X075 - HBC310X075 HBC310X075 Datasheet BYW4200B - BYW4200B BYW4200B Datasheet BL55076 - BL55076 BL55076 Datasheet AS1916 - AS1916 AS1916 Datasheet AS1918 - AS1918 AS1918 Datasheet
Privacy Policy | Disclaimer |