POWER Flight Computer Research
See also: FlightComputer, FlightComputerSoftware, Avionics, Software
Introduction
Because of a IBM grant Bart just received, we're going to switch from our current ok-but-not-great-computationally-speaking 586-based FlightComputer to a POWER architecture board. We'll be doing this in parallel to current FlightComputerSoftware development, so that we don't have to throw out everything we've done to switch processors.
This is obviously a Great Thing for us: we'll be getting significantly more computrons in the FlightComputer which will be very, very good for our future INS work, and get us out of our current problem of having a hammered 586 FC with a terrible, terrible CAN chip.
Requirements
- Hardware requirements
- POWER architecture if possible, PowerPC if we can't find a POWER board that works
- > 1MFLOPS (w/FPU for IMU/INS calculations)
- > 50MIPS
- > 32MB RAM
- > 128MB ROM (FLASH disk)
- Interfaces to Lucent Orinoco PCMCIA card for use with our ARRL 802.11b telemetry
- Onboard USB.
- Software requirements
- Able to run open source RealTime OS
- Mechanical Requirements
- Must fit in a cylinder with I.D. of 5.0 in (12.7 cm)
- Can't be more than about 5 in. (13 cm) long (if necessary, we can move things around but what a pain)
- RAM/FLASH must be in some form that is robust to shock and vibration (either soldered, or locked down)
- Electrical requirements
- Much better if it's compatible with our 14.4V nominal Li-Ion battery. Expected voltage ranges from 12V to 16.8V.
- Power consumption should be less than 6W. This is slightly negotiable. The old FC (i586 PC104 stack) pulls 5W (Lv2PowerUsage). More power means shorter operating time.
Almost Requirements (Things We'd Really Like)
- Be able to do onboard compilation instead of cross-compiling (although we'll need to do both).
- Onboard CAN is a plus.
- Onboard UARTs, to talk directly with multiple GPS units.
- PC/104+ form factor would be most convenient. Need to have a PC/104 (not +) plugin to keep existing peripherals
- 5V only power supply (3.3V or lower regulators on board)
- Inexpensive: It would be nice to by like 5 of these boards for concurrent development.
Timeline
- Identify and purchase the boards ASAP
- be up and running this early summer, but not necessarily installed in the rocket.
- Install in rocket this fall, probably right after Black Rock 2005.
Processors
POWER Processors
POWER chips include: RS6000 (remember the IBM PC-RT?), RAD6000 (used in space equipment), POWER2, POWER3, POWER4 (all the POWER<N> are big iron machines), 970GP (used in Macintosh G5), 970FX. With the POWER4 and 970 chips, the POWER line finally became 100% PowerPC user-mode instruction set compliant, and even picked up the ?AltiVec instruction set from Motorola's (now ?FreeScale's) 74xx line. For more on the POWER architecture, see http://en.wikipedia.org/wiki/POWER
Mfg | Model | Speeds | Peripherals | Notes |
---|
PowerPC Processors
Anything that is a 40x, 44x, 6xx, 7xx, 8xx, 74xx, E500, 85xx, is a PowerPC, which were derived from research on POWER at IBM (notably its RS6000 CPU). Here's a good list of IBM PPC chips.
Mfg | Model | Speeds | Peripherals | Notes |
---|---|---|---|---|
Freescale | MPC5200 | 266MHz,400MHz | CAN, USB, UARTS | MPC603e core, double precision FPU |
IBM | PowerPC 440EP | 400MHz | USB | single precision FPU |
Rejected processors: 405xx (no FPU), 440EP (no USB).
POWER/PowerPC Boards
LinuxDevices.com has a very good overview/review of a few dozen small computer boards at: http://www.linuxdevices.com/articles/AT8498487406.html
And hey, bingo: http://www.extensionmedia.com/powerpc/
Here's a list of boards currently in the running:
Mfg | Model | Processor | Speed | RAM | Flash | Power | Notes |
---|---|---|---|---|---|---|---|
Mikro Electronik gmbh | PP01 | MPC5200 | 384 MHz | 128MB | 16MB | 1W(!) | 2x CAN/USB through bizarre lockable side cableside w/ daughter boards, boot monitor built in, no ISA |
TQ Components | TQM5200 | MPC5200 | 400 MHz | 256 KB | 64MB | ? | Weird tiny form factor (80mm x 60mm) with integrated SMT connectors on bottom, integrated display module (CRT/LCD)!! |
Things to research: http://linuxdevices.com/news/NS6288674963.html, http://www.linuxdevices.com/products/PD1986855326.html,
Here's a list of boards we looked at but can't use:
Mfg | Model | Processor | Speed | RAM | Flash | Power | Notes |
---|---|---|---|---|---|---|---|
Maxwell | SCS750 | PowerPC 750 | 800MHz | 256MB | 8MB | 7 - 25W | Radiation hardened! Triple redundancy! Too bad it's huge. |
Embedded Planet | EP5200 | MPC5200 | 400MHz | 64MB | 8MB | 10W | CAN, USB, etc: just too big: 4.35 x 7.4 inches! |
Freescale | Lite5200 | MPC5200 | ? | ? | ? | ? | 5200 Development board: too big |
Manufacturers we've researched so far: http://www.menmicro.com/, http://www.sbs.com/products/browse/, http://www.mpl.ch/
Form factors we CAN'T use: Mini-ITX, EBX, VME (obviously).
Software support
IBM developerWorks has a Linux on Power Architecture developer's corner, including a series of articles on "Migrating from x86 to PowerPC": part 1, part 2.
A research project at De Nayer Institute (in Belgium?) has posted instructions on getting Linux running on the MPC5200.
DENX offers source for Linux 2.4.23 kernels on the MPC5200, as well as RTAI real-time patches and what they call the "Embedded Linux Development Kit".
The U-Boot boot loader project at SourceForge is GPLed and apparently supports the MPC5200.
Required Peripheral
PCI-104 (PC-104+) to PCMCIA adapter
- http://www.ampro.com/html/mm_pcciii.html
Available at Tri-M (www.tri-m.com):
- '''CHOSEN:''' PCMCIA: PCM-3794-A10 (no -01) $114
- http://www.tri-m.com/products/aaeon/pcm3794_3594.html
- Power: HE104+ DX (Needs the ISA connector to be left off!) $299
Flash options:
- http://www.magicram.com/flashFA.htm -- 192 MB = $595
- PCMCIA card MTD driver: http://www.asia.si.org/pcmciamtd/
- Nice jffs description: http://sources.redhat.com/jffs2/jffs2.pdf
- Linux devices: http://www.linuxdevices.com/articles/AT8473001566.html
Old Research
Our old research looking for PC104 586, CAN and PCMCIA boards: