1 Introduction
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) is an innovative software product of NI Corporation of the United States. It is also the most widely used, fastest growing and most powerful graphical software development environment. LabVIEW DSP module, which includes system tools for designing, implementing and analyzing DSP algorithms. It extends the LabVIEW graphical development environment to embedded signal processing application design, provides an easy-to-use, ready-made method to learn signal processing technology, and gives DSP developers a graphical and system-level design and development option. As our devices improve in performance and complexity, the role of graphical and system-level design and development tools plays an increasingly important role.
This paper takes the TMS320C6713EVM development board as the hardware platform, uses the LabVIEW DSP module and the LabVIEW DSP Test Toolkit for TI DSP toolkit to integrate LabVIEW and DSP, and completes the design of the adaptive filter system identification application based on the TMS320C6713EVM hardware platform.
2 Application of DSP in Virtual Instrument Design
Digital signal processing is an extremely important discipline and technical field, and has been widely used in many fields. Compared with other microprocessors commonly used in embedded systems (such as single-chip microcomputers and general-purpose processors), DSP (digital signal processor) has powerful data processing capabilities and high-speed data throughput, making its performance in image processing, voice processing, etc. far superior to other microprocessors. At the same time, with the development of very large-scale integrated circuits, production costs have been further reduced, and DSP solutions have become the first choice for engineers in typical digital signal processing applications such as embedded image and voice processing.
In many cases, virtual instruments are implemented using a host computer. Microcomputers can also perform digital processing, and microcomputers can directly use floating-point operations, and their calculation accuracy can also be very high. However, compared with using microcomputers to implement virtual instruments, using DSP chips to implement virtual instruments has the following advantages: (1) The unique storage and bus structure of DSP chips can ensure multiple accesses to program space and data space within a machine cycle and simultaneous calculations within an instruction cycle, meeting the parallel calculation requirements in digital signal processing; (2) A/D and D/A are used during data acquisition and output, and their refresh is completed through timers. DSP chips have built-in on-chip timers, and users can accurately set the timers through the control program, thereby achieving precise timing and sampling processing, which is impossible in host computer implementation.
Usually, the data acquisition card as the hardware part of the virtual instrument only completes the data acquisition and transmission, while the most time-consuming and complex data analysis and processing in the virtual instrument is left to the computer's CPU to complete, resulting in the virtual instrument's lack of real-time and accuracy. DSP can complete the work of data acquisition, data processing and data transmission, leaving the work of data analysis and processing to DSP, so the computer's work is only to complete the simple arrangement, display, storage and output of data, which well makes up for the previous virtual instrument's lack of speed and accuracy.
In addition, when the system runs on a multi-tasking operating system such as Windows, especially when processing large-capacity, high-precision operations such as FFT, the CPU resources will be seriously insufficient, which brings certain inconveniences to the application of virtual instruments. Virtual instruments can use the DSP processing system to pre-process the collected data in the DSP, and then pass the data to the software part. This not only does not increase the burden on the system, but also allows the system to use more time to handle other things. Therefore, organically applying DSP technology to virtual instruments is an important development direction of virtual instrument design.
3 DSP system-level design based on LabVIEW
3.1 LabVIEW DSP Module
The LabVIEW DSP module is a full-featured visual tool for designing, implementing, and analyzing digital signal processor algorithms and systems. This module is integrated with LabVIEW and is powerful enough to generate applications optimized for DSPs. It is a new approach to DSP development. Its features are as follows:
(1) Extending the LabVIEW core capabilities to directly program the NI SPEEDY-33, TI C6416 DSK, TI C6713 DSK, and TI C6711 DSK using signal processing functions and programming components. No separate DSP compiler is required, and the code can be switched between supported DSP targets without rewriting the code, providing code portability to multiple DSP targets.
(2) Full support for Express VI functions, graphical and system-level options for programming DSP devices, code modularity and independent application development capabilities for future designs, etc.
(3) It can reduce iterative design cycles and overall development time more quickly, and display results immediately while making changes to existing DSP hardware in real time.
(4) With easy access to analog and digital I/O lines of the DSP target and an interactive GUI that meets real-time interaction needs, real-time applications can be built.
At the same time, the LabVIEW DSP module integrates the latest NI LabVIEW digital filter design toolkit, which can download filters designed using LabVIEW to TI and NI DSP hardware devices. The LabVIEW DSP module is very suitable for applications in the fields of communications, custom control algorithms, digital and least mean square (LMS) filtering, and audio processing and analysis.
3.2 LabVIEW DSP Test Toolkit
The DSP Test Toolkit in the LabVIEW toolkit can make the DSP system designed in the LabVIEW environment run in whole or in part on the hardware platform. The DSP Test Toolkit is different from the DSP module. The DSP module can be used to program the DSP hardware directly without a separate DSP compiler. The DSP Test Toolkit must be developed through CCS (Code Composer Studio). The DSP Test Toolkit provides a series of VIs that can interface LabVIEW and CCS, as shown in Figure 1.
Figure 1 The role of DSP Test Toolkit in DSP design
The VIs provided by DSP Test Toolkit are divided into two groups: CCS Automation VIs and CCS Communication VIs. CCS Automation VIs enable CCS code to be automatically executed through LabVIEW, including (1) opening CCS, (2) building a project, (3) resetting the CPU, (4) loading a program, (5) running code, (6) stopping the CPU, and (7) closing CCS. These steps are the same as in CCS.
CCS Communication VIs enable data to be exchanged over the RTDX channel. For example, the CCS RTDX Write VI and CCS RTDX Read VI are used to write and read data to and from the DSP, respectively. It is important to note that the above VIs are polymorphic. Therefore, the data types and data formats between LabVIEW and CCS must match exactly to establish LabVIEW DSP integration. In addition, communication between LabVIEW and the C6x DSK target can be achieved by utilizing the Real-Time Data Exchange (RTDX) feature of the TMS320C6x DSP. This feature allows data to be exchanged between a DSK target and a host PC (running LabVIEW) without stopping program execution on the DSP side. This data exchange can be achieved through a Joint Test Action Group (JTAG) connection or by emulating a JTAG connection using a Universal Serial Bus interface. RTDX can be set to two modes: non-continuous mode and continuous mode. In non-continuous mode, data is written to a log file on the host. This mode is generally used for logging. In continuous mode, data is buffered by the library in the RTDX host. This mode is generally used for continuous display of data. When the processed data is displayed by PC/LabVIEW, RTDX must be set to continuous mode.
3.3 DSP system-level design method based on LabVIEW
When using LabVIEW for DSP development, the program block diagram is mainly divided into two parts, as shown in Figure 2.
Figure 2 CCS Automation.vi program flowchart
One part is the sequence structure on the left side of the figure. It corresponds to the CCS automatic process, including CCS open project VI, CCS create VI, CCS reset VI, CCS load code VI and CCS run VI. In addition, the CCS interrupt VI and CCS close project VI on the right side of the sequence structure are also part of the CCS automatic process. The three functions of the file I/O template in the sequence structure are used to create the CCS project file path, so that the project file can be opened in CCS. Through these VIs and functions, opening CCS, creating projects, loading and running programs on DSP, these processes can be controlled from the LabVIEW side. Dsp.pjt in the sequence structure is a DSP project, such as LMS.pjt, FFT.pjt, etc., which are created by designers in CCS according to different design requirements.
The other part of the flowchart is the While loop structure, which includes graphical codes such as the input and output display and analysis of system data and parameters, and the CCS RTDX communication module. The CCS RTDX communication module enables continuous data exchange between LabVIEW and DSP.
While the program is running, the Code Composer Status on the front panel can clearly display the CCS running status, as shown in Figure 3.
Figure 3 Example of CCS process status display on the front panel
Any DSP development program can be developed and designed based on LabVIEW using the program model shown in Figure 2. For different DSP designs, the graphical code in Dsp.pjt and the LabVIEW while loop is different.
4 DSP Design Examples
4.1 System Identification Principle
The ability of adaptive filters to operate well in unknown environments and track input statistics over time makes them powerful devices in signal processing and automatic control applications. Adaptive filter applications are divided into four types: identification, inverse model, prediction, and interference elimination. The purpose of system identification is to design an adaptive filter to approximate a given unknown dynamic system. The basic structure of using adaptive filters to achieve system identification is shown in Figure 4.
Figure 4 Basic structure of system identification
In the application of adaptive filters, an important issue is to establish the standard (or criterion) for optimizing the adjustable filter parameters. The least mean square (LMS) algorithm can produce a quadratic performance index as a function of the filter coefficients, thus having a single minimum value. It is one of the most basic algorithms for adaptive filters, so this paper uses the LMS algorithm to implement the application of adaptive filters.
4.2 System Identification Design Based on TMS320C6713EVM
The hardware platform used is TMS320C6713EVM high-speed voice signal (acquisition) processing platform. The platform uses the high-performance floating-point DSP device TMS320C6713B from Texas Instruments. The simulator used is the 5100USB V2.0 series DSP simulator.
The software design is shown in Figure 5. The sine wave generated by LabVIEW Express VI is used as the input signal, and the Butterworth filter VI is used as the unknown system through which the signal passes. The LMS algorithm program for the adaptive filter is written in C language in the CCS development environment, and the application program and graphical interface of the adaptive filter are developed in G language in the LabVIEW development environment. Communication is achieved through real-time data exchange (RTDX) between LabVIEW and CCS.
Figure 5 System identification program flowchart
Through the front panel, we can clearly see that the output of the adaptive filter gradually approaches the output of the unknown system, and finally accurately identifies the unknown system. In addition to using a single-frequency sine wave as the input signal, uniform white noise is also used as the input. The experimental results show that the unknown system can be identified, verifying the correctness of the entire system function and the effectiveness of the design method. The program running results are shown in Figure 6.
Figure 6 System identification results
5 Conclusion
This paper implements the adaptive filter application design based on the TMS320C6713EVM DSP hardware development platform in the LabVIEW development environment - system identification. Its design method is different from the traditional DSP design and development method, and is a beneficial attempt at a new DSP design method. This design method greatly shortens the DSP development cycle, gives full play to the characteristics of DSP and LabVIEW, and leaves the complex calculations to DSP. At the same time, through the LabVIEW visual interface, the results and waveforms of the program can be clearly seen, which facilitates online debugging, and the running results are intuitive and clear. Using the LabVIEW development environment for DSP development gets rid of the cumbersome text-based language code and complex debugging process, and can easily realize the development of DSP. It is a new development direction of DSP design and can be well applied to engineering practice and DSP teaching.
Previous article:Brief Introduction of Substation Integrated Automation System Based on DSP Technology
Next article:ECG Monitoring System Based on TMS320LF2407ADSP
Recommended ReadingLatest update time:2024-11-16 23:52
- Popular Resources
- Popular amplifiers
- 100 Examples of Microcontroller C Language Applications (with CD-ROM, 3rd Edition) (Wang Huiliang, Wang Dongfeng, Dong Guanqiang)
- Arduino Nano collects temperature and humidity data through LabVIEW and DHT11
- Modern Testing Technology and System Integration (Liu Junhua)
- Computer Control System Analysis, Design and Implementation Technology (Edited by Li Dongsheng, Zhu Wenxing, Gao Rui)
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
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
- Tektronix Prize-giving Event | Popular Applications of Semiconductor Materials and Device Test Technology
- Free shape LED ball
- Internet of Things vs Industrial Internet of Things: 10 Differences That Matter
- The stm32f030c8t6 chip crashes as long as it fetches data during an interrupt
- 【Arduino】168 sensor module series experiments (219) --- INMP441 omnidirectional microphone
- Technology Live: LPC55S69, designed to prevent hackers, helps you build secure edge nodes at low cost (share and win 20E coins)
- The upcoming nrf52840 metro express development board
- Electronic Instrumentation and Electrical Measurement
- Working Principle of Solar Street Lights
- [RVB2601 Creative Application Development] + A Preliminary Study on Connecting to Alibaba Cloud