Design of high-speed data acquisition system based on FPGA

Publisher:SereneVoyageLatest update time:2011-09-22 Source: 电子产品世界Keywords:FPGA Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
Abstract: In order to improve the speed of data acquisition card and reduce the cost at the same time, a data acquisition system using pipeline storage technology is designed. The system is controlled by combining software and hardware. The ADC conversion process is completed by MAX1308 analog-to-digital converter, and the high-speed collected data is stored by using multiple Nandflash pipeline data storage mode. The hardware circuit is built, and the acquisition module, control and storage module and Nandflash storage function are implemented by writing VHDL language inside FPGA. The debugging results show that the corresponding position of the chip's read and write timing signals is accurate, there is no timing confusion, and the acquisition speed can be maintained at more than 10 MH/s. The system realizes the design requirements of low-cost, high-speed multi-channel acquisition.
Keywords: high-speed acquisition; pipeline storage; FPGA

0 Introduction
In order for the computer to process the analog quantity input by the data acquisition system, the analog quantity must be converted into digital quantity through the data acquisition system. FPGA is developed on the basis of logic devices such as CPLD. Its high integration can greatly reduce the size of the circuit board, reduce the system cost, improve the system performance and reliability, and is suitable for the application of timing, combinational and other logic circuits. A complete detection system usually has a collection and storage part. Whether it is an electrical signal, an optical signal, or a sound signal, after being received by the detector, most of them need to be converted into digital signals before being transmitted to the processor to complete the analysis and judgment process. Some of the current high-speed and large-capacity acquisition systems are often expensive. This paper mainly discusses a low-cost, high-speed, multi-channel, and reliable data acquisition system that uses FPGA and other devices for control and uses multiple Nandflash storage. This paper mainly discusses the hardware design and storage design.

1 System overall design plan
The working principle of the data acquisition system is: various information is converted into analog electrical quantity signals after passing through the sensor, and the analog quantity is converted into digital quantity signals through ADC, and then transmitted, stored, and processed. In this system, under the control of software and hardware, the system converts the collected analog signal through the A/D conversion device, and then caches the conversion result to FIFO, and then transfers it to the non-volatile Nandtlash array. Among them, FIFO can not only realize the cache function, but also solve the contradiction between the number of data bits after A/D conversion and the number of data line bits of Nandflash memory. As shown in the block diagram of the overall system design scheme in Figure 1, this system uses the microblaze processor inside the FPGA as the main controller, i.e., the software controller, while the internal logic resources of the FPGA are used to generate hardware control timing. The entire system collects and transmits data under the coordination of the two.

a.jpg

2 Design of Hardware Controller
The entire data acquisition system contains a data acquisition module and a data transmission module. The data acquisition module consists of an AD data conversion module and a Nandflash data storage module. The system uses a USB interface as a data transmission module, which is not the focus of this paper. In the data transmission part, this system uses DMA transmission technology. The FPGA internal circuit function module is shown in Figure 2.

b.jpg


Among them, ALE and WR are connected to the address latch and WR pin of the processor respectively. The processor is set to the mode of time-sharing multiplexing of the address bus and the data bus. In this way, the FPGA can latch the address of the processor through the ALE signal. The control command generator is used to decode and generate corresponding commands and operations. The DMA controller is a specific controller written by us. It needs to make DMA_EN valid when receiving the DMA enable command of the processor, and then start DMA to transfer data once after receiving the DMA start signal DMA_restart. Each time it is started, a page of 2K data is transmitted. During the transmission process, because it is a read of multiple FIFOs, in order to prevent the data from being messed up, we use a specific controller to match DMA_FLASH_WE and DMA_FIFO_RD of multiple FIFOs to unify them, resulting in a multi-chip FIFO rotation read operation.
In the design of sampling rate selection, we first use the software system of the microprocessor to give the hardware system of the FPGA a sampling rate selection value, and then the hardware system of the FPGA will decode the frequency value given by the microprocessor. The frequency selector will generate the corresponding frequency output according to this value, and the frequency output by the frequency selector will be input into the state machine controlling the AD conversion. In this way, the state machine controlling the AD conversion will perform corresponding frequency acquisition, data reading and data writing to the FIFO according to the input frequency.

3 Control and storage module
This system adopts pipeline operation mode when designing the storage mode. There are two stages in the writing of Nandflash memory: data loading stage (that is, writing data to the page data register through the I/O port) and programming stage (inside the chip, transferring the data in the page data register to the non-volatile storage unit). The data programming stage is automatic and does not require other operations of the external system, but it takes a long time, and its typical value is 200μs. If the pipeline storage method is used, the disadvantage of the slow writing speed of the Nandflash chip can be overcome. The principle of the writing operation process of the Nandflash memory using the pipeline operation method is shown in Figure 3. First, load the data to the first Nandflash. After the data is loaded, the first Nandflash will then enter the automatic data programming stage; then load the data to the second Nandflash. After the data is loaded, the second Nandflash will also enter the automatic data programming stage; then perform the same operations on the third Nandflash and the fourth Nandflash in turn. When the data of the fourth Nandflash is loaded, the first Nandflash has just finished automatically programming the data, and then repeat the loading and automatic programming of data stages at the beginning from the first Nandflash. This cycle continues until the data collection is completed. This is the storage method of the pipeline. From the overall time point of view, the entire system is constantly transmitting and storing data.

c.jpg


d.jpg

During data loading, this system applies DMA transfer control, that is, whenever the FIFO half-full flag signal HF generates a valid level, the processor starts an interrupt. In the interrupt program, the processor will complete the Nandflash write command and address, as well as the start of the DMA controller. Once the DMA controller is started, the processor will go to the background to perform effective address calculations and other operations without participating in the data transmission process. The entire data transmission process from FIFO to Nandilash memory is completed by the DMA controller written inside the FPGA. Start the DMA controller once to transfer a page of 2048 bytes of data, and one interrupt will complete the transfer of 16K bytes. The timing oscilloscope waveform of the DMA transfer is shown in Figure 4: Channels 0, 1, 2, and 3 are the FIFO read data timing waveforms, and channel 4 is the Nandflash write timing waveform. After a DMA transfer is completed, the processor must also determine whether the current page is the last page, page 64. If it is not the last page, the page address is increased by 1, and the DMA transfer sampling data operation continues. If the current page is the last page, page 64, determine whether the current block is the last block of this file. If it is not the last block, add 1 to the block address and compare it with the invalid block table to determine whether this block is a valid block. If it is, set the page address to 0 and continue the DMA transfer sampling data operation. If the current block is the last block of this file, the data acquisition operation of this file is completed, that is, this acquisition is completed.

f.jpg



4 Conclusions
The test results show that the acquisition system has stable performance and the acquisition speed can be maintained above 10 Mb/s, which meets the design requirements. The system has practical value for hardware design with low cost, high speed and reliability.

Keywords:FPGA Reference address:Design of high-speed data acquisition system based on FPGA

Previous article:Design of an Ultrasonic Thickness Measurement System Based on CPLD
Next article:Application of Ferrite Beads in Small Portable Devices

Recommended ReadingLatest update time:2024-11-16 17:52

Realization of Parallel Communication between ARM9 and FPGA
Parallel port communication is the most commonly used basic function. There are two ways to realize parallel port communication between ARM9 and FPGA. One is quite clever, using SMC (Static Memory Controller), in which the enable points can be easily controlled through registers; the other way is to complete it throug
[Microcontroller]
Circuit design of a portable ECG signal acquisition system
Abstract: Aiming at the requirements of small size and high performance of portable ECG acquisition circuit, an acquisition circuit consisting of preamplifier circuit, passive high-pass filter, second-order low-pass filter, notch filter and secondary amplifier circuit is designed with AD620 and TL064 as the core. Th
[Test Measurement]
Circuit design of a portable ECG signal acquisition system
FIFO design scheme and its application based on FPGA
introduction When using DSP to realize real-time video tracking, a large amount of high-speed image acquisition is required. However, the FIFO built into the DSP itself is not enough to support the temporary storage of a large amount of data in the system, which requires a large intermediate cache. However,
[Embedded]
FIFO design scheme and its application based on FPGA
FPGA+MCU to realize VGA image signal generator
  1 Introduction   VGA (Video Graphics Array) is a standard display interface that has been widely used in the video and computer fields. VGA image signal generator is a common instrument used by TV stations, TV manufacturers, and TV maintenance personnel. Its main function is to generate standard image test signals
[Microcontroller]
FPGA+MCU to realize VGA image signal generator
Real-time dual-mode video tracking device based on multiple DSPs and FPGAs
1. Introduction With the rapid development of modern high-speed processors, image processing technology has become increasingly mature. Among them, video detection and tracking of mobile targets is an important field of image processing and analysis applications, and is the current research frontier in rela
[Embedded]
Real-time dual-mode video tracking device based on multiple DSPs and FPGAs
Network-on-chip system hardware platform based on FPGA and ARM9
 The development of IC manufacturing technology is driving the chip towards higher integration, so that the entire system can be designed into a single chip to form a system on chip (SoC). SoC adopts a global synchronous shared bus communication structure. Due to the exclusivity of the devices hanging on the bus during
[Microcontroller]
Network-on-chip system hardware platform based on FPGA and ARM9
Powering FPGAs with LM201xx PowerWise® Synchronous Buck Regulators
The LM201xx PowerWise® synchronous buck regulators are feature-rich devices that deliver up to 5A of continuous output current. The devices operate from an input voltage range of 2.95V to 5.5V and can convert output voltages as low as 0.8V. Integrated low source-drain on-resistance (RDSON) FETs provide a very efficient
[Power Management]
FPGA Implementation Method of Laplace Operator
introduction In image processing systems, it is often necessary to pre-process images. Due to the large amount of data required for image processing, it is usually difficult to meet the real-time requirements of systems with high real-time requirements by using software. As a design environment for programm
[Embedded]
FPGA Implementation Method of Laplace Operator
Latest Embedded 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号