O que é um sistema embarcado?

What is an embedded system?

If we look around, we are surrounded by computing systems. Every year, millions of computing systems are built aimed at desktop computers
Figure 1: A representational image of the embedded system
(personal computers, workstations, mainframes and servers), but surprisingly, billions of computing systems are built every year embedded in larger electronic devices and still go unnoticed. Any electrically powered device already has a computing system or will soon have a built-in computing system.

Today, embedded systems are found in cell phones, digital cameras, camcorders, portable video games, calculators and personal digital assistants, microwave ovens, answering machines, home security systems, washing machines, lighting systems, fax machines, copiers, printers and scanners, cash registers, alarm systems, ATMs, transmission control, cruise control, fuel injection, anti-lock brakes, active suspension and many other devices/appliances.
What is embedded system?
A precise definition of embedded systems is not easy. Simply put, all computing systems except general purpose computers (with monitor, keyboard, etc.) are embedded systems.
System is a way of working, organizing or performing one or more tasks according to a fixed set of rules, program or plan. In other words, an arrangement in which all units come together and work together according to a program or plan. An embedded system is a system that has software built into the hardware, which makes it a dedicated system for a specific application(s) or part of an application or product or part of a larger system. It processes a fixed set of pre-programmed instructions to control electromechanical equipment that may be part of an even larger system (not a computer with keyboard, display, etc.).
A general definition of embedded systems is that they are devices used to control, monitor, or assist the operation of equipment, machines, or facilities. “Incorporated” reflects the fact that they are an integral part of the system. In many cases, their “integration” may be such that their presence is far from obvious to the casual observer. Block diagram of a typical embedded system is shown in fig.
Um diagrama de blocos mostrando um sistema embarcado típico
Fig. 2: A block diagram showing a typical embedded system

An embedded system is an engineering artifact involving computation that is subject to physical constraints (reaction constraints and execution constraints) arising from interactions of computational processes with the physical world. Reaction constraints originate from behavioral requirements and specify deadlines, throughput, and jitter, while execution constraints originate from implementation requirements and impose limits on available processor speeds, power, memory, and hardware failure rates. The key to embedded systems design is to achieve the desired functionality under both types of constraints.

CHARACTERISTICS
The) Embedded systems are application specific and have a single function; application is known a priori, programs are executed repeatedly.
B) Efficiency is of paramount importance for embedded systems. They are optimized for power, code size, execution time, weight and dimensions, and cost.
w) Embedded systems are typically designed to meet real-time constraints; a real-time system reacts to stimuli from the controlled object/operator within the time interval dictated by the environment. For real-time systems, right answers that come too late (or even too early) are wrong.
It is) Embedded systems often interact (sense, manipulate and communicate) with the external world through sensors and actuators and, therefore, are typically reactive systems; a reactive system is in continuous interaction with the environment and performs at a pace determined by that environment.
It is) They usually have minimal or no user interface.

Metrics and Design Architecture

DESIGN METRICS FOR EMBEDDED SYSTEMS
In addition to meeting the desired functionality of an embedded system, the embedded systems designer must optimize the following design metrics
· N about R occurring E Engineering cost (NRE): Money invested in R&D and the development of the first functional and tested prototype.
· Unit Cost: Cost of producing one unit
· Electricity
· Performance – System throughput, computing power, response time
· Functional Correction
· Reliability; Fault tolerance, reliability, maintainability, availability
· Physical size and weight
· Time to prototype
· Time to hit the market
· Safety: Must not cause harm to third parties.
· Maintenance, ease of use
These metrics compete with each other; increasing one can affect others. Consequently, optimizing these metrics is a challenge for an embedded systems designer.

EMBEDDED SYSTEMS ELEMENTS
. Hardware
The central element of an embedded system is the processor or a computational unit. Processors can act as the brain of the system. They can be programmed to perform a task. This can be designed using a variety of options.
· General purpose microprocessors
General-purpose microprocessors are single-chip semiconductor devices that are a computer on a chip but not a complete computer. Your CPU contains an Arithmetic Logic Unit (ALU), a Program Counter (PC), a Stack Pointer (SP), registers, a clock and interrupt circuit on a single chip. To make a complete microcomputer, it is necessary to add memory usually ROM and RAM, memory decoder, an oscillator, several serial and parallel ports
Um diagrama que ilustra a estrutura de um microprocessador de uso geral
Fig. 3: A diagram illustrating the structure of a general-purpose microprocessor

A general-purpose processor is designed to serve a large number of applications and is therefore mass-produced. Using it in an embedded system offers several benefits. Design time is low as only the software has to be developed, with no digital design involved. Typical characteristics of general-purpose processors are relatively high cost, high speeds, higher power consumption, large architecture, large memory size, integrated flash and cache, an external bus interface for higher memory usage.
Examples: 680×0 from Motorola, x86 from Intel
· Embedded microcontrollers/processors
A microcontroller is a functional computer system on a chip. It contains an integrated processor, memory (a small amount of RAM, program memory, or both), various peripheral devices such as timers, analog-to-digital converters, and serial communications devices all on one chip resulting in compact, low-power implementations. energy. It is not expandable because it does not have an external bus interface. Examples are PHOTO of DSPIC33/PIC24, Motorola 6811, Intel 8051
The typical characteristics of a microcontroller are: Low cost, Low speed, Low power consumption, Small architecture, Small memory size, Integrated Flash, Limited I/O.

Uma imagem representacional do sistema embarcado

Fig. 4: A figure showing different elements of a microprocessor/embedded processor

Microcontrollers provide pin access that allows programs to easily monitor sensors, set actuators, and transfer data with other devices. Providing specialized instructions improves the performance of embedded systems applications; therefore, microcontrollers can be considered ASIPs to some extent.
Special microcontrollers are often called embedded processors. The difference between a microcontroller and an embedded processor is not clear, but processors with large architectures with fast processing, fast context switching, and atomic ALU operations are marketed by many vendors as embedded processors. Examples of embedded processors are ARM 7, Intel i960, AMD 29050
· ASIP/DSP
An application-specific instruction set processor (or ASIP) is designed for a specific class of applications with common characteristics, such as digital signal processing, telecommunications, embedded control, etc. flexibility while still achieving good performance, power and size. However, such processors may require large N over R occurring E engineering cost (NRE) (to build the processor, compiler if they do not exist). Digital D - S signal P processors (DSPs) are a common class of ASIP. DSP is a single chip VLSI unit; a processor specially designed to support high-performance, repetitive, and numerically intensive tasks, including operations such as multiplication and addition or change and addition.
Typical features of DSP processors are
1. Harvard Architecture
two. MAC unit to support M lately- AC accumulate operations in a single cycle.
3. Ability to complete multiple memory accesses in a single instruction cycle.
4. One or more dedicated address generation units to speed up arithmetic processing.
Examples of DSP are: TMS320Cxx, SHARC and Motorola 5600xx.
· ASIC
ICs are basically “chips”, that is, silicon wafers with transistors, resistors, capacitors manufactured to act as microprocessors, amplifiers, memory, etc. Application specific S integrated circuits ) are designed for a special application. Digital to audio converter, DSSS receiver and Mpeg2 decoder are examples of ASICs.
ASICs offer very high performance, but the cost of NRE is very high. With ASICs, timing lock is an issue, especially with deep submicrometer geometries. Reconfigurability is highly limited.

· FPGA/CPLD
F field P programmable G ate A radius ( FPGA ) is a fully programmable alternative to a custom chip. They are also called Reconfigurable Processing Unit.
It is a two-dimensional array of logic blocks and flip-flops with a means for the user to configure the interconnection between the logic blocks and the function of each block. FPGA technology allows you to incorporate a processor, ROM, RAM, DSP and any other block on a single chip. This is replacing many application-specific integrated circuit chips. FPGA offers parallel hardware performance advantage with software flexibility. This has major advantages in terms of cost, reliability, reusability of intellectual property and time to market.
Based on interconnections between cells, there are two types of FPGAs
¨ Reprogrammable (SRAM-based) – Xilinx, LatticeXP2, Altera, Atmel
¨ Programmable once – Actel, Quicklogic
Complex Programmable P Magic Devices (CPLD) are slightly different from FPGAs; The difference lies mainly in the architecture. A CPLD consists of one or more programmable product sum logic matrices that feed a relatively small number of synchronized registers. As a result, they are less flexible and therefore offer the advantage of more predictable timing delays and a higher logic-to-interconnect ratio. On the other hand, FPGA architectures are dominated by interconnect. This makes them much more flexible, but also much more complex to design. Furthermore, FPGAs are generally much larger in terms of features than CPLDs. Another common distinction is that CPLDs contain built-in flash to store their configuration, while FPGAs often, but not always, require external flash.
· Reconfigurable SoCs
Technological developments, particularly the reduction of silicon fabrication geometries, are enabling the integration of complex platforms into a single S- system- on -C hip (SoC). In addition to specific hardware subsystems, a modern SoC may also include one or several CPU subsystems for running software and sophisticated interconnections. Multimedia platforms such as Nomadik and Nexperia are examples of multiprocessor SoCs that use digital signal processors, microcontrollers, and other types of programmable processors. Atmel's FPSLIC (AVR+FPGA), TI's OMAP (ARM Cortex + custom GPU+TI DSP) are other examples.

Architecture II

two. Software
If hardware forms the body of embedded systems , software is the soul of embedded systems. The software lends functionality to an embedded system.
A variety of languages ​​have emerged as the tasks to be performed by embedded systems are quite diverse in nature. A language may be good for control-dominated applications, but it may not be so good for signal processing applications.
The) Hardware languages
Verilog and V high-speed integrated circuits H hardware D description language (VHDL) are the most popular languages ​​in this category. Both describe systems with structural hierarchy, model systems with discrete event semantics; allow simultaneous processes to be described procedurally. Verilog is intended for simulating digital integrated circuits, while VHDL is much larger and more detailed and can handle a broader class of modeling and simulation tasks.
B) Software languages
Software languages ​​use instructions to describe sequences to be executed. Software languages ​​are of two types: assembly languages ​​and high-level languages. An assembly language program contains instructions written in symbolic form and is defined by opcodes, addressing modes, registers and memories. High-level languages ​​include C, C++, RT-Java, ADA, etc. They use various constructs such as functions, loops, arrays, variables, structures, etc.
w) Data Flow Languages
Datafow languages ​​describe systems of procedural processes that run concurrently and communicate through queues. A data flow model is composed of nodes, which transform data, and arcs, which represent the passage of data between these nodes. They are not convenient for general applications, but very good for signal processing applications. Kahn process networks are one of the applications. LUSTER is an example of a synchronous data flow language.
It is) Hybrid languages
This category of languages ​​combines ideas from other languages.
Esterel (intended for control-dominated reactive systems) combines abstract hardware semantics (concurrency and timing of digital circuits) with different types of typical software language constructs.
SDL is a graphical language developed to describe telecommunications protocols (uses finite state machines)
SistemaC offers discrete event simulation models similar to VHDL, but allows the introduction of asynchronous execution and software interaction mechanisms (C++).
Cocentric MT System Studio combines Kahn-like dataflow with Esterel-like FSM semantics to simulate and synthesize dataflow applications that also require control.

Architecture III

3. Interface to the physical world
Embedded systems interface with the physical world through sensors and actuators. Sensors act as “senses” for an embedded system, while actuators act as “members”. Varieties of sensors working on various sensing principles are used in embedded systems. Light, temperature, acceleration, speed, mass, distance, etc. are common physical parameters that are detected. Motors are one of the actuators used in many systems.
These transducers interface with the processor through several interfaces:
. Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485 etc.
. Synchronous serial communication interface: I2C, SPI
. Universal Serial Bus (USB)
. Networks: Ethernet, Controller Area Network (CAN), etc.
. Discrete I/O: general purpose input/output (GPIO)
. Analog to digital/digital to analog converter (ADC/DAC).

IMPORTANT RELEVANT CONCEPTS
1. Computer Architecture
Two common predominant processor architectures are Neumann Vs Harvard. Von Neumann architectures have the same program and data memory space; both share address bus and data bus. The Harvard architecture has different memory spaces for programs and data. For each of them, separate data buses and address buses are provided. Um diagrama que representa a comparação da arquitetura Neumann e Harvard
Fig. 5: A diagram representing the comparison of Neumann and Harvard architecture

two. EU Instruction S et A Architecture (ISA)
ISA serves as an abstraction layer between software and hardware. R educated computer computer ( RISC) and complex computer computer ( CISC ) represent two different competing philosophies in modern computer architectural design .
RISC has simple primitive instructions and addressing modes. Instructions are uniform in length, execute in one clock cycle, and support pipelined. CISC chips have a large number of variable length, different and complex instructions and take longer than one clock cycle to execute.
CISC chips are relatively slow per instruction compared to RISC chips, but they use fewer instructions than RISC. Thus, RISC systems shorten execution time by reducing clock cycles per instruction, while CISC systems shorten execution time by reducing MIPS R2000 is a typical pure RISC product and Intel 80386 is a typical pure CISC chip type.

Designing an embedded system

DESIGNING AN INTEGRATED SYSTEM
An embedded system project involves several stages listed below
· Requirements analysis
· Defining system specifications
O Modeling of the system to be designed – Experimentation with different algorithms and their preliminary evaluation. Factor the task into smaller subtasks and model their interaction
O HW-SW Partitioning (allocating tasks into H/W, S/W) or Co-design (H/W and S/W design proceeds in parallel with interactions and feedback between the two processes. Joint optimization optimizes performance metrics project)
· Technology selection
· Resource Analysis – Cost, Time and Labor
· Identification of components and development tools
· Circuit design/schematic capture, PCB layout design and manufacturing
· Firmware development – ​​debugging and testing
· Systems integration
· Testing – functional, environmental
· Certifications if necessary.
· Documentation
There are different design cycle methodologies used to design embedded systems.
· Waterfall model

Waterfall is a development model in which development flows steadily through the Requirements Analysis, Design, Implementation, Testing, Integration and Maintenance phases. It allows good monitoring of progress due to clear milestones, but its inflexibility (to respond to changes in requirements) is its downside.

· Top-down versus bottom-up

In the Top-Down Model, the general functionality of a system is considered initially, without going into more subtle aspects of the requirements. Future analyzes will be increasingly deeper and with greater details.
The Bottom-Up model follows a reverse approach. First, it defines the individual parts of the system in detail. The individual subsystems are then integrated to form larger systems, leading to the complete system.
· Spiral Model

The spiral model is the one commonly used in modern design practices. It uses a top-down and bottom-up approach. The objectives, alternatives and constraints are first defined. Then, iterations are started to eliminate the main risks. Finer details of each subsystem are then elaborated.

· Gantt Charts

The GANTT/PERT chart shows the relationships of various scheduled activities and helps monitor the progress of the project.

Related Content

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.