I am currently working with ADAU 1772 Audio Codec. Since the Evaluation Board from Analog Devices is rather expensive for me, I decided to create my own programmer using FPGA. I am trying to boot DSP in assembly using this tutorial: Booting a SigmaDSP from a microcontroller with no C compiler . Have any of you ever tried it? Did it work?

I am in testing phase now and I need to create simple project in SigmaStudio. I have read SigmaStudio tutorial but the problem is that they do not take into account that you got no Evaluation Board hence my puzzlement. When I create new project I add Processor, then I am suppossed to add Communication Channels but I use none of them. Can I just skip this part of making project (do not add any communication channel), go to Schematic Tab and create my system, then generate files and program DSP?


So, these things are a pain to program... Having spent months with two of them I'd strongly suggest you get yourself their programmer EVAL-ADUSB2EBZ "USBi" it's about $80USD. With that you can program directly from SigmaStudio, program the external eeprom, and make changes in real time. So for instance you can adjust the cutoff frequency of a filter, or change the gain in the software and you can hear the results right away.

I see your part has selfboot? Hope you put down an eeprom for it to boot from, if so that's probably your easiest bet. If you don't buy a programmer you can export a hex file for the eeprom from SigmaStudio, and then program your eeprom with an eeprom programmer or your FPGA. Here's a link to Analog's forums showing how to export.

Now if you don't have an eeprom... You can try to program all the registers directly, but that was a task and a half. Again you can output a series of C files from SigmaStudio that show how to write all the registers, and program memory of the device you are working with. Here's a presentation on that. This took a lot of work for me to get it right.

Finally if you make a simple project in SigmaStudio, then try to "program" it, then you can look in the output console. There you'll see all the writes they do to program the devices. Be warned though when they show a single address writing multiple bytes that does not mean you can just write 1 byte, increment address, write another byte. They expect if you're using I2C to write the address then all the data bytes for that address.

Again I'd buy the programmer, it's really useful even after you figure out how to program it yourself.

| improve this answer | |
  • \$\begingroup\$ The main task of this project is not to use programmer. Actually I have I2C master implemented inside FPGA and after sending address I can set how much bytes I would like to send to slave. I do not use eeprom, I program ADAU directly and I would like to verify my audio system just after programming. I just need to know if I can skip Communication Channel in SigmaStudio project. \$\endgroup\$ – Al Bundy Jan 5 '15 at 16:15
  • \$\begingroup\$ Are you talking about the config tab where their documentation shows you how to hook up say the I2C channel to the programmer or similar? If so I would just hook it up pretending you do have a programmer then go do you schematics. That should make it easier when you want to see what I2C writes it would have done that you have to do with your FPGA. Just a thought. \$\endgroup\$ – confused Jan 5 '15 at 16:29
  • \$\begingroup\$ Yes it is in config tab. When I create a new project from Toolbox I add my ADAU 1772 then I should add communication channel but I do not do this. Do you remember if you initialized your Audio Codec before sending bytes via I2C and if the Codec was working just after sending last byte ? \$\endgroup\$ – Al Bundy Jan 5 '15 at 16:39
  • \$\begingroup\$ I can start from a non programmed device, and just load in everything over I2C and then device will work. However if I try to say read an I2C byte before fully programming it, that wouldn't work. Analog confirmed they did not expect it to. \$\endgroup\$ – confused Jan 5 '15 at 17:01
  • \$\begingroup\$ Did you also use TxBuffer_IC_1.dat and NumBytes_IC_1.dat ?? \$\endgroup\$ – Al Bundy Jan 5 '15 at 17:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.