当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]采用FPGA的SOPC技术研究了传感器非线性软件校正的实现

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只去耦电容器。

500)this.style.width=500;" border="0" />

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

[!--empirenews.page--] 

2.3神经网络校正算法

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

500)this.style.width=500;" border="0" />

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

    本文共采集了70个样本对数据作为神经网络的输入。神经网络的训练采样动量自适应算法,剔除部分不符合要求的样本,58个样本作为训练样本,8个样本作为测试样本。BP神经网络采用C语言编程实现,由于微处理器与PC机相比,在工作频率和总线结构方面还存在很大差距,因此,在计算算法的误差输出时,本文采用的是各个训练样本的绝对误差的累加和,而不是均方根误差,这样,可以避免大量的乘法和开方运算,否则,算法很难收敛。 作为BP神经网络动量法的重要参数,如果学习率参数选择的范围比较窄,那么,网络性能的随机性特点就会非常明显,不利于网络的推广应用。图3是选择不同的学习率时网络输出误差的变化情况。测试条件是动量系数为0.9,增益为1,隐含层节点6个,算法停止迭代的判断条件是输出绝对误差累加和小于0.01。

500)this.style.width=500;" border="0" />

 

 

500)this.style.width=500;" border="0" />

 

 
  图4是58对训练样本完成网络训练后的测试结果。由于BP神经网络的性能受隐含层节点个数影响比较大,图中数据是在不同隐含层节点个数的条件下得到的,并与MATLAB软件仿真得到的结果作了比较。网络训练的条件:学习率为0.1,动量系数为0.9,增益为1,SOPC停止迭代的判断条件是输出绝对误差累加和小于0.01,MATLAB停止迭代的判断条件是均方根误差小于0.0001,图中,n代表隐含层节点个数。

   由于采用的是12 bit的A/D转换芯片,采集数据送入FPGA系统板后,经过归一化处理,数据类型发生变化。与MATLAB仿真软件输出结果保持一致,基于FPGA的神经网络输出取小数点后4位有效数字。由图4可以得出:虽然在个别测试点上基于MATLAB软件仿真结果优于SOPC的输出结果,但在隐含层节点对算法性能的影响程度上,基于SOPC技术的输出受到的影响比较小,稳定性好,这与SOPC技术采用32位字长有很大关系。
4 结论

     基于FPGA的SOPC技术不同于IC芯片设计,它是把已有的模块资源组合成一个系统,系统的功能直接由载体FPGA芯片实现;它又不同于传统的基于单片微处理器的系统设计,因为SOPC系统的微处理器性能和外围接口控制电路都是由用户编程设定的,因此,采用SOPC技术可以节省成本,提高资源利用率,缩短开发周期和便于系统升级等特点。本文采用基于FPGASOPC技术研究了传感器线性软件校正的问题。算法的测试结果证实了方法的可行性。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

延续三星最小像素0.56微米(μm),以占用更少*的相机模组面积打造2亿超高像素传感器 支持高达30fps(Frames Per Second,画面每秒传输帧数)的速度拍摄8K视频,捕捉电影般的丰富细节和色彩...

关键字: ISO SoC 三星电子 传感器

(全球TMT2022年10月20日讯)IBM发布2022财年第三季度财报。季度总营收为141.07亿美元,与去年同期的132.51亿美元相比增长6%;净亏损为31.96亿美元,去年同期的净利润为11.30亿美元;来自于...

关键字: IBM 三星电子 传感器 边缘计算

手机传感器是手机上通过芯片来感应的元器件,如温度值、亮度值和压力值等。手机中有很多传感器默默地在后台工作以支持我们前台操作更方便。

关键字: 手机 反超相机 传感器

在这篇文章中,小编将为大家带来车联网的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 车联网 传感器 智能终端

图像传感器是利用光电器件的光电转换功能将感光面上的光像转换为与光像成相应比例关系的电信号。与光敏二极管,光敏三极管等“点”光源的光敏元件相比,图像传感器是将其受光面上的光像,分成许多小单元,将其转换成可用的电信号的一种功...

关键字: 图像 传感器 摄像头

一直以来,扭矩传感器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来扭矩传感器的相关介绍,详细内容请看下文。

关键字: 扭矩传感器 传感器 量程

在下述的内容中,小编将会对传感器的相关消息予以报道,如果传感器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: 传感器 角位移传感器 位移传感器

今天,小编将在这篇文章中为大家带来可穿戴设备的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 可穿戴设备 移动支付 传感器

本文中,小编将对超声波传感器予以介绍,如果你想对超声波传感器的详细情况有所认识,或者想要增进对超声波传感器的了解程度,不妨请看以下内容哦。

关键字: 超声波传感器 传感器 检测方式

在这篇文章中,小编将为大家带来超声波传感器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 超声波传感器 传感器 测量

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭