In fact, there is no standard definition to distinguish between MCU and embedded. Developers who have developed MCU and embedded have their own definitions.
First clarify the concept, what is a single-chip microcomputer, a single-chip microcomputer is a kind of integrated circuit chip, which uses the ultra-large-scale integrated circuit technology to integrate the central processing unit CPU with data processing capabilities, random access memory RAM, read-only memory ROM, various I/O ports and Interrupt system, timer/counter and other functions (may also include display drive circuit, pulse width modulation circuit, analog multiplexer, A/D converter and other circuits) are integrated on a silicon chip to form a small and complete micro Computer systems are widely used in the field of industrial control. From the 1980s, from the then 4-bit and 8-bit single-chip microcomputers to the current 300M high-speed single-chip microcomputer.
For example, the most classic 51 series single-chip microcomputer, as shown in the figure below, is just a thumb-sized rectangular parallelepiped chip, with a total of 40 pins, which contains the logic operation unit. In fact, it is a cpu.
When I first came into contact with the single-chip microcomputer, there was a question as to why the single-chip microcomputer was black and not other colors. Later, I realized that it was the limitation of the material of the single-chip microcomputer.
For single-chip microcomputers, in fact, one chip is everything. Others, such as the minimum system of single-chip microcomputers, add other components for the normal operation of the single-chip microcomputer, such as crystal oscillator, 5v power supply, inductor and resistance. Of course, the smallest system can only guarantee the normal operation of the single-chip microcomputer, and almost cannot realize any application based on the single-chip microcomputer. In order for the microcontroller to implement applications, other peripherals must be added. Such as buttons, led lights, led screens, buzzers, various sensors. This is the MCU development board that many companies are doing on the market.
In summary, the single-chip microcomputer is a single module that completes functions such as operation, logic control, and communication. That is, the MCU's real last name is "Sing". The DSP chip can also be considered as a single-chip microcomputer. Of course, their performance is very powerful, but the function is still very single, in short, they deal with data and logic.
So what is embedded? Generally speaking, embedded refers to embedded systems. Embedded systems are systems that combine application programs, operating systems, and computer hardware. They are application-centric and computer-based. The software and hardware can be tailored, and the user application targeted at special computer systems that have special requirements for function, reliability, cost, volume, power consumption and use environment. The IEEE (Institute of Electrical and Electronics Engineers, American Institute of Electrical and Electronics Engineers) defines embedded systems as: "devices used to control, monitor, or assist in the operation of machines and equipment."
An embedded system is a dedicated computer system as a part of a device or equipment. Generally, an embedded system is an embedded processor control board with a control program stored in ROM. In fact, all devices with digital interfaces, such as watches, microwave ovens, video recorders, cars, etc., use embedded systems. Some embedded systems also include operating systems, but most embedded systems are controlled by a single program. logic. This is because embedded systems are generally used for industrial control, that is to say, the control of peripherals is hard-coded and does not require manual intervention, and also to ensure the stability and reliability of the system.
We can often hear that the company’s recruitment requirements are embedded software engineers or embedded hardware engineers, that is to say, embedded systems include software and hardware. In fact, after thinking about it, you can understand that they have already run the system. Of course, there are software and bsp. Hardware. That is to say, embedded system is a combination of software and hardware. The generally accepted definition of embedded system is: application-centric, computer technology-based, software and hardware can be tailored to adapt to the application system's impact on function, reliability, cost, volume, Special-purpose computer systems with strict requirements such as power consumption.
the embedded system is divided into hardware and software in detail.
The hardware layer includes embedded microprocessors, memories (SDRAM, ROM, Flash, etc.), general device interfaces, and I/O interfaces (A/D, D/A, I/O, etc.). Adding a power supply circuit, a clock circuit and a memory circuit on the basis of an embedded processor constitutes an embedded core control module. The operating system and application programs can be solidified in ROM.
The core is the microprocessor. There is a difference between embedded processors and general computer CPUs. Most embedded microprocessors work in specially designed systems. For example, TI or Atmel has many processors with different positioning, atmel’s SAM The series is specially designed for the Internet of Things, while the AVR is widely used in the industrial field because of its outstanding performance.
Embedded microprocessors have a variety of different systems. Even in the same system, they may have different clock frequencies and data bus widths, or integrate different peripherals and interfaces. According to incomplete statistics, there are more than 1,000 kinds of embedded microprocessors in the world, and there are more than 30 series of architectures, among which the mainstream systems are ARM, MIPS, PowerPC, X86 and SH. But unlike the global PC market, no embedded microprocessor can dominate the market. In terms of 32-bit products alone, there are more than 100 embedded microprocessors. The choice of embedded microprocessor is determined according to the specific application.
For example, the arm company has a variety of processor architectures, the most classic cortex series, which belongs to the ARMv7 architecture, which is the latest instruction set architecture of the ARM company as of 2010. The ARMv7 architecture defines three series with a clear division of labor: "A" series for cutting-edge virtual memory-based operating systems and user applications; "R" series for real-time systems; "M" series for microcontrollers. The figure below shows the different positioning of the cortex series.
In the embedded field, it can be said that the ARM architecture processor occupies half of the country, and the arm company has also become a well-known technology company, but it does not produce any processors, but only provides IP. It can be seen that the first-class companies make standards. The other more commonly used architectures are sparc, powerpc, etc.
The interaction between the embedded system and the outside world requires a certain form of general device interface, such as A/D, D/A, I/O, etc. The peripherals realize the input/output of the microprocessor through the connection with other devices or sensors outside the chip. Features. Each peripheral usually has only a single function, and it can be outside the chip or built into the chip. There are many types of peripherals, ranging from a simple serial communication device to a very complex 802.11 wireless device.
Commonly used device interfaces in embedded systems include A/D (analog/digital conversion interface), D/A (digital/analog conversion interface), and I/O interfaces include RS-232 interface (serial communication interface), Ethernet ( Ethernet interface), USB (universal serial bus interface), audio interface, VGA video output interface, I2C (field bus), SPI (serial peripheral interface), IrDA (infrared interface), etc. This is actually similar to microcontrollers.
That is the operating system, including the kernel and file system, as well as more top-level applications. Embedded operating systems are generally Linux or other Unix-like, and there are some real-time operating systems (RTOS) such as VxWorks, RTEMS, ucOS Wait.
Among them, Linux also includes different distributions, such as Ubuntu, Redhat, Debian, centos, etc. They all use the Linux kernel. The difference is the software and tools above. Of course, you don’t have to worry too much about standard issues. These Linux distributions choose software Almost all are relatively common, such as Apache for web servers, postfix and sendmail for email servers, and Samba for file servers. In addition, there are standards such as Linuxstandard base to standardize developers.
Unix-like is mainly FreeBSD and Solaris.
Some real-time operating systems are most commonly used in the embedded field. The core of the real-time operating system is real-time. The essence is the predictability of task processing time, that is, the task needs to be completed within the specified time limit. The IEEE defines real-time systems as "systems whose correctness depends not only on the logical results of calculations but also on the time it takes to produce the results." Real-time operating systems are divided into hard real-time and soft real-time. Hard real-time requires the operation to be completed within the specified time, which is guaranteed during the design of the operating system; soft real-time, as long as the operation is completed as quickly as possible according to the priority of the task That's it. The operating system we usually use can become a real-time operating system after a certain change.
Then the differences between a real-time operating system and a time-sharing operating system such as Linux are listed as follows:
(1) Multiplexing. The real-time information processing system is as multipath as the time-sharing system. The system serves multiple end users according to the time-sharing principle; while for real-time control systems, its versatility is mainly manifested in the frequent collection of multiple on-site information and the control of multiple objects or multiple actuators.
(2) Independence. The real-time information processing system is as independent as the time-sharing system. When each terminal user makes a service request to the time-sharing system, they operate independently of each other and do not interfere with each other; and in the real-time control system, the collection of information and the control of objects do not interfere with each other.
(3) Timeliness. The real-time requirements of the real-time information system are similar to those of the time-sharing system, which are determined by the acceptable waiting time; while the timeliness of the real-time control system is based on the start deadline or the completion deadline required by the control object To be sure, it is generally in the order of seconds, hundreds of milliseconds to milliseconds, and some even less than 100 microseconds.
(4) Interactivity. The real-time information processing system is interactive, but the interaction between people and the system is limited to accessing certain special service programs in the system. It is not like a time-sharing system that can provide end users with data processing services, resource sharing and other services.
(5) Reliability. The time-sharing system requires the system to be reliable, in contrast, the real-time system requires the system to be highly reliable. Because any mistakes may bring huge economic losses or even unforeseen catastrophic consequences. Therefore, in the real-time system, multi-level fault-tolerant measures are taken to ensure the safety of the system and the safety of data.
Because it is more reliable and timely. Embedded real-time operating systems are more widely used in industrial control, aerospace, military and other fields. For example, the Mars probes launched by NASA in recent years are all RTEMS real-time operating systems.
The so-called middle layer is the interface layer between the software layer and the hardware layer. In fact, it belongs to the software layer strictly speaking. Generally, developers call it BSP. This layer is mainly responsible for providing hardware drivers, hardware configuration and other operations downwards, and upwards providing standard APIs to software developers. Developers who develop middle-tier are usually called embedded driver engineer.
It can also be seen from this that embedded design is inseparable from software and hardware. It is necessary to master the characteristics of the underlying hardware and how to drive its work, as well as to understand the relevant knowledge of the operating system, before you can write the application of the corresponding function.
Therefore, to see whether an operating system supports a certain chip or a certain development board, as long as the source code contains the board-level support package of the corresponding chip or development board.
The above is my understanding of the embedded system. Next, let's talk about what kind of hardware the embedded system should run on.
Speaking of embedded hardware or development boards, I think many people’s first impression is that RaspberryPi is a microcomputer the size of a credit card. Regardless of its "petite" appearance, its inner "heart" is very powerful, with all functions such as video and audio. There are all, it can be said that "the sparrow is small, but it has all five internal organs." After the launch of the Raspberry Pi, many manufacturers rushed to launch similar products, such as banana pie and the like. Here we use TI’s Beagleboneblack board for illustration. The Beagleboneblack board is shown in the figure below:
It can be seen that the size is similar to that of the Raspberry Pi. The peripherals include USBhost and USBmini and network card interfaces. There is also an SD card slot and HDMI interface on the back. Next, take a look at its performance parameters:
The following table is a comparison of the performance parameters of the BBB board and the Raspberry Pi:
Beagleboneblack's processor is a Ti processor with a clock speed of 1GHZ, based on arm's cortexa8 architecture, RAM is 512M DDR3, memory size is 2GB, and supported operating systems include Ubuntu, archLinux, Android, etc. There is a USBhost and a 100M network card outside.
BBB's processor uses the most popular ARMv7 instruction set in current embedded systems. Processors using instruction sets that are widely used today can be supported by more software. For example, some operating systems no longer support running on the ARMv6 instruction set. For example, Ubuntu gave up support for the ARMv6 instruction set in April 2012.
Another advantage of ARMv7 over the ARMv6 instruction set is that the actual performance of the processor using ARMv7 is stronger. ARMv7 has many advantages over ARMv6, such as some significant improvements: the implementation of superscalar architecture, the inclusion of SIMD operation instructions, and the improved branch prediction algorithm, which greatly improves certain performance.
The above are the performance parameters of a basic embedded core board. Compared with the performance parameters of the single-chip microcomputer mentioned above, the processing power of the single-chip microcomputer is relatively low, and the main frequency is mostly around tens of M, and the embedded core board is often hundreds of The processing speed of 1000M is still quite different. In addition, the single-chip microcomputer does not have the processing ability of the graphical interface, that is, the lack of GPU makes it almost impossible for the single-chip microcomputer to drive the graphical interface; the storage space of the single-chip microcomputer and the embedded processor are not at the same level. The on-chip memory of a single chip microcomputer is usually only a few k in size, and due to the limitation of peripherals, it is impossible to increase the peripheral emmc on a large scale, and the embedded processor usually has hundreds of megabytes of RAM. Such a huge difference makes it almost impossible for a single chip to resemble The embedded processor runs the operating system like the TCP/IP protocol stack and the USB protocol stack. Some high-end microcontrollers such as ST's STM32 series may be able to run some lightweight system os and embedded networks. Protocol stack, such as IwIP protocol stack. The rich and powerful performance of the embedded processor determines that it can complete more applications that the single-chip microcomputer cannot complete, such as network communication functions, video transmission processing functions, etc., and when the peripheral storage increases, the embedded processor can easily run various Linux systems , And a graphical GUI interface.
IC MCU 8BIT 7KB FLASH 44QFN
Product Categories: 8bit MCU
Manufacturer: Texas Instruments
IC DSP MILTICORE 561FCBGA
Product Categories: DSP
Manufacturer: Texas Instruments
IC DIGITAL MEDIA SOC 529FCBGA
Product Categories: SOC
Manufacturer: Analog Devices
IC DSP 16/32B 400MHZ 168CSBGA
Product Categories: DSP
Looking forward to your comment