What is an Embedded System?
Embedded PC Systems are small computerised devices (or systems) that are designed to perform a dedicated function and have been “built” or embedded into larger computer systems. For example:
- Industrial Machines
- Medical Equipment
- Household Appliances
- Vending Machines
Industrial Embedded Computer Systems are designed with a purpose that is unique to their user/s. Therefore, they are able to perform specific functions, within a range of Harsh Environments, such as Marine, Vehicle and Rail. In essence, Embedded Systems process information and control, monitor or assist the operation of both equipment and machinery.
How do Embedded Systems work?
Embedded System works by incorporating a rugged motherboard into an industrial enclosure with associated I/O (Input and Output) and a Embedded OS Software to fulfil a function in an embedded environment. The computing element is an Embedded Motherboard, which is the feature packed small form factor, heart of an Embedded System. Specialist I/O such as video capture, communication ports, digital and analogue signals are connected into the computing heart for the system to work.
An embedded operating system runs on the embedded system allowing application software to utilise the features to provide the required functionality in the embedded environment.
PC System Requirements
The computing heart of an embedded system is an industrial grade PC motherboard with the relevant performance and I/O requirements. The embedded motherboard will be a form factor such as 3.5 SBC, Pico-ITX, Nano-ITX or UTX.
|Pico-ITX Motherboard||UTX Embedded Board|
Embedded motherboards are compact but still offer good performance, with technology such as Bay Trail or Broadwell. Industrial grade components will also be selected for the PC board such as DRAM and storage which may also need wide temperature range operation. Most systems now use Solid State Drives (SSD) such as mSATA direct plug-on or 2.5” form factor.
Embedded System Design
BVM Embedded Systems are designed for use in a different environment to that of usual office computer equipment. They have to be able to cope with much more demanding conditions such as wide temperature ranges, difficult power supply conditions and shock and vibration situations. The engineer / designer takes into account the intended area of use of the system and specifies a suitable enclosure which may be steel or extruded aluminium for example. Heat dissipation needs to be addressed and often requires the use of conducted cooling or heat pipe arrangements as cooling fans cannot always be used.
The finished item is unlikely to resemble any desktop or laptop PC but is more likely a rugged “black box”.
Embedded Computer Examples:
Here are a few examples of embedded system’s designed and built by BVM.
- Police Car mounted ANPR & DVR
- Level crossing DVR analysis safety
- Mobile phone forensic analysis
- Taxi mounted rooftop display control
- Crane mounted communication and video safety
Programming an Embedded System
Embedded Systems cover a wide variety of environments and the approach to programming them will depend on where they will be used.
If an Embedded System needs real time response (Real Time Embedded System), then the starting point may be a Real Time Operating System (RTOS). Above the RTOS, the programmer will write applications in C++ for example. For hard real time response, there may be no RTOS at all but the system will be programmed directly using ADA for example.
The disadvantage with the above approach is the lack of driver software support and for many applications where real time response is not required, Microsoft Windows Embedded OS Software such as Windows 10 Embedded can be used. The advantage of using Windows 10 Embedded OS Software is the wealth of driver support that is available and the programmer can concentrate on writing their specific application, again usually in C++.
Another option is using Linux, which has a certain level of driver support available. However, it should be understood that although Linux is inherently royalty free, this does not mean that the development cycle will be free and care must be taken over any licensable software, in the Linux package.
Embedded OS Software vs. Non Embedded OS Software
An Embedded Operating System is integrated directly into a device, usually embedded on a chip. Embedded Operating Systems tend to be limited with regard to what they can do compared to a non-embedded operating system. Windows 10 IoT Core for example will only run a single UWP (universal windows platform) application (with supporting background apps & services) on a low specification device (256MB RAM, 2GB storage | X86 or ARM CPU) like a Smart Watch or Digital Sign. This single application along with the operating system is crucial to the devices operation, the embedded OS software must be reliable and able to run problem free.
Windows 10 IoT Enterprise is another embedded operating system, Windows 10 Enterprise IoT is similar to a “full version” of Windows 10 without Edge Browser and Cortana, it does have advanced lockdown capabilities and designed to run on a wider range of hardware (2GB RAM, 16 GB Storage | X86 or X64 CPU).
In contrast, Non-Embedded OS Software tends to run from a hard disk or an SSD. Non-embedded operating systems such as Windows 10 tend to be highly user configurable and up-gradable, and they are designed for general purpose use.
Advantages of Embedded Systems
For long-term use, Embedded Systems are better than standalone, general purpose “office” computers. Embedded Systems offer many benefits, such as:
- They’re task specific
- They cover a wide variety of environments and can cope with demanding conditions.
- They’re less likely to encore errors
- Their system hardware is simplified, which reduces costs overall.
- They can have a have a fanless design
- The use of less power than desktop systems ensures there is no need for cooling.
|iBox 210 – Fanless Slimline MicroPC Intel Baytrail||Bay Trail – Rich I/O Fanless Barebone System|
|Marine Embedded PC System||Vehicle Fleet Management Embedded PC System|