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.
I'm writing an Arduino library for the LMP91000 (github), and I'm apparently having some trouble getting the writes to succeed. I know there's a lock bit that has to be cleared before writing certain registers, but I can't seem to get it to change the value. Here is a logic trace of a write followed by read to the LOCK register (0x01).
It looks to me like I'm compliant with the data sheet to me, but the write is not actually taking hold. I've checked an the clock is 100kHz as well. The LMP91000, I think, is acknowledging when it's expected to. My controller is, I think, doing the right things with start, stop, ack/nack for it's part.
Furthermore, when I just go in and read all the registers, I get the following results, decoded for convenience (logic trace attached):
STATUS: 0x01 readyLOCK: 0x01 Registers 0x10, 0x11 in read only mode (default)TIACN: 0x03 RLoad selection = 100 Ohm (default) TIA feedback resistance selection = External resistance (default)REFCN: 0x20 Reference voltage source selection = Internal (default) Internal zero selection = 50% of the source reference (default) Selection of the Bias polarity = Negative (VWE - VRE) < 0V (default) BIAS selection = 0% of the source reference (default)MODECN: 0xFF Shorting FET feature = Enabled Mode of Operation selection = Temperature measurement (TIA ON)
I'm struggling to see what I'm doing wrong, and would appreciate some help figuring it out. Thanks!
LMP91000_Read_24 MHz_24 M Samples.logicdata.zip
I will have some one from my team look into this.
SSP Applications Manager
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Jim Catt:
In reply to Victor Aprea:
How annoyingly stupid of me. I had 330 ohm resistors pulling up the I2C bus instead of the intended 3.3k ohms. Swapped out those resistors and all was well with the world. Lesson remembered, don't always trust what you see on a logic analyzer, digital interfaces still ultimately have analog properties.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.