Post Go back to editing

ADM1069 RAM update


I am currently creating SW for ADM1069 circuit. I am having trouble with dowloading the configuration from EEPROM

into ram by command into UDOWNLD register. I perform following steps:

1. Enable EEPROM erase

2. Halt sequecing engine

3. Program SE EEPROM area (starting at. 0xFA00)

4. Program IO, SFD configuration area (starting at. 0xF800)

5. Store some additional info intro scratchpad area (like what kind of configuration is this,date of loading etc.). For this operation I am unable to disable Black box control. I write 0x1 to BBCTRL but I never read 0x1 back. But thats not the

main problem here. I am able to store the data there and read it back afterwards. Its OK.

6. Enable continous update, disable EEPROM erase in main configuration register.

7. Write 0x1 into UDOWNLD in order to load EEPROM to RAM. However i never get ACK on I2C bus after writing

into this register! My linux i2c driver then exits with error code! The thing is that not even my logic analyzer I2C protocol

decoder is not able to tell what going on there! (Usually it shows NACK, but not in this case). I Include the photo of two

consecutive writes into UDOWNLD.

When nack is received there is always data shwon and NAKC text appended instead of ACK!

I have read document "Restarting the ADM106x State Machine". This document involves some special sequence that

has to be written into ADM1069 to restart the Sequencing engine. But it does not mention any issues conserning load of the config from EEPROM to RAM by UDOWNLD register.

Right now I am working with sample circuit. The final board will have bough circuits, I assume rev. E. When I read the REVID register i obtain value : 0x2 from HWREV field. Is it possible this could have an effect on functionality??