温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
STM32
异步
FIF
模式
高速
数据
采集
系统
设计
电工材料 2023 No.1谭超等:基于STM32与异步FIFO的乒乓模式高速数据采集系统设计基于STM32与异步FIFO的乒乓模式高速数据采集系统设计谭超,段俊明,辛亮,陈浩然,杨隆,叶先志(三峡大学 电气与新能源学院,湖北宜昌 443002)摘要:针对电力行业光纤光栅传感器数据采集速率不足、功耗高等问题,设计了一种基于STM32与异步FIFO的高速数据采集系统。该系统以STM32为核心,通过采用TIADC结构来实现双通道交替采样,提高了系统采样率;各通道内利用两片异步FIFO实现乒乓缓存技术,完成了信号数据的高速存储与实时处理,并通过WIFI通信将数据传输到上位机。试验证明:该数据采样系统实现了低功耗的高速数据采集,存储深度为16 K,最高采样率可达200 Msample/s,可满足电力行业工程需求。关键词:高速数据采集;电力系统;多通道;TIADC;异步FIFO中图分类号:TM761 DOI:10.16786/ki.1671-8887.eem.2023.01.014Design of High-Speed Data Acquisition System Based on STM32 and Ping Pong Mode of Asynchronous FIFOTAN Chao,DUAN Junming,XIN Liang,CHEN Haoran,YANG Long,YE Xianzhi(College of Electrical Engineering and New Energy,China Three Gorges University,Hubei Yichang 443002,China)Abstract:To slove the problems insufficient data collection rate and high power consumption of fiber grating sensors in power industry,a high speed data acquisition system based on STM32 and ping-pong mode of asynchronous FIFO is designed.The core of the system is STM32 single chip microcomputer,this system uses TIADC structure to realize dual channel alternating sampling,which improves the sampling rate of the system.In each channel,two Asynchronous FIFO are realized ping-pong caching technology,which complete the high-speed storage and real-time processing of signal,and WIFI communication is used to transfer data to the host computer.The test result shows that the data sampling system realizes high-speed data acquisition with low power consumption,the storage depth is 16 K,and the highest sampling rate can reach 200 Msample/s.Key words:high-speed data acquisition;Electric power system;multi-channel;TIADC;Asynchronous FIFO引言光纤光栅传感器相对于传统电学传感器具有灵敏度高、体积小、耐腐蚀、抗电磁干扰等优点1,2,目前已成为电力系统状态监测研究的热点,其在变压器油压测量、电缆温度监测、输配电设备监测等领域都有非常重要的作用3-5。光纤光栅传感器通过数据采集系统采集反射光谱并测量其中心波长偏移来实现传感功能6,其反射谱形状与高斯函数相似,因此数据采集系统对于反射谱的采集是一种突发性的高速采集,这要求光纤光栅数据采集系统在保持低功耗高速采集的同时实现高采样率。目前,很多研究人员针对光纤光栅数据采集系统提出了设计方案:崔陆军等7设计了一种嵌入式光纤束微位移传感器采集系统;陈一波等8为提高数据采集系统采样率与传输速率,作者简介:谭超(1982-),男(土家族),湖北利川人,博士,副教授,主要从事电磁场传感器与测量、微弱信号检测、智能化仪表设计。收稿日期:2022-06-0655电工材料 2023 No.1谭超等:基于STM32与异步FIFO的乒乓模式高速数据采集系统设计设计了一种8路A/D采集的数据采集系统;李培鸿等9为解决分布式光纤振动传感系统数据量大和处理缓慢的问题设计了一种基于FPGA的数据采集及传输系统;王伟等10针对光纤传感系统采样效率差与能耗高的问题进行改进,设计了一种基于FPGA的高效率数据采集系统;李楠等11设计了一种基于光纤传感的智能信息信号光谱采集系统。以上方案虽能满足光纤光栅高速数据采集系统的部分需求,但仍有不足:采用FPGA作为主控芯片,虽然能解决部分逻辑设计问题,但具有开发难度大、功耗高等缺点,并且无法低成本地提高数据采集系统采样率。为了解决上述问题,本设计采用TIADC、异步FIFO与STM32结合的结构,其中STM32作为主控芯片,TIADC用来提高系统采样率13,异步FIFO采用乒乓模式对ADC的数据进行缓存,确保信号数据的高速存储与实时处理。该方案设计开发容易,用低功耗与低成本实现了高采样率的高速数据采集。1系统总体方案数据采集系统总体方案框图如图1所示,共包含四个模块:信号调理模块、模数转换模块、数据采集与缓存模块、时钟信号模块。信号采集流程与原理:数据采集开始后,将输入的模拟信号通过信号调理模块产生两路差分信号,由数据采集与缓存模块中的双通道ADC对差分信号进行交替采样,完成模拟信号到数字信号的转换。为了提高采样率,模数转换采用TIADC结构。TIADC 结构作为一种基于时间交替的并行模数转换器采样结构14,是实现高速高精度模数转换的有效途径,因此被广泛应用于高速数据采集系统。时间交替采样基本原理如图2所示,整个TIADC系统由m个并行子通道构成。每一子通道内都由对应ADC对同一模拟输入信号进行采样,各ADC的采样率为fs/m,第 k片 ADC 对应的采样时钟频率fk=fs/m,相位k=2/m,相邻ADC间采样时钟的相位差为 2/m,系统通过控制不同 ADC间的采样时钟相位关系,使不同 ADC间按照Ts/m的时间间隔依次采样,最终等效得到一个采样速率为fs的高速ADC采集系统。数据采集与传输是同时进行的,模数转换后所产生的数字信号会缓存至各自通道内的两个异步FIFO 中,再由 STM32对 FIFO 中的数据进行处理、重构信号,其中异步 FIFO缓存采用乒乓模式来实现,即:通过时钟信号的节拍控制,将数据等时地分配到两个异步FIFO中:在第一个周期,将数据缓存至“异步FIFO 0”;在第二个周期,将数据缓存至“异步FIFO 1”;如此循环,直至FIFO存满后停止采样,将异步FIFO中的数据送入数据处理模块,传输完成后重新开始采样。乒乓操作通过时钟控制异步FIFO轮流存入数据并循环上述流程,就能连续不断地处理数据,实现数据间的无缝缓存与输出。数据处理与系统同步运行由STM32主控芯片来完成,STM32主控芯片控制时钟信号模块产生不同频率的时钟信号,使高速数据采集系统的电子器件同步运作。最终通过WIFI模块实现与上位机的通讯,将采样数据传输至上位机中显示。2硬件设计2.1信号调理模块设计在本系统设计中,信号调理模块的作用是对输入的模拟信号进行处理,为模数转换模块提供稳定、高信噪比的差分输入信号。相比于单端输入,差分输入更加稳定,不易产生乱码,且能更好地抑制电磁干扰,完成对信号的基本调理工作。考虑到功 耗 与 噪 声 水 平,该 模 块 选 择 ADI 公 司 的ADA4932,该芯片是一款差分ADC驱动器,其特点是高性能、低功耗、低失真,能稳定有效地完成单端图1系统总体方案框图图2时间交替采样基本原理56电工材料 2023 No.1谭超等:基于STM32与异步FIFO的乒乓模式高速数据采集系统设计转差分操作,且其输出电路带有钳位电压,对后端电路具有过压保护作用。为匹配模数转化器输入电压范围,通过计算调整ADA4932的反馈电阻值,调节放大器闭环增益,实现差分输出电压和共模偏置调整。2.2模数转换模块设计模数转换模块用来实现模拟信号到数字信号的转换,该模块选用的模数转换芯片为MXT2088。MXT2088是一款8 bit、低功耗、高动态性能的全差分输入ADC,最大采样率能达到100 Msample/s,其内部集成有两路ADC通道,每个通道都能由不同频率相位的时钟信号(CLK-ADC0,CLK-ADC1)独立控制,适用于本设计所用的TIADC结构。当芯片采样率达到 100 Msps 时,其无杂散动态范围(SFDR)为 66 dbc,信噪比(SNR)为 44 dB,并能实现 475 MHz的模拟信号输入带宽,可以满足系统要求。该数据采集系统属于中高速数据采样,一般的低速ADC采样采用的是SPI或I2C等串行接口传输数字信号,而中高速ADC采样为了加快传输速率则会采用并行接口来传输信号,因此为了保证与主控芯片STM32H750VBT6之间的传输速率,数据采集系统采用的是并行数据接口通信。2.3数据缓存模块设计数据缓存模块的主要功能是使数据采集模块的输入速率与数据处理的速率相匹配,使用异步FIFO作为数据传输缓冲区,是解决速率匹配问题的一个简单有效的方法15。由于数据缓存模块A,B两通道设计相同,以下只论述其中之一。如图3所示,模块前端采用型号为74LVC574的D触发器对ADC芯片输出数据进行锁存,在最大延时7 ns后输出到其后的异步FIFO中,CLK-D0、CLK-D1为控制D触发器时钟信号。数据缓存模块中异步 FIFO 芯片是 CYPRESS公司的CY7C433,该异步FIFO深度为4 Kbit,数据宽度为9 bit,支持的最高写入频率为50 MHz,系统的存储深度为16 K。每片FIFO的读写由不同的时钟信号控制,当写入时钟信号为上升沿时,将D触发器内锁存数据写入异步FIFO中。异步FIFO存满后 会 向 STM32 发 出 满 信 号(FULL0,FULL1),STM32用PWM作为读时钟(R0、R1)控制FIFO中数据读出,其与写入不同的是,CY7C433输出引脚在R0、R1高电平时为高阻态,读时钟下降沿时输出数据,因此可通过分别控制读信号依次将异步FIFO中数据读出。2.4时钟信号产生模块设计本系统根据采样率不同可采用不同时钟输入方式,以此降低系统功耗。通过模拟开关芯片来进行切换:当采样率高时,选择引脚启用低电位,此时选用200 MHz的外部时钟晶振作为时钟信号;当采样率低时,选择引脚启用高电位,此时选用主控芯片的PWM输出引脚。模拟开关芯片后接带施密特触发器的反相器芯片NL17SZ14DFT2G对其时钟信号整形,后接D触发器对时钟信号进行二分频,输出的时钟信号用来驱动ADC芯片和后级电路。其后再用NL17SZ74芯片对时钟信号进行二分频处理,产生的时钟信号分别驱动数据缓存模块的D触发器与异步FIFO。如图4所示,每个采样周期开始时时钟信号电平高低为随机值,无法判断异步FIFO交替存储时的存储顺序,因此通过CLK-STA、CLK-STA1、CLK-STA2 信 号 确 定 采 样 开 始 异 步FIFO存储顺序,确保采样数据准确。图3数据缓存模块D触发器电路(A通道)