With the development of embedded systems, they are becoming more and more complex in software and hardware, and the requirements for the efficiency of human-computer interaction are also increasing, especially for some complex industrial control equipment and consumer electronic products. Therefore, the graphical user interface (GUI) has been separated from the system program of the embedded system. Since the development of embedded GUI, there are many types and powerful functions. Embedded GUI has become an indispensable component of a successful embedded system [1]. This paper develops a graphical interface on an embedded system with ARM as the core and simulates the Windows interface.
1 ARM processor
Embedded systems are the result of combining advanced computer technology, semiconductor technology, electronic technology, and specific applications in various industries. This determines that it must be a technology-intensive, capital-intensive, highly decentralized, and constantly innovative knowledge integration system. [2] ARM is the most widely used microprocessor in the current embedded field [3]. ARM (Advanced RISC Machines) microprocessors are microprocessors that use ARM technology intellectual property (IP) cores. This ARM core technology is licensed by ARM, a British company. Major semiconductor manufacturers around the world purchase ARM microprocessor cores designed by ARM, and according to their respective application fields, add appropriate peripheral circuits to form their own ARM microprocessor chips and enter the market.
In this design, ARM7TDMI is used as the kernel of the embedded system. The ARM7TDMI core is a general-purpose 32-bit microprocessor core that adopts the von Neumann architecture and has the characteristics of high performance and low power consumption. ARM7TDMI uses a three-stage pipeline technology to increase the speed of the processor instruction flow, and all parts of the processor and memory can work continuously. Usually, while executing one instruction, the next instruction is decoded and the third instruction is taken out of the memory [4]. The ARM structure is designed based on the principle of reduced instruction set computers. The instruction set and related decoding mechanism are much simpler than those of complex instruction set computers.
2 Graphical User Interface Characteristics and Development Trends
2.1 Characteristics of Graphical User Interface
The widespread popularity of the Graphical User Interface (GUI) is one of the major achievements of today's computer technology. It greatly facilitates the use of non-professional users. People no longer need to memorize a large number of commands, but can easily operate through windows and menus. "Visual" has become a popular adjective, such as Visual Basic, Visual C++, etc. The main features of the graphical user interface are as follows [5]:
1. WIMP
W (Windows) refers to windows, which refers to a working area of a user or system. There can be multiple windows on a screen. I (Icons) refers to graphics, which are figurative graphic symbols that are easy for people to understand. M (Menu) refers to menus, which are function prompts that users can choose. P (Pointing Devices) refers to the mouse, etc., which makes it easy for users to directly operate screen objects.
2. User Model
GUI uses many desktop metaphors to share an intuitive interface framework for users. Because people are familiar with the desk, they can easily understand the meaning of the graphic symbols displayed on the computer, such as folders, inboxes, brushes, workbooks, keys, and clocks.
3. Direct operation
In the past, interfaces not only required memorizing a large number of commands, but also required specifying the location of the operation object, such as line number, number of spaces, X and Y coordinates, etc. After adopting GUI, users can directly operate objects on the screen, such as dragging, deleting, inserting, and even enlarging and rotating. After the user performs an operation, the screen can immediately give feedback or results, so it is called what you see is what you get. Using viewing and clicking (mouse) instead of memorizing and clicking (keyboard) brings convenience to users.
2.2 Development Trends of Graphical User Interfaces
With the rapid development of virtual reality, scientific computing visualization and multimedia technology, new human-computer interaction technologies continue to emerge, and more natural interaction methods will gradually be valued by people. The main features of the new generation of interfaces can be described as follows: user-centric, intelligent, high-bandwidth, unlimited location, graphic programming, etc.
3 ARM Embedded System GUI Development
In recent years, embedded systems have developed rapidly, with various product forms. As embedded products become more commercialized, the requirements for graphical user interfaces (GUIs) are becoming higher and higher.
3.1 LCD and its driver
This design uses a 2.2-inch TFT LCD screen - TFT6758 LCD module, which has an operating voltage of 3.3V and a built-in white LED backlight. It can be directly connected to the controller using an 8-bit, 16-bit or 18-bit bus (because the LCD module contains HD66781 and HD66783 LCD control drivers). In order to obtain a higher data transmission rate, a 16-bit bus interface is used when designing the circuit. According to the HD66781 chip data sheet, the IM3 and IM0 pins need to be connected to 0 level, and the 16-bit data are connected to the DB17~DB10 and DB8~DB1 pins respectively. The unused DB0 and DB9 pins are grounded. The circuit connection is shown in Figure 1 [6]. When using the LCD screen, you need to add its corresponding driver first. The driver chip of the dot matrix LCD display TFT6758 is HD66781, and the gate driver chip is HD66783.
Figure 1 TFT6758 LCD module application circuit
3.2 Selection of software platform
At present, there are several mature and representative embedded GUI development software on the market, such as MiniGUI of Beijing Feiman Software Company, MicroWindows of Century Software Company in the United States, Qt/Embedded of Troltech Company in Norway, etc. These GUI systems have their own characteristics, but most of them need to be ported to embedded operating systems, which will definitely increase the investment of time and energy. Therefore, after comprehensively considering various factors, ZLG/GUI is used as the software platform for this design.
ZLG/GUI is a simple graphical user interface software for embedded systems that takes up little resources and is easy to use. It can be used directly without being ported to an embedded operating system. It provides the most basic drawing functions and has some more advanced interface functions. It supports monochrome, grayscale, pseudo-color, true-color and other graphic display devices and is simple and easy to learn. [page]
The desktop of the Windows system that we often use is a gorgeous graphical user interface, so the design simulates the graphical interface of the Windows desktop.
The design idea of this interface is: fill the full screen with a picture as the desktop background pattern of Windows. After calculating the coordinate value of the status bar, select green and blue to fill two rectangles at the bottom of the LCD screen as the status bar. Still use the fill rectangle function to make the background color of the start menu. Obtain the display coordinate value of the Chinese character by calculation at the corresponding place, and display the Chinese character at the corresponding position. Determine whether a key is pressed. If not, continue to display the desktop. If a key is pressed, display the start menu. The process of displaying the Windows interface is shown in Figure 2. The simulated Windows interface is displayed on the LCD as shown in Figure 3.
Figure 2 shows the Windows interface process
Figure 3 Simulating Windows interface
4 Conclusion
In recent years, with the development of embedded technology, embedded systems have developed rapidly. Embedded devices will be applicable to a wider range of fields, such as aerospace, aviation, military, medicine, as well as home appliances, transportation, communications, etc. that are closely related to people's lives. As embedded products become more commercialized, they will involve issues of user convenience, and the requirements for graphical user interfaces (GUIs) are getting higher and higher. How to develop a GUI system suitable for one's own hardware conditions has become an important part of embedded system development. This design uses ZLG/GUI as the software platform. For complex applications, MiniGUI and other software can be used as the software platform.
The author's innovation: Using ZLG/GUI as a software platform, a Windows-like graphical user interface was developed, providing a simple, low-cost and feasible solution for GUI development in embedded systems.
Previous article:Application of ARM in digital remote video monitoring system
Next article:Research on transplantation and optimization of Gameboy emulator based on ARM Linux
Recommended ReadingLatest update time:2024-11-16 17:41
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- EEWORLD University----[High Precision Laboratory] Interface: RS-485
- Newbie, please help me with CPLD frequency multiplication
- [The third stop of Shijian’s ADI journey] Learn about cutting-edge IoT devices and solutions, and win Kindle and other gifts
- Are there any netizens working in the field of motors?
- Evaluation report summary: Mir MYS-8MMX
- 2020 Share the beauty of Qingdao in my eyes
- Zigbee Technology Exchange
- Allwinner V853+XR829 Tina wireless network wifimanger2.0 user guide
- Confusion about TFT LCD interface
- What is the function of TI DSP GEL file?