summaryrefslogtreecommitdiff
path: root/FlightComputer.mdwn
blob: 85237f34652852a4e6b22c7cb577d88d1ecfc287 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# <a name="LV2b Flight Computer (FC)"></a> LV2b Flight Computer (FC)

<div>
  <center>[[LV2FlightComputer.jpg]]<br><small> <em>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.</em> </small></center>
</div>

## <a name="History:"></a> History:

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 [[avionics/FlightComputerAv3]]).

## <a name="Overview:"></a> Overview:

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|CanBusLinks]]), 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|LvTwoComputationalHorsepower]] 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.

See also the [[FC software pages|FlightComputerSoftware]] and the [[Software Team Homepage|Software]].

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|PC104]] since it 1) fit in the cylinder and 2) offered a flexible, modular and expandable system with a huge array of available boards.

## <a name="Current FC:"></a> Current FC:

Following the order from top to bottom in the picture above:

### <a name="1. Power Supply"></a> 1. Power Supply

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"](http://www.tri-m.com/products/engineering/v104.html) board, and then re-worked the flimsy metal cover to make it more robust ([EMJ Embedded](http://www.emjembedded.com/), Part No 1TMV5V5, $103/ea).

### <a name="2. PC Card Carrier Board"></a> 2. PC Card Carrier Board

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 [[sheet on what the jumpers are for|FlightComputer/PC104_PCCard_Jumpers.png]], and [[here's a sheet with some cryptic troubleshooting information|FlightComputer/PC104_PCCard_Troubleshooting.png]]. ([EMJ Embedded](http://www.emjembedded.com/), Single Slot PCMCIA card reader, Part No 1IPC501, $105/ea). ([[Pic of top|FlightComputer/pcmcia_to_pc104_adapter_top.jpg]], [[Pic of bottom|FlightComputer/pcmcia_to_pc104_adapter_bottom.jpg]])

### <a name="3. 586 Processor Board"></a> 3. 586 Processor Board

After some [[research|LvTwoFlightComputerSearch]] 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](http://www.emjembedded.com/) 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|MopsSerialCable]]

### <a name="4. _CompactFlash Carrier Board"></a> 4. CompactFlash Carrier Board

We're using a high-capacity (128 MB, 256 MB) CompactFlash card as a solid-state disk drive. A [[commercial CompactFlash adapter|LvTwoCompactFlash]] is mounted on a [[PC104 carrier board|LvTwoCompactFlash]] which holds the card in despite the high g's.

How to write to the flash cards: [[FlightComputerSoftware2002]]

----
Attachments:

- [[MOPS_520_Prel.PDF]]
- [[mops520.pdf]]
- [[tri-m_v104_manual-18May04.pdf]]
- [[tri-m_v104_spec.pdf]]