|Topics covered in this article:|
|Development board classification|
|Components of a development board|
The development board is a printed circuit board used for embedded system development, including a series of hardware components such as central processing unit, memory, input device, output device, data path/bus, and external resource interface.
Development boards are generally customized by embedded system developers according to development needs. Developers can also research and design a development board by themselves. The development board is for beginners to learn the hardware and software of the system. A basic integrated development environment, as well as software source code and hardware schematics, are available on some development boards. Common development boards are 51, ARM, FPGA, and DSP development boards.
ARM9 development board
In the general embedded system development process, the hardware is generally divided into two platforms, one is the development platform (host), and the other is the target platform (target), that is, the development board. The development platform described here refers to the use of a computer to connect to the target platform through a transmission interface, such as a serial port (RS-232), USB, parallel port, or network (Ethernet).
When the hardware and specifications are selected, the next step is to enter the initial system development and establish a development environment. If the embedded operating system used in the project is not developed by yourself, most of them provide an integrated development environment (IDE) and emulator (Emulator). So developers can accelerate the entire development process. When you get an operating system that has been ported by the system manufacturer, and you are sure that you have given sufficient relevant information, you can perform integration actions for your target platform.
After the operating system is selected, various development tools, such as compilers, linkers, etc., used on the development platform are usually specified. The compilation parameters that need to be set during development will vary depending on each environment. This part must compile a runnable image file according to the hardware specifications and instructions, and then program it to the target platform through a programming tool.
1) 51 series microcontroller
There are many models of 51 microcontrollers. The 8031/8051/8751 are the early products of Intel. The AT89C51 and AT89S52 of ATMEL are more practical. ATMEL's 51 series also have AT89C2051, AT89C1051, and other varieties. These chips are a simplified version of AT89C51 after some functions are streamlined. The more abundant chips on the market include ATMEL’s 51 and 52 chips, HYUNDAI’s GMS97 series, WINBOND’s 78e52, 78e58, 77e58, and so on.
2) PIC series microcontroller
PIC microcontrollers are widely used in various fields from computer peripherals, home appliance control, telecommunications, and communications, smart instruments, automotive electronics to financial electronics in the world. The PIC series of microcontrollers are divided into: basic series, such as PIC16C5X, suitable for various household appliances with strict cost requirements; intermediate series, such as PIC12C6XX, which have high performance. PIC intermediate series devices can be used to create a wide range of high-, medium-, and low-end electronic goods. Advanced series, such as PIC17CXX, have rich I/O control functions and can be extended with EPROM and RAM. They are suitable for use in high- and mid-range electronic devices.
3) AVR series microcontroller
The AVR microcontroller is an enhanced RISC (Reduced Instruction Set CPU) compact instruction set high-speed 8-bit microcontroller with an enhanced built-in Flash developed by ATMEL in 1997. AVR's microcontroller can be widely used in various fields such as computer peripheral equipment, industrial real-time control, instrumentation, communication equipment, household appliances, and so on.
4) ARM development board
The ARM development board is an embedded development version of the ARM core chip, including three series of cores of ARM7, ARM9, ARM11, Cortex-M, Cortex-A, and Cortex-R. Its main feature is high speed. And library documents are unified and facilitate development. ATMEL, NXP, ST, Freescale and other chips have launched chips based on the ARM core and corresponding development boards.
CPLD (Complex Programmable Logic Device) is a device developed from PAL and GAL devices. It is relatively large in scale and complex in structure and belongs to the scope of large-scale integrated circuits. It's a digital integrated circuit that allows users to create logic functions based on their own requirements. The basic design method is to use the integrated development software platform, schematic diagrams, hardware description language, and other methods to generate the corresponding target file, and transfer the code to the target chip through the download cable ("in-system" programming) to realize the designed digital system.
DSP (digital signal processor) is a unique microprocessor, a device that processes a large amount of information with digital signals. Its basic operation is to take an analog signal, convert it to a digital signal of 0 or 1, then modify, erase, and strengthen the digital signal before interpreting the digital data back into analog data or the actual environment format in other system chips. It not only has programmability, but its real-time running speed can reach tens of millions of complex instruction programs per second, far surpassing general-purpose microprocessors. In the digital electronic era, it is becoming increasingly significant as a computer chip. Its powerful data processing capabilities and high operating speed are the two main features.
ARM is the abbreviation of Advanced RISCMachines, a general term for a class of microprocessors. ARM is also a well-known company in the microprocessor industry, designing a large number of high-performance, cheap, low-energy RISC processors, related technologies and software. High performance, cheap cost, and low energy usage are all features of the technology. It is suitable for a variety of fields, such as embedded control, consumer/educational multimedia, DSP and mobile applications.
MIPS is a very popular RISC processor in the world. MIPS means "Microprocessor without interlocked piped stages". Its mechanism is to use software as much as possible to avoid data-related problems in the pipeline.
PowerPC is a central processing unit (CPU) with a reduced instruction set (RISC) architecture. Its PowerPC architecture is characterized by good scalability, convenience, and flexibility.
PowerPC processors have a wide range of implementations, ranging from high-end server CPUs such as Power4 to the embedded CPU market (Nintendo Gamecube uses PowerPC). The PowerPC processor has a very strong embedded performance because it has excellent performance, lower energy consumption, and lower heat dissipation. In addition to integrated I/O-like serial and Ethernet controllers, this embedded processor is very different from a "desktop" CPU. For example, the 4xx series of PowerPC processors lack floating-point arithmetic, and also use a software-controlled TLB for memory management, instead of using inverted page tables as in desktop chips.
The core of the hardware layer of an embedded system is an embedded microprocessor. The most significant distinction between an embedded microprocessor and a general-purpose CPU is that embedded microprocessors are used in systems that are tailored to specific user groups. The completed activities are built onto the chip, allowing embedded systems to be designed more compactly while maintaining great efficiency and dependability.
Embedded microprocessors have various systems. Even within the same system, clock frequencies and data bus widths may differ. There are over 1,000 different types of embedded microprocessors on the market, as well as over 30 different architecture series, the most popular of which are ARM, MIPS, PowerPC, X86, and SH. Unlike the worldwide PC market, however, no embedded CPU can be dominant. There are more than 100 embedded microprocessors in 32-bit products alone. The embedded microprocessor that is selected is dictated by the application.
Embedded systems need memory to store and execute code. The memory of the embedded system includes Cache, main memory, and auxiliary memory.
The cache is a small-capacity, fast-speed memory array. It's sandwiched between the main memory and the embedded microprocessor. It saves the most recent program codes and data used by the CPU. It stores the program codes and data that the microprocessor uses most recently. When data read operations are required, the microprocessor reads data from the Cache as much as possible, rather than from the main memory. This greatly improves the performance of the system and data transfer rate between the microprocessor and the main memory. The main goal of Cache is to reduce the memory access bottleneck caused by the memory to the microprocessor core so that the processing speed is faster and the real-time performance is stronger. In the embedded system, Cache is all integrated into the embedded microprocessor and can be divided into data Cache, instruction Cache, or hybrid Cache. The size of Cache depends on different processors. Generally, only mid-to-high-end embedded microprocessors will integrate Cache.
The main memory is a register that the embedded microprocessor can directly access. It is used to store system and user programs and data. It can be located inside or outside the microprocessor. Its capacity is 256KB~1GB, depending on the specific application. The memories commonly used as main memory include: ROM-type: NOR Flash, EPROM, and PROM, etc. RAM type: SRAM, DRAM and SDRAM, etc. Among them, NOR Flash has been widely used in the embedded field due to its advantages such as erasing times, fast storage speed, large storage capacity, and low price.
The auxiliary memory is used to store program codes or information with a large amount of data. Although it has a big capacity, it reads at a considerably slower rate than the main memory. It's used to keep track of user data for a long period.
A general device interface, such as A/D, D/A, I/O, and so on, is required for the interaction between the embedded system and the outside world. The peripherals connect to various devices or sensors outside the chip to implement the microprocessor's input/output. Typically, each peripheral serves only one purpose. It might be external to the chip or internal to the chip. Peripherals come in a variety of shapes and sizes, ranging from simple serial communication devices to very complicated 802.11 wireless devices.
A/D (analog/digital conversion interface) and D/A (digital/analog conversion interface) are common device interfaces in embedded systems, while I/O interfaces include RS-232 (serial communication interface), Ethernet (Ethernet interface), USB (universal serial bus interface), audio interface, VGA video output interface, I2C (field bus), SPI (serial peripheral interface), and IrDA (infrared interface), etc.