IMU Board

Hardware Selection

STM32F04

This MCU was selected for its small footprint, low power requirements, and on chip peripherals. The MCU provides a SPI bus for interfacing with the LoRa Transceiver, a direct USB interface for connecting with a host device, and GPIO pins to connect interrupts and control status LEDs. This MCU also has a built in 48 MHz crystal that allows for the use of the USB peripheral without the need for an external crystal circuit.

CAN Transceiver

In order to communicate with the CAN bus, the MCU interfaces with the TI TCAN1042 CAN Transceiver. This component was selected as it is a small package, needs very few extra components, matches the data rate requirements, and has great documentation from the manufacturer.

Hardware Design

Schematics

Add images and talk about schematics

Layout

Talk about layout challenges and how signal integrity was taken into account

Firmware Design

Peripheral Drivers

All of the peripheral drivers have been designed using ARM’s CMSIS headers. This allows for much more readable and reusable code.

CAN
I2C

Timers

Device Drivers

IMU

ISR Design

Results

References

Brown, C. (2011). Making Sense of Squiggly Lines: The Basic Analysis of Race Car Data Acquisition. Christopher Brown Racing, 2011