Communication
      Automation

Corporation    

  About CAC    

          CAC Overview    

          CAC in the News    

          ADU - Algorithmic

  Development Unit
    

  Product    

          Index    

          Archives    

  Documentation    

          Manuals    

          Brochures    

  Software    

  Sales Offices    

          North America    

  Contact CAC to:    

          Register for

  Announcements    

          Request Technical

  Support    

          Send Us Your

  Requirements

    



 

S-Bus DSP32C Software

The E1/T1 Application Program Interface (API) provides an easy method for interfacing to the timeslots of the E1/T1 data stream. The API manages the DSP32C on the SB32C2 board. Since the DSP code is provided as part of the API, the user can focus on developing the host side of the application. The API consists of a library of C-language functions, a DSP-to-host interrupt handler and a DSP program. The host library provides functions for the following operations:
  • open the DSP
  • download the DSP program
  • configure the E1/T1 framer
  • open individual E1/T1 timeslots for reading or writing
  • install a user error condition handler
  • suspend the process until a specified number of bytes of timeslot data has been received on a given channel
  • support of bonded E1/T1 timeslot channels
  • support of CAS timeslot 16 signaling information

The DSP32C program interfaces to the E1/T1 framer, packs the host timeslot data buffers into outgoing E1/T1 frames, unpacks the incoming E1/T1 frames into the host timeslot and notifies the host of error conditions such as loss of sync. A host program demonstrates the E1/T1 API functions.

By configuring the E1/T1 framer for internal loop back, the program opens a number of timeslots for reading and writing and then transmits a rolling count. The program verifies the rolling count is properly received.

S-Bus Audio Demo
The audio demo captures and plays back audio data through the S-Bus board's codecs. The host program downloads a DSP program and transfers the audio data between the file and the S-Bus board. The format of the audio data can be 8 or 16-bit linear, µ-law, A-law or ADPCM. The DSP program manages the buffering of the audio data and converts the audio data into the codec's 16-bit linear format. The sampling frequency of the audio data is selectable from 7.35 kHz to 48 kHz.

T1/E1 Control Functions:
The following functions are distributed with the CAC SB32C2 application software libraries for use with the SBE1 mezzanine. Corresponding T1 functions are also distributed.


sbe1_init_board() Initialize SBE1.
sbe1_outparams() Send parameters to framer chip registers.
sbe1_xmtsig() Load E1's Transmit Signaling registers.
sbe1_rcvsig() Read E1's Transmit Signaling registers.
sbe1_status() Read & clear specified E1 status bits.
sbe1_lirst() Reset the Line Interface (LIR).
sbe1_open() Open DSP resource, download DSP32C executable and configure the chip.
sbe1_close() Close all timeslots, de-allocates buffer memory, and closes the DSP resource.
sbe1_timeslot_open() Create and initialize timeslot data buffers.
sbe1_timeslot_close() De-allocate timeslot data buffers.
sbe1_idle() Send idles on specified timeslots.
sbe1_echo() Send data received on incoming timeslot, or if a timeslot is open for writing, send user data.
sbe1_read() Read specified number of bytes from timeslot into a buffer.
sbe1_write() Write specified number of bytes from a buffer to timeslot.
sbe1_synchronize() Synchronize timeslot buffers to E1 frame.
sbe1_alignment() Return the offset from the start of either the CAS or CRC4 E1 multi-frame to the next timeslot data to be read from/written to a timeslot data buffer.
sbe1_bond() Bond two or more timeslots. When timeslots are bonded, reading from the first timeslot using sbe1_read() will return bytewise interleaved data from all timeslots in the list. Writing to a bonded list's first timeslot will de-interleave data from the input buffer into the individual timeslot data buffers of the bonded timeslots. Bonding automatically synchronizes those timeslots.
sbe1_unbond() Unbond all timeslots in a bonded list to make them independent.
sbe1_read_reg() Read from a specified E1 framer transceiver register.
sbe1_write_reg() Write to a specified E1 framer transceiver register
sbe1_read_mem() Read a data value from a DSP's memory location.
sbe1_write_mem() Write a data value to a DSP's memory location.
sbe1_sigerror() Install a user function for unexpected E1 transceiver interrupts, or E1 timeslot data overflow/underflow.
sbe1_config() Configure E1 interface software for DSP interrupt delay and E1 timeslot buffer size.
sbe1_suspend() Suspend user application until a specified number of E1 timeslot samples are available to be read from/written to a data buffer.
sbe1_cas_handler() Specify user function for received CAS messages on selected channels.
sbe1_multiframeid() Get multiframe ID for next timeslot data read from/written to a data buffer.
sbe1_cas_write() Queue a CAS message for transmission on a CAS channel(s).
Codec Control Functions:
The functions listed below access the CS4216 programmable codecs on the SB32C2. Similar functions are provided in the codec API for the VME6U6 and VME9U12 products.
sbdsp_codec_mode() Configure cross switch and codec control settings for specifying control by the DSP or the host.
sbdsp_codec_samping_rate() Set codec sampling rates.
sbdsp_codec_control() Write codec control word for setting the input gains, output attenuation, mute and input selection.

 

Copyright © 2003 - 2008 Communication Automation Corporation