Embedded Design

Because so many of today’s products and gadgets include embedded systems, embedded design is an important part of product design. The brains of an embedded system is the central processor. There are many different options for processors, including micro controllers, DSPs (digital signal processors), simple architectures, such as RISC, and complicated PC architectures. Examples of processor manufacturers include Freescale (formerly Motorola), IBM, Intel, Atmel, AMD, and Texas Instruments. The processor selected for your embedded design should have appropriate buses and I/O for your system.

Depending on the needs of the embedded system, the central processor (micro controller) will likely need additional devices to perform all the needed tasks, ranging from actuating motion, fans, and pumps through motors, to reading position, temperature (thermocouples or infrared), light, sound (microphone), to interaction with the user (buttons, speakers, LCDs, touch panels, and other displays), to interacting with other systems (wireless, ZigBee, Ethernet, modem, USB, serial). It is important to select a micro controller that either can handle all of the necessary tasks on its own or has enough digital inputs and outputs or other channels (SPI bus, CAN, serial, I2C) to control peripheral devices needed. Analog inputs and outputs and PWM (Pulse Width Modulation) channels are also a concern.

Determining the overall architecture of your embedded design involves considering your target price point and the number of devices you expect to manufacture. Often times power considerations and target time to market come into play as well. To achieve a lower price point per unit, you will want to design a system from very small parts. This will increase design time and costs (overhead) for both circuit board/layout and programming. If you expect to sell a smaller amount of devices, consider using a pre-built board (SBC – Single Board Computer) which will have a much higher price point but lower design costs, as some of the work is done already.

All of the external devices and additional required circuitry have to be connected and the circuits have to be designed. Sometimes all the peripheral devices can be put on a single printed circuit board, but this may require a very complex and expensive multi-layer board. Separating the embedded design into multiple boards that are connected via cables or wires is another option. Additional circuit design considerations include power supply, protective circuitry, input and output drivers, and noise filtering. All of these considerations are usually handled in a complicated software package used to design your circuit (schematic design) and layout your printed circuit board (board layout). There are many options for this software, including Altium (formerly P-CAD or Protel), EAGLE, and Verilog.

The embedded design requires programming. There are many different programming architectures that can be used in embedded design, including interrupts, polling, operating systems, and multi-tasking. The programming language platform and libraries available are many, but include C programming language and low level assembly.

For more information regarding embedded design see www.embedded-design.org

Posted in Uncategorized

Leave a Reply