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

ADAU1701

SigmaDSP & SigmaStudio jbtechdesign@gmail.com Feb 13, 2011 00:00 8 replies Original on forum ↗
Subscribe
jbtechdesign@gmail.com Question
Feb 13, 2011 00:00

Hello I have several of your ADAU1701 eval kits and wondered if there is a way to upload from the eprom and use that uploaded data to figure out the register settings and ultimately regenerate my source code. I have successfully uploaded a .hex file from the eprom, but not sure how to use it to generate the source. As a second issue when I try to down loat the hex file to a second eval unit the sigma program crashes. Any help would be very much appreciated.

John

Audio Signal Processors

SigmaDSP Audio Processors

adau1701

ADIApproved Reply
Feb 15, 2011 00:00

Hello, and welcome to the EngineerZone forums.

There is no decompiler available for SigmaStudio that could take a raw hex data file and generate a SigmaStudio project from it. The primary reason for this is to protect our customers' signal flow IP from being copied. We have no intention of implementing this feature because we don't want to make it possible for a third party to reverse engineer your product. Therefore, I strongly recommend that you keep backups of all versions of your project files, so reading back and decoding the EEPROM will not be necessary.

There is a description in the ADAU1701 datasheet that shows the format of the data stored in the EEPROM. The stored data basically consists of several message types, followed by length and data fields. I have manually reverse engineered an EEPROM dump on one occasion at the request of a customer - it was not an easy task, but I suppose it could have been made simpler with the help of a script of some sort. In any case, in the end you will end up with a hex file, and as I mentioned above, you cannot decompile that data into a project file. You could, however, determine the register settings and RAM contents using this data. However, the program RAM contents would have no meaning as we do not publish the op-codes (again, this is in the interest of protecting our customers from IP theft).

The EEPROM Read/Write window is currently a little buggy. It was coded several years ago and somewhere along the line it has experienced some stability issues with updates of SigmaStudio. The engineer who originally coded that module is no longer working on SigmaStudio, so we are currently planning to do a complete overhaul (coding from scratch) of the EEPROM data generation functions and the read/write interface. For now I would recommend avoiding the EEPROM Read/Write window altogether. Please simply use the "Write Latest Compilation to EEPROM" command in order to program your self-boot systems.

Also note that when you execute the "Write Latest Compilation to EEPROM" command, there should be a folder called "IC 2" that is generated inside the project folder, assuming you keep the default name "IC 2" for the EEPROM in your project. That folder should contain a file called E2PROM.hex, which is effectively a copy of what is downloaded to the EEPROM for self-boot, including the messages, length, and data fields. That will give you the data you want without necessitating a read-back from the EEPROM itself.

jbtechdesign@gmail.com Reply
Feb 17, 2011 00:00

Brett, thanks for the reply, That all makes good sense. Where can I find more information on all the features of this chip and examples?
Also, we are currently using the chip to take in stereo audio, generate a 50khz carrier mix them, then output . We use the pot to adjust the carrier amplitude. I would like to have a fixed carrier level while there is audio but cut the carrier amplitude if the audio goes away. I can detect the loss of audio with a comparator external to the 1701 but not sure how to cut the carrier level from an external source? Doing all this inside the 1701 would be better but not sure how. Your feedback is appreciated. John

ADIApproved Reply
Feb 17, 2011 00:00

Check out this thread, which shows how to monitor signal levels and includes an example that makes a logic decision based on the presence (or absence) of an input signal.

jbtechdesign@gmail.com Reply
Feb 17, 2011 00:00

Brett, thanks I will check that out. Is the best way to learn all the features of this part by looking at the examples on this site?

John

ADIApproved Reply
Feb 17, 2011 00:00

That's a good start. There are also some examples contained in the help documentation included with SigmaStudio. You can also find some application notes on the product pages on analog.com. If all else fails, just post your questions on the forum!

jbtechdesign@gmail.com Reply
Feb 20, 2011 00:00

Brett, I am attempting to drop my 44khz carrier level when my input signal is low, such as between songs. Can you please take a look at my schematic and tell me if Im on the right track. It would also be nice if I could put real time probes that could display what the processor is seeing as inputs and the outcome of logic decissions, I would like to monitor the output of MSEnv1 and AB 1. Is this possible?

Thanks, John

File attached

daniel.duan Reply
May 6, 2014 00:00

Yes, it sounds reasonable not to decode the EEPROM contents.

EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin