LV2 Flight Computer. From top to bottom: power supply board, PC Card (PCMCIA) carrier board with IEEE 802.11b PC Card, 586 processor board, and Compact Flash carrier.
In Spring 2005 we began looking into a new flight computer (LvTwoFlightComputerSearch). In August 2005 that search became more important because the LV2b rocket carrying this flight computer was destroyed in a crash. The replacement rocket being built is LV2c, with a new avionics package (AV2b) and new flight computer (see FlightComputerAv3).
The LV2 FC is a the central processing unit in the avionics system. As shown in the BlockDiagram, all of our sensors, actuators, communications devices feed into the FC for processing over the CAN bus), a 1mbps priority-arbitrated serial bus.
The purpose of the FC is to:
- Collect and log data from the sensors (GPS, IMU, etc.)
- Process the data into a usable form (e.g., position estimates)
- Send this data to the ground
- Process commands from the ground
- Fire the pyrotechnic charges on the drogue and main parachutes.
- Future: actively guide the rocket by closing the loop using some kind of thrust-vectored controller.
That's a lot of processes running, and particularly in the case of the navigation routines, a lot of computational horsepower (think floating point matrices). Here's an estimate of what we think the FC will require (computationally speaking). We thus decided to leave the world of small microcontrollers and move to 32bit processor capable of running a real OS like Linux, possibly with RealTime features, where code development is fast and we don't need to worry about routine optimization as much.
In terms of form factor, we had to fit the entire FC into a small portion of the avionics module which is a cylinder 5.00 inches ID x 18 inches high. We pretty immediately jumped on the PC104 form factor since it 1) fit in the cylinder and 2) offered a flexible, modular and expandable system with a huge array of available boards.
Following the order from top to bottom in the picture above:
There weren't many choices for a good switching power supply to power the +5V only PC104 stack. We chose Tri-M's V104 "vehicle power supply" board, and then re-worked the flimsy metal cover to make it more robust (EMJ Embedded, Part No 1TMV5V5, $103/ea).
We knew we were going to try to use IEEE 802.11b (or in our case, ARRL 802.11b) for our telemetry so we wanted a single slot PC Card (PCMCIA) reader. We ended up with an unremarkable version with a billion jumpers. Here's the , and . (EMJ Embedded, Single Slot PCMCIA card reader, Part No 1IPC501, $105/ea). (, )
After some research we decided on the MOPS/520 board from Jumptec. It's a PC104 board running a 133MHz AMD SC520 "Elan" 586-class processor. The MOPS/520 we ordered (EMJ Embedded Part No 1J52064) comes with 64MB of SDRAM, no video controller, and most importantly an Intel 82527 CAN controller on board. They were $508/ea (ouch!)when we purchased them in 2001. They're cheaper now.
- Plans for the MOPS520 10pin header to DB9 serial cable
We're using a high-capacity (128 MB, 256 MB) CompactFlash card as a solid-state disk drive. A commercial CompactFlash adapter is mounted on a PC104 carrier board which holds the card in despite the high g's.
How to write to the flash cards: FlightComputerSoftware2002