by Brett Daniel on 25/09/ 1:53:27 PM
Click here to get more.
Photo: Discover whether an embedded system is right for your program or application.
As the demand for faster and more efficient high-performance computers increases, the dimensions of the form factors that contain them continue to decrease.
For years now, computer engineers have been assigned the challenging task of incorporating increasingly powerful computers into and onto increasingly smaller chassis and printed circuit boards (PCBs), mainly to satisfy a growing demand for more reliable, affordable, size-conscious, energy-efficient, and cost-effective computer systems.
It's why we continue to see boundary-pushing size, weight, power, and cost (SWaP-C) developments within the world of embedded systems.
In this blog post, we're diving into that very world.
We'll talk about the basics of embedded systems, how they're classified, how they work, how they compare to servers and workstations, and why you should consider a Trenton embedded computer for your next mission-critical deployment.
Graphic: a rendering of a Tactical Advanced Computer (TAC) from Trenton Systems' TAC family, a line of fanless, sealed, ruggedized embedded computers.
What are embedded systems?
Embedded systems, also known as embedded computers, are small-form-factor computers that power specific tasks. They may function as standalone devices or as part of larger systems, hence the term "embedded," and are often used in applications with size, weight, power, and cost (SWaP-C) constraints.
Like most computers, embedded systems are a combination of hardware and software, usually:
Microprocessors or microcontrollers
Graphics processing units (GPUs)
Volatile and non-volatile memory
Input/output communication interfaces and ports
System and application code
Power supplies
But there are four main differentiating factors between an embedded system and a typical workstation or server. They are:
Purpose
Design
Cost
Human involvement
There are also advantages and disadvantages to using embedded systems, so whether an embedded system is right for you will depend on the requirements of your program or application. We'll later discuss the pros and cons of embedded systems and how you can decide whether they're suitable for you.
Now that we know the definition of embedded systems, let's discuss the different types.
Photo: Embedded systems can be classified and categorized in a few different ways.
What are the different types of embedded systems?
Embedded systems are classified based on performance and functional requirements, as well as the performance of microcontrollers. These classifications can be further divided into categories and subcategories.
When classifying embedded systems based on performance and functional requirements, embedded systems are divided into four categories:
Real-time embedded systems
Standalone embedded systems
Network, or networked, embedded systems
Mobile embedded systems
Let's discuss each one in-depth.
What are real-time embedded systems?
Real-time embedded systems must provide results or outputs promptly. Priority is assigned to output generation speed, as real-time embedded systems are often used in mission-critical sectors, such as defense and aerospace, that need important data, well, yesterday.
Examples of real-time embedded systems include:
Aircraft controls
Land-vehicle and flight computers that process and transmit sensor-acquired data
Missile defense system controls
Autonomous and semi-autonomous vehicle controls
Real-time embedded systems are further divided into soft real-time embedded systems and hard real-time embedded systems to account for the importance of output generation speed.
What are soft and hard real-time embedded systems?
Soft real-time embedded systems have lenient output timeframes or deadlines. If outputs are not provided in a specified timeframe, performance decline may ensue, but the consequences of this decline are relatively insignificant, do not constitute a system or application failure, and are unlikely to result in a harmful outcome. The system's outputs are also still considered valuable, despite their tardiness.
An example of a soft real-time embedded system is a computer running an application whose sole purpose is to analyze in real-time relatively innocuous, non-mission-critical, sensor-acquired data, such as the temperature and humidity readings of a given locale.
Depending on the computer's processing and memory resources, a slight delay in real-time output delivery may occur; however, temperature and humidity data acquisition and analysis, the outputs of which are although helpful to have on hand, aren't typically considered mission-critical activities producing mission-critical data, so the system's outputs, albeit late, would still be regarded as valuable, and its latency, although an indication that quality of service has declined, would cause no particularly harmful outcomes.
Hard real-time embedded systems are the antithesis of soft real-time embedded systems. These systems must consistently meet their assigned output deadlines, as not doing so is considered a system or application failure, which, in many cases, could have catastrophic outcomes because of the hard real-time embedded system's typical deployment in mission-critical programs and applications.
For example, missile defense systems utilize hard real-time embedded systems, as detecting, tracking, intercepting, and destroying incoming missiles are activities that must be executed under strictly imposed deadlines to avoid jeopardizing human lives, buildings, equipment, vehicles, and other assets.
Now let's move on to the embedded systems that can stand on their own, i.e., function without a host.
What are standalone embedded systems?
Standalone embedded systems don't require a host computer to function. They can produce outputs independently.
Examples of standalone embedded systems include:
Digital cameras
Digital wristwatches
MP3 players
Appliances, such as refrigerators, washing machines, and microwave ovens
Temperature measurement systems
Calculators
Important to stress is that the independent functionality of standalone embedded systems does not apply to all embedded systems. Many embedded systems are functional and purposeful only as integrated parts of larger mechanical, electrical, or electronic systems.
For example, an adaptive cruise control (ACC) system becomes non-functional when removed from a vehicle; therefore, the ACC system is not a standalone embedded system, as it depends on a larger system, i.e., the vehicle, to function, and upon its removal, becomes essentially purposeless.
But a calculator, for example, produces an output, i.e., a calculation, by itself, with some user input, of course. It constitutes a standalone embedded system because it requires no embedment within a broader system, unlike the ACC system.
What are network embedded systems?
Network, or networked, embedded systems rely on wired or wireless networks and communication with web servers for output generation.
Frequently cited examples of network embedded systems include:
Home and office security systems
Automated teller machines (ATMs)
Point-of-sale (POS) systems
Home and office security systems comprise a network of sensors, cameras, alarms, and other embedded devices that gather information about a building's interior and exterior and use it to alert users to unusual, potentially dangerous disturbances closeby.
An ATM relies on network connections to a host computer and bank-owned computer to approve and permit withdrawals, balance inquiries, deposits, and other account requests.
POS systems comprise networks of multiple workstations and a server that keeps track of customer transactions, sales revenue, and other customer-related information.
Overall, if embedded systems are part of or rely on networks of other devices to function, they're classified as network or networked embedded systems.
What are mobile embedded systems?
Mobile embedded systems refer specifically to small, portable embedded devices, such as cellphones, laptops, and calculators.
Notably, there is some overlap between what constitutes a mobile embedded system and a standalone embedded system.
All mobile embedded systems are standalone embedded systems, but not all standalone embedded systems are mobile embedded systems.
For example, although you can certainly move a washing machine, microwave oven, or dishwasher, you probably don't consider any of these small or portable as you would a cellphone, laptop, calculator, or other mobile embedded system.
What are small-scale, medium-scale, and large-scale embedded systems?
When classifying embedded systems based on the performance of microcontrollers, embedded systems are divided into three categories:
Small-scale embedded systems
Medium-scale embedded systems
Sophisticated embedded systems
For purposes of brevity, given that the hardware and software complexities of this classification could claim whitepaper real estate, we'll keep the differences between small-scale, medium-scale, and sophisticated embedded systems short and sweet:
Small-scale embedded systems have an 8-bit or 16-bit microcontroller.
Medium-scale embedded systems have a 16-bit or 32-bit microcontroller.
Sophisticated embedded systems have multiple 32-bit or 62-bit microcontrollers.
In a nutshell, processing speed improves as the number of microcontroller bits increase.
For more information on the differences between small-scale, medium-scale, and sophisticated embedded systems, check out the resources section at the end of this blog post.
Photo: Embedded systems are not fundamentally different from most their server and workstation counterparts, but there are some key differences to note.
How do embedded systems work?
If you are looking for more details, kindly visit RoyalRay.
Embedded systems comprise hardware and software that work together to perform specific tasks. They rely on microprocessors, microcontrollers, memory, input/output communication interfaces, and a power supply to function.
As with virtually all computers, an embedded system employs a printed circuit board (PCB) programmed with software that tells its hardware how to operate and manage data using input/output communication interfaces and memory, which terminally produces outputs valuable to the user.
Hence, embedded systems are not fundamentally different from standard rack-mount servers and workstations.
We'll discuss the main differences in the penultimate section of this blog post and help you choose the solution that's right for you.
What are some applications of embedded systems?
Applications of embedded systems are diverse and ubiquitous. They include:
Defense
Intelligence, surveillance, and reconnaissance (ISR) vehicles and apparatuses, such as UAVs and surveillance satellites
Weapons and guidance systems
Soldier wearables
Electronic warfare systems
Communication and navigation systems
Command and control systems
Aerospace
Air traffic control systems
Flight control systems
Navigation systems
Aircraft management systems
Collision avoidance systems
Flight recorders
Weather monitoring systems
Various radar systems
Consumer, Enterprise, Industrial, Healthcare, Automotive, & Telecommunications
Household appliances
Communication and entertainment devices
POS systems
ATMs
Enterprise security systems
Assembly-line monitoring and manufacturing systems
MRI scanners, PET scanners, pacemakers
Anti-lock braking systems
Data routers, network switches
What are the advantages and disadvantages of using embedded systems?
The immediate advantages of embedded systems include:
Lower power consumption
Less noise and lower failure rate
More resistant to dust, debris, and other particulates
Less maintenance overall
Smaller size
Lower weight
Lower cost
Little to no human involvement
Dedicated task completion
Uninterrupted operation
A high degree of fault tolerance
The disadvantages of embedded systems, at least when compared to most full-sized rack-mount servers and workstations, include:
Now you know the advantages and disadvantages of embedded systems, so let's discuss whether they're suitable for your program or application.
Photo: Deciding whether an embedded system or a server or workstation is for you boils down to your data-processing needs and requirements.
Embedded system vs. server vs. workstation: Which is right for me?
We mentioned at the beginning four differentiating characteristics of embedded systems compared to servers and workstations. They are purpose, design, price, and human involvement.
These characteristics are also helpful when deciding which of these high-performance computers is suitable for your program or application.
Regarding purpose, servers and workstations are usually general-purpose computers designed to manage and execute various tasks and thus meet a vast array of user needs, e.g., file hosting and sharing, application execution and access, big data analysis, web browsing, document creation, and so on.
Embedded systems, however, perform the same task or a few tasks repeatedly, e.g., acquiring specific environmental data using a sensor attached to a military UAV and transmitting this information to a ground control station, whose operators can use it to make tactical decisions.
Regarding design, a typical server or workstation, at least in the high-performance computing industry, has a 19-inch-rack-mount configuration, employs fans and ventilation for heat dissipation, and is not sealed. It may or may not be ruggedized to withstand harsh conditions.
In contrast, an embedded system is usually sealed, fanless, and ventless, relying on heat sinks for heat dissipation. Its occlusive design shields its internal components from the outside world, making the system inherently more rugged than its counterparts; no fans, no vents, and a sealed body mean no particulates, or environmental matter, such as dust and debris, blocking vents, giving rise to a shutdown, or damaging an embedded system's components. The system may also be further ruggedized to withstand shock, vibration, rain, and other conditions.
Regarding price, servers and workstations are usually more expensive than embedded systems, and understandably so, as the former usually has more processing power, more volatile and non-volatile memory, a more substantial construction, and, overall, can manage more tasks more effectively.
Regarding human involvement, servers and workstations, because of their multi-purpose nature and innate interaction with the user, require more human attention and maintenance than embedded computers, which are usually programmed and designed to function autonomously and with an exceptional degree of fault tolerance within larger mechanical, electrical, or electronic systems. Accordingly, system longevity, resiliency, and continuity are at the center of embedded computing design and are even more crucial factors to consider in hard real-time embedded system design.
Graphic: Trenton Systems' Tactical Advanced Computer (TAC) family is a line of cybersecure, fanless, sealed, and ruggedized embedded computers. They're designed specifically for military, industrial, and commercial applications operating in harsh environments and acquiring vast amounts of critical data at the edge.
TAC: The Best Embedded System for Your Program or Application
Trenton Systems will soon release the Tactical Advanced Computer (TAC) family, a line of fanless, sealed, embedded mission computers designed for high-bandwidth defense, aerospace, industrial, and commercial applications.
Incorporating next-generation Intel CPUs and the COM Express Type 7 architecture, TAC mission computers are fast, powerful, highly integrated machines, perfect for resource-intensive applications in space-constrained environments. They're also TAA-compliant and designed to meet IP67, MIL-STD-810, MIL-DTL-901, MIL-STD-704, MIL-STD-461, MIL-STD-464, DO-160, and others.
Customers can also rest easy knowing that their data at rest is secured by the TAC family's superior cybersecurity feature set, which includes Intel TXT, Intel SGX, SEDs certified to FIPS 140-2 and powered by NIAP-listed, CSfC-listed management software, and other cybersecurity technologies.
To keep up with the latest TAC developments, join the TAC VIP list today. You'll receive all the latest news about the TAC family and receive pricing and availability information before anyone else.
And when you're ready to discuss the specifics of your next embedded deployment, our team of experienced embedded systems engineers is ready to hear from you.
References
Embedded System Definition
An embedded system is a microprocessor- or microcontroller-based system of hardware and software designed to perform dedicated functions within a larger mechanical or electrical system.
Image from Swathi Prabhala
FAQs
What is an Embedded System?
An embedded system is a microprocessor-based computer hardware system with software that is designed to perform a dedicated function, either as an independent system or as a part of a large system. At the core is an integrated circuit designed to carry out computation for real-time operations.
Complexities range from a single microcontroller to a suite of processors with connected peripherals and networks; from no user interface to complex graphical user interfaces. The complexity of an embedded system varies significantly depending on the task for which it is designed.
Embedded system applications range from digital watches and microwaves to hybrid vehicles and avionics. As much as 98 percent of all microprocessors manufactured are used in embedded systems.
How an Embedded System Works
Embedded systems are managed by microcontrollers or digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), GPU technology, and gate arrays. These processing systems are integrated with components dedicated to handling electric and/or mechanical interfacing.
Embedded systems programming instructions, referred to as firmware, are stored in read-only memory or flash memory chips, running with limited computer hardware resources. Embedded systems connect with the outside world through peripherals, linking input and output devices.
Basic Structure of an Embedded System
The basic structure of an embedded system includes the following components:
- Sensor: The sensor measures and converts the physical quantity to an electrical signal, which can then be read by an embedded systems engineer or any electronic instrument. A sensor stores the measured quantity to the memory.
- A-D Converter: An analog-to-digital converter converts the analog signal sent by the sensor into a digital signal.
Processor & ASICs: Processors assess the data to measure the output and store it to the memory. - D-A Converter: A digital-to-analog converter changes the digital data fed by the processor to analog data
- Actuator: An actuator compares the output given by the D-A Converter to the actual output stored and stores the approved output.
History of Embedded Operating Systems
The first modern, real-time embedded computing system was the Apollo Guidance Computer, developed in the s by Dr. Charles Stark Draper at the Massachusetts Institute of Technology for the Apollo Program. The Apollo Guidance Computer was designed to collect data automatically and provide mission-critical calculations for the Apollo Command Module and Lunar Module.
In , Intel released the first commercially available microprocessor unit -- the Intel -- an early microprocessor that still required support chips and external memory; in the National Engineering Manufacturers Association released a standard for programmable microcontrollers, improving the embedded system design; and by the early s, memory, input and output system components had been integrated into the same chip as the processor, forming a microcontroller.
The microcontroller-based embedded system would go on to be incorporated into every aspect of consumers daily lives, from credit card readers and cell phones, to traffic lights and thermostats.
Future Trends in Embedded Systems
The industry for embedded systems is expected to continue growing rapidly, driven by the continued development of Artificial Intelligence (AI), Virtual Reality (VR) and Augmented Reality (AR), machine learning , deep learning, and the Internet of Things (IoT). The cognitive embedded system will be at the heart of such trends as: reduced energy consumption, improved security for embedded devices, cloud connectivity and mesh networking, deep learning applications, and visualization tools with real time data.
According to a report published by QYResearch, the global market for the embedded systems industry was valued at $68.9 billion in and is expected to rise to $105.7 billion by the end of .
HEAVY.AI Data Integration
GPU-powered embedded system applications need an accelerated analytics platform. The HEAVY.IDB open source GPU database acts as a hot cache for analytical datasets and is capable of ingesting millions of records a second.
Todays analysts and data scientists are challenged with a growing ecosystem of data sources and warehouses, making big data integration more complex than ever. Your data lives in many data warehouses and data lakes; it continually flows in through streams or rests as point-in-time files. Regardless of the source, HEAVY.AI easily handles data ingestion of millions of records per second into the iDB open source SQL engine.
If you want to learn more, please visit our website embedded module.