1 Introduction
As the application field of embedded systems continues to expand, the complexity of the system is also increasing. Therefore, it has become a general trend to implement user graphics (GUI) in embedded systems. At present, most user graphical interfaces (GUI) in embedded systems are implemented by calling various API functions of the system with the support of operating systems (such as OS, WinCE, and Linix). These operating systems provide a large number of library functions for implementing GUIs and also provide programmers with a good platform for interface design. For example, WinCE can be used to easily design a Windows-style graphical interface.
The digital oscilloscope in this article is the DS1000 series launched by RIGOL. Its design is completely independent and close to the usage habits of Chinese people. Its user graphical interface (GUI) is developed based on VisualDSP++ 4.0 Kernel, and the interface style is closely related to the function of the instrument. On the basis of completing the display of the instrument's waveform and menu, the RIGOL team also made some general user graphical interfaces, such as file managers. Of course, the designed user graphical interface is far from being comparable to WinCE in terms of powerful functions, but it is convenient enough for the instrument users because it is the user graphical interface of the instrument after all, not the user graphical interface of a handheld computer (PDA).
2 Principles of user interface implementation on digital oscilloscopes
The implementation of the user graphical interface requires hardware and software support. As shown in Figure 1, through the deployment of the operation platform, the display program is called, the display program refreshes the display cache, and then the display driver displays the contents of the display cache on the LCD screen.
2.1 Hardware principle of realizing graphics
RIGOL DS1000 series digital oscilloscope uses a 320X234 resolution TFT liquid crystal display. Through the liquid crystal drive circuit, the liquid crystal can be displayed normally. Through the frame signal synchronization, line signal synchronization, and data signal clock synchronization, the data of the display dot matrix will be written from the SDRAM to the display buffer of the liquid crystal display, thereby displaying a color image.
As can be seen from Figure 1, if we want to update the content displayed on the liquid crystal display, we only need to update the display data in the LCD buffer.
2.2 Graphics standard library
for realizing the user graphical interface (GUI) To display various graphics and patterns on the user graphical interface, in addition to the support of hardware circuits, powerful software support is also required. Among them, the graphics standard library (GUI) is the most basic and indispensable.
The graphics standard library of the user graphical interface (GUI) includes the most basic functions of drawing points, drawing lines, drawing rectangles, filling rectangles, drawing circles, placing bmp patterns, displaying Chinese and English, etc. The more powerful the graphics library is, the more complex the user graphical interface (GUI) can be supported.
2.3 Support for the operating platform to realize the user graphical interface (GUI)
It is far from enough to realize the user graphical interface just by having a graphics standard library for drawing graphics. The graphics library is indispensable for a single screen, but to form an organic and operable user graphical interface, a stable and powerful operating system platform is also required in the background.
The operating platform determines the next state of the system based on the user's external input (usually the keyboard) and the current state of the system, and then calls the corresponding GUI interface. In this way, the user graphical interface is realized.
3.1 Classification of interface types
The design of the graphical user interface (GUI) cannot be completed simply and uniformly, and the user's operating interface in various situations must be considered. Based on the common points of these interfaces, we divide these interfaces into the following categories. The same type of interface will have the same or similar functional areas. Each interface will have a corresponding processing program and a dedicated data structure. [page]
According to the different functions implemented, we divide the following interface types:
A. Background grid display interface; B. Waveform display interface; B. Help document browsing interface; C. Menu display interface; D. File management browser interface; E. File name input interface; F. Foreground content display interface (including various parameter display information, measurement information and prompt information, etc.).
The various interface types are shown in the figure below:
From the above, we can see that although the displayed graphics are of various shapes, they can all be abstracted into a certain data structure with common attributes. The data structure is like the soul of the graphical interface. If you master the data structure, you can change the graphical interface accordingly.
Then how to design, control, and change these data structures becomes the key to realizing the user graphical interface (GUI).
To respond to the input of external users, we need to formulate a set of mechanism operation rules, and this set of mechanism operation rules is the state machine (system status machine), which is also the operation platform (operation platform) used by users to operate the instrument. According to this set of operation rules, our system changes the data structures used in various interfaces according to external input, so as to realize the user's operation of the graphical interface.
Of course, in the actual design, the operation platform (operation platform) is not only to change the data structure of the GUI, but also to consider the changes in the data structure in task scheduling and other task modules.
4 Software Design Process of the User Graphical Interface (GUI) of Digital Oscilloscope
Designing a good user graphical interface is a huge and detailed project. It involves the relationship between various aspects and many details in the implementation process.
How to sort out the relationship between these numerous changes is the key to design. The RIGOL team used some global variables as labels for various states and modes to change the user's graphical interface. However, due to the large number of variables, the possibility of matching between variables has increased exponentially, and the state transfer relationship will also increase exponentially. For programmers, this is more like doing a very complex logical combination problem than programming.
Therefore, this idea is feasible in theory, but it is not advisable in practice. We should try to remove the branches and leaves and find variables or structures that can run through the entire system and mark different states and modes. In the end, we use the keyboard input key value as the main line, supplemented by various global variables to control the changes in system state. Although there are many key values, because there is only one variable as the state variable, the changes in system state can be controlled. Therefore, in this system, the key value variable KEY_ID becomes the protagonist, and the user interface will change around it.
The key value variable KEY_ID should change according to the user's input. Here we will not describe how the state variable is transferred. We will introduce how to complete the output of the user graphical interface for the given key value variable KEY_ID.
The following figure is the software flow chart for implementing the user graphical interface.
At present, in addition to the low performance indicators of measuring signals, domestic digital oscilloscopes are not as well considered as foreign products in terms of system integrity and user operability.
In order to make up for the shortcomings of domestic products in this regard, the DS1000 series digital oscilloscope developed by the RIGOL development team not only realizes high storage depth, high measurement accuracy and other functions, but also pays attention to the design of the graphical user interface. Continuing to maintain its advantages in technological innovation and humanization and localization, the new user graphical interface enables users to measure and analyze waveforms more easily than ever before. As the functions
of the instrument increase, higher requirements will be placed on the user graphical interface (GUI), which requires the GUI to be more systematic, modular and functional. Therefore, we still have a lot of work to do in this regard.
[1] VisualDSP++4.0 Kernal (VDK) User's Guide, Analog Devices, Inc. 2005
[2] Blackfin Series DSP Principles and System Design, Chen Feng, Publishing House of Electronics Industry, 2004
[3] Data Acquisition and Processing Technology, Ma Mingjian, Zhou Changcheng, Xi'an Jiaotong University Press, 2001
[4] Digital Circuit Design and Application Practice Tutorial, Wang Zhenhong, Machinery Industry Press, 2003
[5] Military Electronic Measurement Instrument Application Guide, Mei Jinsong, Publishing House of Electronics Industry, 2001
[6] RIGOL "DS5000 Series Digital Oscilloscope Technical Documents", internal document, 2004 (end)
Reference address:Implementation of User Graphical Interface of Digital Oscilloscope in Embedded System
As the application field of embedded systems continues to expand, the complexity of the system is also increasing. Therefore, it has become a general trend to implement user graphics (GUI) in embedded systems. At present, most user graphical interfaces (GUI) in embedded systems are implemented by calling various API functions of the system with the support of operating systems (such as OS, WinCE, and Linix). These operating systems provide a large number of library functions for implementing GUIs and also provide programmers with a good platform for interface design. For example, WinCE can be used to easily design a Windows-style graphical interface.
The digital oscilloscope in this article is the DS1000 series launched by RIGOL. Its design is completely independent and close to the usage habits of Chinese people. Its user graphical interface (GUI) is developed based on VisualDSP++ 4.0 Kernel, and the interface style is closely related to the function of the instrument. On the basis of completing the display of the instrument's waveform and menu, the RIGOL team also made some general user graphical interfaces, such as file managers. Of course, the designed user graphical interface is far from being comparable to WinCE in terms of powerful functions, but it is convenient enough for the instrument users because it is the user graphical interface of the instrument after all, not the user graphical interface of a handheld computer (PDA).
2 Principles of user interface implementation on digital oscilloscopes
The implementation of the user graphical interface requires hardware and software support. As shown in Figure 1, through the deployment of the operation platform, the display program is called, the display program refreshes the display cache, and then the display driver displays the contents of the display cache on the LCD screen.
The following is a brief introduction to the main components in the figure above:
2.1 Hardware principle of realizing graphics
RIGOL DS1000 series digital oscilloscope uses a 320X234 resolution TFT liquid crystal display. Through the liquid crystal drive circuit, the liquid crystal can be displayed normally. Through the frame signal synchronization, line signal synchronization, and data signal clock synchronization, the data of the display dot matrix will be written from the SDRAM to the display buffer of the liquid crystal display, thereby displaying a color image.
As can be seen from Figure 1, if we want to update the content displayed on the liquid crystal display, we only need to update the display data in the LCD buffer.
2.2 Graphics standard library
for realizing the user graphical interface (GUI) To display various graphics and patterns on the user graphical interface, in addition to the support of hardware circuits, powerful software support is also required. Among them, the graphics standard library (GUI) is the most basic and indispensable.
The graphics standard library of the user graphical interface (GUI) includes the most basic functions of drawing points, drawing lines, drawing rectangles, filling rectangles, drawing circles, placing bmp patterns, displaying Chinese and English, etc. The more powerful the graphics library is, the more complex the user graphical interface (GUI) can be supported.
2.3 Support for the operating platform to realize the user graphical interface (GUI)
It is far from enough to realize the user graphical interface just by having a graphics standard library for drawing graphics. The graphics library is indispensable for a single screen, but to form an organic and operable user graphical interface, a stable and powerful operating system platform is also required in the background.
The operating platform determines the next state of the system based on the user's external input (usually the keyboard) and the current state of the system, and then calls the corresponding GUI interface. In this way, the user graphical interface is realized.
3 Design ideas for the graphical user interface (GUI) software of digital oscilloscopes
3.1 Classification of interface types
The design of the graphical user interface (GUI) cannot be completed simply and uniformly, and the user's operating interface in various situations must be considered. Based on the common points of these interfaces, we divide these interfaces into the following categories. The same type of interface will have the same or similar functional areas. Each interface will have a corresponding processing program and a dedicated data structure. [page]
According to the different functions implemented, we divide the following interface types:
A. Background grid display interface; B. Waveform display interface; B. Help document browsing interface; C. Menu display interface; D. File management browser interface; E. File name input interface; F. Foreground content display interface (including various parameter display information, measurement information and prompt information, etc.).
The various interface types are shown in the figure below:
3.2 Mutual coordination and response between interface area and external input
From the above, we can see that although the displayed graphics are of various shapes, they can all be abstracted into a certain data structure with common attributes. The data structure is like the soul of the graphical interface. If you master the data structure, you can change the graphical interface accordingly.
Then how to design, control, and change these data structures becomes the key to realizing the user graphical interface (GUI).
To respond to the input of external users, we need to formulate a set of mechanism operation rules, and this set of mechanism operation rules is the state machine (system status machine), which is also the operation platform (operation platform) used by users to operate the instrument. According to this set of operation rules, our system changes the data structures used in various interfaces according to external input, so as to realize the user's operation of the graphical interface.
Of course, in the actual design, the operation platform (operation platform) is not only to change the data structure of the GUI, but also to consider the changes in the data structure in task scheduling and other task modules.
4 Software Design Process of the User Graphical Interface (GUI) of Digital Oscilloscope
Designing a good user graphical interface is a huge and detailed project. It involves the relationship between various aspects and many details in the implementation process.
How to sort out the relationship between these numerous changes is the key to design. The RIGOL team used some global variables as labels for various states and modes to change the user's graphical interface. However, due to the large number of variables, the possibility of matching between variables has increased exponentially, and the state transfer relationship will also increase exponentially. For programmers, this is more like doing a very complex logical combination problem than programming.
Therefore, this idea is feasible in theory, but it is not advisable in practice. We should try to remove the branches and leaves and find variables or structures that can run through the entire system and mark different states and modes. In the end, we use the keyboard input key value as the main line, supplemented by various global variables to control the changes in system state. Although there are many key values, because there is only one variable as the state variable, the changes in system state can be controlled. Therefore, in this system, the key value variable KEY_ID becomes the protagonist, and the user interface will change around it.
The key value variable KEY_ID should change according to the user's input. Here we will not describe how the state variable is transferred. We will introduce how to complete the output of the user graphical interface for the given key value variable KEY_ID.
The following figure is the software flow chart for implementing the user graphical interface.
5 Conclusion
At present, in addition to the low performance indicators of measuring signals, domestic digital oscilloscopes are not as well considered as foreign products in terms of system integrity and user operability.
In order to make up for the shortcomings of domestic products in this regard, the DS1000 series digital oscilloscope developed by the RIGOL development team not only realizes high storage depth, high measurement accuracy and other functions, but also pays attention to the design of the graphical user interface. Continuing to maintain its advantages in technological innovation and humanization and localization, the new user graphical interface enables users to measure and analyze waveforms more easily than ever before. As the functions
of the instrument increase, higher requirements will be placed on the user graphical interface (GUI), which requires the GUI to be more systematic, modular and functional. Therefore, we still have a lot of work to do in this regard.
[1] VisualDSP++4.0 Kernal (VDK) User's Guide, Analog Devices, Inc. 2005
[2] Blackfin Series DSP Principles and System Design, Chen Feng, Publishing House of Electronics Industry, 2004
[3] Data Acquisition and Processing Technology, Ma Mingjian, Zhou Changcheng, Xi'an Jiaotong University Press, 2001
[4] Digital Circuit Design and Application Practice Tutorial, Wang Zhenhong, Machinery Industry Press, 2003
[5] Military Electronic Measurement Instrument Application Guide, Mei Jinsong, Publishing House of Electronics Industry, 2001
[6] RIGOL "DS5000 Series Digital Oscilloscope Technical Documents", internal document, 2004 (end)
Previous article:Differences between analog oscilloscopes and digital oscilloscopes
Next article:Application of Oscilloscope Technology in Automobile Fault Detection and Diagnosis
- Popular Resources
- Popular amplifiers
- Machine Learning and Embedded Computing in Advanced Driver Assistance Systems (ADAS)
- Embedded Systems with RISC-V and ESP32-C3 - A practical introduction to architecture, peripherals and
- Multiplexed Networks for Embedded Systems: CAN, LIN, FlexRay, Safe-by-Wire
- A Reconfigurable DT ΔΣ Modulator for Multi-Standard 2G/3G/4G Wireless Receivers
Recommended Content
Latest Test Measurement Articles
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Seizing the Opportunities in the Chinese Application Market: NI's Challenges and Answers
- Tektronix Launches Breakthrough Power Measurement Tools to Accelerate Innovation as Global Electrification Accelerates
- Not all oscilloscopes are created equal: Why ADCs and low noise floor matter
- Enable TekHSI high-speed interface function to accelerate the remote transmission of waveform data
- How to measure the quality of soft start thyristor
- How to use a multimeter to judge whether a soft starter is good or bad
- What are the advantages and disadvantages of non-contact temperature sensors?
MoreSelected Circuit Diagrams
MorePopular Articles
- 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
MoreDaily News
- 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
Guess you like
- AD9144-FMC-EBZ ADI data transfer board four-channel digital-to-analog converter evaluation board module conversion
- The news about the Agilex M series has been released for some time, but I haven’t seen any information about the specific pin packaging, etc.?
- PIC16F1824
- EEWORLD University ---- Webinar - How to quickly design power rails for Xilinx FPGA and SoC
- EEWORLD University----simulink video tutorial
- Interleaved CCM Totem Pole Bridgeless Power Factor Correction (PFC) Reference Design
- Openmv3 photography
- [2022 Digi-Key Innovation Design Competition] Distributed Temperature and Humidity Acquisition System-STM32H745I-DISCO Basic Learning
- Start at 2pm: TI MSP430 development training, online hands-on demo + analysis by frontline experts
- What are the common types of LED dimming power supplies and their working principles?