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


V.42 Modem Error Correction TMS320C5000 DSP Code

Description: this software implements the ITU Error Correction function V.42 for data transmission by full-duplex telephone modems. V.42 is an HDLC error-protection protocol termed LAPM, formulated specifically for telephone modems. Data rates can be asymmetric in each direction.
         The LAPM protocol first sends an initial handshake immediately after the modem data pump handshake is concluded to determine whether the far-end is V.42-compatible. If not then transmission falls back to start-stop bit octet formatting. On V.42 establishment, data is sent in frames of octets with a CRC (cyclic redundancy check) remainder attached. If on reception the computed CRC does not agree with that attached then frame re-transmission is requested.
         The software can assembled in 2 modes. In REJ mode, the mandatory option under V.42, rejected frames are resent from the last one accepted which involves some resending of correct data. In s-SREJ mode, which is optional under V.42 and requires a compatible far-end, any frames rejected are resent singly. This is more efficient and leads to a gain of 2 or more in throughput under high frame error rate conditions. However the program size and receive buffer memory are somewhat increased. In either mode, flow control in the transmit and in the receive directions can be automatically and separately accomplished by the rate at which the transmit and receive buffers are accessed.
         The software is in the form of callable subroutines to handle initialisation and to exchange data between the user interface and the modem data pump interface of the V.42 function. The user is responsible for interfacing data input and output. In the assembler interface, the code is re-entrant to facilitate multi-channel operation. A C-callable wrapper can also be provided, allowing individual channels to be called from C. A comprehensive user's guide together with example application files are provided with the code. Test results are available.

Interfaces: subroutine calls are provided so the user can both load the transmit octet buffer and empty the receive octet buffer. At the data pump interface, further subroutine calls are available to transfer data in transmit and receive directions in 16-bit blocks. To provide timer information, an additional subroutine call must be made on a regular-timed basis. At the control interface, one 16-bit control word is used to sequence operation and to report on V.42 status.

Processor Load:

Mode MIPS# Data memory (words) Prog memory (bytes)#
REJ option 2.71 1.3k$ 1.7k
s-SREJ option 2.71 1.7k 1.9k

- #figures are for TMS320C54x operation with the assembler interface
- the MIPS figure is for 33.6kb/s full-duplex (the value scales roughly proportionate to the aggregate data rate of both directions)
- $with reduced receive buffer size

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

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us