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

Hello,

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,

Nand

Parents Reply Children
  • Hi Dave,

    we have noticed the same issue when trying to read the i2c eeprom trough the "i2c bridge code" (the code you have to load into the ADAU to be able to program/read the eeprom on the master port). While programming works flawless, reading  an address above 7FFFh from the eeprom will always read the value at address 7FFFh very much the same as we noticed using the I2C read block in sigmastudio which has already been fixed since release V4.5. Can you please try and get this issue resolved in Sigmastudio? Or could we get updated "bridge" code that doesn't suffer this issue?

    Many thanks!

    Nand