Difference between revisions of "MSP430 Datalogger"

From DIDEAS Wiki
Jump to: navigation, search
m (Support Software / Hardware)
 
(72 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Support Software / Hardware==
+
[[Main Page]]
* C compiler and JTAG tools : http://mspgcc.sourceforge.net/
 
* "Adapt3" USB drivers : http://www.ftdichip.com/Drivers/FT232-FT245Drivers.htm
 
* PC Hardware clock synchronization : http://www.thinkman.com/dimension4/download.htm
 
* Parallel port J-TAG cable : http://www.olimex.com/dev/msp-jtag.html
 
* Windows sync utility (explorer eject replacement) : (UNVERIFIED) http://www.only4gurus.com/v3/download.asp?ID=2443
 
* PC serial port terminal emulator for RS-232 debugging
 
* 1.5mm programming  cable - custom built from http://www.jst.com/ - [http://www.jst-mfg.com/ProductGuideE/EZR-D.html based on 10ZR-8M]
 
  
==Software and Tools Setup==
+
=[[Datalogger Setup]]=
*Install [http://mspgcc.sourceforge.net/ MSP430-GCC].  Download [http://sourceforge.net/project/showfiles.php?group_id=42303&package_id=68584 Win32 version] or [http://sourceforge.net/project/showfiles.php?group_id=42303 Others]
+
Discussion of preparing the laboratory PC for working with the datalogger.
  
*Optionally install [http://www.ftdichip.com/Drivers/FT232-FT245Drivers.htm USB drivers] for Adapt3
+
[[Image:datalog.jpg|right|thumb|160px|SD LOG]]
  
*[http://www.dideas.com/docs/datalogger/dl6_v1-082205.zip Download] and extract source code for the datalogger.
+
=[[Datalogger Use | Laboratory use of the Datalogger]]=
  
==My Tools Setup==
+
Discussion of programming the datalogger, preparing the SD card, etc.
http://www.dideas.com/docs/datalogger
 
*jtag_clock
 
*[[genfile]]
 
*[[sd_translate]]
 
*reset
 
  
==Hardware Setup for MSP430 Programming==
+
=[[Datalogger Field | Field use of the Datalogger]]=
  
*Connect the JTAG cable to the PC printer board and to the "Adapt3" PCB. The JTAG cable is polarized to help connect it properly.
+
=Information and Specs=
 +
*[http://www.sandisk.com/oem/default.asp Sandisk OEM info for SD and MMC]
  
*Optionally connect "Adapt3" to the PC via the USB cable (you many need to install drivers). USB will provide power to the board - however the parallel port can also do this (but may not be reliable).  This USB interface is also used for debugging.
+
*[http://www.dideas.com/docs/datalogger/datasheet/ Datasheets and application notes]
  
*Connect the 1.5mm cable (10 pins) to the "Adapt3" PCB and to the datalogger board requiring programming.
+
*[[DS1339 Discussion]]
  
==Programming the Datalogger==
+
=[[DL6F Issues]]=
* Complete the software and hardware setup
 
* From the datalogger source code directory, build and download the package by typing "make download".  The download should take less than 1 minute.  After the download, jtag-talk will be run and will program the clock. 
 
  
* some other commands:
+
Known problems with the DL6F design and workarounds
* make - just build the project, don't download
 
* make clean - clean up the project in preparation for a total rebuild
 
* make clock - start the "jtag_clock" program that will attempt to talk with the datalogger and set it's clock
 
* reset - a batch script that resets the datalogger
 
  
==SD Card Preperation==
+
=[[SD / MMC Requirements and Test Results]]=
  
The SD Card preparation is essentially a process of wiping the card with a known value and also creating a single sequential file in the card's root directory.
+
Results of various SD and MMC cards.
  
The following information was created and verified using Windows 2000 SP4.
+
=[[DL6F delivery | Delivered and Status]]=
  
Format card using FAT16 and largest allowable cluster size:
+
Dates of deliveries and project status.
  
 +
=[[DL6F Assembly | Assembly Documentation]]=
  
format <drive_letter> /FS:FAT /A:16K /V:
+
Bill of materials and assembly documentation
 
 
 
 
A cluster size of 16K was the largest permitted with the SD 128MB card.  Possibly a smaller cluster size will need to be used with a smaller SD card.  (Large cluster size means that FAT is smaller (which isn't used anyway)  - and thus more space is available for logging)
 
 
 
 
 
If format doesn't report the drive size, use chkdsk <drive letter> to determine the size of the SD card.  The card size is reported in bytes, but then may also be given in "allocation units".  If so - record the allocation units and the cluster size.
 
 
 
 
 
Use "genfile" to write a file named "sdtest00.txt" ("timing00.bin" next version) that fills the SD card.  This binary file contains a single value 0x5A (next version will be 0xFF) and is designed to overwrite previous data on the card and most importantly to cause windows to create a single FAT file chain the starts with cluster 2, 3, 4, 5, ..., last available cluster.
 
 
 
 
 
Example : genfile n:timing00.bin 7666C 0x5a 16k
 
 
 
Next version Example : genfile n:timing00.bin 7666C 0xff 16k
 
 
 
Finally before removing the SD card, flush file system buffers.  You can use the cygwin "sync" command, or rom explorer, right click on the drive letter representing the SD card, and select eject. 
 
 
 
===Shortening the Preparation Procedure===
 
Format and genfile can take several minutes to complete for a large card. 
 
 
 
When "wiping" the card, the procedure may be shortened if you know that only small portion of the card has been overwritten.  For example its not necessary to reformat the card every time, nor is it necessary to use genfile to fill the entire card.  However, it is necessary to format and fill the entire card before the first use.
 
 
 
=== How the datalogger chooses where to write data on the SD card ===
 
 
 
 
 
The datalogger only consults the SD card's FAT when the card is inserted and thus does not modify the FAT or follow it.  At insertion the partition table, boot record, and root directly are analyzed ultimately to find the cluster number of a single file "sdtest00.txt" (next version "timing00.bin").  If the file doesn't exist then the logger stops and waits for a card insertion event.  If the file is found then the starting cluster is read and from that the LBA (logical block address) of the start of the file is calculated. The datalogger will then using a binary search algorithm searching the card's complete data area to locate "end of file". End of file is define as the last sector that does NOT start with 4 bytes of 0x5a (next version 0xFF).  Writing will commence with the first LBA that does contain 0x5a5a5a5a (next version 0xFFFFFFFF).
 
 
 
==Delivered==
 
 
 
- 8-21-05 : modified device (xxx-nnnn, 64MB MMC flash card, DL6 datalogger ser#2) with "alpha firmware"
 
- 8-21:05 : JTAG programming system (Olimex adapter, parallel port extension, adapt3 interface card, USB cable, 1.5mm DL6 programming cable)
 

Latest revision as of 19:31, 9 August 2006

Main Page

Datalogger Setup

Discussion of preparing the laboratory PC for working with the datalogger.

SD LOG

Laboratory use of the Datalogger

Discussion of programming the datalogger, preparing the SD card, etc.

Field use of the Datalogger

Information and Specs

DL6F Issues

Known problems with the DL6F design and workarounds

SD / MMC Requirements and Test Results

Results of various SD and MMC cards.

Delivered and Status

Dates of deliveries and project status.

Assembly Documentation

Bill of materials and assembly documentation