>
首页 » 技术文章 » 一种嵌入式便携数据采集分析仪

一种嵌入式便携数据采集分析仪

作者:张硕,张岚,毛乐山  时间:2007-04-28 14:52  来源:

摘要:介绍基于ARM7TDMI设计的一种嵌入式数据采集分析仪。ARM7性能比单片机更强大,使在嵌入式系统上实现虚拟仪器成为可能。仪器实现了单通道最高200kSps的数据采样速率和同步波形示踪功能;两种新颖的采样触发方式,适合旋转机械振动信号采集。仪器运行μC/OSII操作系统,通过USB和电脑通讯,速度达到1Mbytes。

关键词:ARM;嵌入式系统;数据采集;虚拟仪器

引言

对旋转机械的多点振动测试实践中,需要使用多种仪器,如示波器、动平衡仪、振动分析仪等。随着测试技术的进步,虚拟仪器的出现将其合而为一,大大简化了复杂的测试工作。虚拟仪器的概念是使用计算机对被测信号进行数据采集,并对采集到的数据序列进行分析和显示的全过程。按照虚拟仪器概念搭建的仪器需要三部分:计算机、数据采集硬件和分析软件。数据采集硬件一般由A/D板卡实现。然而计算机的进步和总线的变化使曾经可行的测量结构和分析程序在新的总线、操作系统上不能正常工作。各个厂家的A/D板卡一般只具有简单的采样触发方式;硬件和windows底层源代码的保密性又扼杀了用户自行开发新的采样触发方式的可能性。PC机体积过大不便移动工作;笔记本电脑虽便携,内部几乎没有插入板卡的空间,接口性能也娇气。这些不足又为测试工作带来了新的不便。

近年来嵌入式技术发展很快,使用单片机控制的数据采集系统方兴未艾。但由于单片机性能的限制,采样速率有限,存储空间很小,不能满足高速大容量采样的需求,更不可能使仪器运行分析软件,摆脱电脑独立工作。

ARM系列微处理器功耗低且性能大大高于单片机,使在嵌入式系统上实现虚拟仪器成为可能。本文基于ARM7TDMI设计的嵌入式数据采集分析仪实现了上述目的。

硬件结构和工作原理

仪器的硬件结构及工作原理图如图1所示。处理器选用三星(samsung)公司的s3c44b0x替代51单片机,在保持微小功耗的前提下获得了更高的运行频率和更强大的数据处理能力。其ARM7TDMI内核应用改进的RISC设计思想来获得更好的功耗性能比,具有0.06mW/MHz的低功耗,保证仪器可以在电池供电条件下工作较长时间。ARM7的三级指令流水线提供0.97MIPS/MHz的指令效率,接近每周期执行一条指令。


图1 硬件结构及工作原理图

S3c44b0x外接10MHz的晶体振荡器,通过内部的PLL倍频,运行在64MHz的主频下。这样的主频比一般单片机高了5~10倍,保证处理器在控制高速A/D进行数据采集的同时,还能提供额外运算时间来分析数据。除ARM7TDMI内核外,s3c44b0x还提供PWM计数器、UART、DMA、8通道10位精度A/D变换器等外围设备。

存储器方面,系统配置了8Mbyte的SDRAM和16Mbyte的FLASH。大容量的SDRAM提供了充足的程序运行空间和采集数据缓存。FLASH一部分用作系统的启动存储器;一部分存储采集到的数据,即使掉电也不会丢失。存储器通过16位数据线、地址线和片选线与处理器连接。S3c44b0x提供八个存储器片选空间(bank)。

A/D变换器是数据采集的关键部件。仪器拥有两个A/D变换器。一个是s3c4bb0x内部的A/D变换器,具有10位精度,8通道和单通道最高100kSps的速度。另一个是AD公司的AD7859芯片,具有12位精度,8通道和单通道最高200kSps的速度,自带采样保持器。AD7859通过16位数据线、地址线和片选线连接到处理器,占用一个存储器bank。处理器以访问存储器的方式访问AD7859,也可以使用处理器的DMA控制数据传输。AD7859的触发端通过一个多路开关分别连接了仪器外时钟输入端和处理器的计数器输出端,以实现多种触发方式。此外,处理器还可以通过数据线传送命令的方式触发AD7859进行采样。

USB控制器是数据传输的主要部件。本仪器选用Philips公司的PDIUSBD12芯片,符合USB1.1标准,数据传输速度达到12Mbps。PDIUSBD12作为下位机通过8位数据线、地址线和片选线连接到s3c44b0x,占用一个存储器bank。PDIUSBD12的INT_N管脚连接到s3c44b0x的EINT2管脚,通过中断方式通知处理器处理USB上位机的呼叫。PDIUSBD12的硬件连接电路原理图如图2所示。


图2 PDIUSBD12硬件连接原理图

仪器的人机交互界面由一块320×240的高分辨率单色液晶显示器和一块4×4键盘组成。液晶显示器模块以8位数据线、地址和片选连接到s3c44b0x,占用一个存储器bank。

软件系统

软件系统主要包括初始化程序、操作系统、采样触发程序、USB固件和应用软件5个部分。

初始化程序
初始化程序是针对s3c44b0x使用汇编语言编写的。在将控制权交给操作系统前,初始化最基本的硬件设备。主要工作是配置SDRAM并将操作系统代码从FLASH拷贝到SDRAM中。这一部分的主要代码如下:

ResetHandler:
ldrr0,=WTCON;//watchdogdisable
ldrr1,=0x0
strr1,[r0]
mrsr0,cpsr;//disableinterrupt
orrr0,r0,#0xc0
msrcpsr,r0
/*Setclockcontrolregisters*/
ldrr0,=LOCKTIME
ldrr1,=2000; //count=t_lock*Fin
strr1,[r0]
ldrr0,=PLLCON
ldrr1,=0xf8033; //MCLK=64MHz
strr1,[r0]
ldrr0,=CLKCON
ldrr1,=0x7ff8; //AllunitblockCLKenable
strr1,[r0]
;/*Setmemorycontrollerregisters,initializeSDRAM*/
ldrr1,=0x11110002;//BWSCON
ldrr2,=0X600; //GCS0FLASHROM
ldrr3,=0X7FFC; //GCS1LCDCONTROLLER
ldrr4,=0X7FFC; //GCS2
ldrr5,=0X7FFC; //GCS3
ldrr6,=0X7FFC; //GCS4
ldrr7,=0X7FFC; //GCS5
ldrr8,=0X18000; //GCS6SDRAM
ldrr9,=0X18000; //GCS7SDRAM
ldrr10,=0x820419; //REFRESH
ldrr11,=0x16; //BankSize
ldrr12,=0x20; //MRSR6
ldrr13,=0x20; //MRSR7
ldrr0,=0x01c80000; //BWSCONAddress
stmiar0,{r1-r13}
;/*Copyentireprogramsto0x0c008000atSDRAM*/
ldrr0,=0x0;//startaddressoftheflashrom
ldrr1,=0xc008000; //targetaddressintheSDRAM
ldrr2,=0x128e0; //thenumberofbytesneedtocopy
COPY:
ldr r3,[r0],#4
str r3,[r1],#4
subs r2,r2,#4
bne COPY
ldrr4,=0xc007ffc;//jumptoSDRAM
addpc,pc,r4
............
b__main;//jumptoOS

操作系统
仪器使用μC/OS-II嵌入式操作系统。μC/OS-II是一个公开源代码的抢占式实时嵌入式内核,它在内核上保证了系统的实时性。在这个系统中,己经就绪的高优先级任务可以剥夺正在运行的低优先级任务的CPU使用权。只要保证数据采集任务的优先级足够高,就可以保证数据采集过程不会被打断,从而保证数据的连续性和完整性。

μC/OS-II易于移植,仅需针对s3c44b0x修改3个文件就可完成移植工作。这3个文件分别是OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C。主要是修改SWI软中断异常响应、中断例程和任务切换例程。其他的文件都是处理器无关的,一般不需修改。功能菜单选择任务是优先级最低的任务,没有其它高级任务运行时即运行这个任务。使用时,通过液晶显示器和键盘选择需要的功能,即可进行采样测量工作。

采样触发方式
本仪器除具有其它仪器都有的内触发、外触发、定时触发方式外,还根据工业测试现场的需要,设计了倍频触发方式和单A/D多通道并行无时延触发方式。

(1)内触发方式,即由一方波触发采样,操作者指定其频率fs、时间长度(测点长度)T和开始时刻,也称为数字触发。这是一般的A/D板卡都具有的功能。如果对采样得到的数据进行缓存,并将每一个值和指定电压值比较,可以实现电平触发。即当采样电平达到和超过某阈值后,才存储采样数据。仪器还专门留有一条IO线,由IO线的电平变化事件触发采样,可以实现前触发和后触发。前触发即仅在IO线事件发生后,以预先选择的采样频率fs和截断长度进行采样;后触发指在IO线事件发生前,以预先选择的采样频率fs采样,IO事件发生即结束采样。

(2)倍频触发方式。在大型旋转设备升降速过程中,要了解各轴承或轴上某截面测点处过临界转速过程的表现,不允许按常规分时巡检进行,需要特殊的触发方式。这种情况下多采用倍频触发方式采样。即用转子转速信号进行外同步,每转采N个点。当转速变化时,仪器自动修正采样频率,保证各通道对应点的采样是同一时刻的,同时还获得了精确的转子转速信息。

为实现这种触发方式,需将转速信号连接到仪器的外时钟输入端。转速信号一般为每转一周期的方波。一个采样周期一般包括4个转速信号周期:第一个周期,处理器通过查询方式检测到外时钟信号的上升沿时使一内部计数器以指定频率开始计数,这个计数器称为测周期计数器。再次检测到上升沿时停止计数。这时计数器的值即包含了转速信号的周期信息。第二个周期内,将这个值除以N(每周期采样点数)传递给另一个计数器。第二个计数器称为触发计数器,计数频率和测周期计数器相同,输出频率就是采样频率。这时,采样频率就相当于转速信号的N倍,实现倍频。当处理器再次检测到上升沿时(第三个周期),触发计数器开始计数,输出的信号触发A/D采样,采集两个周期的数据。如此循环往复。整个采样程序的流程图如图3所示。


图3 外触发整周期倍频采样流程图

经过倍频,可以精确实现每周期采集N个点,并且平均分布;使用转速信号上升沿作为采样开始的标志保证了采样开始于每个周期的起始,结束于每个周期的结束。每次采样前先进行转速信号周期测量保证了采样频率可以跟随转速信号变化,由于大型旋转机械的惯性和转加速度的限制,转子相邻转速变化不大,而且在测试处理时可以预测修正。这些措施严格保证了采样的整周期性,虽然得到的数据是间断的,但由于其起始和结束相位相同,连接到一起后不会影响后面的数据分析。

(3)多通道并行无时延触发方式。多通道巡检测试通常是分时逐一完成的,有时会引入误差。在工业现场进行模态测量时,无论一点激励、多点测量,还是多点激励、两点(激励点和响应点)测量,都要求各测点所测数据是同一时刻的(没有时延)。例如大型转子升降速过程中测试各测点过临界转速的表现,即有这种无时延的要求。

为了确保各测点无时延,每次采样前,通过采样保持器将各通道状态保持住,再令A/D以最快速度对各通道做一次扫描采样,然后释放保持,准备下一次扫描测量。这样采集的数据经过整理后就能获得各通道的实际采样序列。这种触发方式以牺牲A/D最高采样速率的代价,用一片A/D实现多通道并行无延时采样,相对于多片A/D并行工作的方式,成本下降很多。

USB固件
仪器上的USB驱动程序也称为USB固件。仪器连接到上位机后,PDIUSBD12响应上位机的信号,并向ARM7发出中断请求。ARM7响应中断并调用固件中的程序处理上位机的请求,发送数据。数据从SDRAM或FLASH传输到PDIUSBD12,由后者发送给上位机。数据传输采用bulk方式以保证准确性。实际传输实验表明,传输速度达到1Mbytes。

应用软件
数据分析软件是本仪器应用软件的主要部分。目前已开发出的数据分析软件是示波器功能软件。本仪器在采集数据的同时可以由大屏幕液晶显示器进行波形示踪。这个功能的实现充分体现了ARM7比单片机运算速度快的优势。A/D的最高采样速率是200ksps,即每个采样周期为5ηs。ARM7运行在64MHz主频下,每个周期为15.625ns。这样每个采样周期包括320个主频周期。ARM7具有0.97MIPSMHz的指令效率,320个主频周期可以运行约310条的指令。在计数器触发A/D采样的情况下,处理器的工作是每采样周期从A/D读取一次数据并保存到RAM中,代码如下:

LDRr0,[r1];/*寄存器r1中保存了A/D数据寄存器的地址;需要3周期*/
STRr0,[r2,#4]!;/*寄存器r2中保存了RAM中数据存储空间的起始地址;需要2周期*/

这个操作需要5个主频周期。利用剩余的A/D转换时间,ARM7就可以将上一次采集的数据显示在大屏幕液晶上,实现波形示踪,方便使用者进行现场信号观察,省去了携带示波器的麻烦。这是其他的数据采集仪所不具备的。

充分利用ARM7高性能的优势,还可以进行其他数据分析处理。目前其他数据处理功能正在开发中。μC/OS-II操作系统大部分用C语言编写,开发方便。除仪器自带的软件模块外,用户可以自己开发新的模块,不断扩展功能。

实验数据

按照上述思路设计的嵌入式数据采集分析仪已经初步实现。使用s3c44b0x内置A/D变换器进行实验。选择内触发方式和倍频触发方式分别采集714Hz三角波。内触发方式选择最高采样频率fs=100kHz,采样长度为512点;倍频触发模式选择32倍频(N=32),采集4个周期(M=4);各采样两组。将采集到的数据通过USB传输到电脑,用Matlab软件进行数据处理,分别绘制波形图;进行FFT后绘制幅频图。结果如图4所示。

从图4中各图可以看出由本仪器采集的数据绘制的波形平滑没有杂波,说明仪器实现了其性能指标。


图4 对三角波的采样对比分析图

对比图4中各图可以看出这两种触发方式的几点区别:

(1)图4a和图4c中两个波形存在相位差异;而图4e和图4g的相位是相同的。这说明内触发采样开始和结束的时间是随机的;而倍频触发采样的起点(开始于外触发)和终点(结束于整周期末尾),都是相对固定的。

(2)图4a和图4c的波形都不是整周期的;图4e和图4g的波形都是整4个周期。

(3)反映在各自的FFT幅频图上:图4b和图4d都有明显的泄漏效应和栅栏效应,最大旁瓣幅值为一倍频幅值的5.75%;图4f和图4h都是干净的三角波n次谐波分量的谱线,最大旁瓣幅值仅为一倍频幅值的1.09%。上述现象说明倍频触发方式能保证采样数据序列的整周期截断,保证采样频率是待测信号基频的整数倍,有利于提高FFT信号分析的准确性;内触发采样则由于其采样频率和截断长度的人为性,以及开始和结束的随机性,不具备这个特点。要得到好的FFT结果,或者修改采样频率和截断长度,或者加特种窗函数,给测试过程带来许多麻烦。

每一种被测信号均有不同的特性。选择合适的触发方式可以过滤无用的信号,获得更多有用的信号。例如进行旋转机械振动测试时选用本仪器提供的倍频触发方式就可以获得适合进行FFT的整周期信号,利于后续分析;其他的触发方式就显得不适合。而采集激励振动信号就需要选用电平触发方式,以准确获得从激励开始的信号。作为仪器设计者,应当多进行各种测试实践,了解各种测试的实际需要,不断丰富仪器的采样触发方式,以适应不同测试环境的需要。

结论

综上所述,基于ARM7开发的数据采集分析仪除具有单通道最高200ksps的数据采集能力外,具有现场显示波形并进行数据分析等虚拟仪器的功能是其一大特色。对于采样触发方式的丰富使仪器能从容应对更多测试环境的特殊要求。USB接口便于连接电脑传输数据,速度可达1Mbytes。

自上世纪90年代虚拟仪器概念提出以来,虚拟仪器极大的提高了仪器设计应用的灵活性和适用性。在当今嵌入式系统大发展和微处理器性能不断提高的情况下,将虚拟仪器便携化,在保持其功能灵活性的前提下,重新使仪器摆脱电脑的束缚,是仪器发展的一个潮流。基于ARM7的嵌入式便携数据采集分析仪虽然只是初步实现了便携式虚拟仪器的功能,但是证明了这种理论在实践上的可行性。随着应用软件的不断开发升级,实现目前全部的虚拟仪器功能也是必然的结果。

相关推荐

浅析目前虚拟仪器监测系统的特点及优点

虚拟仪器  监测  2013-12-19

ARM收购Geomerics 强化行动装置游戏视觉

ARM  游戏视觉  2013-12-18

ARM:2013年Mail芯片出货量将超三亿片

ARM  芯片  2013-12-06

ARM控制智能机及平板芯片市场趋势将持续

ARM  控制智能机  2013-11-28

推动连网与行动创新 ARM聚焦物联网商机

ARM  物联网  2013-11-26

全球75%企业高管关注物联网新机遇

ARM  物联网  2013-11-08
在线研讨会
焦点