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.

LDC1612EVM: Communication protocol between PC USB host and MSP430 on LDC1612EVM

Part Number: LDC1612EVM

As I want to build a prototype with LDC1612EVM directly, the USB virtual serial port communication interface of MSP430 on LDC1612EVM is used by my own python script to poll the sensor data.

After doing some searching work, I get this (Q40: How can I communicate directly with the MSP430 on the LDC1612LDC1614LDC1312, or LDC1314 EVM? http://e2e.ti.com/support/sensors/f/1023/t/295036#Q40)  and this (Q41: Do you have any code examples for communicating directly with the MSP430 on the LDC1612LDC1614LDC1312, or LDC1314 EVM?  http://e2e.ti.com/support/sensors/f/1023/t/295036#Q41). 

But it seems not update to the latest firmware. For example, I try the read register command but get unexpected response as following.

### Read register command

Read register command is used to check LDC register settings. Read process consists of 2 steps:

1) _Set register command_, which is required to indicate which register is to be read. The command format is: 4C 15 01 00 02 2A XX ZZ, where XX is the register address to be read, and ZZ is CRC-8 check for the command string. For example, to read back register 1B the command is 4C 15 01 00 02 2A 1B 10. After sending this command it is required to read 32 bytes. The 4th byte will indicate an error, if any.

> Testing results:
> send 4C 15 01 00 02 2A 1B 10,
> return ff 00 4c
>

2) _Read register command_, in the format 4C 14 01 00 02 2A 02 ZZ, where ZZ is CRC-8 check. After sending this command it is required to read 32 bytes, as noted above. The 4th byte will indicate an error, if any. 7th and 8th bytes are MSB and LSB bytes of the register value. For example, if we read register x1B value, the response is 4C 14 01 00 03 2A 82 0D C6 A3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C6

> Testing results:
> send 4C 14 01 00 02 2A 02 76,
> return ff 00 4c

-------------------------

Okay, that's too bad. Then I used a serial port monitor tool to capture the communication data frames when using Sensing Solutions EVM GUI. The results are as following.

Write Register

  • Send: 02 XX 02 YY YY, XX is the register addr, YY YY is the data
  • Response: same as above

 Read Register

  • Send: 01 XX 01, XX is the register addr
  • Response: 01 XX 02 YY YY, XX is the register addr and YY YY is the data

This is really much simpler than the previous documented protocol. And I use commands of this format to communicate with the EVM and it actually works.

So could anyone confirm there is an protocol change and the Q40 is not up to date?