The progress of virtual instrument technology and how to improve parallel processing capabilities

Publisher:艺泉阁Latest update time:2012-10-24 Source: 21ic Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
The rapid development of technology and the increasingly fierce market competition have brought continuous pressure and challenges to engineers. One of the challenges is the diversification of protocols. For example, in the communications industry, compared with ten years ago, there are almost countless communication protocols (see Figure 1), and there is no obvious dominant protocol, so the final product needs to implement multiple protocols at the same time.

The increasing integration of product functions is also one of the challenges. Take the newly launched iPhone as an example (see Figure 2). It brings together multiple functions. It is not only used for making calls, but also can be used as an MP3, PDA, digital camera, etc., and in order to maintain market competitiveness, new functions will be continuously added.

newmaker.com
Figure 1: Various protocols coexist in the communications industry

newmaker.com
Figure 2: Product functions are becoming increasingly integrated

Obviously, if we want to keep up with such development and achieve product coverage testing, the traditional test method with fixed functions can no longer meet the requirements of flexibility; the traditional method is to use a set of test instruments for one protocol, and different instruments for different functions, which is simply unacceptable today.

Based on these challenges, test instruments are also undergoing a change in basic principles - from discrete instruments with fixed functions to flexible software-based modular instrument architecture, which is exactly the concept of "virtual instrument technology" proposed by NI more than 20 years ago. The characteristics of virtual instrument technology can effectively solve the above challenges: software-based custom functions allow engineers to develop corresponding test programs for different protocols; and modular instrument architecture can select different module hardware according to different functional tests, and flexibly realize the integration of test systems on the same test platform.

Virtual instrument technology has been applied in various fields of test measurement and automation, helping more and more engineers to create high-performance and highly scalable test systems. At the same time, virtual instrument technology itself is also constantly developing and innovating. Looking back on its development history over the past 20 years, we can see that since virtual instrument technology is based on commercial technology, it can integrate emerging scientific and technological developments, allowing engineers to enjoy them in the fastest and most convenient way, thereby creating a higher-performance test system. The development of PC processor technology is a good example: in 1990, it took 1,100 seconds to process a 65,000-point FFT using the then PC (Intel 386/16), while now it only takes about 0.8 seconds to implement the same FFT using a 3.4GHz P4 computer.

These booming emerging technologies are also new driving forces for the development of virtual instrument technology. For example, PCI Express bus technology allows more raw data to be transmitted to the PC at a higher speed; multi-core technology can achieve true parallel computing, thereby linearly improving the data processing performance of the system; programmable gate array (FPGA) technology allows engineers to re-customize the hardware functions through software according to different test requirements. Therefore, it is foreseeable that these mainstream commercial technologies will open the door for virtual instrument technology to many application areas that could only be used with expensive dedicated equipment before. In addition, looking at the current mainstream commercial technologies, it is obvious that the development trend is to achieve higher performance through parallel topology. The following are several examples of emerging technologies:

PCI Express bus technology

Since traditional instruments place the data processing and analysis process inside the instrument hardware, they can only return one result value. Although this method is convenient, it cannot meet the flexibility requirements described earlier. Therefore, a better way to test is to directly obtain the original data and then use professional analysis tools to analyze the data. This method allows engineers to analyze the original data multiple times, so that they no longer need to do multiple tests to obtain different analysis results, saving time and cost.

However, with the continuous increase in sampling rate and the increase in the number of channels, whether the existing bus bandwidth can read the original data in real time is a problem that needs to be solved before realizing many emerging test applications. [page]

The data transmission throughput of the existing PCI bus can be as high as 132 megabits per second, which is quite high compared to other buses, and it also has the lowest latency (Figure 3). However, it is a shared resource bus, that is, when multiple devices transmit data on the bus at the same time, the bandwidth available to each device will be proportionally reduced. As I/O speeds and application requirements increase, this architecture becomes a bottleneck. The new generation of PCI Express technology uses a point-to-point bus topology architecture, allowing each instrument to transmit data to the processor through an independent channel, significantly improving the bandwidth of data transmission, minimizing the need for memory, and speeding up the transmission of data streams (Figure 4).

newmaker.com
Figure 3: Bus bandwidth and latency comparison

newmaker.com
Figure 4: PCI and PCI Express bus comparison

As we all know, the addition of the PCI bus on the communication backplane is a key factor in the rapid application of PXI. Now, as commercial PC technology has evolved from the PCI bus to PCI Express, PXI has also incorporated PCI Express into the PXI standard, namely PXI Express (Figure 5). PXI Express not only retains the timing and synchronization features of PXI, but also adds many new synchronization features, and even provides differential system clocks, differential signals, and differential star triggers.

newmaker.com
Figure 5: PXI Express chassis

Importantly, the PXI Express standard also provides backward software compatibility, so that engineers can take full advantage of the results they have developed in existing software systems. In addition, the PXI Express hybrid slots provided by NI can support modules in both PXI and PXI Express bus forms at the same time, thereby better preserving past investments.

In short, the birth of PCI Express technology enables virtual instrument technology to achieve applications with high data throughput requirements, such as high-speed image acquisition or high-speed digital I/O applications for automotive collision tests, etc.

newmaker.com
Figure 6: Processor speed trends

Multi-core processor technology

PCI Express technology improves bus bandwidth and data throughput, allowing engineers to obtain raw data and get reliable test results through professional analysis tools. However, the rapid growth of data in recent years has caused the processing and analysis of this data to become another problem facing engineers.

Multi-core processor technology can improve the running speed of traditional test algorithms. Intel has promised to launch a CPU with 80 cores in 2011. However, unlike the previous single-core, in order to achieve performance improvement, developers need to configure threads in the application software. As can be seen from Figure 7, even on a quad-core processor, if the application is only single-threaded, the operating system will still assign all tasks to one of the cores to run. It can be seen that in order to achieve program performance improvement on a multi-core processor, your application must be divided into multiple threads, and then the OS coordinates and assigns them to run on different cores, so as to maximize the advantages of multi-core processor parallelism to improve performance. [page]

newmaker.com
Figure 7: Use multithreaded programming to maximize the performance of multi-core processors

However, this is a great challenge for many developers who are used to developing single-threaded applications. If engineers use text-based programming languages, such as C, then when writing multi-threaded application software, they need special semantics to create and manage threads and transfer data in a thread-safe manner.

NI LabVIEW is very suitable for creating parallel multi-threaded applications. First, compared with the top-down sequential structure of text programming languages, LabVIEW itself is a parallel programming structure; second, LabVIEW already supports multi-threading as early as LabVIEW 5.0. After the LabVIEW program is written, the LabVIEW compiler can automatically identify threads and create threads to different tasks and loops, and then the OS will assign them to different cores to run (Figure 8). The latest LabVIEW 8.5 provides comprehensive support for multi-core technology; in addition, in real-time operating systems, users can also assign specific threads to run on specific cores, as shown in Figure 9.

newmaker.com
Figure 8: Using LabVIEW to facilitate multithreaded programming

newmaker.com
Figure 9: LabVIEW 8.5 allows users to manually assign threads to run on specific cores.

Moreover, with the use of more cores, LabVIEW can automatically create more threads to automatically improve the performance of the program. In simple terms, when you upgrade the controller of the test system to a processor with more cores, the test system can automatically achieve higher processing performance without making any changes to the program. Therefore

, multi-core processors can improve processing capabilities by using parallel topology architectures, but using true multi-threaded programming languages, such as LabVIEW, can easily achieve real improvements in computing performance.

FPGA technology

An important feature of virtual instrument technology at the beginning is that software can be used to customize the functions of hardware. As LabVIEW's position as a parallel programming language has gradually stabilized, its application has also been continuously expanded, and it has provided strong support for the powerful parallel hardware technology FPGA.

Generally speaking, the software development platform of FPGA is implemented using VHDL language, but this language requires a long time to learn and a deep hardware technology background, so only a few professionals can master it. With the growing demand for programmable hardware, FPGA has become a mainstream technology. This trend requires a way to lower the threshold of FPGA programming, so as to bring FPGA technology to more engineers.

LabVIEW's parallel programming method and graphical programming environment allow engineers to implement the logical functions of FPGA in an intuitive way. For example, using LabVIEW, it becomes relatively simple to implement the logic function shown in Figure 10 in an FPGA.

newmaker.com
Figure 10: Using LabVIEW to implement FPGA logic functions

Of course, if you want to build a complete measurement and control platform, you need to choose from many different IO modules. NI provides engineers with a complete FPGA-based commercial platform to choose from, allowing engineers to use this technology to achieve higher performance test applications.

Conclusion

At present, virtual instrument technology has taken root in many fields. The high bandwidth of the PCI Express bus expands the application scope of virtual instrument technology to more emerging applications, allowing engineers to enjoy the benefits of high channels and high sampling rates while flexibly customizing related functions according to their own needs; using true multi-threaded programming languages, such as LabVIEW, it is easy to achieve real improvement in multi-core parallel computing performance; with the rapid development of LabVIEW parallel programming languages, engineers can flexibly reconfigure hardware according to changes in the unit under test, software, or test requirements, thereby providing strong support for FPGA.
Reference address:The progress of virtual instrument technology and how to improve parallel processing capabilities

Previous article:Animal Kinematics Data Acquisition System Based on PXIe and LabVIEW
Next article:Research and implementation of virtual instrument technology based on Python

Latest Test Measurement Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号