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

Need ADAU-1787 driver source code

Processors & DSP dan_ash_dspc Aug 27, 2021 00:00 7 replies Original on forum ↗
Subscribe
dan_ash_dspc Question
Aug 27, 2021 00:00

I am writing ADAU-1787 for an embedded ARM CPU.

This I would expect this includes I2C/I2S TDM port configuration and abstracted functions to configure the ADAU-1787 registers.

The port configuration will be ADI specific, but is still useful as a reference. The second part I could really use.

Thanks,

Dan

ADAU1787

source

Integrated/Special Purpose A/D Converters

Audio CODECs

DaveThib Reply
Aug 30, 2021 00:00

Hello Dan,

Are you using Linux?

Generally with this part the customer develops their own code to control the part. We do have some functions for exporting C code that will have all the register settings, the register and DSP object locations and the DSP programs to load up.

We do have this tutorial that does not exactly apply to this processor but it does give you an idea of what needs to be done.

Interfacing SigmaDSP Processors with a Microcontroller [Analog Devices Wiki]

Dave T

dan_ash_dspc Reply
Aug 30, 2021 00:00

Dave,

Thanks for the response. No not Linux. For bare metal. I have written lots of audio codec drivers even back to ADI's AD184x parts. I can write this from scratch, just having an example is a better place to start..

I see the driver as two parts:

1) low level I2C and I2S/TDM communications - device specific, any example code from ADI since on a different manufacturer's device, will be only useful as a reference, but still useful. For instance, an init function would show the order I should set the various registers and what enable bits need to be set inside the device.

2) functions or API to build the various control registers from settings like gain, mute, ..... or to set the various routings

Thanks,

Dan

DaveThib Reply
Aug 30, 2021 00:00

Hello Dan,

OK, Good. So have a look at the link I sent in my post. That should help you understand how to use the SigmaStudio export system files function. That will give you what you need.

Dave T

dan_ash_dspc Reply
Aug 30, 2021 00:00

Dave,

I see some nice generated files in the article's zip, teensy_sigmadsp_example_project_1.1.0\src\SigmaStudioFiles.

This is ADAU176x. Can you check if there is something for ADAU178x?

Thanks,

Dan

dan_ash_dspc Reply
Aug 31, 2021 00:00

Dave,

Did you ask for anything ADAU178x specific? The ADAU176x is a lot different.

Can I can get the SigmaStudio and generate ADAU178x init code for a target CPU?

Thanks,

Dan

DaveThib Reply
Aug 31, 2021 00:00

Hello Dan,

At the moment I do not have a detailed example for you but I can say a few things. The basic structure and process is the same. The big difference is that there are two sets of files in the export. One for the FastDSP and one for the SigmaDSP.

The SigmaDSP is a Sigma200 core which is the exact same core as the ADAU1761. So they are the same when it comes to communicating with the objects in the DSP. I guess the only really tricky part is that the ADAU1761 parts and all the other SigmaDSPs are word based. Most of them address 32 bit word sized memory by the word and not by the byte. The ADAU1787 does it by the byte. So addressing will be a little different.

Dave T

dan_ash_dspc Reply
Aug 31, 2021 00:00

Dave,

I installed SigmaDSP and was able to generate ADAU1787 constant/register header files, but need help generating the host CPU side code.

Thanks