Embedded system

In either case, the processor(s) used may be types ranging from general purpose to those specialized in a certain class of computations, or even custom designed for the application at hand.

Since the embedded system is dedicated to specific tasks, design engineers can optimize it to reduce the size and cost of the product and increase its reliability and performance.

Generalized through software customization, embedded systems such as programmable logic controllers frequently comprise their functional units.

Embedded systems range from those low in complexity, with a single microcontroller chip, to very high with multiple units, peripherals and networks, which may reside in equipment racks or across large geographical areas connected via long-distance communications lines.

An early microprocessor, the Intel 4004 (released in 1971), was designed for calculators and other small systems but still required external memory and support chips.

With microcontrollers, it became feasible to replace, even in consumer products, expensive knob-based analog components such as potentiometers and variable capacitors with up/down buttons or knobs read out by a microprocessor.

Embedded systems are commonly found in consumer, industrial, automotive, home appliances, medical, telecommunication, commercial, aerospace and military applications.

Consumer electronics include MP3 players, television sets, mobile phones, video game consoles, digital cameras, GPS receivers, and printers.

Household appliances, such as microwave ovens, washing machines and dishwashers, include embedded systems to provide flexibility, efficiency and features.

Advanced heating, ventilation, and air conditioning (HVAC) systems use networked thermostats to more accurately and efficiently control temperature that can change by time of day and season.

Unless connected to wired or wireless networks via on-chip 3G cellular or other methods for IoT monitoring and control purposes, these systems can be isolated from hacking and thus be more secure.

[citation needed] For fire safety, the systems can be designed to have a greater ability to handle higher temperatures and continue to operate.

Wireless sensor networking makes use of miniaturization made possible by advanced integrated circuit (IC) design to couple full wireless subsystems to sophisticated sensors, enabling people and companies to measure a myriad of things in the physical world and act on this information through monitoring and control systems.

This approach extends the capabilities of the embedded system, avoids the cost of a display, simplifies the board support package (BSP) and allows designers to build a rich user interface on the PC.

They may use DOS, FreeBSD, Linux, NetBSD, OpenHarmony or an embedded real-time operating system (RTOS) such as MicroC/OS-II, QNX or VxWorks.

In certain applications, where small size or power efficiency are not primary concerns, the components used may be compatible with those used in general-purpose x86 personal computers.

Boards such as the VIA EPIA range help to bridge the gap by being PC-compatible but highly integrated, physically smaller or have other attributes making them attractive to embedded engineers.

When a system-on-a-chip processor is involved, there may be little benefit to having a standardized bus connecting discrete components, and the environment for both hardware and software tools may be very different.

The module vendor will usually provide boot software and make sure there is a selection of operating systems, usually including Linux and some real-time choices.

SoCs can be implemented as an application-specific integrated circuit (ASIC) or using a field-programmable gate array (FPGA) which typically can be reconfigured.

ASIC or FPGA implementations may be used for not-so-high-volume embedded systems with special needs in kind of signal processing performance, interfaces and reliability, like in avionics.

These tools enable developers to create efficient, scalable, and feature-rich applications tailored to the specific requirements of embedded systems.

In these systems, an open programming environment such as Linux, NetBSD, FreeBSD, OSGi or Embedded Java is required so that the third-party software provider can sell to a large market.

[13] One example of a software-based tracing method used in RTOS environments is the use of empty macros which are invoked by the operating system at strategic places in the code, and can be implemented to serve as hooks.

Therefore, the software is usually developed and tested more carefully than that for personal computers, and unreliable mechanical moving parts such as disk drives, switches or buttons are avoided.

Specific reliability issues may include: A variety of techniques are used, sometimes in combination, to recover from errors—both software bugs such as memory leaks, and also soft errors in the hardware: For high-volume systems such as mobile phones, minimizing cost is usually the primary design consideration.

This means that tasks performed by the system are triggered by different kinds of events; an interrupt could be generated, for example, by a timer at a predefined interval, or by a serial port controller receiving data.

Because of these complexities, it is common for organizations to use an off-the-shelf RTOS, allowing the application programmers to concentrate on device functionality rather than operating system services.

This timing forces developers to choose the embedded operating system for their device based on current requirements and so restricts future options to a large extent.

These components include networking protocol stacks like CAN, TCP/IP, FTP, HTTP, and HTTPS, and storage capabilities like FAT and flash memory management systems.

An embedded system on a plug-in card with processor, memory, power supply, and external interfaces
Embedded Computer Sub-Assembly for Accupoll Electronic Voting Machine [ 7 ]
e-con Systems eSOM270 & eSOM300 Computer on Modules
Embedded system text user interface using MicroVGA [ nb 1 ]
A close-up of the SMSC LAN91C110 (SMSC 91x) chip, an embedded Ethernet chip