(农业机械化工程专业论文)以串行存储器为核心的多机异种通信数据上传系统.pdf_第1页
(农业机械化工程专业论文)以串行存储器为核心的多机异种通信数据上传系统.pdf_第2页
(农业机械化工程专业论文)以串行存储器为核心的多机异种通信数据上传系统.pdf_第3页
(农业机械化工程专业论文)以串行存储器为核心的多机异种通信数据上传系统.pdf_第4页
(农业机械化工程专业论文)以串行存储器为核心的多机异种通信数据上传系统.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(农业机械化工程专业论文)以串行存储器为核心的多机异种通信数据上传系统.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

福建农林大学硕士学位论文 摘要 工业自动化中,需要对较大范围内的各种设备进行信息采集与数据上传,如水厂等仪表设备种类较 多的工业现场。数据上传往往需要采用异步串行通信方式,将数据上传并汇集到主机上。由于中小型工 厂的各种通信仪表设备的通信协议并不统一,并且串口已经被用来进行仪器的数据采集,因此导致数据 的上传无法再使用多机串行通信总线的方式进行,需要引入多机数据上传的特殊方法。在罗源和德化等 水厂自动化工程中,导师初步提出了“以串行存储器为核心构成多机异种通信数据上传系统”的思路, 开发了相应的硬件和软件,成功地实现了多台仪器异种通信数据集中上传。本文对该思路进行了理论和 方法的全面探讨,进一步阐述该思路的应用条件、实现方法。总结了非标准现场总线的时序要求、总线 内容及协议要求,提出“冲突检测协议”报箱协议”的设计,并将该总线定义为d e b u s ( d a t ae x c h a n g e b u su s i n gs e r i a le e p r o ma si t sc o r e ) 总线。对数据中转机构的存储结构进行归纳和讨论,提出“报箱 存储站”的概念。作者设计了硬件实验平台,开发了程序代码和上位机调试软件,对d e b u s 总线、“冲 突检测协议”、“报箱协议”和“报箱存储站”等新的提法,进行实例验证,对总线的性能进行了实测, 并作了传输速度与连接单片机数极限值的估算。实验结果证明“以串行存储器为核心构成多机异种通信 数据上传系统”是一种可以满足工业现场数据统一采集要求,适用于规模适中的工业现场,能够完成异 种通信设备的数据采集任务的新方法。 关键词:多机通信,共享数据存储区,数据缓冲,冲突检测,单片机多任务机制,掩码设计 福建农林大学硕士学位论文 a b s t r a c t i nt h ei n d u s t r ya u t o m a t i o np r o j e c t ,i t sn e e d e dt ou p l o a dt h ee q u i p m e n td a t ai np l a n ta r e a ,l i k et h ew a t e r p l a n tp r o d u c t i o ns i t et h a tu s e sm a n yk i n d so fm e a s u r e m e n te q u i p m e n t s t h ed a t au p l o a d i n gu s u a l l yu s e s a s y n c h r o n o u ss e r i a lc o m m u n i c a t i o na st h ed a t at r a n s m i s s i o nw a y st os e n dd a t at ot h em a i nc o m p u t e r i nt h e m i d d l e - s m a l lp l a n t ,a st h ec o m m u n i c a t i o np r o t o c o lv a r i e sf r o md i f f e r e n te q u i p m e n t sa n dt h e i rs e r i a lp o r t sa r e u s e df o rd a t at r a n s m i s s i o n ,i t sa l m o s ti m p o s s i b l et ou s et h e i rc o mp o r t sf o rd a t au p l o a d i n ga n ym o l e t h a t s w h yi t sn e e d e dt od e v e l o pas p e c i a lk i n do fm u l t i p r o c e s s o rc o m m u n i c a t i o nm e t h o d i nt h el u oy u a na n dd e h u aw a t e rp l a n ta u t o m a t i o np r o j e c t s ,t h ea u t h o r sa d v i s o rh a sp r e l i m i n a r i l yp r o p o s e da ni d e at h a tu s i n gs e r i a l e e p r o ma si t sc o r ef o rm u l t i m i c r o p r o c e s s o ra s y n c h r o n o u ss e r i a ld a t ac o l l e c t i o na n ds u c c e s s f u l l yd e v e l o p e d t h eh a r d w a r ea n ds o f t w a r ew h i c hu s e dt h i si d e at oc o m p l e t et h ep r o j e c t s t h i sp a p e rd i s c u s s e st h et h e o r ya n d s c h e m eo ft h i si n n o v a t i v ei d e ag e n e r a l l y , f u r t h e r m o r es t u d i e st h ec o n d i t i o n sa n da p p r o a c h e st or e a l i z et h ei d e a , m a k es u m m a r yo ft i m es e q u e n c e ,c o n t e n ta n dp r o t o c o ld e t a i lf o rt h es p e c i a lb u su s e di n t h i si d e a ,w h i c hi s n a m e da sd e b u sf o rd a t ae x c h a n g eb u su s i n gs e r i a le e p r o ma si t sc o r e t h i sp a p e rs t i l lp u t sf o r w a r d t h ed e f i n i t i o no ft h e “m a i l b o xm e m o r y t h ea u t h o rh a sd e s i g n e dt h ee x p e r i m e n t a lh a r d w a r ep l a t f o r m , d e v e l o p e dt h ep r o g r a m m i n gc o d e sa n ds u p e r o r d i n a t ec o m p u t e rd e b u g g i n gs o f t w a r et ot a k et h ee x p e r i m e n t st o t e s t i f yt h en e wd e f i n i t i o no fd e b u s ,c o n f l i c tc h e c k i n g ,p o s tp r o t o c o l ,a n dt h e “m a i l b o xm e m o r y ”m e t h o d , e s t i m a t e dt h em a x i m u mt r a n s m i t i o ns p e e da n dn u m b e ro ft h em i c r o c o m p u t e r st h ed e b u sc a nh a n d l e t h e r e s u l t so ft h ee x p e r i m e n t sh a sb e e np r o v e dt h a tt h ed e b u sc a ns a t i s f yt h er e q u i r e m e n t so fi n d u s t r i a ls i t ed a t a c o l l e c t i o n ,b es u i t a b l ef o rt h em o d e r a t es c a l ei n d u s t r i a ls i t e ,a n db ea b l et oi m p l e m e n tt h en e ws c h e m eu s e df o r d i f f e r e n tc o m m u n i c a t i o nd a t u mc o l l e c t i o n k e yw o r d s :m u l t i p r o c e s s o rc o m m u n i c a t i o n ,s h a r e dm e m o r y , d a t ab u f f e r i n g ,c o n f l i c tc h e c k i n g , m u l t it a s ks y s t e m ,m a s kc o d e 原创性声明 本人声明,所呈交的学位( 毕业) 论文,是本人在指导教师的指导下独立完成的研究 成果,并且是自己撰写的。尽我所知,除了文中作了标注和致谢中己作了答谢的地方外, 论文中不包含其他人发表或撰写过的研究成果。与我一同对本研究做出贡献的同志,都在 论文中作了明确的说明并表示了谢意,如被查有侵犯他人知识产权的行为,由本人承担应 有的责任。 靴哔蚴做储獬。粥现醐:五卜,夕 论文使用授权的说明 本人完全了解福建农林大学有关保留、使用学位( 毕业) 论文的规定,即学校有权送 交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采 用影印、缩印或其他复制手段保存论文。 保密,在年后解密可适用本授权书。 口 不保密,本论文属于不保密。 口 学位c 毕业,论文作栋笔虢水五 指导教师签名:( 痒c l 叱 日期: 日期: 6 y 8 叮1 以 q ) 福建农林大学硕士学位论文 第一章绪论 1 1 本课题研究背景和意义 在工业生产自动化过程中,数据采集是必不可少的核心环节。现场的数据基本上涵盖了生产条件、 生产过程、生产质量、生产效率等一系列关系到生产管理和决策的重要依据。工业现场的数据是由各种 仪器仪表设备获得的,为了实现数据的上传,这些设备需要带有通信功能。中小规模的工业生产现场环 境一般在千米范围之内。有许多种方法都可以实现该规模下的数据采集。如m o d e m 通信,异步串行通 信、以各种现场总线为基础的通信网络等等。然而各家生产的仪表设备的通信方式不尽相同,支持的通 信协议也没有统一的标准。这对需要采集不同数据,特别在集成了多种不同智能通信设备的控制系统中, 是个难以避免的问题。这个现实问题的存在,使得自动控制系统在设计、维护、改造扩建时遇到许多难 题,成本造价也变得昂贵。 在此,以典型代表水处理行业为例。水厂、污水处理厂的生产质量有相当严格的标准,并且要求控 制系统的实时性、可靠性、可扩展性能强。其底层的数据采集设备包含了水位、压力、流量、温度、湿 度、浊度、余氯、b o d 、c o d 、电压、电流、功率、电度、流动电流、接近开关、限位开关、水位开 关、继电器等近2 0 种智能设备。面对不一样的实际条件,由于通信方式和通信协议不统一产生的难题, 有不同的解决方式。 对于新建项目,可以预先设计采购统一通信标准的仪器仪表设备。然而要使来自众多厂家的不同设 备都符合同一种通信方式,如都采用时下主流的某一种现场总线通信,将付出昂贵的代价。如福州某水 厂在采用某系统集成商的产品后,由于其控制核心采用以m o d b b u s 为现场总线p l c ,其下接的所有在 线仪表仪器都必须能以m o d b u s 协议进行通信。由此造成其仪表采购基本都来自国外的同系的进口产 品,价格昂贵;而一些不能以m o d b u s 进行通信的生产过程的控制只能独立开来。整个控制系统极不 完整。自动化的要求没有完全达到,对生产过程顺利、高效的执行也造成影响。 对于需要进行自动化改造的项目,影响更为严重。以漳州某水厂为例,全厂的建设分为一、二两期。 一期选用了德国的t h y s s e np l c ,网络通信是其配套的光纤环形网;二期选用施奈德公司的m o d i c o n q u a n t u m 系列的p l c ,通信网络也换成m o d b u sp l u s 。由于一个系统存在两种p l c 和两种通信网络, 所以不得不在新旧p l c 之间增加p c 机,以此来完成两台p l c 的数据交换。这样不仅增加了设备成本, 在控制程序设计上也变得复杂。因为该厂的新、旧滤池使用一套冲洗设备,但又不允许两套p l c 都对 设备进行控制,因此两套p l c 之间的交流和协调需要重新设计和谨慎考虑。此时除了采用m o d i c o n 系 列p l c 的专用编程软件c o n c e p t 之外,还要采购它们之间的通信管理软件p e e rc o p 。成本增加了不少。 在规模较小的水厂改造工程中,其原先使用的仪器仪表有的还不能支持现场总线通信方式,而只能够以 异步串行通信进行数据传输。这在国内县级水厂是普遍存在的情况。有些能够支持现场总线的设备也难 以实现协议种类的统一。因此对于旧项目改造扩建,由通信方式和通信协议不统一产生的难题更加复杂。 目前各种通信方式的发展情况,在自动化行业中的应用范围、应用程度和应用效果各有不同。 采用现场总线通信方式进行数据采集,是现在自动化系统的一个主流发展趋势。世界上在自动化技 术上领先的各大知名公司很早就着手针对现场总线,开发各种协议标准。目前世界上存在着大约四十余 种现场总线,如德国s i e m e n s 公司的p r o f i b u s ,挪威的f i n t ,丹麦p r o c e s s d a t a 公司的p n e t ,国际标准 组织基金会现场总线f f ( f i e l d b u s f o u n d a t i o n ) ,美国的d e v i c e n e t 与c o n t r o l n e t 等掣2 1 j 。我国于2 0 0 5 年发布了新一代现场总线e p a ,并于2 0 0 6 年被批准成为我国的国家标准正是出版。这些现场总线大都 用于过程自动化、医药领域、加工制造、交通运输、国防、航天、农业和楼宇等领域【2 2 】,大概不到十 l 福建农林大学硕士学位论文 种的总线占有8 0 左右的市场。这些协议不仅在应用上形成规模,还形成以各个协议为核心的系统集 成产品。虽然早在1 9 8 4 年国际电工技术委员会国际标准协会( i e c i s a ) 就着手开始制定现场总线的 标准,但经过长达1 6 年的争讨,却最终放弃了其制定单一现场总线的国际标准的初衷,并相继发布了 1 0 种类型的现场总线国际标准【5 l 】。多种现场总线协议并存,对于目前的自动化行业是不争的事实。 对于多种现场总线协议的造成的数据采集的困难,人们采取了多种办法来解决,大致分为两种趋势。 第一,是想尽各种办法对设备现有的总线端口针对性的进行转接模块或单元的设计,比如专门发明一种 转换卡或者接口模块,在硬件和软件上连接采用不同协议标准的两台设备等【2 。第二,是引入更高级 的网络和更通用的协议来代替现场总线的功能角色。比如将以太网引入工业现场,利用几乎遍布世界的 t c p i p 协议或者e t h e r n e t i p 协议 2 4 1 ,来达到“统一标准”的目的陷2 3 1 。第一种办法显然缺乏灵活性。 在即成的工业现场中,实际情况是变化多端的。不同的智能控制器,不同的仪表设备,不同的总线协议, 每一次的设计都会面对完全不同的条件和情况。已得的设计成果很难进行继承、推广和发展。但是,这 种方法对解决较独特的,较独立的状况很有效,而且很节省资源。第二种方法,工控业界正对其寄予很 高的期待,即将以太网引入工业现场,业界称之为“工业以太网”【1 】【3 2 3 3 1 。但是根据目前的工业现场 总线的使用情况,其推广使用和应用发展,一时还难以达到成熟的程度。且不说它的应用还未正式标准 化,即使将其引入到工业现场的应用,也一时难以改变如今现场总线协议多元化的局面。在这样的情况 下,工业以太网和其采用的协议也可以被认为是另一种现场总线的表现形式k3 4 1 1 2 2 粕】。 对于需要进行改造扩建的中小规模的工业现场,如水厂、污水处理厂等,具备通信功能的设备不一 定都能支持现场总线通信方法,而且可以说,这种情况出现还不少。这些设备的大多数能够支持串行异 步通信方法,一般采用了r s 2 3 2 、r s - 4 8 5 或者r s - 4 2 2 通信接口。串行数据标准接口,简称“串口”。 r s 2 3 2 、r s - 4 8 5 与r s - 4 2 2 都是一种串行数据的接口标准,由电子工业协会( e t a ) 制定并发布。r s 2 3 2 早在1 9 6 2 年就已经发布,它作为工业标准,用于解决不同厂商产品之间的兼容问题。r s - 4 2 2 和r s - 4 8 5 都是对r s 2 3 2 的改进和发展。目前,串口通信在工业现场的应用已经相当成熟,在工业现场的使用非 常广泛,覆盖率高。人们以为只要设备具备了标准串口这种硬件接口的标准化设计,融入网络系统 就应该没有问题。但是事实并非如此。虽然大部分的底层设备,在线仪表仪器,都宣称设计了标准串行 接口,符合标准串行协议,可进行通信。但是实际上,r s 2 3 2 标准协议只规定了o s i 中的第一层物理 层的内容,即只规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链 路连接。对于物理地址寻址、握手信号、数据的成帧、流量控制、发送频率、数据检错、重发、应答、 校验等等一系列问题并没有统一的标准。而在实际应用中,正是这些协议的不统一,让“标准串口”不 能按“标准”使用。这些具备“标准”接口的设备,其实还是“异种”设备。因此,即使具备了标准串 行接口,在进行系统整合时,也不可能都能顺利地获取数据。 根据上述情况,本课题提出设计一种“多单片机异种通信数据上传系统”,对具备标准串行接口, 对具体协议不同的“异种通信设备”,利用自主设计的数据采集方式和数据通道进行数据采集,并上传 给p c 机。 1 2 国内外研究发展概况 多机通信需要解决的主要问题是,多机如何有效、高效地使用的公共数据通路的问题。由于p c 机 具备标准r s 2 3 2 串行接口,所以传统多机通信的讨论和设计,大部分是针对r s 2 3 2 、r s 4 2 2 、r s 4 8 5 等 串口的异步串行总线。设计人员通过不同的硬件设计方法和软件设计方法达到多机通信的目的。在硬件 方面,有的采用功能芯片增加p c 机的串口数,有的设计仲裁电路解决串口通道的使用控制问题等等; 在软件方面,设计者们有的利用单片机的串行中断方式的切换来实现主从应答模式,有的使用主从轮询 2 福建农林大学硕士学位论文 模式等等。不同硬件和软件方法相结合,形成各式各样的多机通信设计。总线是计算机系统中各个部件 之间传送信息的通道,是公用的信息线。多机通信的问题不单单只是发生在异步串行总线上。 总线按照传输数据的方式划分,可以分为串行总线和并行总线;按照时钟信号是否独立,可以分为 同步总线和异步总线。传统多机通讯的解决方案并不完全适用于其他类型的总线。比如串行总线s p i 、 1 2 c 。目前,少有对非c p u 器件如存储器芯片,进行多通信接口扩展的设计。对于板间总线,大部分的 研究集中在仲裁机制的设计上。当系统中多个单片机都需要申请对公共总线的使用权时,就需要进行仲 裁。仲裁可以解释成:对总线使用权的分配过程。仲裁方式总体上可以分为集中式和分布式两种机制【5 3 1 。 根据多机在总线上的链接模式,还可以分为并联仲裁链接和串联仲裁链接。集中式仲裁速度快,但是容 错性和可扩展性较差:分布式在这一方面有较好的表现,但相对的成本代价高。根据系统的复杂程度和 c p u 性能的高低,可以采用适合自身系统的仲裁方法。有的系统利用了专用的仲裁器,如i n t e l 公司出 品的8 2 8 9 ,但这种仲裁器仅适用于m u l t i b u s 这个特定的总线。有的设计利用各种译码器来决定仲裁结 果。在串、并联的多机链接电路的实现上,较著名的还有菊花链仲裁方法和令牌环仲裁方法【5 4 】。无论 怎样的仲裁方法,在仲裁电路上都有一条“总线状态标志线”。在m c s 5 1 系列的单片机中,由于端口 属于“弱高输出”的性质,所以“忙状态”的体现应该用逻辑0 ,即低电压来表示。用逻辑1 ( 高电压) 来表示不符合该类型单片机的电气性质。仲裁机制中需要注意的是优先级的判定。优先级的判定可以采 用各种算法,比如固定优先级,先来先服务,循环优先级,“最近最少使用”( l r u ) 等等【5 4 1 。但是 有些电路链接方式就已经决定了链接在总线上的单片机的优先级。比如菊花链方法中,越靠近链首的单 片机,其优先等级就越高。 各种总线仲裁方法的实现,使得工程应用中存储器的多机访问得以实现。存储器的多机访问问题, 在“共享r a m ”或“共享存储器”的课题上研究给予表现。该课题大概可以分为两类,第一类是基于 工程现场的存储器件的多机访问,比如对e e p r o m 存储器,或对具备e e p r o m 的功能芯片如时钟芯 片d s l 3 0 2 ,看门口芯片x 5 0 4 5 等进行多机访问;第二类是对操作系统中共享内存机制的研究,用以提 高系统运行的效率。本课题属于第一类的范畴,仅对其进行描述和研究。存储器的总线接口在端口数目 上可以分为单端和多端口【6 】。双口芯片虽然也可以外接“多单片机”,但是实际上数量只有2 台而已, 多端口芯片的端口数目一般也只是个位的数量级,所以多端口芯片不能彻底解决存储器多机访问的问 题。存储器的端口按形式可以分为串行接口和并行接口。对于并行接口形式的存储芯片,与单片机的连 接大多以经典三总线的形式进行。三总线包含地址总线、数据总线和控制总线,总线数目一般超过2 0 条( 依地址总线高低地址数目再增加) 。加上各机与总线的链接,电路线将相当庞大,端口占用多,线 路铺设也变得复剁6 1 5 】。存储芯片的串行接1 2 1 形式多样,有s p i 、1 2 c 、m i c r o w i r e 等总线形式。在福建 罗源和德化等水厂等自动化工程中,利用s p i 接口进行e e p r o m 存储器的多机访问已以获得成功应用。 共享r a m 的另一个重要内容,就是多机数据在存储器中的存放结构的没计。数据的存放结构影响 到数据的存取速度,是决定系统效率的重要方面。现有的关于共享r a m 数据结构的讨论,大部分是针 对微型计算机的,针对这一课题的研究,在国际上已有3 0 多年的历史【5 5 1 。针对工业现场存储器件中的 数据存放设计则讨论的较少。一些已有的数据结构类型,比如双链,树,图,栈队等,采用汇编语言实 现其算法,将损耗大量的时空资源。 1 3 本课题研究的意义 计算机控制系统在工业控制领域得到广泛的应用,取得了良好的经济效益和社会效益。然而在当今 普遍计算机控制系统结构当中,不论是d c s ( d i s t r i b u t e dc o n t r o ls y s t e m ) 结构模式也好,i p c + p l c ( 工 控机+ 可编程逻辑控制器) 也好,其通信协议虽然遵循了开放系统互联模型( o s d ,但由于各厂家制 3 福建农林大学硕士学位论文 定的通信协议千差万别,数据链路层以上的规定不尽统一,且协议公开性不够,造成了控制系统的开放 性、重构性、可移植性、伸缩性的较差。另外,由于现在的自动化控制系统中,其采用的核心技术,主 要设备,驱动软件,上位机软件,大部分来自国外;加上各国把自己开发的现场总线协议,融入到本国 的产品,形成系统集成以后,其控制系统的成本高居不下。虽然大部分厂商为了“以防万一”,为其产 品设计了串行通信接口,以方便融入系统。但是由于各家串行通信的实现方法也是各有其招。所以所谓 采用“标准串行接口”其实也并非是“标准”的做法。由此可见,问题的关键在于,不同通信协议的设 备或者产品,他们的数据无法统一采集。因此开发“多机异种通信数据上传系统”可以: a 、为工业现场上下位机的数据通信提供透明的通道,各种协议的数据可在同一个系统中进行采集。 b 、改善现场的过程控制系统开放性,可移植性、重构性差的问题。 c 、使系统优化,无须使用各种各样的转接模块、转换接口及其驱动。 d 、可以降低已建工程的改造成本。 f 、打破系统集成服务的不灵活性。 1 4 本课题研究的主要内容 对具备标准串行接口,但具体通 信协议不同的“异种通信设备”进行 数据采集,关键问题在于协议不同。 所以,需要先对每台设备设计其相对 应的通信协议,针对性地对设备数据 进行采集;再将数据通过自主设计的 “特殊总线”送入“数据中转站”; 然后从存储站读取数据,送入p c 机。 在此将采集设备数据的部分称 为“下位子机”,将把数据送入p c 机的部分称为“下位主机”,而把p c 圈1 1 。多机异种通信数据上传系统”工作结构框圈 机称为上位机。将负责多机异种通信设备数据上传的“特殊总线”定义为d e b u s 总线,将“数据中转 站”定义为“报箱存储站”。工作流程结构框图如图1 1 所示。其中虚线框内,即本课题本系统主要部 分。因此要完成整个系统设计,需要对以下几个内容进行研究: ( 1 ) d e b u s 总线的建立和使用的研究:各下位子机利用d e b u s 总线将采集的数据保存到报箱存储 站,下位主机利用d e b u s 总线从报箱存储站取数据,利用串口发送给上位机。 ( 2 ) 报箱存储站的建立和使用的研究:各下位机利用报箱存储站进行数据的中转,需要对数据结构, 存储结构和相关算法协议进行分析。 ( 3 ) 根据装置结构、功能的需要,硬件电路的需要和d e b u s 总线接口的需要,对下位子机的硬件设 计的研究: ( 4 ) 根据d e b u s 总线接口的需要和与上位p c 机通信的需要,对下位主机硬件设计的研究; ( 5 ) 在功能整合时,对各个部分任务分配的合理性,时效性,进行研究; ( 6 ) 设计便于系统调试和使用的上位机软件。 1 5 本课题完成的任务 历经一年的研发与测试,“多机异种通信数据上传系统”经证明,已经成功完成以下研究任务: 4 福建农林大学硕士学位论文 ( 1 ) 对d e b u s 总线的理论方法进行了全面深入的讨论; ( 2 ) 成功设计硬件和软件,用实例证明d e b u s 总线的可行性; ( 3 ) 成功建立并正常使用报箱存储站,对d e b u s 总线中的“报箱协议”“冲突检测协议”等创新提 法进行了实例验证: ( 4 ) 成功开发了下位子机和下位主机的硬件设计,搭建了实例验证硬件平台; ( 5 ) 根据系统要求对设计任务进行划分,编写多任务机制程序,其合理性,时效性达到实际工业现 场应用的需求; ( 6 ) 设计的上位机软件可以进行系统调试和操作使用。 5 福建农林大学硕士学位论文 第二章d e b u s ( 多机异种通信数据上传总线) 的设计 2 1 设计原则 本课题研究的对象是工业现场中具备标准串行接口,并能进行串口通信的仪器仪表设备。这些设备 覆盖工业生产的各个现场,由于生产需要,需要将数据实时上传。由于各通信协议的不一致,传统多机 通信的设计办法已经不能实现这种情况下的数据采集。面对各通信设备协议的独特性,本文采用多片单 片机一对一进行数据采集。在这样的情况下,单片机和通信设备双方的串口已被占用,因此必须寻求另 一种多机通信的方式,用以上传各单片机采集的数据。据此,本文作者的导师提出,用“数据中转”和 “特殊总线”配合的方法,实现多机通信数据的上传。因此使用d e b u s 总线和报箱存储站的原则是, 各仪表设备自身能用串口通信进行数据采集。 2 2d e b u s 总线的设计 2 2 1 总线时序 “多机异种通信数据上传系统”包含报箱存储站和d e b u s 总线两大部分。两部分的工作紧密结合 产生的“报箱功能”,可以达到传统总线难以实现的效果。 在计算机系统中,“总线”是各个部件之间传送信息的通路。总线的特点在于公用性【5 6 1 ,是多个部 件的信号连接。根据应用层次的不同,总线可以分为芯片级的总线、系统级( 或称为板级) 的总线、设 备级的总线( 如现场总线) 等等。本文讨论的d e b u s 总线根据其具体情况,应介于系统总线和设备总 线之间。首先,该总线连接了各单片机外部公用的功能器件( 存储器) ,具备与芯片连接的i o 总线功 能:其次,该总线连接了多台以单片机为核心、有各自运行机制的独立系统,具备设备总线的特征。 传统的系统总线按其传输形式,可以分为串行和并行两种。他们都能高速、可靠的传递数据。并行 总线的必然“三总线”结构为基础,即地址总线、数据总线和控制总线。串行总线有各种类型,如1 2 c 总线等,他们的信息体现在各种形式的脉冲时序信号上。采用传统总线的数据收发双方,他们的时序都 必须紧密配合,并且严格的遵守时序要求,如下降沿产生时刻,高低电平起点,维持电平时间等等。严 格的时序要求,使采用传统总线的器件处于“紧耦合”关系。在大部分情况下,总线中都有一个c p u 作为主控者,其他外围器件为功能芯片。c p u 和外围芯片处于主从关系,外围芯片以c p u 为中心为其 服务。c p u 通过控制地址和信号或者对收发联系标志的控制( 如标志的清除和放置) 来控制对外部芯 片的数据传输。“紧耦合”关系不会对这样的系统产生影响。有一些类型的总线上挂接了多个c p u 芯片, 但数量都比较少,主要还是以功能芯片为主。它们使用总线仲裁器解决总线使用权的分配问题。在这类 总线上传输数据,一般采用单周期方式,每一个总线周期只传送一个字节,实时响应,数据无缓冲,收 发操作占用c p u 较多资源。 本系统中,接入总线的基本上全部是微处理器,传统并串行总线的紧耦合关系和单周期数据传输 方式,将给整个系统造成很大的负担。在多机情况下,外围部件不再是简单功能芯片,他们有自身的工 作系统。总线上的器件也不是简单的主从关系。若采用单周期方式传输数据,微处理器被要求频繁响应, 这样会影响微处理器自身系统的工作,从而造成整个系统的效率低下。为此,“报箱功能”引入“数据 缓冲”概念。首先,d e b u s 总线上数据的传输类型采用“突发方式”进行。在突发方式下,占用一次 总线可以进行多个数据的传输。单字节的数据传输改成字串的传输以后,微处理器的任务响应次数得到 减少。另外,缓冲的数据在报箱存储站中暂时保存,等待适合的时机出现,再占用总线,将得到的数据 进行上传。这样做使时序配合要求降低,各微处理器的数据甚至可以做到非同步、非顺序的采集。字串 6 福建农林大学硕士学位论文 传输和数据缓冲方式的引入,使各机的关系处于“松耦合”状态。显然,松耦合方式更适用于本类型的 数据传输。图2 1 ( a ) 、( b ) 以经典三总线和1 2 c 总线为例,体现传统串并行总线的紧耦合关系;图2 1 ( c ) 用来表示d e b u s 总线上,数据的时序概况。在图2 1 ( a ) 中,t l h l l 、t l l w l 、t x l x l 、t o v x h 等时间值都属于 在纳秒的等级。在2 1 ( b ) 中,t l o w ,t 从,t s u d a t ,t l f l g h 等时间值都属于微秒的等级,t f 等时间值更是小 至纳秒级。由此可见,图2 1 ( a ) ( b ) 中的时序要求要比图2 1 ( c ) 严格的多,并且在图2 1 ( c ) 表示的d e b u s 总线上,数据包x i 和数据包x i 收发的顺序还可以不同。 一 地址致据总线p o r t0 地址总线p o r t2 s c l s o ai n 8 d ao u t 图2 1 ( a ) 。三总线”时序图 1r 圈2 - l ( b ) l z c 总线时序圈 圈2 - 1 ( od e b u s 总线时序图 7 福建农林大学硕士学位论文 2 2 2 总线内容 在地址内容上,传统的并行总线有专门的地址总线作为地址信息的载体。串行总线的地址实现,根 据类型的不同而不同。比如在1 2 c 总线中,有1 2 c 器件自身编好的器件地址。在器件当中还有设置有单 元地址。地址信息只要在总线上按规定的时序出现,即可被识别。又比如在s p i 总线当中,s p i 器件对 应的片选引脚相当于一种硬件地址。在d e b u s 总线当中,地址内容被“空间化”。它们利用报箱存储 站的空间规划来体现地址内容。打一个简单的比喻:报箱存储站相当于邮局的报箱格,每一格都有自身 的编号。工作人员的邮件投递,根据编号来进行。编号体现的就是地址信息。d e b u s 总线地址空间化, 可以有以下几个优点:首先,不需要专门的地址总线作载体,节省硬件电路;其次,存储器件可以不具 备“使能”功能引脚,扩大存储器件的选择范围:第三,使用d e b u s 总线的c p u 只需要根据空间地 址内容进行数据存储,不需要遵守特别的时序要求,因此,使用d e b u s 总线的系统可扩展性能好。 在控制信号上。传统并行总线的控制总线主要决定数据的收发时刻,传输方向。串行总线利用线路 电平的高低变化或者电平值自身的高低,决定数据的有效时刻( 位信息的时刻) 、数据方向、应答方式、 忙闲状态等等。根据时序图可以看出,控制信号必须尽快得到c p u 的响应,如果响应时间过长,则系 统数据传输失败。为了实现“松耦合”的关系,d e b u s 总线分为两个层次。第一个层次,即以传统总 线为基础,仅实现数据的传递功能;第二层次则属于总线控制的部分,如报箱存储站中的信息新旧判断, 收发双方的应答,读写操作控制,读写数据的选取等等。第二层次的控制内容作为数据信息保存在报箱 存储站中,因此,控制标志的读取可以不必限时操作。正是如此,d e b u s 总线的松耦合时序才得以实 现。 在数据传输方面,传统的总线架构已经打下良好基础。d e b u s 总线可以根据其需要参考数据传输 的实现形式。考虑到并行传输总线占用端口多,线路多,距离短等缺点,在本设计的任务中,d e b u s 总线采用串行传输方式优于采用并行传输方式。 2 2 3 总线协议 根据d e b u s 总线松耦合、进行数据缓冲、字串发送等特点,本文将d e b u s 总线的内容总结为三 个层次:最底层为串行硬件与字节读写层,中间层为字串收发层,最上层为应用层。对应的d e b u s 总 线的协议也分为三个层次。 串行读写层利用串行总线的功能为基础,进行数据的收发。为了实现多机通讯的功能,除了采用硬 件设置防止各机使用总线发生冲突外,在软件上,还要设计“冲突检测协议”。软硬件配合,达到公用 总线多机使用的目的。 在字串收发层中,d e b u s 总线将各下位子机的数据暂时保存在报箱存储站中,再由下位主机上传 给p c 上位机,从而使数据的传输得到缓冲。为了数据的有序、有效的保存,需要设计专门的“报箱协 议”,用于系统操作管理。在利用d e b u s 总线进行数据上传的过程中,对于数据出错,数据中断续传, 用于规定在报箱存储站中,何时数据为空,数据的新) b n 断,数据的来源,数据的存放位置等等问题。 打一个简单的比喻,“报箱协议”的内容,相当于邮局的收发登记表的内容。 高层应等问题,需要有“应用协议”来规定下位主机和下位子机之间的命令和应答等内容。“应用 协议”的设计,使得“报箱功能”的作用更加规范和完整。 2 3 报箱存储站空间规划 2 3 1 存储结构和数据查找 存储空间用于保存各下位子机的数据串。数据的逻辑结构简称为数据结构,主要包括4 种类型,它 8 福建农林大学硕士学位论文 们分别是集合类型,线性结构,树形结构和图形结构。各下位子机的数据串相互独立,没有先驱或者后 继,仅属于一个存储器内的集合,是集合类型的数据。 数据的存储方法包括顺序存储方法、链式存储方法、索引存储方法和散列( 哈希) 存储方法。同一 种逻辑结构采用不同的存储方法可以得到不同的存储结构。选择何种存储结构来表示相应的逻辑结构, 要使具体要求而定,主要考虑的是运算方便及算法的时空要求【5 8 1 。 顺序存储法是把逻辑上相邻的结点存储在物理位置上相邻的存储单元里。结点之间的逻辑关系由存 储单元的邻接关系来体现。每一台下位子机的数据串可以理解为一个结点,成为而结点的大小有可能不 一致。实际上各下位子机在逻辑上没有必然的相邻关系。如果给下位子机编号以后,从编号的大小来看, 存在一个从小到大的排列。我们可以据此认为各子机存在相邻的逻辑关系,并按照此关系来查找对应的 存储结点。顺序存储法的最大优点是节省存储空间。各节点按顺序存储后,空间完全用于数据存储,没 有其他用于体现逻辑关系的信息在内。然而这对存储数据的修改却很不方便,当结点进行的插入、删除 等操作时,会影响到其他节点的存储。这对灵活多变的工业现场情况是相当不利的。实际应用中,结点 的顺序可能经常发生变化,在工程扩建或翻新的过程中结点数也需要修改,顺序存储结构有碍于系统的 扩展性和适应性。 链式存储方法不要求用数据存储物理结构来体现数据的逻辑结构。这结点的数据串中,包含了结点 之间的逻辑关系。链式存储法的优点是便于修改。缺点是存储空间的利用率较低,因为体现逻辑关系得 信息占用了存储空间,并且按链式方法存储的结点不一定相邻,所以存储空间的紧凑程度下降。该方法 通常要借助高级语言的指针类型来描述。若采用单片机的汇编语言,在算法描述上要耗费大量的时间和 空间资源,该算法不适合汇编环境。 索引存储方法的核心是为存储在空间中的数据建立索引表。索引表的关键字与结点一一对应。根据 索引表中的内容即可快速的查找存储空间的数据。传统索引表中的项包含关键字和地址。关键字用于节 点标识,地址作为指针内容。这种格式是针对高级语言编程而言的,可以大大提高数据的查找速度。然 而若是采用汇编语言,则必须对索引的内容和格式进行修改,否则将耗费大量的时空资源来描述索引存 储方法的算法。该方法要消耗一部分存储资源用来存放索引信息,所以与链式存储法相同,该方法的空 间利用率降低了。 散列存储法是利用关键字通过散列函数计算结点的存储地址。在散列存储方法下,存储地址能快速 的被查找。并且存储空间只用于存储数据,关于数据的逻辑结构则完全没有体现。 报箱存储站的空间规划,把索引和散列两种存储方法结合起来,实现数据串的存储映像。该规划效 仿了邮局报箱的结构格局,类似的效仿在计算机其他存储结构设计中也出现过【5 。7 1 ,本文与其设计完全 不同。在报箱存储站中,给每一台下位子机安排了专属的存储空间,相当于给每台下位子机安排了各自 的报箱格。另外利用d e b u s 总线的第二层协议“报箱协议”作为索引表,用于查找“报箱地址”。 协议内容由于功能的需要,没有具体体现关键字和地址内容,因此需要根据其内容进行函数归纳,通过 一对一的映射关系,计算得出索引内容。 2 3 2 报箱协议和散列函数 报箱协议用于规定以下内容:第一,数据的“新旧判断”。当下位子机更新了报箱里的数据,而这 个数据还未被下位主机上传,这种数据为新数据。当下位主机把报箱里的数据上传给上位机以后。这个 数据就是“旧数据”,以后都不必再上传了。新的数据不能被下位子机更新覆盖,否则数据就会丢失。 而下位主机也没有必要重复上传旧的数据,既浪费时间也浪费c p u 资源。所以新旧数据的判断有其必 要性。新旧数据的判断不能以“数据是否相同”为依据。因为数据相同并不代表数据已经被“取走”或 q 福建农林大学硕士学位论文 “更新”。在存储器当中也没有“空”的概念。因为“0 0 h ”也代表一个数,不代表这个字节是“空” 的。新旧数据的判断有多种方法。如:在下位主机把数据上传后,将报箱里的字串全部“清0 ”。这种 方法在一定程度上能够解决问题,毕竟正常的数据很少有全零的。但是这个办法效率不高。而且,若通 信设备发生故障,难保不会出现“全零”的数据。又如,在每个字串的开头添加标识符,作为数据新旧 的标志。另外的办法还有,专门开辟单元,用位单元的信息作为数据新旧的标识符。第二,数据的来源, 即属于哪一台下位子机。在“报箱协议”中必须体现字串数据来自哪一台下位子机,从而作为字串的“身 份区别”。第三,数据存放目标地址,即下位子机专属的数据存储报箱地址。报箱协议必须指明字串的 存放位置,或者其内容能够通过某种关系体现数据存放的首地址。 本设计采用了“位掩码”的方法来规定报箱协议的内容。用一个位单元表示每个报箱数据的新旧情 况。“0 ”表示没有新的数据( 如初始状态) ,或者数据为旧的。“l ”表示数据为新,有新数据需要上 传。这样的话,下位子机更新数据前,要先检查它对应的位。如果为“l ”,表示上一次更新的数还没 有被下位主机取走,则不能进行更新。如果为“0 ”,表示可以更新,更新后要将该位“置l ”。对于 下位主机,需要检查这些位是否为“l ”。如果为“l ”,就表示有数据需要上传。将数据上传以后,再 将该位“清零”。据此,有多少台下位子机,就应该设置多少个位掩码。位掩码可以做为数据,与字串 数据保存在同一个报箱存储站中。如果位掩码的数据庞大,成为规模数据块时,也可以开辟新的报箱存 储站来保存。 由于位掩码与各下位子机存在一一对应的关系,所以根据位掩码的逻辑结构可以求出下位子机编 号,并总结两者之间的映射函数。下位子机编号与报箱地址也是一一对应的关系,两者之间也可以总结 出某种映射函数。两个映射函数结合,即可作为数据散列映射的散列函数。位掩码设计作为“报箱协议” 的主要内容,因此“报箱协议”在此也可以称为“掩码协议”。数据存储地址的索引就可以根据“掩码 协议”来进行。位掩码的逻辑结构可以采用多种形式。如顺序排列型。假设下位子机的编号为n ,其对 应的为掩码为a i 那么子机编号与位掩码在全体掩码数据中的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论