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.

OPT3101: Calibration

Part Number: OPT3101
Other Parts Discussed in Thread: MSP430F5529,

I have a circuit board implementing the OPT3101 chip that I'm having trouble calibrating. The board is electrically very similar to the EVM, except that I’m relying on an external microcontroller for communication. I'm connecting to it via a TI Launchpad MSP430F5529, and compiling the SDK using Code Composer 9.1. I was able to successfully follow all of the steps in the SDK User's Guide, until the point at which you hit enter in the serial port monitor (using PuTTY) and it is supposed to initiate the calibration. At that point, if I use the “debug” COM port, the output on the serial monitor is a series of blank characters that continue printing out. I don’t get any messages indicating that I2C communication is being initiated. If I use the “MSP430 Application UART1” port, nothing happens.

 

I've verified that all my power inputs and outputs are satisfactory, and that my I2C lines are properly pulled up when not in use (to 3.3V). I probed the I2C lines after hitting enter in the serial monitor, and the only thing I saw was a low (~10 mVpp) periodic signal with frequency <1 MHz. This occurred on both the data and clock lines. Additionally, I wasn't able to observe the reset pin being toggled at the beginning of the calibration as I thought it should be. After digging more, I found that only 3 COM ports are initialized for the Launchpad, and one of them disappears after I flash the SDK to the Launchpad.

I've observed similar behavior when trying to recalibrate an OPT3101 EVM as well. With that in mind, I have a few questions:

 

  • Is PuTTY a suitable serial monitor for this use?
  • Would I need to modify the SDK for my custom board, given that it’s so similar to the EVM and I’m using an MSP430 to control it?
  • Is there something else I need to do to ensure that the I2C communication is started?