This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UCD9081: UCD9081 can not be programmed.

Part Number: UCD9081

Hi,

I got a problem when I programmed the UCD9081.

I refer to the www.ti.com/.../slva275b.pdf#mce_temp_url# to program UCD9081 and followed the 3.7.1.
The User Data(0x1080~0x10FF) could be programmed successfully but the configuration section could not.

Do you have any idea on this issue?

 

  • Hello
    Did you follow the section 3.2?
    Regards
    yihe
  • Hi yihe,

    Do you mean " 3.2 I2C Transactions "? If yes, I followed it exactly.
    I used the "SMBus & I2C & SAA Debug Tool" to send data to the device.
    I could receive version(0x55) and read out the User Data(0x1080~0x10FF) and configuration section(0xE000~0xE1FF).
    Those values were same with section 3.4.1 Factory Default.

    As I could program User Date successfully, it seems the I2C communicate was correct, am I right?
  • Hello

    Are you able to program the same data(both user data and configuraton data) via the UCD9081 GUI on the same device?


    Regards

    Yihe
  • Hi Yihe,

    No, I don't have the UCD9081 EVM, so I could not use UCD9081 GUI to program it, but I could use
    the I2C and "SMBus & I2C & SAA Debug Tool" to test the device.

    I followed the following steps (section 3.7.1 UCD9081 I2C Transactions for Writing User Data and PARAMS) to write data to the device.
    a. set 0x2 to FLASHLOCK.
    b. send 0x1080 to WADDR.
    c. unlock and erase the flash. send 0xBADC to WDATA.
    d. send 0x1080 to WADDR.
    e. send 32 bytes to WDATA.
    ……
    b. send 0xE000 to WADDR.
    c. unlock and erase the flash. send 0xBADC to WDATA.
    d. send 0xE000 to WADDR.
    e. send 32 bytes to WDATA.
    ……
    set 0x0 to FLASHLOCK.
    Power cycly and read out.
    The User Data was correct but configuration section remained factory default values.


    Before setting the 0x0 to FLASHLOCK, I read the 0xE000~0xE1FF and the value was correct.
    However, after setting the 0x0 to FLASHLOCK and power cycle, the configuration section changed to the default values.
  • The UCD9081 GUI supports UCD9081 and it does not require EVM. it shall work with your own board as long as USB-TO-GPIO Dongle is used.

    Fro the steps, i did not see any thing obvious wrong. you may delay the FLASHLOCK and recheck the value before the power cycle.

    Regards

    Yihe
  • Hi Yihe,

    I can use the UCD9081 GUI to read  and "Update Parameter and Sequexce" the UCD9081 device, and the waveform was correct.

    After finishing programming, I closed  the software and opened it again. The GUI failed to connect the device. But we found replacing a new IC could make it work.

    new IC cloud make it work.

    after finishing programming

  • Hi Raphael,

    Do you have any other question?
    If not, we are going to close this post.

    Thanks
    Qian
  • Hi Qian,

    Yes, I can' t program the 0xE000 to 0xE1FF
    I also experienced another issue during tests. After erasing 0xE000 to 0xE1FF, the next cmd became NACK.
    could you help to check if the following steps need to be modified?
    a. set 0x2 to FLASHLOCK and delay 1ms.
    b. send 0xE000 to WADDR. send 0x00 to 0x30 and 0xE0 to 0x31, and delay 1ms
    c. unlock and erase the flash. send 0xBADC to WDATA. send 0xDC to 0x31 and 0xBA to 0x32, and delay 2ms

    d. send 0xE000 to WADDR(NACK). send 0x00 to 0x30 and 0xE0 to 0x31, and delay 1ms
  • Hello

    Please refer the attached UCD9081 I2C transcation file as reference.

    Regards

    Yihe

    UCD9081 I2C Transactions for writing User Data and PARAMS
    =========================================================
    
    I2C Write (Open the FLASH)
    ---------
    Device Address: 0x6F
    Register Address: 0x2E
    Data Length: 1
    Data: 0x02
    
    I2C Write (Base address: 0x1080)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x80 0x10
    
    I2C Write (Unlock and erase the FLASH)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 2
    Data: 0xDC 0xBA
    
    I2C Write (Data address: 0x1080)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x80 0x10
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x41 0x46 0x52 0x4C 0x20 0x4D 0x6F 0x64 0x65 0x6D 0x20 0x50 0x6F 0x77 0x65 0x72 0x20 0x53 0x65 0x71 0x75 0x65 0x6E 0x63 0x65 0x72 0x20 0x31 0x32 0x32 0x37 0x32 
    
    I2C Write (Data address: 0x10A0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xA0 0x10
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x30 0x31 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0x10C0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xC0 0x10
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0x10E0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xE0 0x10
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Base address: 0xE000)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x00 0xE0
    
    I2C Write (Unlock and erase the FLASH)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 2
    Data: 0xDC 0xBA
    
    I2C Write (Data address: 0xE000)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x00 0xE0
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0xE020)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x20 0xE0
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0xE040)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x40 0xE0
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0xFF 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xFF 0x00 0x00 0x00 0x00 0x00 0xC0 0x02 
    
    I2C Write (Data address: 0xE060)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x60 0xE0
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x0F 0x00 0x02 0x00 0x02 0xFF 0x0E 0x00 0x58 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xA8 0x00 0x10 
    
    I2C Write (Data address: 0xE080)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x80 0xE0
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0xD0 0xD1 0xD2 0xD3 0xD4 0xD5 0xD6 0xD7 0x08 0x49 0xCA 0x4B 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x07 0x00 0x00 0x00 0x14 0x20 0x28 0x20 0x28 0x20 
    
    I2C Write (Data address: 0xE0A0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xA0 0xE0
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x28 0x20 0x28 0x20 0x28 0x20 0x28 0x20 0x00 0x00 0x1D 0x00 0x06 0x00 0x00 0x00 0xFF 0x7F 0xFF 0x7F 0xFF 0x7F 0xFF 0x7F 0xFF 0x7F 0xFF 0x7F 0xFF 0x7F 0xFF 0x7F 
    
    I2C Write (Data address: 0xE0C0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xC0 0xE0
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0xE0E0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xE0 0xE0
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0xE100)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x00 0xE1
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0xFF 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xD9 0x00 
    
    I2C Write (Data address: 0xE120)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x20 0xE1
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x04 0x00 0x04 0x00 0x04 0x00 0x04 0x00 0x04 0x00 0x04 0x00 0x04 0xFA 0x03 0xA0 0x0F 0x0F 0x00 0xA0 0x0F 0xA0 0x0F 0xA0 0x0F 0xA0 0x0F 0xA0 0x0F 0xA0 0x0F 
    
    I2C Write (Data address: 0xE140)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x40 0xE1
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x0A 0x00 0x0A 0x00 0x0A 0x00 0x0A 0x00 0x0A 0x00 0x0A 0x00 0x0A 0x00 0x0A 0x00 0x00 0x00 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 
    
    I2C Write (Data address: 0xE160)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x60 0xE1
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0xFF 0x0F 0x04 0x20 0x08 0x20 0x04 0x18 0x02 0x18 0x08 0x18 0x10 0x18 0x20 0x18 0x10 0x20 0x00 0xA0 0x20 0xA0 0x40 0xA0 0x80 0xA0 
    
    I2C Write (Data address: 0xE180)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x80 0xE1
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x04 0xD4 0x02 0xF2 0x08 0x10 0x01 0x05 0xC0 0x55 0x00 0x05 0x00 0x05 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0xE1A0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xA0 0xE1
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0xE1C0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xC0 0xE1
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
    
    I2C Write (Data address: 0xE1E0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xE0 0xE1
    
    I2C Write (Data)
    ---------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xF9 0x2C 
    
    I2C Write (Lock and close the FLASH)
    ---------
    Device Address: 0x6F
    Register Address: 0x2E
    Data Length: 1
    Data: 0x00
    
    UCD9081 I2C Transactions for reading User Data and PARAMS
    =========================================================
    
    I2C Write (Data address: 0x1080)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x80 0x10
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0x10A0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xA0 0x10
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0x10C0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xC0 0x10
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0x10E0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xE0 0x10
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE000)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x00 0xE0
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE020)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x20 0xE0
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE040)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x40 0xE0
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE060)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x60 0xE0
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE080)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x80 0xE0
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE0A0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xA0 0xE0
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE0C0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xC0 0xE0
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE0E0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xE0 0xE0
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE100)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x00 0xE1
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE120)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x20 0xE1
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE140)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x40 0xE1
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE160)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x60 0xE1
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE180)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0x80 0xE1
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE1A0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xA0 0xE1
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE1C0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xC0 0xE1
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    I2C Write (Data address: 0xE1E0)
    ---------
    Device Address: 0x6F
    Register Address: 0x30
    Data Length: 2
    Data: 0xE0 0xE1
    
    I2C Read (Data)
    --------
    Device Address: 0x6F
    Register Address: 0x32
    Data Length: 32
    
    

  • Hi Yihe,

    I programmed the UCD9081 successfully(include 0x1080~0x10FF & 0xE000~0xE1FF).

    I can program the "EVM Default Configuration" to UCD9081, and then program our code to UCD9081.
    But I could not change it back to the "EVM Default Configuration".
    Is it correct?

    Regards,
    Raphael
  • Hello Raphael
    Did you try the UCD9081 GUI? it has a option to load EVM Default Configuration.
    Regards
    Yihe
  • Hi Yihe,

    Yes, I tried to use the UCD9081 and click the Default Configuration.
    Those values(0xE000~0xE1FF) were not changed but the user data was successful.

    Regards,
    Raphael