APP下载

基于ARM与μC/OS-II的弯管流量计的研究与设计

2011-07-13成泰戈刘艳萍赵连环赵玉红

电子设计工程 2011年20期
关键词:流程图嵌入式指令

成泰戈,刘艳萍,赵连环,赵玉红

(1.河北工业大学 信息工程学院,天津 300401;2.唐山世佳电子有限公司 河北 唐山 063020)

弯管流量计是一种经典的节能型差压式流量测量装置,它可以应用于工业的液体、气体、蒸汽的流量测量,能适应各种复杂的现场条件,可作为长期检测流量的测量装置使用。

我国科研人员经过20年的持续研究,在理论和实验研究方面都取得了突破性的进展,国内设计生产的弯管流量计已经达到一个很成熟的水平。

对于工业现场,对所测量的大量数据进行储存、实时观测、远程数据传输等已经成为未来现场测量技术的一个发展趋势。因此,采用微控制器LPC2210和实时操作系统μC/OSII,在现有弯管流量计基础上,加入无纸记录仪、U盘读写、Internet远程数据访问维护等功能,是本项目研究与设计的重点。

图1 弯管流量计原理图Fig.1 Principle diagram of curved pipe flow meter

1 弯管流量计工作原理

弯管流量计是差压式流量计的一种。稳定流动的流体通过弯管时,由于流体流动方向的改变而产生离心力,此离心力作用在弯管的内、外侧壁上产生压力差,曲率半径一定的弯管,在离开曲率中心最远位置和最近位置上所测压力之差的平方根与流体的流速成正比,因此通过测量这一压力差并经过换算就可以得到流体的流速,这就是弯管流量计的基本原理。

由图1可见,流体内压力分布对应流速分布,在45°截面附近弯管内外侧压力差△p(△p=p1-p2)也达到最大值。当流体流量变化时,该压力差△p也随之相应变化。因此,弯管流量计的工作原理就是通过对弯管内、外侧的压力差和相关参数的检测实现流量的测量。

Herbort.Addision先生在对弯管45°截面流体流速作了如图1所示具有梯形速度分布的设定后给出了式 (1)(自由旋流理论方程)表达的基本原理数学方程式[1]。

式中V—流经弯管的平均流速(m/s);

△p—压力差(△p=p1-p2) (Pa);

x—弯管中心线曲率半径与二分之一内径的比值x=2R/D;

g—重力加速度(m/s2)。

L.K.Spink先生在总结以前研究的基础上在其著作中采用了由式(2)表达的数学方程式(采用国际单位制)表达其工作原理(强制旋流理论方程)[2]。

式中α—综合流量系数(与弯管传感器的结构形式;管道的粗糙度等参数有关);ρ—被测介质的密度。

上述两种经典涡流理论含有描述弯管流量计主要性能的相同特征信息,只是自由涡流理论的流速模型更贴近真实过程。但在进行了大量的实验研究后,多数研究认为,实验与强制涡流理论的流速模型较为接近,因此多数人认为强制涡流理论较为合理。

2 微控制器LPC2210和操作系统μC/OS-II

LPC2210是PHILIPS公司的一款16/32位ARM7TDMIS型CPU微控制器。它是基于ARM通用体系结构的RISC微处理器,具有低成本、低功耗、高性能等优点。LPC2210CPU支持实时仿真和嵌入式跟踪;具有标准32位ARM指令集和16位THUMB指令集;144管脚封装结构,16 K字节的片内静态RAM,2个32位定时器,8路10位ADC,PWM输出以及多达9个外部中断,通过配置总线可提供76个GPIO;与片内存储器控制器接口为ARM7局部总线,与中断控制器接口为AMBA高性能总线,连接片内外设为VLSI外设总线[3]。

μC/OS-II是专门为中低端嵌入式应用设计的可剥夺型实时操作系统内核,主体用标准的ANSI C语言写成,可移植性极好。μC/OS-II是一个完全抢占式内核,它总是运行最高优先级的就绪任务,但不支持时间片轮转法任务调度。μC/OS-II提供了许多系统服务,如邮箱、信号量、消息队列,内存管理及时间管理等。μC/OS-II可以移植到很多的处理器上,它能运行在大部分的8位—64位的微处理器和数字信号处理器DSP上[4]。

3 系统设计

这个设计主要是将现有的弯管流量计加入图形用户界面支持系统,使其扩展具有无纸记录仪功能,并提供大容量移动存储设备的支持,以及网络通信等。使其增加现场的实时监控,历史数据查看,数据保存和远程通信及维护等功能。

系统的硬件总体方案如图2所示。

4 系统软件设计

根据系统的功能需求,软件设计主要有3个模块。分别为无纸记录仪功能模块,大容量存储模块和网络通信模块。

4.1 无纸记录仪功能模块

带有无纸记录仪功能的显示模块中,设计有实时数据曲线显示,历史数据曲线显示这两个主要图形显示的功能。

实时数据曲线的显示,需要屏幕刷新速度尽可能的快,大于50 Hz,这样人眼就不会察觉图像的闪烁,使得曲线的实时移动更自然。

图2 系统硬件方案组成框图Fig.2 Block diagram of the system hardware solutions

在实际的任务编写中,一屏曲线的显示需要70个点的数据组成。如果每更新一次图像就全屏刷新,处理速度会比较慢,很明显出现闪烁现象。所以在这里使用了一个背景色补画原曲线的方法。通过补画旧曲线,画新曲线,无需刷新背景等其他图形图像。

这里用到两个任务来实现其功能。其中一个任务需要先将当前采集的70点数据转化为坐标放入一个内存缓冲区,另一个任务是另开辟一块同样大小的缓冲区,用来放前1秒的数据坐标,用来补画掉之前的曲线。当显示曲线任务执行时,将指令和数据坐标一起通过串口发送给液晶。液晶先处理补画指令,紧接着处理画新曲线指令,两个指令之间的时间做到尽可能最小,从而达到要求。图3为该功能软件模块的流程图。

图3 取数据坐标任务流程图Fig.3 Flow diagram of take coordinate data

数据点坐标的采集和时间中断这里用到了μC/OS-II操作系统的信号量。如图4所示。

图4 信号量通信原理图Fig.4 Principle diagram of semaphore communication

时间中断后,才可以采集数据,并连同实时时间一起存放到存储器中,每1 s只能保存并显示输出一个数据,所以时间中断和采集存储构成一个单向同步,用到了信号量来使两个任务同步。

4.2 大容量存储模块

串行总线主机控制器和设备控制器选用ISP1161A1。ISP1161A1是一个单片通用串行总线(USB)主机控制器(HC)和设备控制器(DC)。它的主机控制器部分符合通用串行总线2.0 规范,支持全速(12 Mbit/s)和低速(1.5 Mbit/s)的数据传输。ISP1161A1的设备控制器部分也符合通用串行总线2.0规范,支持全速(12 Mbit/s)的数据传输[5]。

ISP1161A1十分适用于仅需要一个USB主机、一个USB器件或一个可配置USB主机和USB器件相结合的嵌入式系统和便携式设备。

这里用到了ZLG/FS文件管理系统,它是面向嵌入式系统的小型文件系统,兼容FAT16,FAT32等文件系统,支持多任务系统,它包括在μC/OS-II下使用的接口代码,方便移植。图5所示写U盘软件流程图。

图5 U盘写数据操作流程图Fig.5 Flow chart of USB flash disk write data operation

4.3 网络通信部分

这里用到了ZLG/IP是面向嵌入式系统开发的小型TCP/IP协议栈。ZLG/IP源码包提供实现Internet网络上IP接点的功能,是个高性能的嵌入式TCP/IP协议栈软件。它使用μC/OS-II实时操作系统的信号机制来实现一个多任务并行可重入的协议栈,支持多种CPU。

传输层有两个协议传输数据:传输控制协议TCP和用户数据报协议UDP。TCP协议是面向连接的一个协议,可靠性高,费用也高;UDP是提供最少服务和费用的传输层协议。TCP/IP中,TCP是基于IP数据帧的传输,能够提供可靠的数据传输服务。图6所示TCP/IP协议下的网络通信软件流程图[6]。

针对于服务器任务,首先建立一个接收数据缓冲区,设定好服务器端SOCKET的IP地址和端口。然后建立一个基于TCP通信的SOCKET,并绑定服务器端的IP地址和监听端口,并检查监听是否正确。等待接受客户端的连接请求并判断连接是否成功。若成功连接,则根据客户端请求的不同指令,发送应答,发送相应数据。数据传送完毕后,清空缓冲区并断开连接。

5 任务的优先级分配

要使上述任务模块在操作系统中合理的调度运行,需要根据不同任务的重要程度,来分配优先级。

由于该项目的首要功能是提供良好的人机界面交互功能,即无纸记录仪功能。它必须具备基本的数据显示、图形显示、数据曲线等直观的显示功能。这些功能要通过处理器将数据及指令经过运算并通过串口传输给液晶,所以必须保证其正常的显示功能任务不能在运行中被挂起变成就需态任务,所以显示任务的优先级应定为最高。

图6 网络通信模块软件流程图Fig.6 Flow chart of network communication module

其次就是键盘的输入,必须能在最短时间内应答用户所按下的按键指令,并将指令传给处理器,根据指令内容来判断如何进行下一步任务。所以键盘模块任务的优先级次之。

之后才是数据采集、运算、保存任务,因为一般情况下,实时数据的显示至少需要1 s更新一次。所以在1 s内,有足够的剩余时间将这些任务运行处理完毕。采集,运算和存储任务,是通过一个系统的一个软定时中断来处理的。

大容量数据转移存储任务和通信模块任务并不要求很高的实时性,只要保证其稳定性即可达到设计要求,所以这两个任务的优先级最低。

6 结束语

本系统完成了基于ARM与μC/OS-II的嵌入式系统研究,并设计应用于弯管流量计中,使其增加了现场的实时监控,历史数据监控,数据保存和远程通信及维护等功能。根据功能优先程度的不同,合理的分配任务优先级,在操作系统基础上良好地运行,达到了设计要求。

[1]Addison H.The use of pipe bends as flow meter[J].Engineering,1938.

[2]Spink L K.Principles and practice of flow meter engineering[M].Massachusetts:The Foxboro Company, 1958.

[3]PHILIPS.LPC2210 Datasheet[EB/OL].(2008) [2011-08-01].http://www.nxp.com/documents/data_sheet/LPC2210_2220.pdf.

[4]Labrosse J J.嵌入式实时操作系统μC/OS-II[M].2版.北京:北京航空航天大学出版社,2003.

[5]ISP1160 Embedded universal serial bus host controller Rev.05[EB/OL]. (2004)[2011-08-01].http://www.mouser.com/catalog/specsheets/ISP1160-05.pdf.

[6]穆著.嵌入式TCP/IP协议的实现[D].西安:西北工业大学,2002.

猜你喜欢

流程图嵌入式指令
ARINC661显控指令快速验证方法
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
杀毒软件中指令虚拟机的脆弱性分析
专利申请审批流程图
专利申请审批流程图
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法
宁海县村级权力清单36条
Altera加入嵌入式视觉联盟