Hardware


Additional software components
In addition to the core operating system, many embedded systems have additional upper-layer software components. These components consist of networking protocol stacks like CAN, TCP/IP, FTP, HTTP, and HTTPS, and also included storage capabilities like FAT and flash memory management systems. If the embedded device has audio and video capabilities, then the appropriate drivers and codecs will be present in the system. In the case of the monolithic kernels, many of these software layers are included. In the RTOS category, the availability of the additional software components depends upon the commercial offering.
Hardware
Hardware includes the chips, wires, circuit boards, buttons and displays.

CPUs

The most important chip is the central processing unit or CPU. This runs the software instructions. It can be a standard microprocessor or a microcontroller. Microcontrollers include the microprocessor as well as simple peripheral equipment so the system can be smaller and cheaper. They have less flexibility because those parts cannot be changed. Usually these parts include Flash memory and support for serial ports, USB, etc.
Unlike a microprocessor for a general-purpose computer, bigger and faster is not always better. Many embedded processors are very small. Sometimes this is to use less space or less power, sometimes it is to be cheaper. General-purpose computers will use microprocessors that read 32-bit or 64-bit words and run at speeds measured in GHz, but embedded processors are usually 4 to 32 bits and run at speeds usually measured in tens of MHz (a hundred times slower). (But the programs are also smaller and do not check for things that are not used).

Ready made computer boards

Sometimes it may be easier to use a circuit board that is already made. These usually share many components with general purpose computers, but are smaller than one in a general purpose computer. Boards such as the VIA EPIA can run Microsoft Windows. The advantage is that it saves some electrical engineering time and can use the same software development tools used for PC-type software development. Examples of such embedded devices are the ATMs or displays in casinos. This works well if the real-time requirements are not real strict (it doesn't matter much if a job takes eight seconds instead of five, for example).There are "ready-made" computer boards that can be used in some embedded systems. These often use Windows CE, Linux, NetBSD, or an embedded real-time operating system.

ASIC and FPGA solutions

If the device needs to be very small or will be sold in very big numbers ("high-volume"), it makes sense to make a custom or specialized chip that does exactly what is needed. This is a system on a chip (SoC) which holds a complete system - processor, floating point unit, memory cache and interfaces on a single integrated circuit. SoCs can be made as a special-order application-specific integrated circuit (ASIC) or by using a field-programmable gate array (FPGA) which is programmed by the people building the embedded system.

Peripherals

Embedded systems talk with the outside world or other components using peripherals such as:
  • Serial Ports: RS-232, RS-422, RS-485. This used to be quite common, with the 9-pin (or larger) connectors.
  • Synchronous Serial Communication Interface: I²C Inter-Integrated Circuit, I²S Inter-Integrated Sound, SPI, MIcrowire, ...
  • Universal Serial Bus (USB).
  • Networks: Ethernet, Controller Area Network, LonWorks, ...
  • Discrete Input/Output: General Purpose Input/Output (GPIO). This can be a single wire with an on/off signal. It can be used for a small keypad, or to light an LED.
  • Analog to Digital/Digital to Analog converters (ADC/DAC). This measures something that changes in strength, like a light sensor or a motor control.
  • Debugging: JTAG, ICSP port, for software engineers.










  • Comments

    Popular posts from this blog

    Embedded system

    Characteristics

    Embedded software architectures