数据采集
电 子 测 量 技 术
ELECTRONICMEASUREMENTTECHNOLOGY
第29卷第4期
2006年8月
脉冲信号采集系统3
李炎新 石立华 陈竞 俞阳 赵斌
(解放军理工大学工程兵工程学院南京210007)
摘 要:介绍了用高速采集卡和计算机组成的脉冲信号自动采集系统。产生可靠的触发信号;利用采集卡的中间触发方式实现了脉冲信号的完整捕获;护能力。大量测试结果表明该系统稳定、可靠。关键词:脉冲信号;数据采集;触发
system
Lihua ChenJing YuYang ZhaoBin
(InstitofEngineeringCorps,PLAUniversityofScience&Technology,Nanjing210007)
Abstract:Inthispaper,apulsesignalautomationrecordersystem,whichismadeupwithhighspeedacquisitioncardandcomputerisintroduced.Thedevelopedtriggercircuitcanproduceareliabletriggersignalateitherpolaroftheinputpulsesignal.Inthemiddletriggermodeoftheanaloginputcard,thepulsesignalcanbecompletelycaptured.Thesystemusesopticcouplertoreduceelectromagneticinterferenceandprotectthecard.Alotoftestsshowthatthesystemisstableandreliable.
Keywords:pulsesignal;dataacquisition;trigger
1 系统原理
系统硬件框图如图1所示。系统包括光电隔离电路、
触发电路(如图2所示)、高速数据采集卡和计算机。传感器传来脉冲信号的强度有可能超出高速采集卡的动态范围而将其损坏,光电隔离电路可提供安全隔离,另外还可以抑制共模干扰,提高信噪比。光电隔离电路主要由一个驱动三极管T和一个高速光耦组成。脉冲信号的极性是随机的,而采集卡的触发极性只能设为正极性或负极性触发,需要一个触发电路从任何极性脉冲信号提取固定极性的触发信号。触发电路主要由两个比较器(A和B)、两个或非门(C和D)以及一个带清零端和置位端的D触发器Q组成。当正脉冲信号输入大于比较器A的阈值时,或非门C会输出一个低电平使触发器Q置位,产生触发信号输出;当负脉冲信号输入小于比较器B的阈值时,
或非门C也会输出一个低电平使触发器Q置位,产生触发信号输出。脉冲过后或非门D产生一个清零信号将触发器Q清零。触发信号由采集卡的外触发端输入。数据采集卡采到的脉冲信号由PCI总线以DMA方式传送到计算机。计算机自动存储脉冲信号,并且可以通过网络提供远程服务。
3基金项目:国家自然科学基金资助项目(50237040,60471013)
图1 脉冲信号采集框图
2 高速采集卡
本系统选用PCI29812高速采集卡。该采集卡有如下
特点[1]:具有直接内存访问(DMA)功能;卡上带32K字的FIFO缓存;4个12位20MHz的独立A/D采样器,能同时高速采集4路双极性信号;5种触发方式,其中中间触发(middletrigger)可实现提前触发捕捉脉冲信号的波前。
PCI29812采集卡能达到的最高采样率与采样的通道数、采集的数据量以及PCI总线带宽有关。当单次触发采集的所有通道数据总量不超过32K的FIFO缓存时,每通道都可以按最高的20MHzA/D采样速度来采样。当数据总量超过32K字的FIFO缓存区时,要以DMA方式直接
・89・
第29
卷电 子 测 量 技 术
图2 触发电路
当前主流计算机PCI32,时钟为33MHz,因此PCI总线带宽为132MByte/s。由于其他设备占用一部分PCI总线的带宽,因此分配给采集卡的带宽一般不超过100MByte/s。采集卡的采样分辨率虽为12位,但是每个采样点还是占用一个字,因此如果采集卡启用4个通道,数据量大于卡上的缓冲区时,A/D采样率不能超过
12.5MHz。如果只启用2个通道,则可达到最高采样率20MHz。
3 程序设计
脉冲信号自动数据采集系统的软件流程如图3所示。
钟选择、触发电平以及触发后的采样点数。
用AI_ContScanChannels()函数启动A/D采样。该函数还设定采样通道、采样电压范围、采样点数以及采样率等。用AI_AsyncCheck()函数查询采集卡是否采样完毕。在采样过程中,采集卡自动以DMA方式把各通道采到的数据交替写入所申请的DMA内存中。可以用MFC提供的CTime::GetCurrentTime()函数获取计算机的当前时间。以当前时间作为文件名,用CFile类实现自动保存采到的脉冲信号[3]。
采集结束时要AI_AsyncClear()函数停止采集卡,用Release_Card()函数释放采集卡,用Win32函数释放DMA内存空间。
4 结 论
该系统最多可以同时采集4路脉冲信号,在总数据量不超过32KWords时,每路信号采样率可达20MHz;当总数据量超过32KWords,只采2路脉冲信号时,每路信号采样率也可达20MHz,若同时采4路脉冲信号,每路信号采样率可达12.5MHz。大量脉冲模拟信号测试以及雷电脉冲发生器的脉冲电流实测表明,该系统稳定可靠,抗干扰能力强,完全可以实现无人监视下自动采集随机到来的脉冲信号。
参考文献
[1] ADLINKTecknologyInc.NuDAQPCI29812/1020MHz
Simultaneous42CHAnalogInputCardUsers’Guide[Z].2003.[2] DavidJ,Kruglinski.VisualC++技术内幕(4版)
[M].潘爱民,王国印,译.北京:清华大学出版社,1999.
图3 程序流程
[3] 陈建春.VisualC++高级编程技术[M].北京:电子
采集卡初始化程序包括用Register_Card()函数对采集卡注册,用Win32函数获取DMA空间[2],用AI_9812_
Config()函数设置采集的触发方式、触发源、触发极性、时
工业出版社,1999.
・90・
数据采集
电 子 测 量 技 术
ELECTRONICMEASUREMENTTECHNOLOGY
第29卷第4期
2006年8月
脉冲信号采集系统3
李炎新 石立华 陈竞 俞阳 赵斌
(解放军理工大学工程兵工程学院南京210007)
摘 要:介绍了用高速采集卡和计算机组成的脉冲信号自动采集系统。产生可靠的触发信号;利用采集卡的中间触发方式实现了脉冲信号的完整捕获;护能力。大量测试结果表明该系统稳定、可靠。关键词:脉冲信号;数据采集;触发
system
Lihua ChenJing YuYang ZhaoBin
(InstitofEngineeringCorps,PLAUniversityofScience&Technology,Nanjing210007)
Abstract:Inthispaper,apulsesignalautomationrecordersystem,whichismadeupwithhighspeedacquisitioncardandcomputerisintroduced.Thedevelopedtriggercircuitcanproduceareliabletriggersignalateitherpolaroftheinputpulsesignal.Inthemiddletriggermodeoftheanaloginputcard,thepulsesignalcanbecompletelycaptured.Thesystemusesopticcouplertoreduceelectromagneticinterferenceandprotectthecard.Alotoftestsshowthatthesystemisstableandreliable.
Keywords:pulsesignal;dataacquisition;trigger
1 系统原理
系统硬件框图如图1所示。系统包括光电隔离电路、
触发电路(如图2所示)、高速数据采集卡和计算机。传感器传来脉冲信号的强度有可能超出高速采集卡的动态范围而将其损坏,光电隔离电路可提供安全隔离,另外还可以抑制共模干扰,提高信噪比。光电隔离电路主要由一个驱动三极管T和一个高速光耦组成。脉冲信号的极性是随机的,而采集卡的触发极性只能设为正极性或负极性触发,需要一个触发电路从任何极性脉冲信号提取固定极性的触发信号。触发电路主要由两个比较器(A和B)、两个或非门(C和D)以及一个带清零端和置位端的D触发器Q组成。当正脉冲信号输入大于比较器A的阈值时,或非门C会输出一个低电平使触发器Q置位,产生触发信号输出;当负脉冲信号输入小于比较器B的阈值时,
或非门C也会输出一个低电平使触发器Q置位,产生触发信号输出。脉冲过后或非门D产生一个清零信号将触发器Q清零。触发信号由采集卡的外触发端输入。数据采集卡采到的脉冲信号由PCI总线以DMA方式传送到计算机。计算机自动存储脉冲信号,并且可以通过网络提供远程服务。
3基金项目:国家自然科学基金资助项目(50237040,60471013)
图1 脉冲信号采集框图
2 高速采集卡
本系统选用PCI29812高速采集卡。该采集卡有如下
特点[1]:具有直接内存访问(DMA)功能;卡上带32K字的FIFO缓存;4个12位20MHz的独立A/D采样器,能同时高速采集4路双极性信号;5种触发方式,其中中间触发(middletrigger)可实现提前触发捕捉脉冲信号的波前。
PCI29812采集卡能达到的最高采样率与采样的通道数、采集的数据量以及PCI总线带宽有关。当单次触发采集的所有通道数据总量不超过32K的FIFO缓存时,每通道都可以按最高的20MHzA/D采样速度来采样。当数据总量超过32K字的FIFO缓存区时,要以DMA方式直接
・89・
第29
卷电 子 测 量 技 术
图2 触发电路
当前主流计算机PCI32,时钟为33MHz,因此PCI总线带宽为132MByte/s。由于其他设备占用一部分PCI总线的带宽,因此分配给采集卡的带宽一般不超过100MByte/s。采集卡的采样分辨率虽为12位,但是每个采样点还是占用一个字,因此如果采集卡启用4个通道,数据量大于卡上的缓冲区时,A/D采样率不能超过
12.5MHz。如果只启用2个通道,则可达到最高采样率20MHz。
3 程序设计
脉冲信号自动数据采集系统的软件流程如图3所示。
钟选择、触发电平以及触发后的采样点数。
用AI_ContScanChannels()函数启动A/D采样。该函数还设定采样通道、采样电压范围、采样点数以及采样率等。用AI_AsyncCheck()函数查询采集卡是否采样完毕。在采样过程中,采集卡自动以DMA方式把各通道采到的数据交替写入所申请的DMA内存中。可以用MFC提供的CTime::GetCurrentTime()函数获取计算机的当前时间。以当前时间作为文件名,用CFile类实现自动保存采到的脉冲信号[3]。
采集结束时要AI_AsyncClear()函数停止采集卡,用Release_Card()函数释放采集卡,用Win32函数释放DMA内存空间。
4 结 论
该系统最多可以同时采集4路脉冲信号,在总数据量不超过32KWords时,每路信号采样率可达20MHz;当总数据量超过32KWords,只采2路脉冲信号时,每路信号采样率也可达20MHz,若同时采4路脉冲信号,每路信号采样率可达12.5MHz。大量脉冲模拟信号测试以及雷电脉冲发生器的脉冲电流实测表明,该系统稳定可靠,抗干扰能力强,完全可以实现无人监视下自动采集随机到来的脉冲信号。
参考文献
[1] ADLINKTecknologyInc.NuDAQPCI29812/1020MHz
Simultaneous42CHAnalogInputCardUsers’Guide[Z].2003.[2] DavidJ,Kruglinski.VisualC++技术内幕(4版)
[M].潘爱民,王国印,译.北京:清华大学出版社,1999.
图3 程序流程
[3] 陈建春.VisualC++高级编程技术[M].北京:电子
采集卡初始化程序包括用Register_Card()函数对采集卡注册,用Win32函数获取DMA空间[2],用AI_9812_
Config()函数设置采集的触发方式、触发源、触发极性、时
工业出版社,1999.
・90・