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

using the adau1701 in a product (MCU interface help)

SigmaDSP & SigmaStudio t.stern Apr 16, 2013 00:00 3 replies Original on forum ↗
Subscribe
t.stern Question
Apr 16, 2013 00:00

I've downloaded the MCU integration guide and tried following it, however I hit a wall rather quickly... I tried looking for additional info on the website but could not find any. I'm not a professional programmer, so some things here are less trivial for me, however I do work with micro-controllers for several years, mostly 8-bit families.

Let's say I am using some 8-bit micro (AVR for example) and I would like to have the DSP program on it for loading on start-up and also manipulate registers during run-time. The guide you offer lists a number of header and data files that are created. One of them, SigmaStudioFW.h needs to be implemented by the user. I went through the definitions but that wasn't enough. Where do I implement them? in a separate C file? From whatever reason I could find that file in the included project in the FAQ section.

Let's say I want to communicate with the DSP using I^C.

I'll take a single macro from the header file for exmaple:

#define SIGMA_WRITE_REGISTER( devAddress, address, dataLength, data )

{/*TODO: implement macro or define as function*/}

So SIGMA_WRITE_REGISTER should be defined as a function that takes the parameters as shown above and communicates with the DSP. OK, however what to do next? How do I know what communication format we're talking here and what is the command format altogether?

Audio Signal Processors

SigmaDSP Audio Processors

adau1701

ADIApproved Reply
Apr 16, 2013 00:00

You can choose either I2C or SPI communications. The details of the data format and the clock signals are included in the datasheet.

You can find all of the details of the ADAU1701's I2C/SPI control port, including the control word format, on pages 22 through 26 of the datasheet: https://www.analog.com/static/imported-files/data_sheets/ADAU1701.pdf

The example project on the FAQ includes an I2C write function implemented for the ADAU1761, which should be very similar to what you'll need to do for the ADAU1701. https://ez.analog.com/docs/DOC-1806. The only thing that differs is probably the device address.

t.stern Reply
Apr 17, 2013 00:00

Thanks.

I can see the I^C / SPI select procedure in the datasheet. However on the evaluation board it seems that SELFBOOT is tied to VCC so the ADAU1701 will try to load an EEPROM. After loading with that setting can I still load a new program using I^C?

ADIApproved Reply
Apr 17, 2013 00:00

After the self-boot procedure completes (whether it was successful or not) the I2C port will be accessible. So, you just need to wait until self-boot completes and then your microcontroller will have full access to the ADAU1701.

More information is available in this app note: http://www.analog.com/static/imported-files/application_notes/AN-923.pdf