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.

MSP+LCD+SPI/ADC

I have a customer with the some of the following requirements
"We have run into some issues with the PIC that are slowing us down and in order to speed the process back up we are potentially open to using a TI Microcontroller.  What would we need to get started with TI Microcontroller development (hardware, software, tools, etc.)?  Also, since we are new to the TI microcontroller line what type of low cost training is available?
 
To provide guidance in selection, the general scope of our project is as follows:
 
We need to collect 2 channels of 16 or 24 bit analalog data at a rate of 16ksps - 20ksps.  The microcontoller would buffer (possible via SD/MMC) the data until 2.5 seconds of data has been collected.  The data would then be sent to the PC via USB.  The data collection process would start via a trigger (momentarily closed switch).  The microcontroller would need to support a standard Hitachi compatiable 2x16 LCD, a couple of LEDs, Maxim/Dallas 1-wire devices, and extra serial (RS-232) interface for future use."
Any help would be appreiated.
Cheers
Calum
  • Calum Mackinnon said:
    We need to collect 2 channels of 16 or 24 bit analalog data at a rate of 16ksps - 20ksps.

    A tricky thing. The ADC12, which has no problems with high data rates, has only 12 bit resolution. Other MSPs have an SD16 with 16 to 24 bit resolution (depending on the oversampling factor) but is a Delta-Sigma converter and at highest oversampling can only do 1ksps. The smaller oversampling modes reduce the resolution down to 14 bits (with ~30ksps). So it is likely that you'd need an external ADC.

    Calum Mackinnon said:
    The microcontoller would buffer (possible via SD/MMC) the data until 2.5 seconds of data has been collected.

    SD/MMC is quite slow. This are 200-300k of data in these 2.5s. Sure you can write that fast to MMC (even faster) but then you'll have to also read this data for the transfer again. Which slows things down significantly. The theoretical limit is 2MB/s (16MHz SPI clock), but due to write times and read delay...
    Also, the MSPs with integrated USB cannot transfer larger data block than the available ram (which is 18k max), usually a DMS buffer of 1k is used per block. So why not buffering that much and then send it as it comes in? The buffered 300k would be at least  20 independent USB transfers. So buffering less and sending more often in chunks would be the better choice. For the buffer, an external RAM chip with SPI would be more suited than an SD. And cheaper too. Or if sending 1k USB packets, every 256 samples, no external buffer is needed at all

    Teh LCD is no problem (no direct hardware support of this, but with all the ports and so it's just a question of software), LEDs too and RS232 support is also there in hardware. Only the 1wire has to be implemented in software.

    Calum Mackinnon said:
    Also, since we are new to the TI microcontroller line what type of low cost training is available?

    This forum :) Lowest cost possible. No, I'm sure there are some commercial offers too. Check the Ti main page.

    This only refers to the MSP microcontrollers, as this is the MSP forum and I have only MSP experience and knowledge. There are others (stellaris, TMC, ...) where the above information does not necessarily apply and which may or may not fit better. There are soem selectors on the Ti website to find the controller that suits best. It does not provide background information about what you can actually do with the hardware, though.

  • Hi Calum,

    well, let me say there's no single chip solution for your requirement! I would opt for:

    - using an external ADC which fits your needs; use the product selector to find one http://focus.ti.com/analog/docs/dataconvertershome.tsp?familyId=82&contentType=4&DCMP=TIHomeTracking&HQS=Other+OT+home_p_dc

    - in case of the microcontroller I would prefer using a Stellaris Cortex-M3 device in favour of an MSP430. The Stellarisware will save you plenty of time programming the peripherals, you can have up to 96kbytes RAM on devices with a USB interface (see http://focus.ti.com/mcu/docs/mculuminaryfeatures.tsp?sectionId=625&tabId=2611&familyId=1755&contentId=87485&featureId=6). Dev tools were in place so you customer can jump-start his delevopment.

    Rgds
    aBUGSworstnightmare

**Attention** This is a public forum