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.

details of USB-CDC connection requested

Other Parts Discussed in Thread: LDC1000EVM

Hi all,

I understand that the MCP430 of the LDC1000EVM is listening on an USB-CDC connection, which emulates a serial connection.

I try to address the LDC1000EVM from linux (ubuntu), where this emulated serial is called /dev/ttyACM0.

I did get it streaming back at me using echo and cat command in the shell, however now I try to get the firmware version (command 09) with a program, I fail miserably.

Q: Do I need to know the baud rate, etc. to communicatie or is this not necessary with an USB-CDC connection ?

these details are missing from the FAQ. thanks for any guidance you might have for me.

  • For all echoed commands like the firmware command, data is returned in a 32-byte packet at the 8th offset from zero.

    A: No Parity, No software flow control.  Baud rate is meaningless in USB-CDC.

    Thanks,

  • thanks for your answer !

    I was afraid the Q would be silly, but at least now I know for sure;-)

    oh well, it's just a hobby for me.

  • In case other people try the same,

    please note that the defaults mentioned in the datasheet for the chip are NOT the values you get when reading the EVM. you read values set by the MSP430.

    the values you read are the ones also reported in the GUI, being

    address value

    0              0x80

    1              0x13

    2              0x3B

    3              0x94

    4              0x17

    5              0x02

  • Hi Ronald,

    This is true, since the EVM has a set of different and specific parameters required to interface its own coil.  However, there are no EVM defaults for registers 0 - 2 on the EVM.  Register 0 is a device id register and can change with revisions.  Register 1-2 being RPMAX and RPMIN respectively might have different values after calibration of the coil, which varies slightly (typically by 1-2 LSB) from EVM to EVM.

    Thanks,

  • Charles,

    I am writing my own application that is supposed to talk to the LDC1000 EVM. I cannot find any information on the communication protocol between EVM and host - which is supposed to be CDC COM port communication. Since you wrote the firmware, is it possible to obtain/publish the communication protocol and a typical scenario or script needed to initialize the board, start and stop streaming and read/write registers. Having such document is much better than doing reverse engineering using USB analyzer.

    Thanks in advance.

  • Hi Dmitirii,

    You do not need a USB analyzer if you can understand the MATLAB or LabView libraries, which not only show typical usage scenarios but also expose all the commands.

    Thanks,

  • Charles, thanks - I already found the sources with the installed program after I wrote a mail; they are clear enough for data collection. It would be nice to have similar description for register read/write and firmware upload.

    However, yet another question and suggestion: the current version of the software and firmware generates only 16-bit data only for Rt and frequency, and even besides that, the sampling rate chosen does not allow to get resolution greater than 13 bits on the frequency. This is not sufficient to illustrate the advantages of sub-micron measurements. It would be nice to add the capability to change the reference clock rate supplied to MSP430 to the inductive sensor, ideally through the GUI, and also add the capability to use 24-bit data format for frequency measurements.

    I probably can recompile the firmware to do that - but the documentation does not tell which of the supplied projects is currently loaded into the MSP430, so there is a confusion which one to start with. Some more info on that might be helpful.

  • Hi Dmitrii,

    The 16-bit limitation would only apply for streaming at the moment; you can access all 24-bits using 3 SPI Read commands.  The reference clock rate is already set to be the highest it can be since divisors are limited to powers of 2 on MCLK.  The firmware can be modified to run the master clock from DCO at a multiple of 8MHz (16MHz) but you will lose the accuracy of the 24MHz crystal, as well as accuracy on the timed polling rate of the MCU.

    The firmware library used by the EVM is in the library archive, but the actual firmware itself is not any of the projects. 

    The firmware upload uses the BSL function of the MSP430; it is well documented.  Please see the official software thread which contains information about this function.

    Might I ask what application you are looking into for sub-micron measurements?

    Thanks,