ADAU1442 time multiplexed audio
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
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.
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?
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.
Please log in to reply.
