Alumoline Fuel-Cell Instrumentation Naman Chopra Suan-Aik Yeo Ronny Wijaya Darin Tanaka
Software Design Considerations Very loose speed requirements: dashboard display updates only twice each second Very loose performance requirements: no complex computation required – use default speed of 24MHz Don’t include libraries to optimize code size (except for FAT filesystem library) Interrupt-driven organization: is simple and suits our tasks well.
Interfaces Atom board microcontroller communication: SCI SD-card communication: SPI Read Sensor Data: ATDs
Main Display
loop received Atom board packet Send sensor data Sensor data request toggle sensor logging Toggle logging req. Set wall clock time Wall clock time packet Set timer tick freq. Logging interval packet Create file (name == timestamp) on SD card Update wall clock time Foreach sensor where log==true, write sensor value and current timestamp to file in SD card. Timer tick Initialize registers and SD card Flowchart (microcontroller)
idle Send sensor data req. Timer event Initializa tions Flowchart (Atom) Update display/ graph Dangerous threshold reached Display warning Recv sensor data UI event Set log rate Toggle sensor logging Sensor meter tapped Graph tapped “Customize display” tapped “shutdown” tapped shutdown
Main Recv atom packet Update wall clock time initialize Send packet Timer interrupt handler Log sensor value SD command Hierarchy (microcontroller) Read ATDsCreate file SD command
Main Car Interface Read Serial Port Thread Send serial port Meter panels Data Buffer Timer interrupt JFreeChart Check valid string Update panelsUpdate chart if needed Hierarchy (Atom)
Thanks! Questions ?