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.

CCS/MSP430I2021: Selecting a microcontroller for data aquisition

Part Number: MSP430I2021

Tool/software: Code Composer Studio

Hi Community,

First of all, i want to mention that this is my first post :) so i'm sorry if i do something wrong.

I have the following problem:

I am working on a project where the first task is to read data out of an ADC via SPI. We selected a MSP430i2021 for this.

Now the problem ist that the microcontroller is not fast enough to receive the data that were sampled by the ADC. We have to set the ADC very low on speed. We use a ADC from Microchip (MCP3914) which got 8 synchronously sampling Channels. At the moment we get maximum 1ksps out of the ADC. But it is possible to go up to 125ksps with this ADC (per Channel).

So I need your help with choosing a new microcontroller for this application.

It would be great if the Code that I already written, could use further on. But it is not mandatory if there are good librarys and enough power to compensate one or a few lines of quick and dirty code ;) 

After that we have to send the sampled data to the computer for data handling with matlab. Here is the problem that the actual microcontroller only has a slow UART which could be the next bottleneck. For that we Need much memory in the microcontroller to store the sampeld data or fast Periphery like USB or Ethernet to transmit faster than the samples can reach the microcontroller. The optimum would be both, big memory and fast interconnections.

Anyway I am not that experienced in writting C-Code for microcontrollers. I just started with my master study and before that i worked with Automation Control Systems like PLC. 

I hope you can help me with that. Are there any Guidelines how a beginner like me can select the proper microcontroller? 

And of course i am sorry for the grammar,  english is my second language and i am use it not that much.

Greets Maximilian 

  • you want to do some basic math:

    125ksps * 24bits/sample/ch * 8 ch = 24Mbps.

    ie you need a mcu that has a spi that can run at 24Mhz minimum. in a real life application, you will likely need dma.

    you can then figure in how many samples you want to hold to get a sense of ram size, ...

    realistically, I think you are looking at a 32-bit mcu, 48Mhz, 2+ spi, DMA, and 8Kb ram, at a minimum.
  • Hi Maximilian,

    welcome to the forum!

    To answer your question, you need to consider the whole system of your application. That means

    1. What and how much data need to be collected?
    2. What processing shall be done with the data?
    3. What shall be done with the processed data?

    Then you need to consider the hardware boundaries of your application. Among other’s this includes

    -       Voltage range

    -       Power budget (line powered, battery powered)

    -       Amount of data to be processed (see Danny F’s comment)

    -       Size limitations (package size)

    -       Safety/Security requirements

    -       temperature requirements

    -       communication (USB, I2C, SPI, UART)

    -       peripheral mix of the microcontroller

    The parametric search e.g. for MSP products gives you an overview of what to typically to consider. You can narrow down your search by selecting on the left side:  http://www.ti.com/microcontrollers/msp430-ultra-low-power-mcus/products.html

    Another question is why do you need an external ADC? The MSP430I2021 has 2x24bit Sigma Delta ADC’s.

    Let me know if you have further questions.

     

    Best regards,

    Andre

  • Hi Maximilian,

    do you have further questions? If not, please select "Resolved" so this thread can be closed out.
    Thanks a lot!

    Best regards,
    Andre
  • Hi Andre,

    thank you very much for your input. We need an external ADC for more than two Channel simultaneous data aquirement. The Information you two provided to me is very helpful. I think I am now able to select the proper microcontroller. Thanks again.

**Attention** This is a public forum