Current location - Loan Platform Complete Network - Big data management - What is an embedded system?
What is an embedded system?
What is an embedded system?

Embedded system is a special computer system, as a part of equipment or device. Usually, the embedded system of embedded Web technology is an embedded processor control board, and its control program is stored in ROM. The following is a brief introduction of the embedded system I compiled, I hope you understand!

The definition of embedded system is too broad. Literally, even in confusion, the concept of embedded system is now suspected of being abused. The definition of embedded system in general literature is that embedded system is application-centered, based on computer technology, and its software and hardware can be simplified, which is suitable for computer systems with strict requirements on function, reliability, cost, volume and power consumption. However, this definition is out of date. It is generally believed that a promising embedded system should be a comprehensive platform, which has hardware based on high-performance processors (usually 32-bit processors) and software based on multitasking operating systems. The processing power of this platform is unmatched by the previous single chip microcomputer, which covers both software and hardware, so it can be called embedded system.

What is an embedded system?

Attention, the point here is? System? Instead of. Embedded? . On the basis of defining the basic definition of embedded system, we can understand embedded system from the following aspects.

1. Embedded system is user-oriented, product-oriented and application-oriented. Embedded system is closely combined with application and has strong specificity, so it must be reasonably simplified and utilized according to the actual system requirements. Embedded system is organically combined with specific applications, and its upgrade is also synchronized with specific products, so embedded system products also have a long life cycle after entering the market.

2. Embedded system is the product of the combination of advanced computer technology, semiconductor technology, electronic technology and specific applications in various industries. This determines that it must be a technology-intensive, capital-intensive and highly decentralized innovative knowledge integration system.

3. The embedded system must reduce the hardware and software according to the application requirements to meet the requirements of the application system for function, reliability, cost and volume. In order to improve the execution speed and system reliability, the software in embedded system is generally solidified in the memory chip or microprocessor itself, rather than stored in the carrier such as disk.

4. The embedded system itself does not have the ability of independent development. Even after the design is completed, users usually cannot modify the program functions. Only one set of corresponding development tools and environment can be developed.

In fact, any control system with embedded characteristics combined with products can be called embedded system. Now people talk about embedded systems, to a certain extent, it refers to the embedded systems with operating systems that have been popular in recent years.

system composition

Embedded system equipment usually consists of embedded computer system and execution equipment. Embedded computer system is the core of the whole embedded system, which consists of hardware layer, middle layer, system software layer and application software layer. The execution device, also known as the controlled object, can accept the control command sent by the embedded computer system and perform the specified operation or task. The actuator can be very simple, such as the micro-motor on the mobile phone, which is turned on when the mobile phone is in the state of receiving vibration; It can also be very complicated, such as Sony intelligent robot dog, which integrates multiple micro-control motors and multiple sensors, enabling it to perform various complex actions and feel various state information.

1) hardware layer

The hardware layer includes embedded microprocessor and memory (SDRAM, ROM, Flash, etc.). ), general equipment interface and I/O interface (A/D, D/A, I/O, etc. ). Add power supply circuit, clock circuit and storage circuit to the embedded processor to form the embedded core control module. In which both operating system and application programs can be solidified in ROM.

(1) embedded microprocessor

The core of embedded system hardware layer is embedded microprocessor. The biggest difference between embedded microprocessor and general CPU is that most embedded microprocessors work in systems specially designed for specific user groups. It integrates many tasks of general CPU completed by the board into the chip, which is beneficial to the miniaturization of embedded system in design, and also has high efficiency and reliability.

The architecture of embedded microprocessor can adopt Feng? Neumann system or Harvard architecture; The instruction system can choose reduced instruction set computer (RISC) and complex instruction set computer (CISC). RISC computer only contains the most useful instructions in the channel, which ensures that the data channel can execute each instruction quickly, thus improving the execution efficiency and making the design of CPU hardware structure simpler.

Embedded microprocessors have different architectures. Even in the same architecture, they may have different clock frequencies and data bus widths, or integrate different peripherals and interfaces. According to incomplete statistics, there are more than 1000 kinds of embedded microprocessors in the world and more than 30 series of architectures, among which the mainstream systems are ARM, MIPS, PowerPC, X86 and SH. However, unlike the global PC market, no embedded microprocessor can dominate the market. Only 32-bit products have more than 65,438+000 embedded microprocessors. The choice of embedded microprocessor depends on the specific application.

(2) Memory

Embedded systems need memory to store and execute code. The memory of embedded system includes cache, main memory and auxiliary memory.

Cache is a memory array with small capacity and high speed. It is located between the main memory and the embedded microprocessor core, and stores the most commonly used program codes and data of the microprocessor recently. When data needs to be read, the microprocessor reads data from the cache as much as possible, rather than from the main memory, which greatly improves the performance of the system and improves the data transmission rate between the microprocessor and the main memory. The main goal of Cache is to reduce the memory access bottleneck caused by memory (such as main memory and auxiliary memory) to the microprocessor core, so that the processing speed is faster and the real-time performance is stronger.

In embedded system, caches are all integrated in embedded microprocessor, which can be divided into data cache, instruction cache or mixed cache, and the size of caches depends on different processors. Generally, high-end embedded microprocessors will integrate cache.

Main memory is a register that embedded microprocessor can directly access, and it is used to store programs and data of the system and users. It can be located inside or outside the microprocessor with a capacity of 256KB~ 1GB. Generally, the on-chip memory has small capacity and high speed, and the off-chip memory has large capacity, depending on the specific application.

Commonly used as main memory are:

ROM classes include NOR Flash, EPROM and PROM.

RAM class SRAM, DRAM and SDRAM, etc.

Among them, NOR Flash has been widely used in the embedded field because of its advantages of many erasable times, fast storage speed, large storage capacity and low price.

3> auxiliary memory

Auxiliary memory is used to store a large number of program codes or information. It has a large capacity, but its reading speed is much slower than that of main memory. It is used to store users' information for a long time.

External memory commonly used in embedded systems: hard disk, NAND Flash, CF card, MMC, SD card.

(3) General equipment interface and I/O interface

The interaction between embedded system and the outside world needs some common device interfaces, such as A/D, D/A, I/O, etc. The peripheral realizes the input/output function of the microprocessor by connecting other off-chip devices or sensors. Each peripheral usually has only one function, which can be off-chip or built-in. There are many kinds of peripherals, from simple serial communication devices to very complex 802.438+0438+0 wireless devices.

At present, commonly used general device interfaces in embedded systems are A/D (analog-to-digital conversion interface) and D/A (digital-to-analog conversion interface), and I/O interfaces are RS-232 (serial communication interface), Ethernet (Ethernet interface), USB (universal serial bus interface), audio interface, VGA video output interface, I2C (field bus) and SPI.

2) Intermediate layer

There is an intermediate layer between the hardware layer and the software layer, which is also called Hardware Abstraction Layer (HAL) or Board Support Package (BSP). It separates the upper software from the lower hardware, so that the lower driver of the system has nothing to do with the hardware. The upper software developer can develop according to the interface provided by BSP layer, without caring about the specific situation of the lower hardware. This layer generally includes initialization of related underlying hardware, data input and output operations and configuration functions of hardware devices. BSP has the following two characteristics.

Hardware dependency: Because the hardware environment of embedded system has application dependency, BSP, as the interface between upper software and hardware platform, needs to provide the operating system with methods to operate and control specific hardware. [ 1]

Operating system correlation: Different operating systems have their own software hierarchy, so different operating systems have specific hardware interface forms.

In fact, BSP is a software layer between the operating system and the underlying hardware, including most software modules closely related to the hardware in the system. Designing a complete BSP needs to complete two parts: hardware initialization of embedded system and BSP functions, and designing hardware-related device drivers.

;