Can an MSP430 Handle 1MSPS 16-Bit Sampling for Five Channels?

  • Thread starter Thread starter dmorris619
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around the feasibility of using an MSP430 microprocessor to handle a sampling rate of 1MSPS at a resolution of 16 bits for five channels simultaneously. Participants explore the challenges of data transfer from an ADC to memory, the need for low power consumption, and potential solutions involving additional hardware components.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant expresses concerns about the MSP430's capability to handle the required data throughput and suggests the possibility of using multiple microprocessors to manage a single ADC.
  • Another participant proposes using FIFO memory that is 16-18 bits wide to temporarily store data, highlighting its low power and cost-effectiveness.
  • A follow-up question is raised regarding the practical limitations of shifting data from the ADC to the FIFO at a rate of 16MHz, depending on the MSP430's capabilities.
  • Concerns are noted about the nature of 16-bit ADCs with multiple channels, which often only switch inputs rather than provide simultaneous readings, complicating the sampling process.
  • Several potential configurations are discussed, including using multiple ADCs, a single high-speed ADC with multiplexing, or even considering an FPGA as a solution for both data handling and control.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the best approach, as various competing views and configurations are proposed, indicating that the discussion remains unresolved.

Contextual Notes

Limitations include the dependence on the specific ADC's capabilities, the MSP430's clock speed, and the overall design constraints related to low power requirements.

dmorris619
Messages
41
Reaction score
0
I am having a bit of a sampling rate problem in terms of choosing a microprocessor for the project I am working on. Where everything stands right now is that my sampling rate needs to be 1MSPS at a resolution of 16 bits for approximately 8 milli seconds. I need to sample five channels simultaneously and store the values in memory until they can be offloaded to a non-volatile memory source after sampling is done. I know there are analog to digital converters that sample at 1MSPS at 16 bits resolution, my problem really lies in clocking that data off the ADC fast enough to store it some temporary volatile memory and this problems gets made worse by having to clock all five channels out before the next sample.

Part of my requirements as well is that it be low power so it has to be a microprocessor, I was hoping to find something really low power like an MSP430. I just do not think it has the power to read the data off that quickly. However I can use multiple microprocessors to handle a single ADC, provided they all sample in phase with one another.

Any suggestions would be greatly appreciated and I am open to very inventive solutions.
 
Engineering news on Phys.org
Assuming you are using a parallel ADC, why not simply use FIFO memory that is 16-18 bits wide? It is cheap, easy, low power and comes in speed grades from a few Mhz to more than 100mhz.

Fish
 
Fish4Fun said:
Assuming you are using a parallel ADC, why not simply use FIFO memory that is 16-18 bits wide? It is cheap, easy, low power and comes in speed grades from a few Mhz to more than 100mhz.

Fish

That definitely sounds like a possibility. Assuming my ADC can clock out the data at a rate similar to the FIFO memory and both are above the master clock rate of my MSP430, say 16MHz, could I in practice shift out the data from the ADC to the FIFO at a rate of 16Mhz? Is there some limitation of the MSP430 or something else that would limit this?
 
The biggest problem I see is that most 16 bit ADCs with "multiple channels" only contain a single ADC and simply switch the inputs to the ADC, which precludes taking "simultaneous" readings. I see several ways around this, but they can get expensive. In your OP, you suggested you needed 1MSPS for 8mS (8000 samples per channel, 40k total samples, 80kb of data). You could obviously achieve this with five ADCs operating @ 1MSPS and five FIFOs > 8k x 16. You could use five ADCs @ 1MSPS and a single FIFO >40k x 16 and simply "Mux" the data in. You could use a single ADC > 5MSPS and switch the Analog Inputs to take five samples XnS apart.

5 channel, 16 bit resolution @ 1MSPS for 8mS is a lot of data and can be tricky to pull off. The additional caveat of "low power" makes the design that much more difficult. Since you do not intend to use the on chip ADCs in the MSP430, you might consider different uControllers, or perhaps even an FPGA. An FPGA could be synthesized to act as both FIFO and uController.

Thinking more on it, I think an FPGA might be the best route to go. If this is a "one off" project, you might consider simply buying an "FPGA Eval/Demo Board" and "plugging it into" your analog board.

Just trying to "think".

Fish
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
2K
Replies
17
Views
6K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
6K
  • · Replies 11 ·
Replies
11
Views
8K
  • · Replies 1 ·
Replies
1
Views
10K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • Poll Poll
  • · Replies 18 ·
Replies
18
Views
5K
Replies
5
Views
3K