EmbeddedRocketComputer

From NPrize
Revision as of 14:02, 22 January 2010 by Vincent (Sọ̀rọ̀ | contribs) (introduction and armadeus)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Embedded computer: guidance, mission, and telemetry

The embedded computer is a very important part of a launcher, because of the development and testing time it requires, and because a simple unforseen case can lead the whole operation to failure.

The embedded computing world undergoes lots of constraints: power consumption, size, weight, operating temperature... Outcomes are seen in processing power, memory space, connectivity (I/O ports), battery life, and mechanical design.

An embedded control computer has to have a low latency to process data from attitude sensors and command actuators. Realtime computing must be achieved through a hard-realtime operating system, or without using an operating system if you have only one process.

Hardware

It's hard to have a low cost, small form factor, with high processing power. But do we really need high power? That depends on what sensors are used, and their processing. Beyond that, we only need to get the command control, mission planning, and telemetry, that don't require a high power.

Since we are limited by cost, we won't be able to get high quality sensors, or highly integrated sensors like an intertial sensor, but rather accelerometers, and digital gyroscopes. Their data will need to be processed, but that still does not require a lot of power. If we use a video camera however, to track the sun and the Earth's curve for positionning, it will require a lot of processing power.

An alternative to pure processing power by a CPU is possible: digital signal processors (DSPs), and since they are also very expensive, we can use FPGAs to program them. An FPGA (Field-Programmable Gate Array) is an electronic chipset with a matrix of gates that can be programmed in order to specialize it to a specific information processing. It then acts as a hardware processing based on a software definition of the processing, offloading the CPU.

And it happens that there is an embedded microprocessor board that includes a FPGA and multiple I/Os, and a quite faire processing power: the Armadeus, based on an ARM (FreeScale) processor.


Software