|
|
GSE, Instrumentation and Test EquipmentDigital Data Acquisition (DAQ) SystemFirmware PageLast Update, February 27, 2009, by Stephen Daniel |
|
Data Capture FirmwareThe DAQ system is built around a PIC 18F2455 microprocessor from Microchip. The process was chosen for the following reasons:
Unfortunately the chip has relatively little program and data memory. The memory limitations provided some challenges to the firmware design. High Level ArchitectureAfter some experimentation we settled on the following high-level architecture for the firmware.
The various firmware modules do not directly interact except during system initialization. Firmware AvailabilityThe modules in the firmware that communicate over the USB are using Microchip's USB framework. Microchip's licensing allows me to freely distribute the binaries. I am unclear if I can distribute the sources. More work is needed. The source code to mode 3, the data capture code, is free of licensing restrictions and my intent is to make it avaliable under a GPL. I have not yet done the work to package up the binaries or the available sources, so I am not providing a link here. Interested parties should contact me directly. PIC Tool ChainsThe modules that use the USB hardware use Microchip's C compiler. However due to budget constraints, I use that C compiler in its free mode, which limits some object code optimization. The code has been carefully written to fit within the size limits listed above even with the optimization partially disabled. The code to capture and store data was written using the BKND CC8E compiler, which I purchased. For small PIC 18 projects this compiler generates excellent code and is very easy to work with. Unfortunately code written for this compiler is not compatible with Microchip's compiler, or vice versa. (Both compilers extend the C language in useful and incompatible ways.) |
|