Cas Craven Nick Paine Glen Rhodes Lev Shuhatovich Joe Zugelter A little black box for your motorcycle
Concept Hardware Design o 9S12 Microcontroller o Fonera Wireless Router o Motorcycle Software Design o 9S12 Microcontroller o Fonera Wireless Router o iPhone Interface o Web Display
Hardware and Software to track motorcycle state over time o State GPS Location RPM Velocity Acceleration Gear
Battery Ignition Coil Speed Sensor Gear Position Sensor Function Switch Motologger Accelerometer GPS
Battery Ignition Coil Speed Sensor Gear Position Sensor Function Switch Motologger Accelerometer GPS System Diagram
Wifi SoC Atheros AR2315 Wifi SoC Atheros AR2315 SPI Wifi Serial Data Acquisition Board Data Flow
Hardware Required o Motorcycle o GPS Reciever o Accelerometer o SD Card o Freescale 40MHz o Fonera Wireless Router o iPhone
Fonera Router Atheros MIPS-based Redboot OpenWRT SD MMC Driver User Application Kernel Panics are free Trashing JFFS2 Made Easy!
Accelerometer Microcontroller MC9S12XD512 Microcontroller MC9S12XD512 Status LEDs Power LED Ignition Coil Speed Sensor Function Switch Gear Position Ignition Switch Battery Power Analog Conditioning External Inputs Wifi SoC Tach Output External Outputs Internal Outputs GPIO Input Capture A/D Converter SPI GPIO PWM Serial Power Distribution GPIO
Processor Interface
Motorcycle Interface
Switching Power Supply
Fonera Internals
Placement Routing
PCB on top of Fonera
Fonera on Motorcycle
Microcontroller - For things Linux won't do well o Real-time data capture peripheral for Linux Input capture timers Timer interrupts Pulse width modulation High precision, high accuracy timing GPIO Serial host communication o Motorcycle management Output data to tachometer dial Spedometer output Indicator lights (Cas)
Freescale HS12XA256 as Real-Time subsystem Real-time event scheduler o Interrupt-driven Sampling o Arbitrary periodic events o Timestamping to GPS UTC +- 1ms Foreground process o Binary serial communication with Fonera o Update outputs to motorcycle (tach, speedo, indicator light) (Cas)
A parametric periodic scheduler was used for many of the repetitive tasks on the (Nick)
GPS o determines absolute position at 1hz Accelerometer (not implemented) o measures acceleration at higher frequencies (Nick)
Sockets are file descriptors -> file descriptors for everything! Network Connections (sockets) log files (.txt) serial port( /dev/ttyS0) Standard structs for data serialization: typedef struct _velData{ char tag; char dummy; unsigned short time_stamp; unsigned short velocity; }velDataType; case vel_tag: tag=((velDataType*)buf)->tag; time_stamp = ((velDataType*)buf)->time_stamp; data1= ((velDataType*)buf)->velocity; sprintf(output,"%c,%d,%d,\n",tag,time_stamp,data1); break; (Glen)
iPhone Used Sockets for network communication (Glen)
Post Processing with Python Presentation with Excel Presentation with Google Maps (Joe)
Bandwidth limitations o Atheros SoC(Fonera) couldn't process large amounts of data. o 9S12 lost serial data when sending large number of samples.
Log more types of data o We are only logging a subset of what we planned Increase sampling rates o Optimize communication protocol o Decrease Bootup Time o Add more bugs (features) o Integrate Data Post-Processing to iPhone
Work Breakdown Lev – Hardware/Motorcycle interfacing, Drivers Glen – iPhone SW, Comms Nick – Microcontroller SW (Task Scheduler, GPS) Cas – Microcontroller SW (Comms, Drivers) Joe – Data Processing
uP debugger