AlgoTron DSP Software for Telecoms & Audio
a TI DSP Third Party Network Member

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us

Contact us


Caller ID Generator (Standard) TMS320C5000 DSP Code

Description: implements Caller IDentity - CID - generation for communicating call data on-hook over telephone lines to subscribers, before the 1st ring or between the 1st and 2nd rings. CID is sent from the local exchange using ITU V.23 or Bell 202 modem signals. A pre-amble of CSS data then mark carrier is followed by the message byte data, terminated with a checksum byte. The data is normally in multiple parameter groups eg of date/time, caller name/number, but may be a single parameter group.
The CID Generator - Encoder+Transmitter - is used at the exchange end and is for "standard" locales - eg ETSI, UK SIN 227, US Bellcore SDMF/MDMF, Bell Canada - but not for Japan. The software function summary is:

CID Encoder - sequences the pre-amble of channel seizure and mark carrier signals for user-set periods, then bytes from the message data buffer, and finally the formed checksum byte

The Encoder generates line signal samples using the following routine, available on its own:

CID Transmitter (as used with "Japan" CID) - accepts pre-amble or message data bytes adding start/stop bits then, with per-sample timing for 1200b/s, frequency-modulates at (selectably) either V.23 (1300Hz Mark, 2100Hz Space) or Bell 202 (1200Hz Mark, 2200Hz Space) to generate each transmit sample

The Generator requires a buffer of the complete message data to be pre-loaded at the user interface in parameterised byte form, excluding the checksum byte. Message parameterisation in the user code gives flexibility in dealing with Caller ID categories. The message buffer format is 2 per 16-bit word for efficiency in multi-channel use.
Each function has an initialisation routine and a per-sample main routine and is re-entrant with memory offset-addressing for multi-channel operation. As well as from assembler, the routines can also be called from C, wrappers being provided. The C main routines enable multiple sample blocks to be processed. Sample rates of 8.0kHz or 9.6kHz can be set. A comprehensive user's guide is provided with the code.

Processor Load:

Function MIPS# Data memory (words) Prog memory (words)#
CID-S Generator (Encoder+Transmitter) 0.40 4 + (5 + M) x N 128
CID Transmitter only 0.26 4 + 4 x N 64

- #figures are for TMS320C54x operation with the assembler interface at 8.0kHz sampling
- in data memory figures M is the user-set buffer size at 2 bytes per word and N is no. of channels

Availability: NOW - sale is under licence - integration support offered

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us