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 Recommendation V.42 for error correction in full-duplex telephone modems by data re-transmission. V.42 is an HDLC error-protection protocol specifically for ITU V-series telephone modems, termed LAPM.
         Following the modem data pump handshake, the LAPM protocol first sends unique data patterns to connect at V.42 if the far-end is 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 to the frame then its re-transmission is requested. Data rates can be asymmetric in direction.
         The software can assembled in 2 modes. In REJ-only mode, REJ being the mandatory option under V.42, on frame error detection all frames from the one rejected are resent. Then, due to latency delays, some correct data frames must be re-sent. In s-SREJ mode, which is optional under V.42 and requires the far-end to agree, only rejected frames are resent, with all correct frames in transit being retained. This mode is more efficient, leading to a gain of 2 or more in throughput in high error rate conditions, at a slight cost in increased program size and receive buffer memory. In either mode, flow control in the individual directions can be accomplished by monitoring 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. The code is re-entrant to facilitate multi-channel operation. The code can be operated directly at the assembler interface, but a C-callable wrapper can also be provided. This allows individual channels to be called from C. A comprehensive user's guide and 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 (words)
REJ option 2.5 1.2k 1.5k
s-SREJ option 2.5 2.2k 1.8k

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

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

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us