Electronic – Developer/application board with a CAN/SD card

canembeddedmicrosd

We have to develop a data logger. I should get some data over CAN (1 MBit/s), compress this data and save it to an SD card. To save time, we would prefer to use as much existing hardware and software as possible.

I looked into Arduino (CAN and microSD card with a shield, but I'm not sure if it has enough RAM or speed) and Gumstix (enough speed/RAM but no existing hardware and software for CAN and is expensive).

What should I do?

Best Answer

This is sort of a shopping question, but I'll try to approach it as if you asked about what to look for in a datalogger for CAN networks.

You'll want a way to store the data, and SD/micro-SD cards are great for this. Most modern dev kits will use a micro SD card to save space.

Compressing the data requires that you have enough RAM to record a decent sized buffer of data, and that you have a fast/powerful enough processor for the task. A 32-bit micro will be good, as most compression algorithms are written for processors which can handle 32-bit words in a single instruction. You'd have at least a 4x slow-down with an 8-bit controller. I'm not sure what level of compression you want, so it's hard to say what will be acceptable. Uncompressed, 1Mbit/s would fill a 2GB SD card (the largest you can go without using SDHC, which is harder) in about 22 minutes.

You'll want a way to get the data off the datalogger. Unplugging the SD card reader is a possibility, but you'll probably want to use serial, USB, or Ethernet so that you don't wear out (or loose) the card and so that you can read data off of the card while still logging so you can have an unlimited stream of data.

I'd recommend the TI/Stellaris LM3S8962 Evaluation Kit: it has both integrated CAN and a micro-SD card, and uses a Cortex-M3 (32-bit) microcontroller running at 50MHz. It also has Ethernet and USB connectivity to offload the data. You might use the daughter board for testing, and you might use the display to indicate how full the card is. It's $90, which is reasonable for what you get in the package. You can probably get it cheaper with a board designed for logging, but that will likely take you down to 8-bit microcontrollers (making compression hard) and CAN over an external transceiver that you'll have to add on.