1. The significance of MCU application development platform
The single-chip microcomputer is a branch of the original large-scale computer, mainly used in: industrial automation control, intelligent instruments, meters, navigation, aerospace, smart home appliances and other fields. As a mainstream control chip for embedded product applications, the single-chip microcomputer is widely used, but the development methods supporting it are still relatively backward in China. At present, the development industry of single-chip microcomputer embedded products in my country still implements the backward method of random individual natural economy. Even companies with strong technical strength are still implementing the product development method of "bench model", and a large amount of low-level repetitive labor has formed a stubborn problem. The development method of "ladder model" using the platform development model fundamentally solves the drawbacks of the "bench model".
2. Introduction to MCU Development Platform
The single-chip microcomputer application intelligent development platform is a set of solutions for the application development of single-chip microcomputers, including Chinese development platform operating system, basic platform, extended function library, simulation debugging and other functions. The development platform part provides users with a simple and convenient development environment, allowing users to visually develop single-chip microcomputer application projects. The basic platform part provides a hardware environment that combines MCU with basic external expansion modules. It has good versatility, maximized connotation and non-intrusive application characteristics. The overall structure of the main module has been optimized, screened, and strictly standardized, serialized and standardized. The design will eventually form the hardware resource library of the platform. The extended function library part provides a detailed use function library for the extended part of the basic platform. With the support of the platform, users can use the extended part by simply calling the function. The simulation debugging part can simulate and debug the development project through the platform. The embedded real-time multi-task operating system makes multi-task programming very simple. Using this system to develop single-chip embedded application projects will save a lot of R&D costs, shorten the R&D cycle, improve system reliability, and achieve twice the result with half the effort.
3. Basic platform and I/O modules
1. Basic modules
According to the current status and future development of MCU application functions and communication interfaces, the basic module we designed should have the following functions:
(1) 8051 compatible core:
Rated operating frequency 12MHz (maximum 16MHz);
3 16-bit timers/counters;
32 programmable I/O lines (some functions need to be multiplexed);
9 interrupt sources, two priority levels (expandable).
(2) Forward data acquisition channel:
8-channel high-precision 12-bit ADC (on-chip voltage reference, high conversion rate up to 5μs, DMA mode optional);
Two 12-bit voltage output DACs;
Expanded eight-channel frequency input interface;
On-chip temperature sensor.
(3) Memory:
64KB Flash/EE program memory;
2MB Flash data memory;
256B RAM;
16MB external data storage address space.
(4) Human-computer dialogue channel interface:
LCD display interface (character/graphic);
4×4 keyboard;
Voice interface;
Standard printer interface (optional).
(5) Data communication interface:
Standard UART serial port (RS232/422);
IrDA infrared data exchange interface;
Wireless communication interface (Bluetooth technology);
Telephone line (internal modem).
(6) Peripheral equipment:
Watchdog timer;
Clock circuit;
Power supply monitor;
Expand 4-way I2C bus output;
Expand 8 current drive ports.
(7) Power supply:
Operates from 3V and 5V supply voltages (normal, idle, and power-down operating modes).
The general functional interface of the basic module is shown in Figure 2.
The optional items are hardware modules that users can configure according to the parameters we specify, and users can also use our own supporting function modules.
2. User resource design
This component is designed to allow some users to use it when the existing resources are insufficient or cannot meet their special requirements, such as measurement and output of switch quantity, interrupt system with multiple priority modes, other special IIC bus devices, multi-machine communication, communication with host computer, connection with other communication equipment, larger program storage area and data storage area expansion, etc. Therefore, it is necessary to expand enough address lines and certain I/O port lines and other interfaces.
(III) Hardware Block Diagram
Considering that the user resources and the general measurement and control system are under the control of the same MCU, considering the functional requirements of the entire system and the flexibility of the components, as well as the trend of current hardware development, an FPGA is selected to complete all expansions. The internal hardware structure diagram of the basic module is shown in Figure 3.
4. Virtual Instrument
Virtual instruments are new high-tech products developed with computer technology and modern measurement technology, representing a new direction for the development of today's instruments. They have both the basic functions of ordinary instruments and their own unique functions. Virtual instruments give users a space to give full play to their talents and imaginations. Users can design their own instrument systems according to their needs to meet various application requirements. In the platform, in order to facilitate user debugging, virtual instrument functions are designed, mainly including digital voltmeters, logic analyzers, and waveform generators.
1. Logic Analyzer
The logic analyzer is a part of the simulation system. It monitors the user's system externally, allowing the user to intuitively understand the status of their own system. It can provide the user with the status data of their own system and perform data analysis to understand the working status of the user's system.
Overall design block diagram:
Goals:
(1) Provide 8 channels of acquisition signals for the software
(2) The data collection depth is 32K
(3) Achieve high-frequency acquisition (20M)
(4) Realize the acquisition of different frequencies (20M, 10M, 100K, 1K)
(5) Simple compression of data
(6) RS-232 communication
(ii) Waveform Generator
The waveform generator is a data signal generator. When debugging hardware, some signals should be added to observe whether the circuit works normally. This waveform generator can define serial port data, the output waveform is variable, and the output is output through the logic probe, which makes debugging simple and fast. Its module function is shown in Figure 5. The generation of one waveform is shown in Figure 6.
Waveform Generator Module Function
Waveform generator generates one waveform
3. Digital voltmeter
Since the input signal has a large range of variation (tens of microvolts to several volts), it should be divided into several levels. For the convenience of users, the automatic range conversion technology is proposed. That is, according to the range of the unknown parameter value, the appropriate gain or attenuation is automatically selected to switch to the appropriate range. The method of automatic range setting is to set a variable gain amplifier in the acquisition channel and control its on and off with the help of the range conversion switch to obtain the required range. The block diagram of the digital voltmeter is shown in Figure 7.
Digital Voltmeter Block Diagram
5. Emulator debugger
In the development of single-chip microcomputer applications, the simulator is an important auxiliary development tool. Therefore, the platform needs to have a simulation debugging tool to meet the requirements of users who use intelligent platforms for product development on target machine simulation debugging, and it is easy and reliable to use.
Feature Request:
(1) Simulation of the entire address space.
(2) Does not occupy any user resources.
(3) Hard breakpoints must be implemented and have flexible breakpoint management capabilities.
(4) Hardware implements single-step execution function.
(5) User program execution can be tracked.
(6) Observe the variables and expressions during the execution of user programs.
(7) The user program can be stopped or reset.
Previous article:Circuit diagram of single chip microcomputer controlled steering gear
Next article:Summary of Common Problems for Microcontroller Beginners
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Detailed explanation of intelligent car body perception system
- How to solve the problem that the servo drive is not enabled
- Why does the servo drive not power on?
- What point should I connect to when the servo is turned on?
- How to turn on the internal enable of Panasonic servo drive?
- What is the rigidity setting of Panasonic servo drive?
- How to change the inertia ratio of Panasonic servo drive
- What is the inertia ratio of the servo motor?
- Is it better for the motor to have a large or small moment of inertia?
- What is the difference between low inertia and high inertia of servo motors?
- Oscilloscope hardware bandwidth limitation and high-pass and low-pass digital filtering functions
- The sensor driver for X-NUCLEO-IKS01A3 will soon be available in MakeCode
- 【AT-START-F425 Review】 3. GPIO Lighting and Button Evaluation
- TMS320C6678 Development Routine User Manual Study 4
- 【GD32F310G-START】Upload to Alibaba Cloud
- Smart door lock cake
- 【Project source code】Ethernet real-time image transmission display based on FPGA
- Please recommend some good books for hardware engineers.
- DDR SDRAM controller Verilog code and Chinese documentation
- When the LCD screen displays 0, I see a little bit of the horizontal line in the middle of the 0, but it is very weak, so it seems to display an 8. What should I do?