一种智能压力传感器系统中FPGA的实现

出处:来源:维库开发网 发布于:2011-08-29 11:37:46

  传统气体压力测量仪器的传感器部分与数据采集系统是分离的,抗干扰的能力较差,并且通常被测对象的压力变化较快。因此不仅要求系统具有较快的数据吞吐速率,而且要能够适应复杂多变的工业环境,具有较好抗干扰性能、自我检测和数据传输的功能。

  在此,利用FPGA具有扩展灵活,可实现片上系统(SoC),同时具有多种IP核可供使用等优点,设计了能够控制多路模拟开关、A/D转换、快速数据处理与传输、误差校正、温度补偿的智能传感器系统;同时将传感器与数据采集处理控制系统集成在一起,使系统更加紧凑,提高了系统适应工业现场的能力。

  1 系统性能及元器件

  1.1 智能传感器系统性能要求

  传感器压力测量范围:0~5 MPa;系统:±0.1%FS;1通道模拟电压输入(压力信号)大于250 sampies/通道/s;采用串行RS232C接口输出。

  1.2 系统主要元器件及性能

  根据系统的指标的要求选择器件:

  FPGA芯片 选用Altera的CycloneⅡEP2C5,其逻辑单元有4 608个LE,26个M4K RAM块,142个用户I/O引脚。

  压力传感器 采用PDCR130W,压力范围0~7 MPa,工作电压直流10~30 VDC,输出0~10V,±0.05%FS,使用温度范围-40~+125℃,温度影响±0.015%FS/℃。

  温度传感器 采用高集成温度传感器LM335,其灵敏度为10 mV/K,为1℃,温度范围-40~+100℃。

  A/D转换器  选择内含采样保持器的12位A/D转换器AD1*,其转换时间为10 μs,0~10 V单极输入或±5 V双极输入,可并行12位输出。

  多路模拟开关 采用四选一多路模拟开关AD7502,其引脚设置为EN=1的使能信号;A1A0引脚为通道选择信号。

  输出电平转换接口 系统使用MAX232芯片完成TTL和RS 232C电平的转换。

  2 系统误差校正方法

  2.1 零点漂移和增益误差的校正方法

  在智能仪表中,误差模型的误差校正公式为:

                

  式中:b1和b0为误差校正因子。误差校正电路模型如图1所示,其中x为被测信号;y为系统输出;ε,k,i为影响系统的未知量。

  误差校正过程为:

  当S1闭合时,x=0,依据误差校正公式得到式(2),用于系统零点校准;

  当S2闭合时,x=E(标准电压),得到公式(3),用于系统增益误差校正;

  联立式(2)、式(3)可得误差校正因子:

  当进行实际测量时S3闭合,利用计算出的误差校正因子和误差校正公式(1),即可求出校正后的输出信号y. function ImgZoom(Id)//重新设置图片大小 防止撑破表格 { var w = $(Id)。width; var m = 650; if(w

  2.2 传感器温度补偿方法

  对压力传感器来说,环境温度对其测量结果有较大的影响,为了消除温度引起的误差,需要对传感器的信号做温度补偿。通过测量传感器的工作温度实现传感器温度的补偿。传感器的温度误差校正模型为:

  式中:y为测量值;yc经温度补偿后的测量值;△φ为传感器的实际工作温度与标准测量温度之差;a0为校正温度变化引起的传感器标度变化系数,a1为校正温度引起的传感器零位漂移变化系数,这两个系数反映了传感器的温度特性。

  2.3 随机误差消除方法

  系统采用算术平均的数字滤波方法消除系统的随机误差,通过连续N个采样值取其算术平均值,得数学表达式为:

  适合用于对具有随机干扰信号的滤波。

  3 系统硬件结构设计

  依据系统的误差校正和温度补偿方法,可得系统的硬件连接结构如图2所示。图2中模拟多路开关AD7502的4个输入通道分别为:A1A0=00,选通S0,S0通道接地,用于零点漂移校准;A1A0=01,选通S1,S1通道接+5 V(为AD1674输入电压的50%),用于增益误差校正;A1A0=10,选通S2,S2通道接温度测量信号,用于传感器的温度补偿;A1A0=11,选通S3,S3通道连接压力测量信号。通道选通信号A0,A1由FPGA芯片中的DAS_A0和DAS_A1引脚控制。

  系统中A/D转换器AD1674采用独立工作模式,其控制引脚设置为:CE和12/8接高电平;CS和A0接低电平。此时,AD1674设置为12位A/D转换,12位数据输出,其转换完全由R/C控制,如图2所示。当R/C=O时,启动12位A/D转换;当A/D转换结束时,状态信号STS=0,否则STS=1;当R/C=1时,读取12位A/D转换数据。R/C信号由FPGA芯片的DAS_RC控制。整个系统由基于FPGA的片上系统(SoC)控制。其中,FPGA芯片中的DAS_STS,DAS_RC,DAS_IN,DAS_A引脚为用户定制逻辑,即DAS控制单元的外部接口,用于控制AD1674的工作时序转换和AD7502的通道选择。

  3.1 SoC结构的实现

  SoPC设计由CPU、存储器接口、标准外设和用户定制逻辑单元模块等组件构成。Altera的SoPCBuilder工具提供了大量IP核可供调用,可以很方便地在单片FPGA芯片上配置嵌入NoisⅡ处理器软核、片上RAM和RS 232控制器、扩展片外存储器、用户定制逻辑单元,同时自动地为系统的每个外设分配地址、连接系统总线,确定设备优先级,其内部结构如图3所示。

  function ImgZoom(Id)//重新设置图片大小 防止撑破表格 { var w = $(Id)。width; var m = 650; if(w

  3.2 数据采集控制单元的实现

  数据采集系统(DAS)控制单元是整个系统的,其输入端口及其功能:DAS_STS用于接收AD1674的STS状态信号;DAS_IN(12位)用于接收AD1674并行12位转换输出;CLK,RST用作系统时钟和RESET的信号。输出端口DAS_RC接AD1674的R/C端,用以控制A/D转换器的启动和读数;DAS_A用作控制AD7502的A1A0通道选通信号;DAS_OUT(加通道的序号为16位)用作DAS控制单元的16位输出数据。

  DAS控制单元的有限状态机(FSM)有4个状态,分别为St0,St1,St2,St3.St0为选择通道,启动A/D转换,进入St1状态;St1为等待转换结束,若转换结束,进入St2状态,否则保持在St1状态;St2为发出读数据信号,进入St3状态;St3为输出转换数据;选择其他通道,返回St0状态。DAS控制单元采用VHDL语言进行开发,程序的部分代码如下所示:

  DAS控制单元的仿真如图4所示。图中显示控制单元运行正确。

  3.3 智能传感器系统软件工作流程

  系统中误差校正和温度补偿由系统软件控制完成。系统软件由SoPC Builder工具中的软件开发工具(SDK)进行开发。系统软件流程如图5所示。

  系统上电初始化并启动DAS控制单元,选通每个通道并消除每个通道的随机误差;然后根据校正过的0通道和1通道的数值,实时计算出误差校正因子,依据误差校正公式(1)实时校正零点漂移校准和增益误差,再根据测量得到传感器的工作温度,计算与标准温度的差值,通过查表获得传感器温度变化系数,依据温度补偿公式(5)校正测量压力数据,并将数据输出。

  4 结 语

  在系统的设计过程中,充分利用FPGA构建系统灵活,软、硬件开发相结合的特点,在满足系统性能的基础上,合理分配软硬件功能,简化系统设计。FPGA把过去由分立芯片实现的系统放在单个芯片中,这种单片系统的设计,大大提高了系统的稳定性和可靠性,同时提高了系统抗工业现场干扰的能力。
  

关键词:FPGA传感器

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!