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

发布者:devilcore最新更新时间:2011-06-13 关键字:数据采集  微加速度计  FPGA  ARM  TLC0820 手机看文章 扫描二维码
随时随地手机看文章

0 引言
    加速度计是一种应用十分广泛的惯性传感器,它可以用来测量运动系统的加速度。目前的加速度计大多采用微机电技术(MEMS)进行设计和制造的微型加速度计,由于采用了微机电技术,其设计尺寸大大缩小,一个MEMS加速度计只有指甲盖的一小部分,MEMS加速度计具有体积小、重量轻、能耗低等优点。
    随着微加速度计的应用越来越广泛,对于微加速度计的数据信号采集和存储变得极为重要。传统的数据采集方法多数是用单片机完成的,其编程简单、控制灵活,但缺点是控制周期长、速度慢,特别是对高速转换的数据来说,单片机的慢速度极大地限制了数据传输速度。而FPGA(现场可编程门阵列)具有单片机无法比拟的优势。FPGA时钟频率高,内部延时小,全部控制逻辑由硬件完成,速度快、效率高,适于大数据量的高速传输控制。在高速数据采集方面,FPGA有单片机无法比拟的优势,然而单片机的接口丰富,数据处理能力强,便于完成数据的显示和存储等操作。
    综合单片机与FPGA的优点,这里介绍一种基于ARM和FPGA的微加速度计数据采集存储系统,结合MXR6150G/M加速度计传感器和TLC0820-A/D转换芯片,提供了一种配置灵活、通用性强的数据采集方案。

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

[page]

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

[page]

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

3 采集系统整体实施方案
3.1 FPGA控制A/D芯片进行加速度计数据采集
    该加速度计是利用两路模拟电压输出来反映加速度值的大小,当加速度值为O时输出电压为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=O V。TLC0820可通过MODE的设置工作在只读和读写两种方式。当MODE为低时,转换器为只读方式。在这种方式中,作为输出,且作为准备输出端;同时。当为低时,亦为低,表明器件忙,转换器在的下降沿开始转换,经过不到2.5μs转换完成,此时下降.为高阻,数据输出也由高阻变为有效的数据端,当数据读出后,变高,返回高,数据输出端返回到高阻态。当MODE为高时,转换器为读/写方式,作为写输出端。当和为低时,转换器开始测量输入信号,大约600 ns后返回高,转换器完成转换,在读写方式中,在上升沿开始转换。该实验采用读写方式来控制A/D芯片来读取加速度计的值,所需的控制信号由FPGA输出,相关的逻辑控制采用Verilog硬件描述语言进行编写,图4为QuartusⅡ中FPGA连接A/D芯片与ARM系统的顶层模块图。

[page]

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


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

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

关键字:数据采集  微加速度计  FPGA  ARM  TLC0820 引用地址:基于ARM和FPGA的微加速度计数据采集系统设计

上一篇:基于ARM和无线自组网的远程抄表系统
下一篇:基于ARM处理器的车载GPS系统设计方案

推荐阅读最新更新时间:2024-03-16 12:37

ARM的ADS汇编器和GCC汇编器
一:ads下的一段汇编程序: __main EXPORT BootReset BootReset B resetvec_reqset IMPORT BootEntry IMPORT |Image$$RO$$Limit| AREA BOOTROM, CODE, READONLY LDR r0, =|Image$$RO$$Limit| BEQ %1 ldr pc, 转换到gcc下的汇编程序为: __main .global BootReset BootReset: B resetvec_reqset .exte
[单片机]
输电线路行波故障定位中高速数据采集系统的实现
1 前言   对电力系统高压输电线路进行精确的故障定位是保证系统安全稳定运行的有效途径之一。现代行波定位是通过对故障发生后线路出现的电压行波和电流行波的采样值进行综合分析,确定故障行波波头到达线路上测量点的准确时刻,来实现精确的故障定位。输电线路短路故障发生后的暂态行波信号,其不同频率分量具有不同的速度和衰减。波头的形状和极性与线路两端的波阻抗变化情况有关,幅值与故障发生的时刻密切相关,使得行波在传播过程中易发生畸变,降低了对行波准确到达时间的判别及对行波反射波的识别能力。对于变化速度极快,变化过程极短的高速瞬态行波信号的采集,需要高速A/D转换单元、大量数据存储单元、高速寻址和快速存储等。   为了用单片机实现对μs级甚至ns
[电源管理]
采用FPGA实现医疗影像
医疗影像技术在医疗保健行业扮演了越来越重要的角色。这一行业的发展趋势是通过非置入手段来实现早期疾病预测和治疗,降低病人开支。多种诊断影像方法的融合以及算法开发的进步是设计新设备来满足病人需求的主要推动力量。 为实现这些行业目标所需要的功能,设备开发人员开始采用提供FPGA支持、可更新的现成商用(COTS) CPU平台进行数据采集和协处理。在灵活高效地开发可更新医疗影像设备时,需要考虑几个因素,包括影像算法的开发,多种诊断方法的融合以及可更新的平台等。 开发影像算法要求使用直观的高级建模工具,以不断改进数字信号处理(DSP)功能。高级算法需要可更新的系统平台,该平台大大提高了图像处理性能,而且实现的设备体积更小,使用更
[嵌入式]
采用<font color='red'>FPGA</font>实现医疗影像
ARM学习笔记13——LED驱动程序设计
首先我们要根据开发板原理图得到控制LED灯的引脚是哪个,我们现在以LED1为例,我们已经知道LED1由S5PV210的GPC1_3控制,因此我们按如下步骤进行: 第一步是配制S5PV210的GPC1_3为输出口; 第二步我们禁止GPC1_3的上、下拉电阻功能; 第三步就是控制GPC1_3输出高电平或低电平。 要想对GPC1进行配置,那我们需要知道其配置寄存器的地址,根据S5PV210的编程手册我们可以知道: GPC1的配置寄存器地址是:0xE0200080 GPC1数据寄存器地址是:0xE0200084 GPC1上、下拉控制寄存器地址是:0xE0200088 同样由S5PV210的编程手册得知
[单片机]
超高数据流通量FPGA新品类中的Block RAM级联架构
概述 随着数据中心、人工智能、自动驾驶、5G、计算存储和先进测试等应用的数据量和数据流量不断增大,不仅需要引入高性能、高密度FPGA来发挥其并行计算和可编程硬件加速功能,而且还对大量数据在FPGA芯片内外流动提出了更高的要求。于是,在FPGA芯片中集成包括片上二维网络(2D NoC)和各种最新高速接口的新品类FPGA芯片应运而生,成为FPGA产业和相关应用的新热点。 拉开这场FPGA芯片创新大幕的是全球最大的独立FPGA技术和产品提供商Achronix半导体公司,其采用7nm工艺打造的Achronix Speedster7t FPGA不仅拥有诸多高性能外围Hard IP,而且是全球首次在FPGA的逻辑阵列上集成了2D N
[嵌入式]
超高数据流通量<font color='red'>FPGA</font>新品类中的Block RAM级联架构
基于ARM920T处理器实现RS-232C串口与以太网口数据双向传输的设计
以ARM920T为内核的S3C2440A作为主控制器和以太网控制芯片DM9000AEP设计硬件平台; 构建并移植适合嵌入式串口服务器系统的嵌入式Linux 操作系统,利用Linux完善的TCP/IP协议设计ARM端的多线程网络服务器程序。设计实现RS-232C串口与以太网口数据的双向传输,使现有的智能仪器设备成功接入以太网。 随着计算机网络的发展和物联网的兴起,将智能仪器接入网络已成为一种趋势,以实现数据的共享与远程管理。但是目前大多智能仪器使用的是异步串行通信接口RS-232C /485 /422,因此迫切需要一种能将异步串行通信协议转换为以太网TCP /IP协议的协议转换器,使现有的串行通信设备方便地接入以太网,而不需要改
[单片机]
基于<font color='red'>ARM</font>920T处理器实现RS-232C串口与以太网口数据双向传输的设计
Ovum:探索2010年智能手机热点趋势
  市场调查公司Ovum表示,智能手机制造商陆续采用含有先进的图形与影音处理能力的高效能硬件,逐渐从ARM-11系列处理器过度到ARM Cortex A8,且Qualcomm(高通)Snapdragon芯片也正在紧锣密鼓的筹备中。然而,Nokia似乎在这场大战中表现的较为落后。      Ovum指出,Nokia与其竞争对手之间已出现落差;而在此同时,智能手机的其他重要的发展则主要表现在手机应用程序商店的蓬勃发展,这波趋势同时也为多样化互联网应用程序(RIA)在2010年的流行奠定了基础。       新芯片组推动业绩成长      虽然基于ARM Cortex A8芯片的手机早在2009年中期就已经上市,但Ovum表示,目前仍有多
[手机便携]
ARM嵌入式系统中断向量表的动态配置
摘要:通常32位ARM嵌入式系统的中断向量表是在程序编译前设置好的,每次编写中断程序都要改C程序的汇编启动代码,相当繁琐。本文给出一种配置ARM中断向量表新方法。该方法比通常方法仅增加一条指令执行时间,简便高效,功能完备,向量表在运行时动态生成,C程序可以使用固定向量表的启动代码,并可隐藏起来。 关键词:动态配置 嵌入式系统 ARM 中断向量表 一般32位ARM嵌入式系统的中断向量表是程序编译前设置好的。在编写32位ARM嵌入式系统的中断服务程序、设置和修改ARM体系结构的中断向量表时,常感到相当麻烦,不得不修改汇编代码,对不喜欢使用汇编代码编程的程序员尤其如此。当需要在程序运行过程中动态修改中断向量的程序时会感到更为不便,
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved