张辉1,2
(1.煤炭科学技术研究院有限公司 安全分院, 北京 100013;
2.煤炭资源高效开采与洁净利用国家重点实验室(煤炭科学研究总院), 北京 100013)
摘要:提出采用MCU自带的DMA功能来实现煤矿井下高速数据采集系统的缓存与传输,数据通过DMA快速地移动,节约了MCU资源,使得MCU能够进行其他操作,从而实现了煤矿井下数据的高速采集。
关键词:DMA技术; 数据采集; 高速采样
网络出版地址:http://www.cnki.net/kcms/detail/32.1627.TP.20160405.1135.018.html
随着煤炭开采强度和深度的加大,煤矿安全生产形势依然严峻[1]。煤矿井下采掘空间的精细探测成为必不可少的手段。在探测中使用的系统多为高速数据采集系统,如煤矿微震监测系统(采样速率小于35 kHz)、瞬变电磁探测仪(采样速率小于500 kHz)等,都需要高速采集传感器或设备接收到的模拟信号,然后缓存并进行数据处理[1-2]。
通常的数据采集系统通过传感器把待测的物理量(温度、压力、位移等)转换为模拟量电信号(电压、电流、频率等),然后经过信号调理电路将信号放大或衰减、滤波等,输入至A/D模数转换器,最后输出数字信号至控制器部分,控制器负责数据缓存与数据传输。数据采集系统的采集速度除了与模数转换器的转换时间、多路开关的切换时间有关外,还与控制器缓存与传输时间有关。显然,要达到煤矿精细探测所需的数据采集速率,除选用高速模数转换器外,更重要的是缩短数据缓存与传输时间。
参考文献[3-8]分别采用FPGA、双口RAM及PCI总线方式,通过增加外部控制元件或直接利用外部总线接口实现高速采样。参考文献[9]采用Linux操作系统设计DMA驱动,参考文献[10]采用SOC技术设计DMA单元。本文提出采用MCU自带的DMA功能来实现煤矿井下物探中高速数据采集系统的缓存与传输。由于单片机内部已有实现数据采集的DMA功能,所以减少了系统硬件数量,降低了硬件成本,加快了产品开发速度,同时也减小了硬件体积,便于井下使用。
DMA是一种外设和存储器之间或者存储器和存储器之间的高速数据传输处理手段。它无须MCU干预,数据通过DMA快速移动,节省了MCU资源,此时MCU可以进行其他操作。
采用DMA技术的数据采集工作逻辑如图1所示。DMA控制器和MCU核心共享系统数据总线,执行直接存储器数据传输。当MCU核心和DMA控制器同时访问相同目标(SRAM缓存或外设)时,DMA请求会暂停MCU访问系统总线达若干个周期,总线矩阵中的总线仲裁器执行循环调度,以保证MCU至少可以得到一半的系统总线(SRAM或外设)带宽。
当发生一个事件后,外设向DMA控制器发出一个DMA请求信号,DMA控制器接收到请求信号后发出总线请求信号,通过总线仲裁后,DMA控制器开始进行总线控制。此时MCU被挂起来,所有总线在DMA管理下进行数据传送。DMA控制器自动完成外设到存储器的数据传输。这就实现了A/D到存储器的高速数据缓存和传输。
图1 采用DMA技术的数据采集工作逻辑
为实现高速数据采集,本文设计采用具有DMA功能的单片机,同时采用具有SPI接口的高速AD转换器,通过单片机的SPI接口,利用其DMA功能实现数据高速采集。
2.1 电路设计
采集电路的AD转换电路和井下分站内的MCU电路如图2、图3所示。AD转换器与MCU通过MCU的SPI1总线相连。
图2 AD转换电路
图3 MCU电路
A/D部分选用8通道、24位采样Σ-Δ 转换ADC,最高转换速率为52 kbit/s,满足设计要求。其设计参数:转换延时为2.17 μs,时钟CLK信号频率为18 MHz。DRDY是数据转换完成信号,SCLK是SPI接口时钟信号,D1是SPI接口数据信号。
MCU部分选用STM32F4系列单片机,实现与A/D部分通信。STM32F4系列单片机为基于ARM内核的32位单片机,时钟频率为168 MHz,内存为192 kB;内部具有DMA控制器,能够实现多种外设的DMA控制。A/D部分的DRDY接入MCU的中断引脚,A/D部分的SCLK、D1接入MCU的SPI1外设接口。
初始化设置完成后,DRDY中断信号触发DMA控制,DMA控制器通过总线访问SPI1接口,自动读取AD转换后数据,然后保存到MCU内存中,实现A/D高速采集。
2.2 软件设计
软件工作流程如图4所示。软件工作时首先要进行初始化设置,分别是SPI接口设置、中断设置、DMA设置。SPI1接口设置为18 MHz时钟,8位数据主模式。中断设置中,使能DMA中断和DRDY信号中断。DMA设置中,选择SPI1的数据寄存器作为DMA的数据源,选择SRAM中1 440 byte的一段内存(为避免网络链路层自动分片,空间大小要小于1 500 byte)作为DMA目标数据区。当每次AD转换完成后,输入DRDY信号。MCU接收到DRDY信号后进入DRDY中断,设置DMA连续读取24 byte数据。当DMA在内存中开辟的缓存区满时触发DMA中断,DMA重新设定指向的数据缓存区,并通知主程序已经采集完成一段数据。
从图4可以看出,如果DMA开辟的缓存区足
图4 软件工作流程
够大,使用DMA技术完成数据采集占用的MCU资源仅为进入DRDY中断设置DMA每次读取数据长度的时间。这就可以将有限的MCU资源用于数据显示、传输、预处理及保存等功能,保证了整个数据采集系统的有效运行。
在实验室利用信号发生器输入正弦波,以模拟系统接收的信号。
为了测试高速数据采集系统是否有准确的采样频率,输入不同频率信号,并对结果进行对比。在2 s内采样点数共计70 320个,实际采样频率为35 160 Hz,与设定采样频率(35 156 Hz)的误差为0.011%,分析认为,可能是时钟晶振导致的采样频率误差。
为了测试高速数据采集系统是否有准确的采样值,对同一频率信号用不同采样频率采样后进行对比。输入150 Hz,1 V的信号,采样结果及误差见表1。从表1可以看出,采样结果与输入频率相对应,说明采样结果正确。
运用DMA技术实现高速数据采样的缓存和传输,可以节省MCU资源,缩短数据存储和传输时间。本文采用具有DMA功能的MCU设计煤矿高速数据采集系统,该系统已在某煤矿微震监测系统中使用,实现了8通道同步传感器数据采集,采样速率达到 35 kHz。如果提高AD转换器速率,系统的采样速率可以进一步提高。
表1 不同采样频率得到的采样结果及误差
[1] 杨海燕,岳建华. 矿井瞬变电磁法理论与技术研究[M]. 北京:科学出版社,2015.
[2] 陆菜平,窦林名,吴兴荣,等. 岩体微震监测的频谱分析与信号识别[J]. 岩土工程学报,2005,27(7):772-775.
[3] 余芳芳,郭来功,李良光. 基于STM32F407的微震信息采集系统设计[J]. 工矿自动化,2014,40(7):9-12.
[4] 秦鸿刚,刘京科,吴迪.基于FPGA的双口RAM实现及应用[J].电子设计工程,2010,18(2):72-74.
[5] 贺孟,苏永海. 基于FPGA的实时多通道DMA系统设计[J]. 成都大学学报:自然科学版,2015,34(3):280-284.
[6] 严建峰,吴宁. 基于PCI总线的DMA高速数据传输系统[J]. 电子科技大学学报,2007,36(5):858-861.
[7] 王俊,郑焱,王红,等. 基于DMA的并行数字信号高速采集系统[J].电子技术应用,2010,36(3):42-44.
[8] 单天昌,陆达.基于FPGA的PCI接口DMA传输的设计与实现[J].计算机技术与发展,2010,20(4):215-219.
[9] 龙再川,赵凯生,洪明坚,等. ARM系统中DMA方式在数据采集中的应用[J].国外电子元器件,2007(2):66-69.
[10] 梁科,李国峰,王锦,等. 通用多通道高性能DMA控制器设计[J].天津大学学报,2008,41(5):621-626.
ZHANG Hui1,2
(1.Mine Safety Branch, China Coal Science and Technology Institute Co., Ltd., Beijing 100013, China;2.State Key Lab of High Efficient Mining and Clean Utilization of Coal Resources(China Coal Research Institute), Beijing 100013, China)
Abstract:The paper proposed to use DMA function built-in MCU to implement caching and transmission of underground high speed data acquisition system of coal mine. The data moves through the DMA quickly, which saves MCU resources, and makes MCU can perform other operations, so as to achieve high speed data acquisition of coal mine.
Key words:DMA technology; data acquisition; high speed sampling
作者简介:张辉(1977-),男,四川南川人,工程师,硕士,主要从事煤矿矿用仪器仪表开发工作,E-mail:zzhang_hui@126.com。 周立人(1992-),男,山东邹城人,硕士研究生,研究方向为电力系统及其自动化,E-mail:617209069@qq.com。
基金项目:国家“十二五”科技重大专项项目(2011ZX05040-002-004)。 山东省自然科学基金项目(ZR2012EEM021)。
收稿日期:2015-12-02;修回日期:2016-02-18;责任编辑:胡娴。 2015-11-06;修回日期:2016-02-15;责任编辑:胡娴。
中图分类号:TD67
文献标志码:B 网络出版时间:2016-04-05 11:35
文章编号:1671-251X(2016)04-0074-04
DOI:10.13272/j.issn.1671-251x.2016.04.018
张辉.DMA技术在煤矿高速数据采集系统中的应用[J].工矿自动化,2016,42(4):74-77.