




已阅读5页,还剩74页未读, 继续免费阅读
(检测技术与自动化装置专业论文)嵌入式网络仪器的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北工业大学硕士学位论文 摘要 油田基本生产信息的获得对指导石油生产有重要的意义。目前油田的生产信息 都是由井站的石油员工手工记录,然后送上级部门汇总。国内的油田大都远离工业 区,交通不便,油田基本生产信息的采集成本很大。为了解决这个问题,论文引入 了“嵌入式网络仪器”的概念,该仪器内含嵌入式网络服务器,利用井站仅有的对 外通讯手段一一电话,可以拨号登录到该服务器,从而实现油田基本生产信息的网 络传输。 论文研究了嵌入式网络仪器的组成和实现。嵌入式网络仪器由两部分组成:控 制部分m i c r o c o n t r o l l e r 和网络部分m i c r o s e r v e r 。m i c r o c o n t r o l l e r 实现仪器的控制和 数据的采集。m i c r o s e r v e r 实现网络通讯功能。 兼顾性能与成本等因素,论文完成了m i c r o c o n 昀l l e r 的硬件设计。主要包括液 晶显示电路、微型打印机接1 2 1 、标准键盘接口的设计。论文应用面向对象设计的思 想,完成了m i c r o c o n t r o l l e r 的软件系统设计。 论文简要介绍了t c p i p 协议( 传输控制协议网际协议) ,完成了m i c m s e r v e r 的软件设计。从p p p ( 点到点协议) 协商实例出发,对标准p p p 协商状态机进行了 简化,并完成了p p p 协议的软件实现。面向用户需求,精简了t c p i p 协议,完成 了i p 、i c m p ( 互联网控制报文协议) 和t c p 协议的软件设计。随后,简化了h 兀p 协议( 超文本传输协议) ,实现了嵌入式网络服务器,完成了油田生产信息的网络传 输。 在实现仪器功能的基础上,m i c r o c o n t r o l l e r 的软件设计引入了实时操作系统 u c o s - i i ,提高了m i c r o c o n | f r o l l e r 的实时性。 关键词:嵌入式网络仪器嵌入式网络服务器面向对象设计 点到点协议传输控制协议 实时操作系统 西北工业大学硕士学位论文 a b s t r a c t t h e p a p e r h a sr e s e a r c h e dt h es t n l c t l 髓a n d i m p l e m e n t a t i o no f e m b e d d e d n e t w o r k i n s t r u m e n t ( e n i ) e n ic o n s i s t so f t w op a r t s ,o n en a m e dm i c m c o n t r o l l e rf o ri n s t r u m e n t c o n t r o la n dd a t a a c q u i s i t i o n ,t h eo t h e r c a l l e dm i c r o s e r v e rf o rn e t w o r kc o m m u n i c a t i o n t h eh a r d w a r ed e s i g no fm i c r o c o n t r o l l e rt a k e si n t oa c c o u n tp e r f o r m a n c ea n dc o s t a n di n c l u d e sc i r c u i t sd e s i g no f l c d ,m i c r o p r i n t e ra n ds t a n d a r dk e y b o r a d t h es o t t w a r e d e s i g no f m i c r o c o n t r o l l e rm a k e s u s eo f t h ei d e ao f o b j e c to r i e n t e dd e s i g n t h es o r w a r ed e s i g no fm i c r o s e r v e rs t a r t sw i t hab r i e fi n t r o d u c t i o n o ft c p i p p r o t o c o l s b a s e d o np p p n e g o t i a t o ns e q u e n c ee x a m p l e s ,t h ep p p n e g o t i a t i o n s t a t em a c h i n e i s s i m p l i f i e da n dt h es o t t w a r ed e s i g no fp p pp r o t o c o li sa c c o m p l i s h e d t h et c p i p p r o t o c o l s i sc o n d e n s e di nt h e l i g h to f u s e rr e q u i r e m e n t ,a c c o r d i n g l y , t h es o t w a r ed e s i g no f p r o t o c o l si si m p l e m e n t e ds i m p l i f i e dt h eh t l pp r o t o c 0 1 t h ee m b e d d e dw e bs e r v e ri s i m p l e m e n t e d f u r t h e r , t h ep a p e ri n t r o d u c e s r e a lt i m e o p e r a t i n gs y s t e mu c o s i i t ot h e m i c r o c o n t r o l l e rt oi m p r o v ee n ir e a lt i m e p e r f o r m a n c e k e y w o r d s :e m b e d d e d n e t w o r ki n s t r u m e n te m b e d d e dw e b s e r v e r p o i m t op o i n tp r o t o c o l t r a n s p o r tc o n t r o lp r o t o c o l o b j e c to r i e n t e dd e s i g nr e a lt i m e o p e r a t i n gs y s t e m 西北工业大学硕二 学位论文 i i 引言 第一章绪论 油田基本生产信息的获得对指导石油生产有重要的意义。目前,油田的产量信 息都是由井站的石油员工手工记录,然后汇集成为表格,送上级部门汇总,上级部 门根据这些基本的信息对生产进行控制。国内的油田大都远离工业区,交通不便, 油f ;:r 基本生产信息的采集成本很大。为了解决这个问题,论文引入了“嵌入式网络 仪器”的概念。该仪器内含嵌入式网络服务器,利用井站仅有的对外通讯手段一一 电话,可以拨号登录到该服务器,从而实现油田基本生产信息的网络传输。 嵌入式网络仪器由两部分组成:控制部分m i c r o c o n t r o l l e r 和网络部分 m i c r o s e r v e r 。m i c r o c o n t m l l e r 是一个小型的简单的控制系统,实现仪器的控制和数 据的采集。m i c r o s e r v e r 实现网络通讯功能。这两者都属于“嵌入式系统”的范畴。 1 2 嵌入式系统 嵌入式系统阢1 列( e m b e d d e ds y s t e m ) 的定义是:以应用为中心、以计算机技术为 基础、软件硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格 要求的专用计算机系统。 嵌入式系统的最大特点是“以应用为中心”。从某种意义上来说,通用计算机行 业的技术是垄断| 生的。占整个计算机行业9 0 的p c 产业,8 0 采用i n t e l 的x 8 6 体系结构,芯片基本上出自i n t e l 、a m d 、v 队等几家公司。在几乎每台计算机登备 的揉作系统和文字处理器方面,m i c r o s o f t 公司的w i n d o w s 及w o r d 占8 0 9 0 的市 场。因此,当代的通用计算机工业被认为是由w i n t e l ( m i c r o s o f l 和i n t e l 9 0 年代初建 立的联盟) 垄断的工业。嵌入式系统则不同,嵌入式系统工业是不可垄断的高度分散 的工业,充满了竞争、机通与仓新,没有那一个系列的处理器和操作系统能够垄断 全部市场。即便在体系结构上存在着主流,但各不相同的应用领域决定了不可能由 少数公司、少数产品垄断全部市场。因此嵌入式系统领域的产品和技术,必然是高 度分散的,留给各个行业高新技术公司的创新余地很大。 西北工业大学硕士学位论文 有的系统要求实时眭好,有的系统要求可靠性高,有的则要求功耗低,多样化 的需求决定了嵌入式系统工业的高度分散,高度创新。可见嵌入式系统的最大特点 是“以应用为中心”。 1 3 r t o s 的引入 目前嵌入式应用领域的一个发展方向是采用实时操作系统【1 卅( r t o s r e a l t i m e o p e r a t i n gs y s t e m ) 。过去一个单片机应用程序所控制的外设和履行的任务不多, 采取一个主循环和几个顺序调用的子程序模块即可满足要求。随着应用的复杂化, 一个嵌入式控制器系统可能要同时控制很多外设,响应要实时,有很多任务要处理, 各个任务之间有多种信息传递。如果仍采用原来的程序设计方法,就会存在两个问 题:一是中断可能得不到及时响应,处理时间过长。这对于一些控制场合是不允许 的:二是系统任务多,要考虑的各种可能也多,各种资源如果调度不当就会发生死 锁,软件可靠性变低,程序编写任务量成指数增加。 r t o s 是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运 行于r t o s 之上的各个任务。r t o s 根据各个任务的要求,进行资源( 包括存储器、 外设等) 管理、消息管理、任务调度、异常处理等工作。在r t o s 支持的系统中,每 个任务均有一个优先级,r t o s 根据各个任务的优先级,动态地切换各个任务,保 证对实时性的要求。工程师在编写程序时,可以分别编写各个任务,不必同时将所 有任务运行的各种可能情况记在,t l , 中,大大减小了程序编写的工作量,而且减少了 出错的可能,保证最终程序具有高可靠性。 r t o s 体现了一种新的系统设计思想和个开放的软件框架,工程师可以在不 大量变动系统其它任务的情况下增加或去掉一个任务。一个项目开发的过程中,可 以有多个工程师同时进行系统的软件开发,大家只要定义好重要的数据结构、变量 和函数功能即可,既缩短了开发时间,又降低了最终软件产品对于具体开发者个人 的依赖性。因此可以说r t o s 是嵌入式软件的编写从“小生产方式”进入“大生产 方式”的必然产物。 2 两北工业大学硕士学位论文 1 4i n t e r n e t 化 19 9 8 年1 1 月在美国加州圣何塞举行的嵌入式系统大会上,基于r t o s 的 e m b e d d e di n t e m e t 成为一个技术新热点【1 2 _ 13 1 。 i n t e m e t 是覆盖率极广、联网设备众多、协议完善、功能强大的一种通信方式, 已经成为社会重要的基础信息设施,是重要的信息流通渠道。具备互联网络的接入 功能,已经成为嵌入式系统的发展方向之一。 使用互联网络的接入功能将给嵌入式系统带来很多好处:幂u 用无所不在的互联 网络,可以从全球的任何一个角落实现对设备的监控;利用开放的t c p i p 网络通 信协议,任何的计算机都可以使用通用的网络浏览软件访问设备,不需要专门的计 算机和专门的软件;设备的信息通过网页的形式体现,可以使用数据、图表、动画 等各种丰富的表现方式。例如,将世界各地的气象站、水文站联入i n t e m e t ,不仅可 以随时了解当时各地的状况,而且可以实现无人监控;通过i n t e m e t 对住宅进行远 程监测与控制( 如室内温度监测,空调遥控等) ;跨国公司对国外的工厂、生产线的 监控;大型设备的远程管理与维护等。 嵌入式网络仪器的技术核心是嵌入式n 络服务器( e m b e d d e dw e bs e r v e r ) 的实 现。嵌入式仪器接入i n t e m e t 成为网络仪器有很多种解决方案1 5 , 1 8 】,这里以三种方 案示例: 第一种解决方案是3 2 位微处理器,外加r t o s 。这种方案是采用3 2 位单片机, 例如a r m 系列芯片、m i p s 芯片、m o t o r o l a 的m p c 8 x x 、i n t e l 的x 8 6 等,在r t o s 的软件平台上进行开发。该方案既可以实现复杂的仪器功能,也可以实现t c p i p 协议的处理。 第二种解决方案是由低档的八位机组成嵌入式仪器,采用专用的网络( r s 2 3 2 、 r s 4 8 5 、c a n b u s 等) 把若干个嵌入式仪器连接在起。该网络再与p c 机相连。把 p c 机当作网关,由p c 机把该网络上的信息转换为t c p i p 协议数据包。发送至t j i n t e m e t 上实现信息的共享。 第三种解决方案是由八位单片机组成直接接入i n t e m e t 的嵌入式网络仪器。如 z w o r d 公司的r a b b i t 2 0 0 0 、s e i k o 公司的s 7 6 0 0 、u b i c o m 公司的s x 5 2 等单片机,这 类单片机本身支持t c p i p 协议栈。该方案具有如下优点:( 1 ) 不依赖p c 机或高档单 西北工业大学硕士学位论文 片机实现8 位单片机系统直接接入i n t e m e t ,整个系统完全自给自足;( 2 ) 使用外围器 件少,系统成本低;( 3 ) 商业公司精制的t c p i p 协议栈,开发周期短,开发成本低。 嵌入式系统的最大特点是“以应用为中心”。结合油田产量计量系统的实际需 求,对三种方案评价如下:方案一适用于高端用户,任务重,控制复杂的场合,与 此相应的是仪器的成本很高,如果采用该方案,资源浪费,不切合实际:方案二是 一个集散控制系统,利用现场总线把多个仪器联接在一起,是未来发展的方向,目 前油田的井站自动化仪器数目很少,每个井站都配备一个工业控制计算机还不现实; 方案三优点很多,缺点是开发投入大,软件的集成开发环境,硬件的仿真板都是价 格不菲。 主要参照第三种方案,论文确定了嵌入式网络仪器的解决方案:八位5 1 系列单 片机直接接, k i n t e m e t 。该方案具有如下优点:( 1 ) 5 1 系列单片机是国内应用最广的微 控制器,系统成本低:( 2 ) t c p i p 软件协议栈具有广阔的推广价值,为广泛应用的5 l 系列嵌入式系统的i n t e r n e t 化提供了一个解决方案。 4 西北工业大学硕士学位论文 第二章仪器控制部分的研究 第一节系统的总体结构 嵌入式网络仪器由控制部分m i c r o c o n t r o l l e r 和网络部分m i c r o s e r v e r 组成。 m i c r o c o n t r o l l e r 是一个小型的简单的控制系统,实现仪器的控制和数据的采集。 m i c r o s e r v e r 实现网络通讯功能。 在仪器内部集成一个嵌入式网络服务器,授权用户可以在任何有电话的地方, 通过i n t e m e t i n t r a n e t 控制或管理设备:系统设计者也可以通过网络对仪器进行动态 的配置,对仪器软件进行升级,对仪器进行必要的维护工作。 仪器在网络中的位置如图2 1 所示: 图2 1 仪器在网络中的位置 上图未示出m i c r o c o n t r o l l e r 部分,该部分通过双口r a m ( r a n d o ma c c e s s m e m o r y ,随机存储i n ) 和i v l i c r o s e r v e r 交换信息。嵌入式网络仪器的控制和网络通 讯功能是由两块c p u ( c e n t r a lp r o c e s s i n gu n i t ,中央处理单元) 实现,这是模块化 设计的思想。这一思想为系统的推广和升级提供了便利。 第二节m ic r o c o n t r ol le r 的硬件设计 2 2 1 计量原理 2 2 1 1 计量罐计量原理 计量控制器首先检查计量罐液位,若液位低于下液位浮球开关位置( 下液位是 西北工业大学硕士学位论文 低电平) ,则关闭排油泵,打开进油泵,计量罐开始进油。计量控制器不断检查计量 罐液位,当液位刚好到达下液位浮球开关位置时( 下液位变成高电平) ,开始计时。 计量罐在不断进油,当液位刚好到达上液位浮球开关位置时( 上液位变成高电平) , 计量的罐数加1 ,关闭进油泵,打开排油泵,计量罐开始排油。当液位刚刚低于下 液位浮球开关位置( 下液位变成低电平) ,表示计量罐已空,开始下一罐计量。此过 程循环往复,直至记录的罐数等于预先设定的罐数为止( 或者预设的累计时间到) , 同时,也停止计时,设累计计量时间为t 。 产量计算公式:c = v n 2 4 6 0 t c 一一日产量( 单位:升天) v 一一量罐容积( 单位:升) n 一一罐数 t 一一累计计量时间( 单位:分钟) 2 2 1 2 缓冲罐计量原理 缓冲罐计量原理与计量罐计量原理类似。 2 2 1 3 加热控制 当温度过低时,原油的流速会变慢,使得计量时间大大加长。因此需要用加热 器使油温保持在一定范围。 当油温低于设定下限值,自动启动加热器加热,直到油温达到设定的上限值, 停止加热。当油温再次降低到初值,重复以上过程。 2 2 2 m i c r o c o n t r o l l e r 的设计要求 m i c r o c o n t r o l l e r 的设计要求为: 1 计量罐的参数设置,计量罐的计量控制。 计量信息的实时液晶显示,计量结果的打印。 计量信息的实时声音指示,实时灯光指示。 2 缓冲罐的参数设置,缓冲罐的计量控制。 计量信息的实时液晶显示,计量结果的打印。 计量信息的实时声音指示,实时灯光指示。 3 加热参数设置,加热控制。 6 西北工业大学硕士学位论文 4 时钟管理功能。 5 手动故障处理。 6 历史计量记录的查询和打印。 7 由于工作环境比较恶劣,因而要求系统具有较高的可靠性。 8 提供友好的人机界面,实现人机交互。 2 2 3 硬件方案设计 m i c r o c o n t r o t l e r 的原理框图如图2 2 所示: 广一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一1 l 一 图2 2m i c r o c o n t r o l l e r 的原理框图 根据所要完成的功能,可将m i c r o c o n t r o l l e r 分为几个模块伸】: c p u 模块 液晶显示器模块 标准键盘模块 微型打印机模块 信号输入模块 存储器模块 驱动器模块。 西北工业大学硕士学位论文 2 2 4 硬件详细设计 2 2 4 。1c p u 的选择 c p u 是m i c r o c o n t r o l l e r 的核心,它完成m i c r o c o n t r o l l e r 的所有控制功能,包括信 号处理,信号输出,以及各个智能外设的控制等。考虑到功能要求和开发环境支持, c p u 选用了p h i l i p s 公司的5 l 系列单片机p 8 9 c 5 8 ,它内含3 2 j y t e 的f l a s h 存储 器,它是8 0 c 5 1 微控制器的派生器件,采用先进c m o s2 1 2 艺制造,指令系统与8 0 c 5 1 完全相同。 p 8 9 c 5 8 的特点如下: 8 0 c 5 1 核心处理单元 片内3 2 k b v r e 的f l a s h 程序存储器 速度可达3 3 m h z 4 个中断优先级 6 个中断源 4 个8 位i o 口 全双工u m 异步端口复位 3 个1 6 位定时器。 2 2 4 2 液晶显示器 液晶显示器( l c d l i q u i d c r y s t a l d i s p l a y ) 具有体积小、功耗低、质量轻等优 点,因此广泛应用于各种智能型仪器和低功耗电子产品中。点阵式l c d 不仅可以显 示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚 动、动画、闪烁等功能,用途十分广泛。 m i c r o c o n l r o l l e r 的液晶显示器选用的是2 4 0 列1 2 8 行,内置t 6 9 6 3 c 控制 器的图形液晶模央m g l 2 4 0 1 2 8 t a 。t 6 9 6 3 c 液晶显示控制器多用于中小规模的液 晶显示器件,以内藏控制器型图形液晶显示模块的形式出现。该液晶模块的特点是: t 6 9 6 3 c 控制器是点阵式液晶图形显示控制器,能直接与8 位微处理器接 口。 t 6 9 6 3 c 的字符字体可以由硬件或者软件设置,其字体有4 种:5 8 、6 西北工业大学硕士学位论文 x 8 、7 8 、8 8 。 t 6 9 6 3 c 可以图形方式、文本方式及图形和文本合成方式进行显示,以及文 本方式下的特征显示,还可以实现图形拷贝功能。 t 6 9 6 3 c 具有内部字符发生器c g r o m ,共1 2 8 个字符。t 6 9 6 3 c 可管理6 4 k 显示缓冲区,并允许微处理器随时访问显示缓冲区,甚至可以进行位操作。 m g l 2 4 0 1 2 8 t a 是单电源供电,内部带有随温度补偿的液晶驱动电压转换 电路,当工作温度变化时,无须手动调节液晶的驱动电压。 1 m g l 2 4 0 1 2 8 t a 的管脚定义 m g l - 2 4 0 1 2 8 t a 模块共有2 0 个引脚,各引脚定义如表2 1 所示 耙1 液品模块引脚定义 序号符号功能说明 lf g 边框地。用于防静电,应与大地连,禁止悬空 2v s s 数字地 3v d d 逻辑电源+ 5 v 4 v 0 空 5胍 写信号 6瓜d 读信号 7c e片选信号 8 指令数据通道 9a t s t 复位信号 1 0d b o 1 1d b l 1 2d b 2 1 3d b 3数据线 1 4 d b 4 1 5d b 5 1 6d b 6 1 7d b 7 1 8f s 字体选择。f s = i 选8 x 6 点阵:f s = o 选8 x 8 点阵。 1 9l e d + l e d 背光正电源( 注i ) 2 0l e d l e d 背光负电源 注1 :l e d 是l i g h te m i t t i n gd i o a e 的简写,表示发光二级管a 2 m g l 2 4 0 1 2 8 t a 的指令系统 ( i ) 指针设置指令:光标指针设置,显示缓冲区的地址指针设置。 ( 2 ) 显示区域设置指令:设置文本区首址和宽度,设置图形区首址和宽度。 ( 3 ) 显示方式设置指令:设置字符发生器,设置合成显示方式。 9 西北工业大学硕士学位论文 ( 4 ) 显示开关指令:光标闪烁开关,光标显示开关,文本显示开关,图形显示开 关。 ( 5 ) 光标形状选择指令:选择光标形状。 ( 6 ) 数据自动读写设置指令:设置自动写,设置自动读,结束自动读写。 ( 7 ) 数据一次读写指令:一次读写数据。 ( 8 ) 屏读指令:读屏上的某一字节数据。 ( 9 ) 屏拷贝指令:将一行内容拷贝至另一行。 ( 1 0 ) 位操作指令:将显示缓冲区某单元的某位清零或置1 。 3 c p u 系统与m g l 2 4 0 12 8 t a 的接口 m g l - 2 4 0 1 2 8 t a l 羽形液晶显示模块的接口时序与p 8 9 c 5 8 单片机的读写时序是 相匹配的。图形液晶显示模块与单片机的连接方式有两种:一种为直接访问方式, 一种为间接访问方式。 直接访问方式就是将液晶显示模块的接i t 作为存储器或设备直接挂在单片机 总线上,单片机以访问存储器或i o 设备的方式操作液晶显示模块的工作。 间接访问方式是单片机通过自身或系统中的并行接口与液晶显示模块连接。例 如,p 8 9 c 5 8 的p 1 口和p 3 口或者8 2 5 5 并行接口芯片。单片机通过对这些接1 :3 的操作以 达到对液晶显示模块的控制。这种方式的特点是控制时序由软件实现,接口电路的 通用性好,可以实现高速单片机与液晶显示模块的接口。 c p u 系统采用间接访问的方式。接线如下: d b 0 , - - d b 7 接8 2 5 5 的b 口 w r 、r d 接p 1 口的p 1 3 、p 1 4 c e 、c d 接p l 口的p 1 0 、p 1 1 r s t 接p 1 口的p 1 2 v d d 接+ 5 v 电源 v s s 、f g 、f s 接电源地 l e d + 接+ 5 v 电源 l e d 一 接电源地。 按照m g l 2 4 0 1 2 8 t a 的指令系统,向显示缓冲区写入不同数据,就可以实现字 符或图形的显示。 西北工业大学硕士学位论文 2 2 4 3 标准键盘 相对定制的键盘,标准键盘瞄崦急定性好,使用方便,价格便宜。m i c r o c o n t r o l l e r 选用了1 7 键标准键盘,其外形如图2 3 所示: 图2 - 31 7 键标准键盘 1 标准键盘的通讯接口 标准键盘和鼠标一样,都是通过6 芯的p s 2 接口和计算机相连。p s 2 接口的插座外形如图2 4 所示。1 脚是数据线,3 脚是地线,4 脚是电源线, 5 脚是时钟线,2 脚和6 脚悬空。 2 标准键盘的通讯协议 m o u s e ( p s l 2 ) ? 鳓: 2 k 1 ( a tt h ec o m p u t e r ) 图2 4p s 2 接口 标准键盘和计算机采用双向通讯方式,键盘可以发送数据给计算机,计算机也 可以给键盘发送数据。通讯协议是标准的串行异步通讯格式,1 位起始位,8 位数据 位( l s b 在先,l s b - - l e a s ts i g n i f i c a n tb i t 权值最低位) ,1 位奇校验位,最后是一位 停止位。 双方通讯的时序图参见文献【2 2 】,无论键盘是接收或者发送数据,通讯的时钟 信号都是由键盘产生。 西北工业大学硕士学位论文 3 标准键盘的扫描码 一个基本按键的扫描码由3 个字节组成,1 个字节的接通扫描码和2 个字节的断 开扫描码。其中第一和第三个字节相同,中间字节是断开标志f o h 。例如0 键的接 通扫描码是7 0 h ,断开扫描码是f 0 t t7 0 h 。 4 标准键盘命令 ( 1 ) 计算机发给键盘的命令 e d h :设置状态指示灯。该命令可以控制n u ml o c k 灯的亮灭。 e e h :回声命令。 f o h :设置扫描码类型。上电复位后,键盘默认扫描码类型是0 2 ,扫描码格 式是前面所介绍的格式。叭类型扫描码由两字节组成,分别为接通扫描 码和断开扫描码。0 3 类型扫描码只有一个字节,为接通扫描码。 f 3 h :设置键盘重发速率。 f 4 h :键盘使能命令。 f 5 h :禁止键盘命令。 f e h :重发命令。 f f h :复位命令。 ( 2 ) 键盘发给计算机的命令 0 0 h :设置状态指示灯。该命令可以控制n u ml o c k 灯的亮灭。 a a h :回声命令。 e e h :设置扫描码类型。上电复位后,键盘默认。 f a i l :设置键盘重发速率。 f e h :键盘使能命令。 f f h :禁止键盘命令。 5 c p u 系统与标准键盘的接口 电源线( 4 脚) 接+ 5 v 电源,地线( 3 脚) 接电源地,数据线( 1 脚) 接p 3 口的p 3 4 ,时钟线( 5 脚) 接p 3 口的p 3 5 。 标准键盘是一个智能外设,占用了c p u 系统两根口线资源,相对于8 2 5 9 的键 盘方案硬件要简单的多,当然,标准键盘也占用了c p u 系统一定的软件资源。 2 2 44 微型打印机 2 西北工业大学硕士学位论文 微型打印机选用了北京讯普电子技术公司的嵌入式微型打印机d 1 6 1 0 p k 。每行 可打印6 个1 6 1 6 点阵的汉字。 d 1 6 1 0 p k 通过c e n t r o n i c s 并行打印机接口和c p u 系统连接,接口连接器为2 6 线双排针型插座,信号定义如表2 2 所示: 表2 2 打印机接口定义 2 5 2 32 】1 91 71 51 3i i9 7 53l s e l p eb u s ya c kd b 7d b 6d b 5d b 4d b 3d b 2d b ld b 0s t b n cg n dg n dg n d g n dg n dg n d g n dg n d n c n c ,e r rn c 2 6 2 42 22 0i 81 61 41 21 08 6 42 打印机的输出信号是:b u s y ,a c k ,s e l ,p e ,e r r ; 打印机的输入信号是:s t b d b d b 7 。 打印机与c p u 系统的连线如下: d b d b 7接8 2 5 5 的a 1 2 1 : s t b接8 2 5 5 的p c i b u s y 接p 3 口的e l o ( 步f 部中断1 1 a c k悬空 p e接电源地 s e l 接8 2 5 5 的p c 2 e r r 接8 2 5 5 的p c 4 n c 悬空 g n d 接电源地 2 2 4 5 串行e e p r o m m i c m c o n t r o l l e r 选用了x i c o r 公司的e e p r o m 芯片x 5 6 4 5 。该芯片特点是: 内含 6 4 k b i t s 串行e e p r q m 。 内含上电复位电路。 内含电源电压监控电路。 内含看门狗定时器。 3 线s p i 接m ( s p i s e r i a lp e r i p h e r a li n t e r f a c e ,串行外围接口) 。 m i c r o c o n t r o l l e r 把油井的产量信息存储在x 5 6 4 5 ,仪器可以存储5 0 0 m 井的产 量信息,一口井的产量信息占用1 6 b y t e s ,5 0 0 1 井占用8 0 0 0 b y t e s 的空间。剩余的 l3 西北工业大学硕士学位论文 1 9 2 b y t e s 用于工作现场保存和系统的其他应用。 普通的井站每天可以计量1 0 1 3 油井的产量信息,仪器可以连续存储5 0 天的计量 信息。 2 2 4 6 其他模块的设计 1 电流信号采集模块 m i c r o c o n t r o l l e r ;有- 四路4 2 0 r n a 的输入电流信号,该信号代表温度值。电流信号 经过调理后变为0 5 v 的电压信号,然后由模数转换芯片a d c 0 8 0 9 变为数字量送给 c p u 处理。 2 离散量采集模块 m i c r o c o n t r o l l e r 有四路离散量信号该信号代表液位高低。高电平为2 4 v ,低电 平为o v 。离散量信号经过电阻分压后给光耦,光耦的次级接滞回特性的反相器,反 相器的输出即为r r l 信号( t t l - t r a n s i s t o r t r a n s i s t o r l o g i c ,晶体管晶体管逻辑) 。c p u 通过扩展的并行接口读入该m 信号。 3 驱动输出模块 c p u 系统的1 v i 乙输出信号经过达林顿型驱动u l n 2 8 0 3 转换为大电流信号,该大 电流信号直接驱动负载指示灯和负载扬声器。该大电流信号也用来控制继电器的开 合,继电器的开关用来控制交流接触器,交流接触器的负载是大功率的交流电机。 4 实时时钟 实时时钟选用了d a l l a s 公司的d s l 2 c 8 8 7 芯片。它内含锂电池,可以在无外 加电源的情况下连续工作十年。它提供秒、分钟、小时、天、月和年信息,可以方 便的与i n r e l 和m o t o i l a 公司的处理器接口。 5 并行接口扩展电路 c p u 系统用两片8 2 5 5 扩展了并行接1 2 1 。它提供t c p u 系统与液晶的数据线接口, c p u 系统与微型打印机的数据线接口,它完成多路离散量的输出输入处理。 6 内存扩展电路 考虑到m i c r o c o m r 0 i l e r 的实际需求以及将来的升级,选用了8 位8 k b y t e s 的内存芯 片6 2 6 4 。 7 r s 2 3 2 通讯电路 选用了a x 2 3 2 完成系统与计算机的串行通讯。 4 西北工业大学硕士学位论文 8 舣口r a m m i c r o c o n t r o l l e r 手f l m i c r o s e r v e 逋过双d r a m 交换信息。系统选用了i d t 公司的 芯片7 1 3 2 i d t ,它的容量是2 k 8 b i t 。 9 电源模块 考虑到系统的实际工作环境,选用了输入范围很宽的电源模块:h a r v e s t 公 司的h a s l 5 - 2 4 - w 和h a s l 5 - 5 一w 。该模块的正常工作电压是交流2 2 0 v 。当工作电压 是交流8 5 2 6 5 v 时,电源模块也可以正常工作。 第三节m ic r o c o n t r ol le r 的软件设计 2 3 i 软件系统功能概述 软件系统包含键盘操作,液晶屏幕显示和计量控制等。软件系统配合硬件系统, 完成m i c r o c o n t r o l l e r 的所有功能。 软件系统的功能如下图所示: 图2 5 软件系统功能图 系统功能简介: 1 计量控制功能。计量控制包括单井计量控制,缓冲罐控制和加热控制三个子功 西北工业大学硕士学位论文 能。这部分是系统最重要的功能。按照计量原理,完成油井的产量计量。也包 括计量信息的液晶显示,打印,存储以及查询历史计量信息。 2 设置功能。设置计量参数,只有设置好计量参数,才能进行计量。设置时间参 数,以供在存储测量数据时,一并记录日期时钟资料。设置系统密码,只有授 权的用户才可以操作仪器。 3 排油及自检功能。手动进行计量罐的排油,手动进行缓冲罐的排油,以及系统 的自检。 2 3 2 软件系统设计 2 3 2 1 系统的主程序流程 从模块化的角度,软件系统可以分为三个相对独立的子模块:键盘处理模块 液晶处理模块和计量控制模块。软件系统的主程序流程如图2 6 所示: 图2 6 软件系统主程序流程图 时钟中断是一个中断事件,给软件系统提供时间信息。系统的初始化工作包括: 变量初始化,看门狗初始化,实时时钟初始化,键盘初始化,接口芯片初始化,系 统密码初始化和工作现场恢复。 2 3 2 2 键盘处理模块 标准键盘和主控板通过两根线连接在一起,一根是数据线,一根是时钟线。当 西北工业大学硕士学位论文 有键按下时,时钟线和数据线上都有信号产生。软件系统检测这些信号的变化,井 进行相应的处理。 键盘处理模块的流程如图2 7 所示: 图2 7 键盘处理模块流程图 2 3 2 3 液晶处理模块 仪器有1 4 个主液晶屏幕:系统开机屏幕,密码验证屏幕,参数设置屏幕,单井 计量参数设置屏幕,缓冲罐参数设置屏幕,加热参数设置屏幕,时间密码设置屏幕, 设备运行屏幕,单井计量控制屏幕,缓冲罐控制屏幕,加热控制屏幕和单井计量结 果查询屏幕。仪器还包括故障提示等辅助液晶屏幕。 图2 8 和图2 9 是两个主液晶屏幕的示例: 一下限温度设定( 0 9 9 度) + 一上限温度设定( o 9 9 度) 图2 8 加热参数设置屏幕 西北工业大学硕士学位论文 。1 。 i 单井计量控制 一 停止出2 0 3 一0 0 ;查询0 2 0 0 :0 0 :一 打印0 00 0 :0 0 卜 l , 图2 9 单井计量控制屏幕 状态信息 计量控制键状态提示井号 查询键预设计量罐数起始时间 打印键已计量罐数当前时间 可以看到,液晶的显示信息是很全面的。液晶的每一个字符都需要有准确的坐 标信息,每一个液晶屏幕都要对2 1 个键盘操作进行相应的响应,有的液晶屏幕还需 要对油井的信号进行响应。因此屏幕控制是整个软件系统的难点。 通过对1 4 个主液晶屏幕功能的全面分析,提取所有屏幕共同的功能特点,受面 向对象设计思想的启发,屏幕控制模块的流程如图2 1 0 所示 屏幕初始化 屏幕功能处理 图2 1 0 屏幕控制模块的流程图 “屏幕初始化”完成屏幕的初始显示信息,“屏幕功能处理”完成对键盘和油 井信号的响应。具体的程序代码如下所示( 以“设备运行屏幕”为例) : v o i d d e v i c e r u n m e n u ( v o i d ) s w i t c h ( s t a t e d e v i c e r u n ) c a s eo :d e v i c e r u n l n i t 0 ; b r e a k ; c a s e1 :m e a s u r e c t r l m e n u ( ) ;b r e a k ; c a s e2 :b u f f e r c t r l m e n u ( ) ; b r e a k ; c a s e3 :h e a t c t r l m e n u ( ) ; b r e a k ; c a s e5 :d e v i c e r u n 0 ; b r e a k ; d e f a u l t : b r e a k ; ) ) 酲北工业大学硕士学位论文 当s t a t e d e v i c e r u n 状态变量为零时,完成“设备运行屏幕”的初始化工作;当 s t a t e d e v i c e r u n 状:态变量为5 时,完成“设备运行屏幕”的功能处理工作:当 s t a t e d e v i c e r u n 状态变量为l ,2 ,3 时,进行该屏幕的子屏幕的处理。上面的示例代 码也显示了该屏幕和子屏幕的调用关系。 所有1 4 个主液晶屏幕的控制思想都和“设备运行屏幕”是样的,每个屏幕都 是一个对象,这些对象的行为和表现是一致的,这就是面向对象设计思想的体现。 这样设计的好处是:简单明了的实现了屏幕控制功能,清晰了屏幕间调用关系,大 大降低了控制的复杂性。 这里,进一步讨论“光标移动控制”问题。每一个主液晶屏幕都要响应四个光 标移动键:ti 一一。如何设计软件,使问题能够简化呢? 问题分析:以“单井计量参数设置屏幕”为例,见图2 1 1 。 _ 一单井计量累计时间 ( 2 小时3 0 分) 出油超时报警时间( 默认3 0 分) 卜容量( 1 9 9 9 9 9 9 升默认值2 0 0 升) 图2 11 单井计量参数设置屏幕 用“x ”表示可以输入的量,则屏幕变形后,如下所示。注意光标的移动范围 正好是所有“x ”出现的位置。汉字和冒号以及空格部分是固定不变的。 井号x x x x x x 罐数) 计量时间x x :x x 排油超时x x :x x 量罐容量x x x x x x 一个液晶屏幕可以显示为4 乘1 6 个a s c i i 字符,一个汉字占据两个a s c i i 字符的 位置。如果用坐标 x ,y 表示位置,x 取值为,y 取值为0 - - 1 5 ,则光标的移动范围 是: 0 ,4 0 ,5 ) 0 ,6 ) 0 ,7 ) 0 ,8 ) 0 ,9 , 0 ,1 4 ) 0 ,1 5 ) 1 ,1 0 1 ,1 l , 1 ,1 3 ) ( 1 ,1 4 ) , 2 ,l o 2 ,1 1 ) , 2 ,1 3 ) f2 ,1 4 , 3 ,1 0 ) 3 ,1 1 ) 3 ,1 2 ) 3 ,1 3 ) 3 ,1 4 ) ( 3 ,1 5 ) a 当光标在 0 ,9 ) 位置,按下移动键“一”,那么光标应出现在 0 ,1 4 位置:再 次按下移动键“一”,那么光标应出现在 0 ,1 5 位置:再次按下移动键“一”,那 1 9 西北工业大学硕士学位论文 么光标应出现在 1 ,l o ) 位置。 其他三个移动键和“一”的作用类似。 问题的解决方案: 首先设计了三个数组记录下光标的移动范围,如下所示: u c o d e m e a s u r e c 龟p o s i t i o n 2 = 0 ,4 ) , 0 ,1 4 , 1 ,l o , 1 ,1 3 ) , 2 ,1 0 , 2 ,1 3 ) , ( 3 ,1 0 ) ; u c o d e m e a s u r e c f g l e n g t h = 6 ,2 ,2 ,2 ,2 ,2 ,6 ) ; u c o d e m e a s u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论