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:
- 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 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
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?
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:
- 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
- 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
- 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:
- Limited processing resources
- Simplicity of task management
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- and BAA-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, as well as SEDs certified to FIPS 140-2 and powered by NIAP-listed, CSfC-listed management software.
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 the specifics of your next embedded deployment, our team of experienced computer engineers are ready to hear from you.