基于ARM和FPGA的微加速度计数据采集系统设计

时间:2022-06-02 12:18:13

基于ARM和FPGA的微加速度计数据采集系统设计

摘 要:基于常用的MEMS惯性器件微型加速度计,介绍一种采用ARM和FPGA架构来采集加速度数值的设计方案,微加速度计的模拟输出信号经A/D芯片转换后由FPGA进行处理和缓存,然后ARM接收FPGA的输出数据并对数据进行显示和存储,对如何用FPGA实现该数据采集系统的传输控制和数据缓存,以及FPGA与A/D转换芯片和ARM的接口设计给出了说明,实现了加速度数值的采集、传输、显示和存储,该方法配置灵活、通用性强,可以较好地移植到相关器件的数据采集系统中。

关键词:数据采集;微加速度计;FPGA;ARM;TLC0820

中图分类号:TP274.2文献标识码:B

文章编号:1004-373X(2010)02-025-03

Design of Data Acquisition System for Micro_accelerometer Based on ARM and FPGA

QIN Kui1,2,ZHANG Weiping1,2,CHEN Wenyuan1,2

(1.National Key Laboratory of Nano/Micro Fabrication Technology,Institute of Micro and Nano Science and Technology,

Shanghai Jiaotong University,Shanghai,200240,China;2.Key Laboratory for Thin Film and Microfabrication of Ministry of Education,

Institute of Micro and Nano Science and Technology,Shanghai Jiaotong University,Shanghai,200240,China)

Abstract:Based on micro_accelerometer,the commonly used MEMS inertial device,a design of data acquisition system with ARM and FPGA is introduced.The analog output signal of the micro_accelerometer converted by A/D chip is processed and cached by FPGA.Then ARM receives FPGA′s output data,also displays and storages them.How to realize the transmission control and data buffer of the data acquisition system with FPGA,as well as the interface design of A/D conversion chip and ARM with FPGA are given in detail.The collection,transmission,display and storage of the acceleration data are realized.The method can be configured flexibly and used versatility,so it can be easily transplanted to relevant device′s data acquisition system.

Keywords:data acquisition;micro_accelerometer;FPGA;ARM;TLC0820

0 引 言

加速度计是一种应用十分广泛的惯性传感器,它可以用来测量运动系统的加速度。目前的加速度计大多采用微机电技术(MEMS)进行设计和制造的微型加速度计,由于采用了微机电技术,其设计尺寸大大缩小,一个MEMS加速度计只有指甲盖的一小部分,MEMS加速度计具有体积小、重量轻、能耗低等优点。

随着微加速度计的应用越来越广泛,对于微加速度计的数据信号采集[1,2]和存储变得极为重要。传统的数据采集方法多数是用单片机完成的,其编程简单、控制灵活,但缺点是控制周期长、速度慢,特别是对高速转换的数据来说,单片机的慢速度极大地限制了数据传输速度。而FPGA(现场可编程门阵列)具有单片机无法比拟的优势。FPGA时钟频率高,内部延时小,全部控制逻辑由硬件完成,速度快、效率高,适于大数据量的高速传输控制。在高速数据采集方面,FPGA有单片机无法比拟的优势,然而单片机的接口丰富,数据处理能力强,便于完成数据的显示和存储等操作。

综合单片机与FPGA的优点,这里介绍一种基于ARM和FPGA的微加速度计数据采集存储系统,结合MXR6150G/M加速度计传感器和TLC0820A/D转换芯片,提供了一种配置灵活、通用性强的数据采集方案。

1 系统整体设计方案

图1是数据采集系统的总体结构框图,该系统主要由双轴加速度计、A/D转换器、FPGA和ARM处理器四大部分组成。双轴加速度计输出两路模拟信号,分别代表x轴与y轴的加速度值,通过A/D转换芯片把输入的两路模拟信号转换为8位的数字信号,FPGA接收来自A/D转换芯片的数字信号,并对数字信号进行处理,处理后的数据经过FPGA中的FIFO存储器缓存[3]后由ARM处理器采取中断方式接收采集,采集到的数据可以通过串口通信在PC机上实时显示,也可以通过IDE接口存储到大容量硬盘[4,5]。

图1 系统总体结构框图

2 系统硬件设计与实现

2.1 MXR6150G/M加速度计传感器

MXR6150G/M是无锡美新半导体公司生产的双轴加速度计传感器,它采用标准的亚微米CMOS工艺制造,可以测量从-5g~+5g(g为重力加速度)范围内的加速度信号,该加速度计是利用两路模拟电压反映加速度值的大小,当加速度计静止,加速度值为0时输出电压为1.50 V,电压输出灵敏度为150 mV/g。图2为此加速度计的外观顶视图,表1为加速度计的引脚描述,其中引脚7和引脚6分别输出x轴和y轴的加速度分量。实际加速度的值需要将x轴与y轴加速度的值进行合成得到,这可利用FPGA的并行计算处理来完成。

图2 加速度计顶视图

表1 加速度计的引脚描述

PinNameDescriptionI/O

1PDPower Down ControlI

2TPConnect to groundI

3COMCommonI

4NCDo Not ConnectNC

5NCDo Not ConnectNC

6YoutY Channel OputputO

7XoutX Channel OutputO

9VDD2.7~3.6 VI

2.2 8位A/D转换芯片TLC0820

TLC0820是德州仪器公司(TI)推出的,采用先进LinCMOS工艺制造的A/D转换器,它由两个4位的闪速(FLASH)转换器,一个4位的数/模转换器,一个计算误差放大器,控制逻辑电路和结果锁存电路组成。它采用8位并行输出,并且不需要外部时钟和振荡元件,广泛应用于高速数据采集系统、工业控制和工厂自动化系统,其封装引脚如图3所示。引脚功能描述如下:ANLG IN为模拟输入;CS为片选,低有效;D0~D3,D4~D7为三态数据输出;INT为中断输出端,表示转换结束;MODE为方式选择输入;OFLW为溢出标志;RD为读输人端;REF-为参考电压下限值;REF+为参考电压上限值;VCC为电源电压;WR/RDY为写输入/读状态输出。

图3 TLC0820封装引脚示意图

2.3 Altera_FPGA与ARM处理器

该系统的FPGA采用Altera FPGA公司的CycloneⅡ系列的EP2C35实现,EP2C35提供多达33 216个逻辑单元(LE),35个18×18位乘法器,483 840 b的内部RAM块,专用外部存储器接口电路,4个锁相环(PLL)和高速差分I/O等功能[6]。

该系统中采用的ARM处理器是Philips公司的LPC2210,是基于一个支持实时仿真和嵌入式跟踪的l6/32位 ARM7TDMI_S CPU的微控制器。LPC2210的144脚封装、极低的功耗、两个32位定时器、八路10位ADC,PWM输出以及多达九个外部中断使其特别适用于工业控制、医疗系统、访问控制和电子收款机等。通过配置,LPC2210最多可提供76个GPIO。由于内置了宽范围的串行通信接口,其也非常适合于通信网关、协议转换器以及其他各种类型的应用[7]。

3 采集系统整体实施方案

3.1 FPGA控制A/D芯片进行加速度计数据采集

该加速度计是利用两路模拟电压输出来反映加速度值的大小,当加速度值为0时输出电压为1.50 V,电压输出灵敏度为150 mV/g,A/D转换器模拟输入电压范围为VCC±0.1 V,低于VREF- +(1/2)LSB或高于VREF+ -(1/2)LSB的模拟输入电压分别转换为00000000或1111111,系统中所加电压分别为VCC=VREF+=5 V,VREF-=GND=0 V。TLC0820可通过MODE的设置工作在只读和读写两种方式。当MODE为低时,转换器为只读方式。在这种方式中,WR/RDY作为输出,且作为准备输出端;同时,当CS为低时,WR/RDY亦为低,表明器件忙,转换器在RD的下降沿开始转换,经过不到2.5 μs转换完成,此时INT下降,WR/RDY为高阻,数据输出也由高阻变为有效的数据端,当数据读出后,RD变高,INT返回高,数据输出端返回到高阻态。当MODE为高时,转换器为读/写方式,WR/RDY作为写输出端。当CS和WR/RDY为低时,转换器开始测量输入信号,大约600 ns后WR/RDY返回高,转换器完成转换,在读写方式中,WR/RDY在上升沿开始转换。该实验采用读写方式来控制A/D芯片来读取加速度计的值,所需的控制信号由FPGA输出,相关的逻辑控制采用Verilog硬件描述语言[8]进行编写,图4为Quartus Ⅱ中FPGA连接A/D芯片与ARM系统的顶层模块图。

图4 Quartus Ⅱ中FPGA连接A/D芯片与ARM系统的顶层模块图

由A/D转换输出转换后的8位数字信号,可以从Quartus Ⅱ内置的逻辑分析仪中读取,图5为通过Quartus Ⅱ软件内置逻辑分析仪查看读取数据值的截图。从图5中可以看出在读写方式中,在WR/RDY的上升沿开始启动转换,到INT的下降沿转换完成,转换时间可通过时间标尺计算出来,为24×40=960 ns,之后就可以通过RD的上升沿开始读取转换后的数据到数据总线中,如图5中的XDD以及YDD。因为单片机的处理速度一般都低于A/D转换芯片的速度,故将XDD与YDD的数据存储到FPGA中的FIFO中,FIFO便起到数据缓冲的作用[3], 以备接下来单片机对数据进行读取。

3.2 ARM系统接收FPGA数据

图6为FPGA与ARM相连接部分的传输接口框图。ARM系统主要控制数据采集的启动和采集结束后对数据的显示和存储,在数据采集的过程中,ARM处理器系统读取FPGA中的数据,实际上是读取FIFO中的数据。FIFO的容量可以通过软件进行设置,它有两个状态显示信号,分别为ALFUL和EMPTY,ALFUL是指FIFO接近满,当ALFUL从低电平变为高电平后,ARM单片机系统就可以发送RDFIFO信号来读取FIFO中的数据输出端口的数据,当FIFO中的EMPTY信号从低电平变为高电平,表明FIFO中已无数据可读,ARM单片机就开始等待ALFUL的跳变进行下一次的读取[7,9]。

图5 通过Quartus Ⅱ软件内置逻辑分析仪查看读取的数据

3.3 加速度数据显示和存储[9]

由ARM系统采集到的数据可通过

串口线发送到上位机进行实时显示,也可以通过模拟IDE通信协议储存到IDE硬盘中。 LPC2210通过串口线与上位机进行通信主要是应用ARM芯片LPC2210中的通用异步接收/发送装置UART0,而使用LPC2210的通用可编程I/O口,可以模拟产生IDE硬盘的读写时序[10],实现对存储设备的读写操作。这样可以实现加速度数据的显示和存储。

图6 FPGA与ARM数据传输接口框图

4 结 语

这里介绍一种MEMS器件微加速度计的数据采集设计方案,结合当前应用广泛的处理芯片ARM和FPGA,给出了一种配置灵活、通用性强的数据采集方案。实验中可准确采集美新加速度计MXR6150G/M的加速度信号,采集到的信号既可以在上位机实时显示,又可以存储在IDE接口硬盘中,达到了数据显示和存储的目的。

参考文献

[1]苑广欣,郝永平,张启东.用于微惯性测量单元的FPGA数据采集系统[J].国外电子测量技术,2008,27(9):4_7.

[2]李绪友,梁辉,邹继斌.捷联式惯导系统中加速度计的数据采集[J].传感器技术,2005,24(6):20_22.

[3]景艳,黄士坦,张遂南.一种基于FPGA实现的高速缓存设计[J].微机发展,2005,15(9):141_144.

[4]廖义奎.ARM与FPGA综合设计及应用[M].北京:中国电力出版社,2008.

[5]石伟锋,韩兵.基于MCU+FPGA架构的智能数据采集系统[J].计算机仿真,2005,22(8):246_249.

[6]褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社,2002.

[7]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.

[8]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2003.

[9]周立功.ARM嵌入式系统实验教程(一)[M].北京:北京航空航天大学出版社,2004.

[10]潘建国,阙沛文,雷华明.基于FPGA的高速大容量数据采集系统设计[J].电子测量技术,2008,27(9):166_169.

作者简介 秦 奎 男,1985年出生,山东泰安人,硕士研究生。研究方向为FPGA数字系统设计。

张卫平 男,1971年出生,副教授。研究方向为微机电系统及集成技术。

陈文元 男,1944年出生,教授,博士生导师。研究方向为微机电系统。

嵌 入 式 技 术孙 鹏等:基于嵌入式系统便携式扫频仪的设计

上一篇:数字对讲机互联网传输的中心站软件设计 下一篇:一种自适应门限的MIMO-OFDM系统帧同步方法