Connect
Hello, I want to use the ADAU1467 with a Raspberry Pi 5, and I have a few questions I'd like to ask:
I see that the support page only provides a driver for the ADAU1461. Can I use it as a replacement?
I am using a module from MIDIWORX and want to connect it directly to the ADAU1467. How should I set it up in SigmaStudio? If there's a tutorial, that would be even better.
Is there any DSP software similar to SigmaStudio available for Linux (specifically Raspberry Pi OS or Volumio)?
Audio Signal Processors
software
adau1467
SigmaDSP Audio Processors
Adau1467 Raspberry Pi 5
Hello Kiraconcept,
KiraConcept said:
I see that the support page only provides a driver for the ADAU1461. Can I use it as a replacement?
No, you can't. The ADAU1461 is an old part, and it uses different core architecture (28-bit core).
The ADAU1467 is the latest processor which has a 32-bit core architecture. It doesn't have an on-chip converters. You have to have an external converter.
KiraConcept said:
I am using a module from MIDIWORX and want to connect it directly to the ADAU1467. How should I set it up in SigmaStudio? If there's a tutorial, that would be even better.
I'm not sure about what module is that, maybe a part name would be helpful. Is it serial audio streaming module? Is it SPDIF or I2S/TDM? we need more info on what protocol you are looking for.
You can connect I2S/TDM input and outputs with SigmaDSP serial ports. we need more info on that regarding master/slave, number of channels, sample rate and other clocking information. A block diagram would be helpful.
You can connect stereo SPDIF in/out and also 4 digital mic inputs are available.
KiraConcept said:
Is there any DSP software similar to SigmaStudio available for Linux (specifically Raspberry Pi OS or Volumio)?
SigmaDSP's signal flow, design, memory allocation (compilation) can only be done with sigma studio. once your project is compiled then you can export the system files and use a uC to boot the sigmaDSP.
Regards,
Harish
"The ADAU1467 is the latest processor with a 32-bit core architecture. It doesn't have on-chip converters, so you need an external converter." What does "converter" refer to in this context?
"You can connect I2S/TDM inputs and outputs with SigmaDSP serial ports. We need more details regarding master/slave configuration, the number of channels, sample rate, and other clocking information. A block diagram would be helpful.
You can connect stereo SPDIF in/out, and there are also 4 digital microphone inputs available."
MIDIWORX is an ADAU1467 module manufactured in China. I want to connect a Raspberry Pi 5 to it via I2S, but currently, there is no driver available. Can I use the HiFiBerry DAC+ like the 5012A?
"SigmaDSP’s signal flow, design, and memory allocation (compilation) can only be done with SigmaStudio. Once your project is compiled, you can export the system files and use a microcontroller to boot the SigmaDSP."
Is there any guide on programming the Raspberry Pi to directly control the ADAU1467 via SPI?
I followed online instructions to connect my QCC5125 to the ADAU1467 via I2S, but there is no signal. Do you have a detailed guide on I2S connection and setup in SigmaStudio?
Hello KiraConcept,
I will chime in here in addition to Harish. We are on opposite sides of the world so he is probably getting ready for bed as I am starting my morning. We tag-team things all the time!
Converters in this context means analog to digital or digital to analog converters. ADC/DAC. So you need an external set of converters. Often you can get sets of ADCs and DACs together in one chip and that is called a Codec. Not to be confused with codecs used to encode audio which is a software function once audio is in digital form. Like MP3 codecs. So here in our Analog Devices world a codec is a set of converters.
Your questions about I2S. I2S is a standard that is widely used and is fairly followed by many companies. Which in these days is great! You can read about it on Wikipedia:
I²S - Wikipedia
It is easy to setup our serial ports for this standard. I do not have that MidiWorks board personally, although I am well aware of it.
You need to keep this link handy, this is our Wiki page for SigmaStudio help.
SigmaStudio and SigmaDSP Documentation [Analog Devices Wiki]
In this Tutorials page you will find if you scroll down a little some help with using microcontrollers to control SigmaDSPs. It is written for Arduino-like processors but it will give you an idea on how it is done.
Tutorials, Guides, Walkthroughs, and other Information [Analog Devices Wiki]
You should also get to know my YouTube channel. I have a lot up there and more to come.
(5) How to SigmaDSP and SigmaStudio - YouTube
Got to run for now.
Dave T
Hello Dave,
We’ve talked once before, and you advised me to switch to the 146x series to optimize I2S usage, which I did. However, the issue I’m facing now is with the Raspberry Pi in general and I2S in particular.
First of all, the Pi 5 doesn’t have a DAC. Using a DAC to convert the Pi’s I2S to analog and then using an ADC to convert it back to digital for the ADAU1467 seems quite redundant—maybe it’s just me, but I’m concerned that the signal might get distorted, degraded, or not be properly reconstructed. So, I want to use I2S directly to connect to the 1467.
How should I put this? We have to decode it, then re-encode it, then process it again before it even reaches the DAC to produce sound? I’m afraid that solution is really bad.
Hello KiraConcept,
No!! LOL, you do not have to go to analog then back to digital. Yes, you can directly connect the R-pi into the DSP board. There will be some details to work out. You will not be able to run the wires very far before having issues with signal integrity. That would be clicks, pops and something just super loud noise!
You connect the LRCLK to the LRCLK_IN input pin of the DSP, the Bit Clock signal to the BCLK_IN pin and the serial data to the SDATA_In pin. We have four serial ports, ports 0,1,2,3. I am not sure which ones show up on headers on that MidiWorks board.
Then you have to figure out the master clock situation. Both processors have to be running at exactly the same sample rate or you will miss samples or repeat samples. The master clock should be a clock that is probably 12.288MHz. this is 256 x fs. "fs" is the sample rate. You may be able to disconnect the crystal clock on the MidiWorks board and use the MCLK coming from the R-pi but the easiest way is to just use the sample rate converters that are built into the DSP. Then the DSP can use its own crystal and the R-pi can use its own and the DSP will adjust to follow the rate coming in.
I attached a project that does this. It also mutes the audio if the ASRC is not locked to prevent clicks and pops.
This project is setup to use serial input port 3 and it is setup for I2S signals. It is routing the signal through ASRC0 to get to the core.
This program will work for the ADAU1467. There are some differences but you will not run into them with this simple program. Again, I am not sure what serial port is available on that board.
I suggest you download and study the ADAU1452 datasheet. That one I updated a few years back with a lot more info. The ADAU1467 datasheet does not have those updates. But, you also should download the 1467 datasheet because there are some differences that you might run into eventually.
Although it sounds like you are keeping it simple at the moment so you should be good. The complication is with the assignable serial port pins and you need those if you need to bring in more than four I2S signals.
By the way. I would NOT try to run at 96kHz at first. 48kHz will be fine, get that working then try to go faster but you may run into power issues, grounding issues and length of cable issues so learn to walk first before trying to run.
I do have one question. you said the R-pi does not have a DAC. I assume you are going to use the codec that is on the MidiWorks board? I think they all have an AD1938 or similar codec on it? You will eventually have to go analog to hear it!
Enough for now. Have a great weekend!
Dave T
6746.ADAU1452 ASRC Lock Detect to Mute Simple Example.dspproj
Please log in to reply.