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.

AMC7812EVM-PDK works with AMC7812EVM GUI when communicating over SPI, but, does not work over I2C

Other Parts Discussed in Thread: AMC7812EVM-PDK, AMC7832EVM, AMC7832

I have an AMC7812EVM-PDK connected to the AMC7812EVM GUI using an SDM-USB-DIG. When JP1 is set to SPI on the EVM board everything works correctly, but, when I switch it to I2C, the GUI does not communicate with the EVM. I verified that there are no signals for SCL and SDA on the SDM-USB-DIG J3 connector. There are signals for MOSI MISO, SCLK, and CS.

  • Hello Roger,

    You are correct, the AMC7812EVM GUI only supports SPI as stated in the User's Guide. TP6/7/8/9 are available for I2C communication if you wish to connect an external MCU or I2C compatible hardware.

    Best Regards,
    Matt
  • Hi Matt,

    I was able to communicate through I2C using TP6 and TP7, but, I could not change the DAC output unless I first used the GUI to set Power DAC for each DAC. Once set, I was able to change the output using I2C. Can you tell me what the Power DAC does in the GUI DACs menu?


    Thanks,

    Roger

  • Howdy Roger,

    If you use a specific communication mode, please ensure that the protocol used remains constant throughout your session.  For instance, if you decide to use I2C, you can no longer use the GUI with SDM-USB-DIG, as this would only provide SPI communication.  If in I2C, you must write to the registers that are specified in the datasheet as the address values may be slightly different for this protocol.  If you intermingle protocols you may land the part in an invalid state that will require a power-on reset to reconfigure the part to default values.

    Regarding your question: If using the internal reference for the DAC block, you must write to the appropriate register, PREF bit of address 0x6B.  After this you must power on the DACs by writing to their respective PDAC bit located in the power-down register of 0x6B.  After the PDAC bit is set you may program the DAC values for the respective DAC.

    Best Regards,

    Matt

  • Hi Matt,


    Thanks for your help. After writing to register 0x6B, everything worked correctly. Also, can you point me to the documentation that says the SDM-USB-DIG will only handle SPI. The documention I have says that it will convert the data from the USB and send it out over SPI and I2C.

    Thanks,

    Roger

    2 SDM-USB-DIG Platform Overview
    The SDM-USB-DIG platform is a data acquisition system, which is used to create different communication
    protocols, and general-purpose I/O signals. Specifically, the system generates I2C, SPI, and generalpurpose
    I/O signals. The system also generates a power-supply connection that has three options: +3.3 V,
    +5 V, and Hi-Z (0 V).
    The purpose of the SDM-USB-DIG platform is for communication and I/O control of evaluation modules.
    An evaluation module is a printed-circuit board (PCB) that contains basic circuitry to test and evaluate a
    TI-specific device. In general, the SDM-USB-DIG connects to an evaluation module, along with the related
    cables and power supplies. An example of an EVM is the AMC7832EVM, which is a PCB with different
    circuitry developed around the AMC7832 TI device. This board connects to the SDM-USB-DIG platform
    and allows customers to test and evaluate the features of the AMC7832 device.

  • Hi Roger,

    I'm glad that you got everything set up and working properly. The SDM-USB-DIG hardware does support I2C, however the software interface, aka the GUI, wasn't written to include the I2C protocol, just SPI. If a refresh occurs in the future, I'll definitely include the feedback about I2C.

    Best Regards,
    Matt
  • Hi Matt,

    I am having a problem reading the two remote temperature sensors on the evaluation board using I2C. I have JP6 open on the board and set register 0x0A, temperature configuration, to 0x3CFF, but when I read address 01h and 02h, they both read 1 on bit 0, and 0 for the remaining 15 bits. The temperature-data register, 00h, reads correctly.

    (2016-12-01 11:04:40) [S] <2f:w> 00
    (2016-12-01 11:04:40) [S] <2f:r> 0b 60* [P]
    (2016-12-01 11:04:52) [S] <2f:w> 01
    (2016-12-01 11:04:52) [S] <2f:r> 00 01* [P]
    (2016-12-01 11:05:03) [S] <2f:w> 02
    (2016-12-01 11:05:03) [S] <2f:r> 00 01* [P]

    Thanks

    Roger