Using FIFO to implement the interface between A/D and ARM processor

Publisher:泉趣人Latest update time:2011-07-09 Keywords:FIFO Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

In a high-speed data acquisition system, if the A/D converter is directly connected to the microprocessor MCU, the high conversion rate of the high-speed A/D forces the MCU to continuously read the conversion results, thus occupying most of the MCU's I/O bandwidth and reducing the MCU's working efficiency. In this case, a buffer is usually added, so that "A/D converter buffer-processor" becomes a common mode. The following introduces how to use the FIFO chip CY7C4255V to realize the interface between the high-speed and high-precision A/D converter AD767l and the LPC2200 series ARM processor.

1 Device Introduction

1.1 Analog/digital converter AD7671

AD7671 is a 16-bit successive approximation high-speed and high-precision analog-to-digital converter with a sampling rate of 1Msps. It is powered by a single 5V power supply and can provide unipolar and bipolar input modes, which can be applied to different input ranges. It also provides calibration and error correction circuits, internal clocks, 8-bit or 16-bit parallel ports and 1 serial port. AD7671 can achieve 16-bit resolution without missing codes, and the maximum integral nonlinearity error (INL) is only ±2.5 LSB, which can meet the requirements of various high-precision applications.

Normally, AD7671 has two data reading methods: one is to read the converted data after the data conversion is completed; the other is to read the data completed in the last conversion during the data conversion process. The timing diagram in Figure 1 describes the latter case, that is, after the main controller sends the CNVST signal, the BUSY signal is detected. When the BUSY signal is set to a high level, the data converted by the last conversion process is read.

1.2 FIFO chip CY7C4255V

FIFO (First In First Out) simply means first in, first out. As a new type of large-scale integrated circuit, FIFO chips are gradually being used more and more widely in high-speed data acquisition, high-speed data processing, high-speed data transmission and multi-machine processing systems with their flexible, convenient and efficient characteristics. CY7C455V is a 3.3V high-speed, low-power FIFO from Cypress. The chip capacity is 8K×18 bits, the maximum operating rate is 100MHz (the shortest read/write time is 10ns), the input/output port is controlled by a separate clock and enable signal, and has "empty", "full", "half full" and programmable "almost empty" and "almost full" signs. [page]

The 18-bit input/output port of CY7C4255 is controlled by a separate clock and enable signal. The input port is controlled by a continuous write clock (WCLK) and a write enable signal (WEN). When the write enable WEN is valid, the data is continuously written into the FIFO memory at the rising edge of the WCLK signal in each clock cycle. Similarly, the output port is controlled by a continuous read clock (RCLK) and a read enable signal (REN), and there is an output enable pin (OE). If it is a single clock operation, the read/write clocks can be connected together; in asynchronous read/write applications, the two clocks can be independent, and the clock frequency can be up to 100 MHz. Depth expansion can be achieved by using the cascade input (WXI, RXI), cascade output (WXO, RXO) and first load (FL) pins provided by the chip.

Using FIFO to implement the interface between A/D and ARM processor

1.3 ARM processor LPC2210

LPC2210 is a microcontroller based on a 16/32-bit 144-pin ARM7TDMI-S core that supports real-time simulation and embedded tracing. It contains the ARM7 local bus that interfaces the ARM7TDMI-S core with the on-chip memory controller, the AMBA high-performance bus (AHB) that interfaces with the interrupt controller, and the VLSI peripheral bus (VPB, a compatible superset of the ARM AMBA bus) that connects the on-chip peripheral functions. LPC2210 has 16KB on-chip static RAM; the connection between on-chip peripherals and device pins is controlled by a pin connection module, which is controlled by software to meet the requirements of peripheral functions and pins in specific applications; the memory can be configured into 4 groups through the external memory interface, each with a capacity of up to 16MB and a data width of 8/16/32 bits; it has 2 32-bit timers (with 4 capture and 4 comparison channels), a PWM unit (6 outputs), a real-time clock and a watchdog; multiple serial interfaces include 2 16C550 industrial standard UARTs, a high-speed I2C interface (400kb/s) and 2 SPI interfaces; up to 76 general-purpose I/O ports (can withstand 5V voltage), 12 independent external interrupt pins EIN and CAP functions.

2 Interface Circuit

The interface circuit between AD7671 and LPC2210 is realized by using FIFO chip CY7C4255V, as shown in Figure 2. In the figure, the input range of AD7671 has been configured to ±5V, and its data port adopts a high-speed parallel interface; the data reading mode of the interface is set to the mode shown in Figure 1, where +5V and -5V are analog voltages. Since the voltage of the data interface between CY7C11255V and LPC2210 is 3.3V, the 3.3V digital voltage is input to the OVDD pin, so that the data interface voltage of AD7671 can be compatible with the data interface of the FIFO chip. ADR421 provides a +2.5V reference voltage for AD7671; the analog input end of AD7671 uses a driving circuit composed of a low noise factor excitation amplifier ADS021 to drive A137671.

The A/D conversion result output is directly connected to the FIFO data input terminal D0~D15. The conversion control is generated by a PWM output terminal of the ARM processor to generate a sampling control signal of the required sampling frequency, which is also used as the control of the input enable terminal of the FIFO. The BUSY output terminal of the AD767l is used as the input clock (WCLK) control signal of the FIFO. When the conversion is completed, BUSY (WCLK) changes from low to high. At this time, the FIFO write enable WEN is valid, and the conversion data is written into the FIFO memory at the rising edge of the WCLK (BUSY) signal. The LPC2210 ARM processor bus data width is configured as 16 bits, and the chip select signal nCS2, output enable signal nOE, and clock output XCLK of the EMC bus control the data reading of the FIFO. The half-full (HF) and full (FF) flags of the FIFO are connected to the two interrupt pins of the ARM, which can be selected and used in actual applications through programming; EF is connected to the PO.23 pin of the ARM as the empty query pin of the FIFO.

Using FIFO to implement the interface between A/D and ARM processor

Conclusion

The use of FIFO devices as data buffer between high-speed A/D and ARM processor has the advantages of simple circuit structure and reliable performance; at the same time, it improves the working efficiency of the processor and makes control more convenient.

分页

Keywords:FIFO Reference address:Using FIFO to implement the interface between A/D and ARM processor

Previous article:Coal Gangue Sorting System Based on ARM Core and CAN Bus
Next article:Dealing with the Middle-Endian problem of floating point numbers under the ARM system

Recommended ReadingLatest update time:2024-11-17 02:55

PCF8591 (AD-DA) chip-51 single chip microcomputer program
Note:      PCF8591 is an 8-bit AD-DA chip that converts data from 0 to 5 to 0 to 255     Communication protocol IIC     The relationship between analog output value and voltage: Output voltage = (reference voltage - base point potential) / 255   //The following is the source code. If the format is not co
[Microcontroller]
PCF8591 (AD-DA) chip-51 single chip microcomputer program
What is fifo? What does fifo mean? Difference between GPIF and FIFO
1. What is FIFO? FIFO is the abbreviation of First In First Out. It is a first-in-first-out data buffer. The difference between it and ordinary memory is that it has no external read and write address lines, which makes it very simple to use. However, its disadvantage is that it can only write and read data sequentia
[Microcontroller]
MCU AD Conversion Summary
Table of contents 1. Efficient method for processing current detection AD sampling values 2. AD conversion N times sampling to remove the maximum and minimum average algorithm  -------------------------------------------------- 1. Efficient method for processing current detection AD sampling values In the process of
[Microcontroller]
High-side current sensor AD8205 and its application circuit design
AD8205 is a single-supply high-performance differential amplifier launched by Analog Devices of the United States . The typical single-supply voltage is 5V, and its common-mode voltage input range is -2~65V. It can withstand input common-mode voltages of -5~+70V, and is suitable for industrial equipme
[Test Measurement]
AD82584F is a compatible replacement for TAS5707/TAS5711, a 2x25W stereo digital audio amplifier for smart speaker voice recognition
The AD82584F is a digital audio amplifier capable of driving a pair of 8Ω load speakers to 25W (BTL) and a 4Ω load speaker to 50W (PBTL), and no external heat sink or fan is required to play music. The AD82584F provides advanced audio processing functions such as volume control, 30 EQ bands, audio mixing, 3D s
[Embedded]
AD82584F is a compatible replacement for TAS5707/TAS5711, a 2x25W stereo digital audio amplifier for smart speaker voice recognition
How to distinguish the authenticity of the best op amp AD827
Nowadays, bad merchants try every possible means to make fakes, and the audio market is no exception, resulting in the proliferation of fake products. Below, the author specifically introduces the identification of genuine and fake op amps AD827 , hoping to help the majority of audio enthusiasts. The genuine A
[Analog Electronics]
High-precision A/D converter AD7711A and its applications
    Abstract: AD7711A is a high-resolution 24-bit A/D conversion chip based on Δ-Σ technology. After introducing its characteristics and applications, a high-precision rubber vulcanization temperature control system composed of AD7711A, microcontroller and PC is given. , the steady-state error accuracy of the system r
[Analog Electronics]
Design and implementation of large capacity FIFO based on SRAM/DRAM
introduction   CMMB (China Mobile Multimedia Broadcasting) is China's first mobile broadcasting and television standard with independent intellectual property rights for mobile terminals. It is also a portable mobile multimedia broadcasting and television product jointly launched by China Mobile Communications Corpo
[Microcontroller]
Design and implementation of large capacity FIFO based on SRAM/DRAM
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
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号