Post Go back to editing

How to read a parameter from I2C on boot time - ADAU1462


Let me first explain what I want to do; During production a few calibration parameters will be saved to the upper page (64kB eeprom) of the I2C eeprom connected to the Master I2C port of the ADAU which is also used for self booting the DSP. Now we want to read these parameters from the eeprom during boot time and write them in the correct parameter in RAM, say the value of a DC source.  Reading of this parameters is easy using the "Startup Boot - Master Control Port IO" block together with a sequence file.

I checked the I2C lines with an oscilloscope and it does indeed read the correct data from the I2C EEPROM.

The problem I am facing is that I cannot find any documentation on how to instruct the DSP to copy this read data to a parameter, in this case the value of the DC source. Some assistance would be very helpful.

I can also see the data is read into the "ControlPortDataBuffer0" parameter of the corresponding Control Port So I am very close it only has to copy it to the DC value parameter.

I should probably make another entry but while I was experimenting with the different I2C read functions in Sigmastudio I noticed I was not able to read any memory address in the eeprom above 7FFF, when trying to read an address above this it would just read the value from address 7FFF (checked the lines using an oscilloscope). All I2C read functions seem to suffer this issue except for the "On Boot Time".

Thanks & kind regards,


Parents Reply
  • Hello Nand,

    Sometimes yes, it is only the DLL. Sometimes it is supporting methods that is in the SigmaStudio code that is the problem. I think this case may be one of these. It may have been an issue for all processors. The programmers did not explain where they found the error but I think it would have been for the Sigma350 and Sigma300 processors so it may be in the common code and not in the DLL. 

    I did ask but have not heard back. 

    Dave T