ΣSigmaStudio Ask AI Русский Log in

ADAU1442 time multiplexed audio

SigmaDSP & SigmaStudio IanH May 12, 2010 00:00 3 replies Original on forum ↗
Subscribe
IanH Question
May 12, 2010 00:00

Hi,

I have an application where I am sending/receiving audio from a E1 comms link in TDM8 format. Since the E1 comms link is a 256bit packet at 8kHz rate I need to assemble/reassemble my audio stream into a 24-bit 24kS/s stream.

A 24kS/s stream is represented in the TDM8 packet as three 24-bit samples all arriving/sent in the same packet (9 bytes total).

For sending, I was going to use

the form az + az-1 + az-2

i.e convert to 24kh and then use single sample delays to create 3 outputs and then output in my TDM8 stream.

But receiving is much more difficult to me to visualise.

The input port can be delayed in reverse order to align the three samples but I uncertain how I would convert three samples received at the same time into three sequential samples and upscaled to 48kS/s (all internal processing is at 48kS/s)?

I'm not too concerned about delays in the system. I've looked at the Feedback module but don't think that will do it. I wondered about using some form of counter to use as a index to insert into a stream.

Anyone got any idea of an approach to this?

Audio Signal Processors

adau1442

SigmaDSP Audio Processors

IanH Reply
May 13, 2010 00:00

I am trying to transmit audio using an E1 comms line for a point to

point private link.

E1 comms has a 256bit frame sent at a rate of 8kHz.

I would like to send a 24-bit 24kS/s audio stream via this E1 frame. I

selected 24-bit 24kS/s as I have multiple channels to send without

overloading the line. To keep things simple for now, I'll just discuss

one audio (mono) stream.

So to keep the 24kS/s rate I send the three 24-bit samples of my mono

stream at a 8kHz rate. This is where the nine bytes comes from (3 bytes

per sample and three samples per frame).

I thought that I could send three 24-bits samples of the stream in the

same E1 frame using the sampling circuit below. This creates three

samples sequential in time.

H Out1 is the original input

H Out2 is the original delayed by one sample (z-1)

H Out3 is the original delayed by one sample (z-2)

I then want to send these three samples as part of a TDM8 stream out a

serial pin to my E1 framer and onto the twisted pair wires.

At the other end of the E1 link, the E1 receiver can send the TDM8 (flex

TDM mode) stream to the ADAU1445 but I can't think how I would

reassemble the 24kS/s 24kS/s mono stream from the three samples all

received at the same time.

It makes me wonder if the ADAU144x is the right DSP for this

application.

Ian

PS. The Forum was down for attaching pictures so I couldn't post there

directly.

ADIApproved Reply
May 13, 2010 00:00

I don't think I'm completely clear on what your input data format and desired output data format looks like. It's likely that the ADAU1442 should be able to support what you need with its serial ports, and sample rate converters, but I need a clearer description of exactly what you're looking to do before we can give you a complete answer. The serial ports' data format is completely handled in these hardware blocks, so you probably won't have to do any processing in the SigmaDSP core to make this work. Do you think you could upload an illustration of the data format you have (along with the associated clocks)? I think that a picture would help tremendously in trying to understand this.

What is the word length of the data you're processing? You mention that you have 3 24-bit samples for 9 bytes total, but I assume that your data word isn't 72 bits wide. What am I missing here?

ADIApproved Reply
May 14, 2010 00:00

Ian,

I think that there's a misunderstanding of how the serial port's input signals are sent to the SigmaDSP core. If you have a multi-channel TDM data stream on the ADAU144x's input pins, the separate channels will all appear as discrete inputs in the SigmaDSP core (and the SigmaStudio project). This is what I meant that the serial port's channel setup is handled in hardware before the data is passed to the SigmaDSP.

So, if you have a TDM stream with three data slots populated (say, slots 0-2). The first channel would come in on channel 0 in the SigmaStudio project, the next on channel 1, and the last on channel 2, as shown below.

Even with this setup, I'm not sure that you could simply re-assemble the data stream from three inputs into a single data stream. I'd have to think about that one.

ccde73030d6140f554d3bf2e85c94c7a.bmp
ccde73030d6140f554d3bf2e85c94c7a.bmp