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.

Configuring LMP91200 EVM

Other Parts Discussed in Thread: LMP91200, LMP91000

I am trying to configure the settings of the LMP91200 EVM to do temperature measurements and use other settings than the default values. I have a microcontroller with an SPI library included in the IDE and I have triple checked my connections to the EVM. But for some reason I cannot successfully rewrite the settings. I think a standard SPI communication should be four steps in this order:

1) set slave select low (CSB in the case of this board) to begin communication

2) send address of desired register via SPI

3) send 16-bit setting into address specified from step 2

4) set slave select high to release board and shift new setting into register.

This is my understanding of a standard SPI write cycle. Is the write cycle for the LMP91200 EVM different? If my procedure is correct, what is the address of the configuration register? It doesn't say anywhere on the datasheet what this address is. I know on the LMP91000 datasheet there is a register map of all the I2C addresses and their respective settings...

Many thanks,

Will

  • Hi Will,

    the LMP91200 has a very basic register structure baased on a single shift register of 16 bit.

    It means that there isn't any address.

    Your setting procedure should be:

    1) set slave select low (CSB in the case of this board) to begin communication

    2) send 16-bit setting

    3) set slave select high to release board and shift new setting into register.

    regards,

    Domenico

  • Ok yes I tried this method as well as the 4 step method and neither worked...

    Lets go a little deeper-- first of all, I am testing to see if I successfully completed a write cycle by trying to change the VOCM voltage to GND. The default setting for VOCM is not ground, so when I write a bit of 1 to D7, VOCM and GND should be shorted, correct?

    Assuming this is a valid way to test my write cycle code, I think I may not have my SPI standard correct. Tell me if any of the following is incorrect-- From what I gather from the data sheet, the LMP91200 EVM expects the MSB to be shifted in first, descending down to the LSB last (correct?). Also, I need to know the expected clock polarity and phase. It looks to me like the LMP91200 wants the clock polarity to be zero (starts low and the first edge is rising), and it looks like the corresponding clock phase is also zero-- data is captured on a rising edge and propogated on a falling edge (correct?) Lastly, what is the maximum allowable bus speed for this interface? I am at 4 MHz right now but can divide down lower if this is too fast...

    Thanks for the quick responses!
    Will

  • Hi Will,

    the method is OK. First of all have you connected a voltage to the VREF pin ?

    For simplicity I've quoted your text and answered to each question.

    From what I gather from the data sheet, the LMP91200 EVM expects the MSB to be shifted in first, descending down to the LSB last (correct?).

    Correct

    Also, I need to know the expected clock polarity and phase. Based on the timing diagram, it looks like data is shifted in and out on the FALLING edge of the clock (correct?) For the clock polarity, is the clock idle when it is high or low? This is unclear to me from the datasheet.

    The falling edge of CSB enables the shift register to receive data. The SCK signal must be high during the falling and rising edge of CSB. Each data bit is clocked into the shift register on the rising edge of SCLK. Data is transferred from the shift register to the holding register on the rising edge of CSB.

    Lastly, what is the maximum allowable bus speed for this interface? I am at 4 MHz right now but can divide down lower if this is too fast...

    The max clock frequency is 5MHz.

    For your reference I've linked some code examples of the MSP430 when it is interfaced to the LMP91200: http://www.ti.com/lit/zip/snac044

    regards,

    Domenico

     

     

     

  • Hi Domenico,

    Thanks again for the quick response. Right now I do not have an external voltage connected to VREF. I have pins 4-6 shorted on JP2 to use VDD as a reference voltage. Maybe I misinterpreted the user guide-- when pins 4-6 on JP2 are shorted maybe I still have to connect VDD to VREF_EXT as well?? I will try this...

    And it sounds like maybe I had my clock polarity and phase mixed up. I'm still a bit confused, but there are only 4 combinations so I suppose I could try them all. Could you verify what value of clock polarity and phase are necessary based on this description: http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus#Clock_polarity_and_phase

    I think that will be all I need!

    Thanks and best regards,
    Will

  • Hi Will,

    if you have shorted pin 4 and 6 of JP2 it is fine, I was thinking that you have left VREF floating.

    Regardiing the clok polarity it is "1", clock high in idle; regarding theclock  phase, it is "1", data acquired on clock's risng edge.

    regards,

    Domenico

  • Domenico,

    Thanks so much for the help on configuring the EVM module. I have successfully programmed it and have successfully implemented a 1 step temperature measurement. This is a big step for me! Strangely, I cannot get it to work in pH mode though. Here is my setup:

    5V supply powering the EVM board. Separate 5V supply powering microcontroller to avoid coupling

    All the default settings of the board (pH mode, etc. all zeros written to configuration register)

    50 mV input from a voltage source to the pH probe via BNC connector (I am expecting to see 50 mV at Vout but I am measuring 2.8 V with both my ADC and a voltmeter)

    No external reference voltage but I have pins 4 and 6 of JP2 shorted to use VDD as VREF. I have VDD_EXT and VDD_DUT shorted on JP1. I have VREF and VREF_ADC shorted on JP3 . JP4 and JP5 are open.

    I know with my hardware setup I can successfully program the board because I can switch VOCM from GND to 1.75 V by changing bit D7 in the configuration register. But it appears that I am not in pH mode even though I am writing zero to D16. In fact I am writing all zeros to the configuration register to keep it in default mode. Any ideas or suggestions?

    Thanks again,

    Will

  • If I am using the EVM in stand alone mode programming with my own microcontroller, should JP7 have DIAG-EXT1 shorted to SDO_DIAG_DUT, or should I have SDO-DIAG shorted to SDO-DIAG DUT? Could this be the source of my issue? I noticed that if pins 2-3 are shorted (SDO-DIAG shorted to SDO_DIAG DUT), it connects SDO-DIAG-DUT to the MUX U4 which is uninhabited...

  • Hi Will,

    The SDO_DIAG pin is the MISO of the SPI bus.

    If you are connecting your micro to the J1 connector, then you have to short SDO_DIAG to SDO-DIAG-DUT.

    In case you are using the terst points (SDI_DUT, SCLK_DUT, CSB_DUT and SDO_DIAG_DUT) to connect your microcontroller, you can leave J1 in any position.

    regards,

    Domenico

     

     

  • Domenico,

    I am truly flustered as to why I can't get this to work. I have 3.3 V powering the LMP91200 EVM board and I have pins 4 and 6 on JP2 shorted together, so VDD is shorted to VREF at 3.3V. I have manually confirmed this with a multimeter.

    I have my microcontrollers SPI buses connected to the DUT test points on the board (CSB_DUT, SCK_DUT, etc.) as you suggested. I am writing a 16-bit zero to the settings register to make sure everything is in default mode (pH mode). When I read back the previous data from the register on MISO, I get all 0s confirming successful setting of pH mode on the last attempt.

    I am then sourcing 100 mV from a sourcemeter to the PH_SENSOR input on the board through a BNC cable. The sourcemeter has no problem sourcing the voltage with 100 uA current compliance. But for some reason the voltage between VOUT_DUT and VOCM_DUT is fixed at 1.8V, and the voltage between VOUT_DUT and GND is fixed at 2.8V. If I vary the voltage in the 100 mV to 200 mV range, these voltages are still fixed at those values. No matter how many times I try to reset the board settings to default pH mode, I can't get the buffer to work, even though the settings register readout suggests the EVM is indeed in default pH mode. What could I be doing wrong? Any suggestions at this point will really help.

    Best,
    Will

  • I even tried using the SPIO data capture board with the LMP91200 software (installed drivers, identified board, configured settings to pH measurement and adjusted the jumper settings according to the evaluation board user guide). Still, the output is fixed at a constant voltage as I vary the input from my source meter.

  • Hi Will,

    I've spent some time in the lab and I've tested step by step the EVM following the answer I gave to you during this period. I've tried wiht and without the SPIO4 board.

    If the jumpers are configured as per the user guide (stand alone mode) and you are using the VDD as voltage reference, the Voltage at VOCM pin needs to be VDD/2, it means 1.65V if VDD=3.3V.

    If you read that wiht the EVM configured as per user's guide and not connected to anything (micro, SPIO4), it means that the VCM buffer is working. Than apply a signal 100mV with a voltage source (through the BNC present on the EVM).

    Between VOUT and VOCM you should read 100mV.

    P.S.Make sure that your voltage source allows you to level shift its ground. When you connect the Voltage source through the BNC, the GND of the voltage source is level shifted to VOCM voltage. It means that the supply voltage of the EVM and the supply voltage for the signal cannot have the GND shorted together. The GND of the supply voltage need to be independent.

    regards,

    Domenico

  • OK, I am now using an actual pH probe in solution and connected to the BNC input of the LMP91200 EVM. I am assuming that this should solve any issues I had with the voltage source and level shifting its ground.

    You say VOCM needs to be VDD / 2... Now I have pins 4 and 6 shorted on JP2 such that the reference voltage VREF is shorted to VDD. According to the datasheet, the board by default sets VOCM to VREF / 2. In my case this is also VDD / 2 (I confirmed with multimeter that VDD and VREF are indeed shorted). therefore VOCM should be VDD / 2 by default when I power the board up. But when I set VDD to 5V, VOCM goes to 1.72 V. When I set VDD to 3.3 v, it goes to 1.07 V. Clearly not 1/2 VREF. I will try to manually program all 0s into the settings register to change this, but I'm assuming that won't work since that is what is in the register by default on power up.

    I am willing to try other configurations to get this to work. Again, I am using an external power supply and the board in stand alone mode. I have had success writing to the program register with my microcontroller. Can you give me a configuration that works for you for me to try besides the one that isn't working? Or can you tell me what I can do to make mine work? I already outlined my jumper settings earlier in the conversation.

    Thanks for the help as always,
    Will 

  • Also-- the output between Vout_DUT and VOCM_DUT is fixed at 2.76 V. This seems very high. The output of the pH probe shoud be on the order of 100 mV. I looked at the application notes on the datasheet-- when the device is in pH mode, it does not internally apply the nernst equation, factoring in temperature, correct? It simply acts as a unity gain buffer, and if the user wishes they can switch to temperature sensing mode to use the nernst equation to determine the pH... If I'm wrong, then that could potentially explain why the output of the buffer is saturated at a huge voltage...

  • Domenico,

    If possible I would like to set up a time where we could potentially talk on the phone. You have been very helpful in this exchange but the latency of responses between is isn't working for me anymore. I tried calling regular technical support but no one there had any specific knowledge of this board. If we could talk on the phone and work out the issues that would be great. Again, all I want to do for now is use the pH buffer in stand alone mode and read the analog voltage into my own microcontroller. I have a pH probe in solution and the buffer is non-responsive. Let me know if and how I can schedule this talk.

    Best,

    WIll

  • Hi Will,

    sorry for the delay in the answers, but I'm travelling.

    From yor past messages it seems that you have measured VOCM voltage wiht the probe connected to the LMP91200.

    Have you never measured the VOCM voltage without the probe ? Configure the EVM for stand alone usage, power up it and measure VCOM vs GND.

    When you conenct the pH probe and put it in the liquid, be sure that the liquid is not grounded. In case of conductive liquid, be sure that the container (if it is in metal) is not grounded too.

    regards,

    Domenico