FPGA在智能压力传感器系统中的应用设计
来源:电子工程世界 作者:—— 时间:2010-05-31 10:56
系统采用算术平均的数字滤波方法消除系统的随机误差,通过连续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语言进行开发,程序的部分代码如下所示:
上一篇:医疗设备软件开发新主张:模型驱动