Implementation of User Graphical Interface of Digital Oscilloscope in Embedded System[Copy link]
1 Introduction With the continuous expansion of the application field of embedded systems, 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 of the 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 for the user of the instrument, it is convenient enough 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 content in the display cache on the LCD screen.
The following is a brief introduction to the main components in the above figure: 2.1 Hardware principle of realizing graphics RIGOL DS1000 series digital oscilloscopes use 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 LCD, we only need to update the display data in the LCDbuffer. 2.2 Graphics standard library for implementing 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 implement the user graphical interface (GUI) It is far from enough to implement the user graphical interface with only the 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, thereby calling the corresponding GUI interface. In this way, the user graphical interface is realized. 3 Design ideas for the user graphical interface (GUI) software of digital oscilloscope 3.1 Classification of interface types The design of the user graphical interface (GUI) cannot be completed simply and uniformly, and the user's operation interface in various situations must be considered. According to 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 special data structure. 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 types of interfaces are shown in the figure below:
3.2 The interaction between interface area and external input As can be seen from the above, 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 the input of the outside world, 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 structures 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 the 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 the system state. Although there are many key values, because there is only one variable as the state quantity, the changes in the 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 variables are 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 a software flow chart for implementing the user graphical interface.
5 Conclusion At present, domestic digital oscilloscopes, in addition to the low performance indicators of measuring signals, 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 functions such as high storage depth and high measurement accuracy, 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 makes it easier for users to measure and analyze waveforms than 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 Principle and System Design, Chen Feng, Electronic Industry Press,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 Measuring Instrument Application Guide, Mei Jinsong, Electronic Industry Press, 2001 [6] RIGOL "DS5000 Series Digital Oscilloscope Technical Documents", internal document, 2004 (end)
It's not inappropriate for a simple system. It's just that RIGOL uses such a design, which is very ordinary, and it actually brags about it. It's really drunk.
Details
Published on 2015-2-28 15:28
It's not inappropriate for a simple system. It's just that RIGOL uses such a design, which is very ordinary, and it actually brags about it. It's really drunk.