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.

TMP125: SCK and Timing

Part Number: TMP125

Please advise on questions regarding TMP125.

  1. The One shot and data read commands on pg 6 shows an initial SCK falling edge after CS drops low.  Is this needed?  We are planning to have SCK low initially when CS drops low. Not sure why this would be needed but double checking.

  1. The data sheet shows a 60  ms conversion time, but also a 120 ms update time.  Do we need to wait 120 ms (instead of 60 ms) between initiating a one shot conversion command and reading the result on the next command? 

  1. To keep the part cranking out conversion as often as possible, can we do the following?

CS! = 0
Transmit = 0x3000 (to indicate both shutdown and oneshot)
CS! = 1
wait >60ms/120ms
CS! = 0
Transmit = 0x3000 (to maintain shutdown but not initiate another oneshot)
CS! = 1
retrieve the 16

wait >60ms/120ms

Repeat

Please advise.

Thanks,
Mark

  • Hi Mark,

    1. This shouldn't cause an issue, Based on these diagrams and the timing information, the first bit out from the TMP125 will happen when you pull CS low regardless of the state of SCK. You will just need to make sure that you don't violate the 40ns CS to SCK Rising Edge setup time (t5). After that rising edge, the next bit of data (T9) will output on the falling edge of SCK. 

    2. 120ms is the update time if you don't put the device in shutdown. The continuous conversion mode of the TMP125 will wait for 60ms between initiating 60ms reads. I would not recommend reading from the device faster than this, as the 60ms conversion time is only a typical spec and can change with temperature. You would likely end up reading the same sample twice at strange intervals, and the device would consume maximum current if it is kept in a continuously active state.

    3. If your goal is to manually trigger one-shot conversions at the fastest interval then yes this code will work. The second time you write 0x3000 you will be triggering another one-shot conversion though, which seems correct based on what you are asking. For simplicity, I would recommend just leaving the device in continuous conversion mode, and polling every 120ms.

      It should look like:
      CS! = 0
      Transmit = 0x0000 (or ground SI)
      Retrieve 16bit data (will be from last conversion, just ignore the first one) 
      CS! = 1
      wait > 120ms
      Repeat

      Using this method you can just connect SI to ground if you would like, as SI for the TMP125 is only for controlling shutdown mode. 

      If you would like to use Shutdown and one-shots you can do the following: 
      CS! = 0
      Transmit = 0x3000 (trigger one-shot and return to shutdown)
      Retrieve 16 bit data (will be from last conversion, again just ignore the first one)
      CS! = 1 
      Wait > 60ms (or longer if you would prefer)
      Repeat

    I hope that information is helpful, just let me know if you have any more questions. 

    Best Regards,
    Brandon Fisher