基于SoPC技术的传感器非线性软件校正的实现

2011-07-08 13:46:06来源: 互联网
   

0 引 言

  现代测量系统中,传感器的工作性能直接影响整个系统。由于受外界因素的影响,传感器大多具有非线性特性,致使测量仪表或系统的输入与输出之间不能保证很好的线性关系。除了采取硬件补偿电路外,对于软件补偿算法的研究受到更多的重视。由于受数据总线宽度和工作频率的影响,软件算法补偿的研究更多是在计算机上仿真实现的,而现场的测量系统往往建立在单片微处理器的基础上。微电子技术的迅速发展,使得集成电路设计和工艺技术水平得到很大的提高,片上系统(system on a programma-ble chip,SOPC)技术把系统的处理机制、模型算法和电路设计紧密结合,在单片芯片上实现复杂系统的全部功能。基于FPGA的SOPC技术,软件算法修改和硬件平台结构调整都是在线可编程的,其灵活性和可靠性是其他单片微处理器无法比拟的。本文采用ALTERA公司提供的SOPC技术,研究传感器的非线性软件校正的算法实现。

  1 非线性软件校正原理

  一个受多个参量影响的传感器系统可表示为y=f(x,t1,t2,…,tk),其中,x为待测目标参量,t1,t2,…,tk为k个非目标参量,y为传感器输出。为了消除非目标参量对传感器输出的影响,一般采用逆向建模的方法。实际测量的数据,由于受非目标参量的影响,它与目标参量之间的函数关系不再是线性的。逆向建模的目的是通过非线性映射,把非线性函数关系x=f-1(y,t1,t2,…,tk)向线性函数关系x=y/A逼近。在模型中,测量数据和非目标参量的测量值作为输入,目标参量的线性值作为模型的输出,按照一定的算法原则,不断调整模型的参数,使得模型输出误差在允许的范围之内。

  在本系统中,选用模拟温度传感器AD590作为校正目标,数字温度传感器DS18B20测量值作为模型的期望输出,气体传感器TGS813测量值为非目标参量输入。系统采用ALTERA公司CYCLONEⅡ系列的EP2C35F672 FPGA作为核心处理器,采用QUARTUS-Ⅱ自带的SOPC Builder开发包作为算法的调试环境,在FPGA其内部实现测量数据的智能处理。

  2 系统方案实现

  2.1传感器调理电路

  AD590是美国模拟器件公司生产的单片集成两端感温电流源,流过器件的电流(μA)等于器件所处环境的热力学温度(K)度数,AD590随温度变化输出的是电流信号,需要将其转换为电压信号。由于AD590灵敏度高,受环境的影响大,在使用前需要校正。在本文中,利用神经网络算法对AD590的输出进行了校正。

  DS18B20是Dallas半导体公司推出的一线式数字化温度传感器,可以程序设定9~12位的分辨力,精度为±0.5℃。本文采用外接电源模式,12 bit数据输出格式。

  TGS813是一种由SnO2材料组成的烧结体半导体气体传感器,属于一种广谱性气敏元件,对多种气体敏感,对不被检测气体不敏感;由于输出电压最高可以达到+9 V,而后级模拟数字转换电路的输入电压不超过+5 V,所以,使用前需要调整分压电阻器的阻值。

  2.2模拟数字转换电路

  来自传感器的模拟信号,在送入模拟数字转换电路之前,由于器件的输入阻抗比较低,而传感器的输出阻抗较高,不能直接把模拟信号送入模拟数字转换电路。本文采用TLC279构成电压跟随器,实现阻抗变换。考虑到在FPGA实现的算法处理对数据的精度敏感,因此,系统选用了四路模拟量输入的12 bit串行数据输出的TLV2544作为模拟数字转换电路的核心芯片。

  TLV2544是TI公司生产的高性能12位低功耗、高速(3.6μs)CMOS模数转换器,具有采样一保持功能,电源电压为2.7~5.5V。TLV2544还具有3个输入端和1个三态输出端,可为最流行的微处理器串行端口(SPI)提供4线接口。器件在上电初始化时首先需要将初始化命令A000h写入CFR配置寄存器,然后,对器件进行编程,其编程方法是在初始化命令A000h的低12位000h写入编程数据以规定器件的工作方式。TLV2544具有4种转换模式:单次模式、重复模式、扫描模式和重复扫描模式,可用模式00,01,10,11表示。图1为TLV2544和单片机AT89C2051的接口电路。该电路采用外部基准,REFP与REFM之间接0.1μF和10μF2只去耦电容器。

  各路信号送入微处理器AT89C2051,经串行口发送给系统板。微处理器的软件设计主要是在接收到SOPC系统控制发送的采集命令(0x41H),启动TLV2544和DS18B20,将数据转为ASCII码发送。DS18B20和TLV2544都是12bit输出,所以,每次发送9个ASCII码,分别代表3个数据源的转换结果。

  2.3神经网络校正算法

  利用BP神经网络实现非线性误差软件校正的文献较多,但主要是基于PC机的仿真实验。单片微处理器由于存储容量和数据总线宽度的限制,网络结构类型和计算精度只能控制在一定范围之内。SOPC在大规模集成电路的基础上,底层电路采用硬件描述语言实现,而软件算法则在SOPC IDE调试环境下采用高级语言,如C语言实现。在本文中,SOPC系统板采用NIOS-Ⅱ软核微处理器,32 bit总线,工作频率为50 MHz,BP神经网络采用动量法,在ALTERA公司提供的SOPC IDE调试环境下完成。算法处理结构如图2所示。

  3 算法测试

  本文采用三层前向网络,输入层神经元2个,分别代表温度传感器ADS90和气体传感器TGS813输入信号,DS18B20的测量值作为AD590的期望值,输出层神经元1个,代表AD590的校正值。

关键字:SoPC  传感器

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0708/article_2297.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
SoPC
传感器

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

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