




已阅读5页,还剩68页未读, 继续免费阅读
(精密仪器及机械专业论文)基于嵌入式系统的监控组态软件理论模型的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着计算机技术的发展,组态软件在控制领域都得到了广泛应用,而且发展 迅速。其主要原因在于它能将各种复杂的控制系统,特别是繁重而冗长的编程简 单化,使控制技术开发变得简单而高效,大大缩短了产品开发时间。目前,市场 上大多数组态软件主要针对通用p c 和工业p c ,而针对嵌入式操作系统的组态软 件却很少。 本课题中设计的符合i e c 6 11 3 1 3 标准的嵌入式组态控制系统,主要适用于大 型机电设备单机系统、实验室环境、智能家居系统等小型嵌入式控制的应用场合。 它根据带有操作系统的嵌入式系统的特点,集成了传统小型p l c 的强大控制功能, 优良的监控功能,实现了控制与监控的无缝结合。按照最新的工业控制标准设计, 运用了面向对象的建模技术和面向对象编程语言c + + ,将图形界面系统和实时数 据库系统有机地结合,使此组态软件具有良好的通用性和扩展性,不仅可以实现 复杂的工业过程控制,还可以通过扩展功能,使其应用于多种领域。 论文首先分析了基于嵌入式系统的组态控制软件的体系结构,阐述了系统的 软硬件平台的基本结构和关键技术的实现。然后重点讨论了实现基于w i n d o w sc e 操作系统的控制组态软件的图形界面系统、实时数据库系统、数据交换系统以及 运行策略和编译系统,并分别从这四个方面给出了具体实现方案。 首先,运用面向对象建模技术和c + + 语言建立了图形界面系统的对象模型、 动态模型和功能模型并给出具体的实现方案。这样建立的用户界面系统不仅具有 丰富的绘图功能,能够快速地生成工程界面,而且具有优良的图形对象扩展性能。 用户可以利用图形界面系统的绘制功能实现复杂的控制现场画面,并通过图形对 象的保存,实现复杂图形的重用,大大减少重复劳动。 其次,采用面向对象的数据库技术建立组态软件实时数据库模型和存储方式, 解决了应用程序编程语言与数据库查询语言不同而出现的阻抗失配问题,使组态 软件生成的应用程序与实时数据库系统能够有机地结合。 最后,设计了组态软件系统的i 0 模型和控制策略,给出了脚本编译系统的 实现方法。在i 0 模型中建立了包括驱动程序、驱动调度程序、驱动程序配置工 具、设备配置文件为一体的编译模块,使用户可以将调试成功的应用程序直接下 载到目标机运行,而不需要对现有的目标机进行驱动程序编写和重新配置。 摘要 本论文的工作是课题组工作的一部分,为更进一步的实现现场总线支持、过 程控制监控、复杂控制算法与数学运算、分布式控制和远程监控等高级功能奠定 了良好的基础。 关键词:嵌入式系统,组态,面向对象,图形界面,数据库 u a b s t r a c t a b s tr a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rs c i e n c ea n dt e c h n o l o g i e s ,c o n f i g u r a t i o n s o f t w a r eh a sb e e ng r e a t l yu s e di nt h ei n d u s t r i a lc o n t r o ls y s t e ma n di ss p e e d i l y d e v e l o p i n g t h ep r i m a r yr e a s o ni st h a ti tc a ns i m p l i f yc o m p l i c a t e dc o n t r o ls y s t e ma n d h e a v yp r o g r a m ,a n dr e d u c ew o r k i n gh o u r s m a n yc o n f i g u r a t i o ns o f t w a r em a i n l ya p p l y i nc o l n m o nc o m p u t e ra n di p c ( i n d u s t r i a lp e r s o n a lc o m p u t e r ) ,b u tn o ti ne m b e d d e d c o n t r o ls y s t e m t h ee m b e d d e dc o n f i g u r a t i o nc o n t r o ls y s t e mc o n f o r m e dt o t h ei n t e r n a t i o n a l s t a n d a r di e c 611131 3 ,w h i c hc h i e f l ya p p l yi nt h ef i e l d so fi n d u s t r i a le q u i p m e n t ,l a b , s m a r th o m es y s t e m ,e t c i ti n t e g r a t e dt h el o g i c a lc o n t r o lf u n c t i o ni m i t a t i n gp l ca n dt h e a n i m a t ep i c t u r em o n i t o r i n gf u n c t i o n d u et oc o n f o r mt ot h en e ws t a n d a r d ,u s i n go b j e c t m o d e l i n gt e c h n i q u e ( o m t ) a n du s i n gc + + ,t h em m i ( m a n m a c h i n ei n t e r f a c e ) a n d t h er e a l t i m ed a t ab a s es y s t e m ( r t d b s ) w e r ei n t e g r a t e dt o g e t h e r s o t h e c o n f i g u r a t i o ns o f t w a r ei sg o o d u n i v e r s a la n do p e n t h ep a p e rd i s c u s s e st h es t r u c t u r eo ft h ec o n f i g u r a t i o nc o n t r o ls y s t e ma n di t s h a r d w a r ea n ds o f t w a r ep l a t f o r m t h e n , t h ep a p e re m p h a s i z eh o wt ob u i l dt h em o d e lo f m m i ,t h em o d e lo fr t d b s ,t h em o d e lo fi os y s t e ma n dt h ew o r ks t r a t e g ys y s t e m , a n dt h e ng i v et h ed e t a i l e dp l a n f i r s t l y , u s i n go m t , w eb u i l dt h eo b j e c tm o d e l ,t h ed y n a m i cm o d e la n dt h e f u n c t i o nm o d e lo ft h em m ia n dg i v et h ed e t a i l e dp l a n t h u st h em m i i sg o o d e x p a n s i b i l i t ya n dh a sag r e a to fp i c t u r e s ,a n dc a l lm a k er a p i d l y t h ec o n t r o li n t e r f a c e t h eu s e rc a ns a v et h ep i c t u r em a d eb yh i ma n dr e u s e t h ep i c t u r ei nt h ef u t u r e s e c o n d l y , w e b u i l dt h er t d b sb yu s i n go b j e c to r i e n t e dd a t a b a s et e c h n i q u ea n d g i v et h ep l a no fs a v ed a t a 。w es o l v et h ep r o b l e mb yw a y o fu s i n gd i f f e r e n tl a n g u a g ei n a p p l i c a t i o np r o g r a ma n dr t d b s ,a n dp e r f e c t l yi n t e g r a t et h ea p p l i c a t i o np r o g r a ma n d m er t d b s l a s t l y , t h ep a p e rg i v e st h ed e t a i l e dp l a n so fy os y s t e m ,c o n t r o ls t r a t e g ya n d s c r i p t c o m p i l a t i o nu n i t s t h em o d e lo ff o i n c l u d ed e v i c ed r i v e r , t h es c h e d u l e ro fd r i v e r , t h e t o o lo fs e t t i n gd e v i c ed r i v e r , t h ef i l eo fs e t t i n g w i t h o u ts e t t i n gt h ed e v i c ed r i v e ri nt h e i i i a b s t r a c t e m b e d d e ds y s t e m ,u s e rc a nd o w n l o a dt h ea p p l i c a t i o np r o g r a m ,w h i c hi sm a d eb yt h e c o n f i g u r a t i o ns o f t ,a n dc a nd i r e c t l yr u nt h ep r o g r a m t h ew o r ko ft h i sp a p e ri st h ep a r to faw h o l ep r o j e c t ,b u ti ti st h eb a s eo f a c h i e v i n gm o r ea d v a n c e df u n c t i o n s k e y w o r d s :e m b e d d e ds y s t e m ,c o n f i g u r a t i o n ,0 b j e c t o r i e n t e d ,m a nm a c h i n ei n t e r f a c e , d a t a b a s e i v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:垒壶垒 日期:年月e l 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:缝鱼圣 日期:年月 e l 勤陌诒b 移迦吸 导师签名: 一一一 第一章绪论 第一章绪论 近年来,伴随着微电子技术、计算机技术、软件技术、控制技术以及通讯技 术的迅速发展,嵌入式应用日益广泛。工业自动化设备特别是可视化智能设备的 发展,使软件在整个系统中所占的比重越来越大,起到了举足轻重的作用。嵌入 式组态软件作为诸多工业自动化应用软件中的一种,为整个工业控制系统注入了 新的活力。 1 1 嵌入式系统概述 嵌入式系统是先进的计算机技术、半导体技术、电子技术和各个行业的具体 应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度 分散、不断创新的知识集成系统。由于其具有体积小、功能好、功耗低、可靠性 高以及面向行业的突出特征,目前已广泛应用于军事国防、消费电子、信息家电、 网络通信、工业控制等领域。 嵌入式系统是嵌入到对象体系中的专用计算机体系,它不同于通用计算机的 计算机应用。国内普遍认同的嵌入式系统定义是:以应用为中心,以计算机技术 为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严 格要求的专用计算机系统n 1 。 1 1 1 嵌入式系统基本特征 由于嵌入式系统应用于特定环境下,针对特定用途来设计的系统,所以它的 硬件和软件都必须高效率的设计,力争在最少的资源上实现最高的性能 嵌入式系统与通用计算机系统相比具有以下特点: ( 1 ) 专用性 嵌入式系统是面向特定应用的,因此它的设计和开发必须考虑到系统要求和 特定的环境。具体的应用需求决定着嵌入式处理器的选型和整个系统的设计。设 计好的嵌入式系统只针对现有的任务,如果任务改变,整个系统很有可能需要重 新设计。 ( 2 ) 功耗低、体积小 电子科技大学硕士学位论文 嵌入式系统大都需要“嵌入 到设备的内部,受到电能供应、安装空间和散 热条件等的限制,必须具有功耗低、体积小等特点 ( 3 ) 集成度高 集成度高包括了两个方面:硬件集成度和软硬件集成度高。 现代很多工业产品如手机、g p s 终端、机器人等都向微型化、移动式、便携 式发展,而且其功能更加强大稳定性更好,这就需要高集成度的嵌入式硬件来支 持。有些产品只需要几个甚至一个核心芯片就能完成所有功能,而且寿命大大增 加。 嵌入式系统一般要求软硬件协同设计,利用计算机底层技术尽可能整合软件 和硬件,这样不仅可以节省存储空间,提高系统运算速度,而且也符合系统功耗 低,体积小的要求。 ( 4 ) 系统资源少 现代工业管理中,降低成本是重要的一项,要求小成本大收益,嵌入式系统 作为设备的核心部分自然不例外,而且由于嵌入式系统要求功耗低、体积小,所 以嵌入式系统一般硬件资源相对通用p c 要少得多。 ( 5 ) 可靠性高 这一点主要取决于嵌入式系统的用途,由于嵌入式系统大多用于工业控制、 军事设备、汽车、飞机等,所以嵌入式系统的高可靠性是保证整个设备稳定、高 效、可靠运行的基础。 1 1 2 嵌入式系统体系结构 应用层 os 层 驱动层 硬件层 应用程序 文件系统图形用户应用程序接口 嵌入式操作系统 设备驱动程序、h a l 、b s p c p u 、存储器、通信接口、电源等 图1 - 1嵌入式系统组成 2 第一章绪论 如图卜1 所示,嵌入式系统一般由四部分组成嵌入式硬件层、驱动层、o s 层 和应用层。硬件层是以嵌入式微处理器为核心,加其他外围元件和设备组成的硬 件电路板。驱动层是与硬件联系最紧密的软件程序,所有的操作系统和应用程序 都通过驱动层达到对硬件的支持和使用。有时也将驱动层和o s 层合为一层。0 s 层为操作系统层,是嵌入式应用程序运行的环境。应用层主要包括应用程序和应 用程序接口。 1 2 嵌入式组态软件概述 组态软件是用计算机语言编写的能将各种控制硬件( 工业p c 机、各种控制板 卡、p l c 、模块、单片机、数字仪表) 组合到一起,形成一个大的能进行实时监控 的系统专业应用软件别。 1 2 1 嵌入式组态软件国内外发展现状 “组态”的概念最早来自英文,其含义c o n f i g u r a t i o n 是使用软件工具对计 算机及软件的各种资源进行配置( 包括进行对象的定义、制作和编辑,并设定其 状态特征属性参数) ,达到使计算机或软件按照预先设置,自动执行特殊任务,满 足使用者要求的目的h 1 。 最早开发的通用组态软件是d o s 环境下的组态软件,其特点是具有简单的人 机界面( 涮工) 、图库、绘图工具箱等基本功能。随着w i n d o w s 的广泛应用,w i n d o w s 环境下的组态软件成为主流。与d o s 环境下的组态软件相比,其最突出的特点是 图形功能有了很大的增强。国外许多优秀通用组态软件是在英文状态下开发的, 它具有应用时间长、用户界面不理想、不支持或不免费支持国内普遍使用的硬件 设备、组态软件本身费用和组态软件培训费用高昂等因素,这些也正是通用组态 软件在国内不能广泛应用的原因。随着国内计算机水平和工业自动化程度的不断 提高,通用组态软件的市场需求日益增大。 近年来一些国外著名硬件或系统厂商亦推出了日趋成熟的嵌入式组态软件产 品,如美国w o n d e r w a r e 公司的i n t o u c h ,美国i n t e l l u t i o n 公司的f i x ,澳大利 亚c i t 公司的c i t e c h 以及美国g e 公司的c i m p l i c i t y ,美国a b 公司( r o c k w e l l 自动化) 的r s v i e w ,德国西门子公司的w i n c c 等。这其中的一些组态软件,已一 改过去仅为其本身硬件配套的o e m 形式或面孔,通过大力加强对其他硬件产品的 驱动支持和软件内部的各种功能,而发展成为专业化的通用组态软件。如美国g e 电子科技大学硕士学位论文 公司成立专门软件部门,己将其c i m p l i c i t y 开发成为优秀的通用组态软件产品, 尤其加强了服务器及网络冗余和管理层方面的功能,适应了潮流,加之随软件提供 各种驱动程序,在国际市场上获得了很大的市场份额。一些硬件厂商,如 r o s e m o u n t ,h o n e y w e l l 等公司也陆续推出了新型的、更开放的控制系统以及现场 总线产品,并配以”开放的”嵌入式组态软件。但这些组态软件的开放性主要是面对 管理层,对下的关键部分控制策略,一般仍只针对本公司产品,因此不能称为 通用组态软件口1 国产化的嵌入式组态软件产品也正在成为市场上的一支生力军,近年来比较 出名的组态软件产品如m c g s 、组态王、虎翼等都相继推出了嵌入式版本,这些产 品基于通用的计算机控制平台或嵌入式人机界面,能够用组态方式开发出出色的 监控管理界面。然而,由于这些软件出自专业软件公司,无法对p l c 硬件进行控 制策略组态,因此对小型应用化嵌入式p l c 控制系统,无法形成优秀的控制监控 一体化解决方案。国内有不少单位,如一些高校、研究所、公司,甚至一些个人 也正在积极地搞自主知识产权p l c 和集成化组态软件产品的开发,但基于嵌入式 p l c 的集成化组态软件开发,却没有引起足够重视,目前也没有有关研发及产品 的报道堙1 。 随着现场总线技术的成熟和更多应用,给组态软件的发展带来更多的机会。 现场总线( f i e l d b u s ) 是用于过程及制造自动化底层的现场设备或现场仪表互联 的通信网络,是现场通信网络和控制系统的集成。现场总线全数字化、开放式的 互联结构,现场设备互换性和互操作性的特性为控制的组态提供了良好的硬件条 件。借着现场总线控制系统及嵌入式整体控制方案在我国的强势推广,嵌入式p l c 组态软件的开发和应用呈现出良好的前景。 1 2 2 嵌入式组态软件的特点 嵌入式组态软件是模块化的软件。嵌入式组态软件的主要特点如下: ( i ) 延续性和可扩充性。用嵌入式组态软件开发的应用工程项目,当现场( 包 括硬件设备或结构体系) 或用户需求发生改变时,不需要做很多修改而方便地完 成软件的更新和升级。 ( 2 ) 封装性。嵌入式组态软件将复杂的内部程序代码封装起来,用户所能看 到的只是一些简单的图形和提示性的对话框,用户不需要太多的编程知识( 甚至 不需要编程知识) ,就能轻松完成一个复杂的工程项目。 4 第一章绪论 ( 3 ) 通用性。利用嵌入式组态软件提供的各种低层驱动程序( d r i v e r ) ,可 以完成在多种硬件平台上的同一操作系统下的工程开发。开放的数据库和画面制 作工具可以满足不同行业的要求。 嵌入式组态软件使工程师从复杂难懂的计算机语言、通讯协议和图形处理中 解放出来,把主要精力投入到控制对象的设计上,大大缩短了控制工程的开发周 期。 1 23 嵌入式组态控制系统体系结构 嵌入式工业组态软件由系统开发环境和系统运行环境量部分组成。开发环境 主要在通用p c 上完成,而运行环境在嵌入式硬件平台和操作系统上。 l c dj 罩h 。洋巷 錾厂、n 豳 图1 - 2 嵌入式组态控制系统体系结构图 1 2 4 嵌入式组态软件体系结构 本论文所做的工作是一种新型体系结构的嵌入式组态控制系统研究开发项目 的一部分,此组态软件是基于i e c 6 1 1 3 1 3 的工业自动化编程标准开发的编译平 台,整个软件平台的结构体系如图卜3 所示。 电子科技大学硕士学位论文 图1 3 嵌入式组态软件结构体系 1 3 本论文所做的工作 本论文所做的主要工作有四部分: ( 1 ) 建立嵌入式组态软件开发环境中的用户界面模块。用户界面模块主要包 括图形模块、图形管理模块和动画驱动模块。图形模块主要是用户界面支持的图 形类的定义,这些图形类封装了所有图形实现的操作和图形的属性变量。图形管 理模块主要是图形管理类的定义,图形管理类主要是将用户的操作翻译成图形的 6 第一章绪论 具体实现,即对用户的操作作出相应的反应,使图形按照用户的操作进行改变。 动画驱动模块主要是动画驱动类的定义,动画驱动类封装了用户界面所支持的所 有动画的实现,动画驱动对象使图形对象的属性按照某种规则随着时间的逝去发 生变化。 ( 2 ) 建立实时数据库模块。实时数据库模块主要包括数据库数据模型建立, 事务模型建立以及开发环境中数据库的实现。 ( 3 ) 建立数据交换模型。数据交换主要是应用程序与外部设备的数据交换。 数据交换模块的主要功能是为用户提供现成的设备驱动程序,驱动配置、和驱动 调度以及设备配置。用户只需要在编译时选择相应的设备构件就能在运行应用程 序时自动完成与设备的连接。 ( 4 ) 建立控制策略和脚本编译模块。运行策略模块是用户为实现对系统进行 流程自由控制所组态生成的一系列功能块的总称。脚本编译模块当某些控制和计 算任务通过常规组态难以实现时,通过使用脚本语言,能够增强整个系统的灵活 性,解决常规组态方法难以解决的问题。 7 电子科技大学硕士学位论文 第二章嵌入式组态软件运行环境的设计与实现 嵌入式组态软件的设计分为两个部分:开发环境和运行环境。开发环境主要 完成组态软件的编译、连接、应用程序的生成、下载。开发环境一般在通用p c 上由v i s u a lc + + 建立。运行环境是由嵌入式硬件平台和嵌入式实时操作系统组成。 2 1 嵌入式组态软件硬件平台的设计 嵌入式系统的硬件平台是嵌入式系统软件运行环境的基础,它提供了嵌入式 软件运行的物理平台和通信接口。嵌入式硬件平台并没有固定的模式,其硬件的 选择和各种硬件接口的使用主要依据的是系统所要完成的任务【l 】。 2 1 1 嵌入式系统硬件平台的基本结构 嵌入式系统的硬件平台架构如图2 - 1 所示,是以嵌入式处理器为中心,由存 储器、i o 设备、通信模块以及电源等必要的辅助接口组成。 图2 - i 嵌入式硬件平台基本组成 嵌入式系统是专用计算机应用系统,不同于普通计算机组成,在实际应用中 第二章嵌入式组态软件运行环境的设计与实现 的嵌入式系统硬件配置非常的精简,除了处理器和基本的外围电路以外,其余的 电路都可根据需要和成本裁减、定制,非常经济、可靠【l j 。 嵌入式系统硬件的核心是嵌入式微处理器,有时为了提高系统的信息处理能 力,常外接d s p 和d s p 协处理器( 也可内部集成) ,以完成高性能信号处理。 随着计算机技术、微电子技术、应用技术的不断发展及纳米芯片加工工艺技 术的发展,以微处理器为核心的集成多功能的s o c 系统芯片已经成为嵌入式系统 的核心。这些s o c 集成了大量的外围u s b 、u a r t 、以态网、a d d a 、1 2 s 等功 能模块。 2 1 2 系统核心设计 2 1 2 。1 微处理器选择 嵌入式系统的硬件是以嵌入式处理器为核心,配置必要的外围接口部件形成 的,因此,系统核心的设计首先是嵌入式微处理器的选择。嵌入式微处理器主要 分为支持操作系统和不支持操作系统两种,由于本项目中组态软件是针对有操作 系统的微处理器开发的,因此,必须选择能支持嵌入式操作系统的微处理器。另 外每种微处理器提供了不同的接口,要根据控制对象的不同选择不同的处理器, 如有些处理器提供了c a n 接口,需要用到c a n 总线的就可以优先考虑这种处理 器。 本项目嵌入式硬件平台采用的微处理器是s a m s u n g 公司的$ 3 c 2 4 4 0 a 。该芯 片是基于a r m 9 2 0 t 而开发的一款多功能s o c 。a r m 9 2 0 t 核由a r m 9 t d m i 、存 储管理单元m m u 和高速缓存三部分组成。其中,m m u 可以管理虚拟内存,高 速缓存由独立的1 6 k b 地址和1 6 k b 数据高速c a c h e 组成。a r m 9 2 0 t 有两个内部 协处理器:c p l 4 和c p l 5 。c p l 4 用于调试控制,c p l 5 用于存储系统控制以及测试 控制。$ 3 c 2 4 4 0 a 除具备一般a r m 芯片所具有的总线,s d r a m 控制器,3 个串 口等外设之外,$ 3 c 2 4 4 0 a 还集成有一个l c d 控制器( 支持s t n 和t f t 带有触摸 屏的液晶显示屏) 、u s bs l a v e ,u s bh o s t ,i 2 c 总线控制器、8 通道的1 0 位a d c 、 1 2 s 音频接口等丰富的扩展功能。芯片工作电压3 3 1 8 v ,最高运行速度可达 5 3 3 m h z 。 2 1 2 2 存储器选择 存储器的选择取决于微处理器是否支持、嵌入式操作系统的大小、应用程序 的代码和数据的大小、数据库数据的存储方式以及成本等。 9 电子科技大学硕士学位论文 由于磁盘的i o 读写所需要的时间太长,防震和抗恶劣环境能力较差,一般 不适合于对实时性和稳定性要求很高的嵌入式系统。表2 1 对现有的常用于嵌入 式系统的存储器的性能进行了比较 表2 - 1嵌入式存储器性能表【5 】 f l a s h r a m 有n o rf l a s h 和n a i a df l a s h 之分,n o rf l a s h 的读速度比n a n df l a s h 快,但写速度比n a n df l a s h 慢,一般n o rf l a s h 作为代码存储器,n a n df l a s h 可作 为数据存储用。几乎所有的嵌入式微处理器都支持从n o rf l a s h 启动。s a m s u n g 的有些处理器支持两种启动方式,如本项目所用的芯片$ 3 c 2 4 4 0 a 。 图2 - 2 嵌入式存储结构5 】 内存 外存 我们针对实时数据库构建图2 2 所示存储结构。f l a s hr a m 的写速度慢,而 读数据速度和r a m 很接近;n v - 洲的读写速度和r a m 相同,在有后备电源 1 0 第二章嵌入式组态软件运行环境的设计与实现 的情况下具有数据不丢失性;r a m 的读写速度最快,是数据处理的场所,但掉 电或关闭后数据会丢失。因此,我们可以将实时性要求很强,而且需要频繁写操 作的数据存储在n v - f l a s h ,而只需要读取的数据存储在f l a s hr a m ,在系统空闲 时可以将数据写入f l a s hr a m 永久性存储。 2 1 2 。3 核心电路设计 本项目中的核心系统电路图如图2 - 3 。 d 出口l 坷 a d d r 笛:田 h 渺毋功 啪e 1 i 蛐霭磁 i 椰琚d h 姚 h i 胚 s 3 c 己4 4 0 a i s c 陋 【s c i 圈 蛹c s 6 - i 坫r a s i 坩c 郎 姚 b m , b a o , a 1 2 :a o ,d 1 5 :d o 眵口l 1 6 】 跚翰u d 帆m s c k e s c 型蠕 c 轧d 姗 图2 - 3 核心系统电路图 b 血b 姚 n f c e c i e 工e 本项目中硬件平台核心系统采用s 3 e 2 4 4 0 a 微处理器,6 4 ms d r a m ,1 6 m n o r f l a s h 、6 4 mn a n d f l a s h 和一些辅助元件组成 2 2w i n d o wc e 操作系统的定制及底层开发 嵌入式操作系统是种支持嵌入式系统应用的操作系统软件,它是嵌入式系 统的重要组成部分。嵌入式操作系统具有通用操作系统的基本特点,能够有效管 黜瓣剿蟊 陌离门 端跚怒 d l i 蹦蹁勰 d 毋 衅蝴 观 功n磁b吮舢晤嗍一一一一舰她; 龇 一一一一眦摊姗 龇 一一一一姗姗姗卯纠纠 。谧 踯 a 奠 她 q 堰呢埘蝌温淝 一 蝤 一 笠 萋i 强一 电子科技大学硕士学位论文 理复杂的系统资源,完成进程管理、处理器调度、存储管理、设备管理、中断处 理等操作系统任务。它通常包括与硬件相关的底层驱动软件、系统内核、设备驱 动接1 2 1 、通信协议、图形界面等【6 1 。由于本项目选用的是w i n d o w sc e n e t 操作系 统,因此,操作系统定制和底层开发只针对w i n d o w sc e n e t 。图2 4 是完整的 w i n d o w sc e 平台定制过程。 硬件设计开发、定制驱动 上 测试& 集成 加载r o m 监视器 1r , 引导内核 创建b o o t l o a d e r 测试集成 1 l 开发o a l 1 l 开发和集成目录项 开发b s p测试& 集成 图2 - 4w i n d o w sc e 平台开发过程 2 2 1w i n d o w sc e 操作系统 m i c r o s o f tw i n d o w sc e 是一个开放的、可剪裁的、3 2 的实时嵌入式窗口操作 系统。和其他桌面版窗口操作系统( w i n d o w9 9 2 0 0 x p 等) 相比,它具有可靠性 好、实时性高、内核体积小的特点,所以一般用于各种嵌入式智能设备的开发, 被广泛应用于工业控制、信息家电、移动通信、汽车电子、个人电子消费等各个 领域,是当今应用最多、增长最快的嵌入式操作系统。 在操作系统层,包括了以下模块: ( 1 ) c o r e d l l c o r e d l l 是处于w i nc e 操作系统和应用层之间的一个模块,隔离了操作系 1 2 第二章嵌入式组态软件运行环境的设计与实现 统其他模块与应用层,这样使系统的应用层通过c o r ed l l 来与操作系统模块进 行通信,使操作系统获得一个保护层。c o r ed l l 层主要担任对外部调用系统功能 进行代理的任务,实现了系统a p i 的管理和按名调用。 客户服务应用程序用户接口 应用层 i n t e m e t 客户服务 霞国际吨姜 w i n c e 应用程序 客户和服务开发 4 e i a r - zz 女目 课作系统层 c o r e d l l 对象存储 多媒体技术图形窗口和事件系设备管 通信服务和网络 统( g w e s )理器 匿j 核,矗。一”溺 o a lu e m ,艺; 驱动 l 引导程序ii 配置文件i 硬件层l 图2 5w i nc e 操作系统模型层嘲 ( 2 ) 核心 核心在系统运行时体现为n k e x e ,完成操作系统的的主要功能,如处理器调 度、内存管理、异常处理、系统内的通信机制,以及为其他部分提供的核,t 5 调用 例程,还为系统范围内的调试提供支持。 ( 3 ) 设备管理模块 设备管理模块运行时表现为d e v i c e e x e ,主要提供基本的设备列表管理、即 插即用管理、i o 资源管理以及设备驱动程序工作的基本机制。 ( 4 ) 图形窗口和事件系统模块 这个模块运行时表现为g w e s e x e ,主要实现基本的绘图引擎、窗口管理、 界面的事件机制等。 ( 5 ) 通信和网络服务模块 通信和网络服务模块主要功能完成w i nc e 与外界网络的通信功能,并为操 作系统上层提供网络服务。 ( 6 ) 对象存储模块 电子科技大学硕士学位论文 对象存储指w i nc e 的存储内存空间。它包括三种类型的数据:w i n c e 数据 文件和程序,系统注册表和w i nc e 数据库。 ( 7 ) 应用和服务开发模块 应用和服务开发模块包括一般所说的w i n 3 2 系统服务模块,是w i nc e 对应 用程序提供的接口【5 1 。 2 2 2b o o t l o a d e r 开发 b o o t l o a d e r 是一段单独的程序代码,它存放于目标平台的非易失存储介质中, 如r o m 或f l a s h 。在开发c e 的过程中,它主要用于启动硬件和下载n k b i n 到目 标板上,并有一定的监控作用。b o o t l o a d e r 的工作流程如图2 - 6 。 图2 - 6b o o t l o a d e r 的工作流程7 】 一般来说,对于b o o t l o a d e r 的功能要求并不是严格定义的,不同的硬件平台 区别很大。在嵌入式平台上,b o o t l o a d e r 必须包括以下两个功能。 ( 1 ) 加电初始化程序。在嵌入式硬件平台上,b o o t l o a d e r 是最先被执行的 程序,所以就必须包括加电初始化程序。 1 4 第二章嵌入式组态软件运行环境的设计与实现 ( 2 ) 下载w i n d o w sc e 映像文件的功能。 ( 3 ) 管理监控硬件设备功能。因为这可以极大地方便工程开发和调试。 由于b o o t l o a d e r 涉及到基本的硬件操作,如c p u 的结构、指令等,同时又 涉及到以太网下载协议和微软设定的映像文件格式。因此如果所有的代码都从头 开始写的话,会需要相当长的时间。而一般的方法是利用微软为每种类型的c p u 提供的标准开发板的b o o t l o a d e r 例程。开发b o o t l o a d e r 时,可以从这些例程中 寻找与硬件平台最接近的作为样本程序,然后在根据自己的硬件平台做相应的改 动。如果开发板是由第三方厂商提供或者由第三方厂商提供的评估板为基础开发 而来的话,最好利用第三方的厂商来提供b o o t l o a d e r 进行修改。以减少开发工作 量。 b o o t l o a d e r 一般分为三部分:启动部分,主控部分和下载部分 启动部分 首先要实现初始化硬件的功能。在b o o t l o a d e r 样本例程目录下,存在i n i t s 或者是r e s e t s 的文件,这样的文件是c p u 加电后最先执行的代码。此处是用汇编 语言编写的,与c p u 关系紧密。一般选用的参考扳的c p u 与开发平台的c p u 相 同或者是同一个架构的。如果选用的c p u 是同一种,则对寄存器的定义和初始化 流程都可以不加改动。接着就是对于平台配置的分析,包括平台存储空间的分配、 外围设备的工作设定等。一般在这里必须要对c p u 寄存器的值作相应设定。这部 分工作通常需要根据c p u 厂商提供的技术资料才能完成。 主控部分 这部分和后面的程序都是c 语言编写而成。为了增加b o o t l o a d e r 对平台的 控制,般b o o t l o a d e r 都会设计成支持命令输入的方式,通过串口来接收用户的 命令。这种机制中,如果参考板有b o o t l o a d e r 支持的话,那么可以自己添加有实 用价值的命令,完成一些需要的功能。 从图2 5 中可以看出,一般在平台调试完毕后,可以在不用人工干预的情况 下自动加载w i n d o w sc e 内核镜像文件,如n k b i n ,这也是b o o t l o a d e r 必需的功 能之一。而在调试阶段,基本上是通过b o o t l o a d e r 所支持的命令来进行操作的。 提供足够丰富的命令,能极大简化和全面测试开发平台。一般提供的命令有: h e l 广列出所有支持的命令并加以说明 e b o o t 从开发台下载c e 映像并加载 w n t r 向某一内存地址写入数据 r e a d 显示某一内存地址的数据 电子科技大学硕士学位论文 j u m p 一跳转到某一地址执行程序 x m o d e m 从计算机的超级终端接收以x m o d e m 协议传送的文件 t o v 一测试平台c p u 的计数器是否运转 f l a s h 擦除或者更新f l a s h 中的数据 t l b r e a d 显示c p u 的所有t l b 表 t l b w d 卜设置c p u 的t l b m a c a d d r 设置c p u 的m a c 地址 s e t i 设置平台的i p 地址 这些命令大部分都涉及到平台调试的各个方面,像内存检测、f l a s h 操作、文 件下载等。借助于这些命令,不仅可以完成硬件平台的部分测试,还完成了作为 w i n d o w sc e 的b o o t l o a d e r 程序最为重要的一个功能下载w i n d o w sc e 映像 文件。 下载部分 在用p l a t f o r mb u i l d e r 编译生成w i n d o w sc e 的映像文件后,接下来就需要将 该文件下载到目标板上。如果说硬件调试功能可以由其它的程序代替而不需要放 入b o o t l o a d e r 中,但是下载映像文件却是b o o t l o a d e r 必需的功能。 w i n d o w sc e 映像文件通常叫做n k b i n ,它是w i n d o w sc e 二进制数据格式 文件,不仅包含了有效的程序代码,还按照一定规则加入了的控制信息。当然, 也可以选择生成s r e 格式的代码文件,但是相对于前一种格式,它的代码要长很 多,所需要的下载时间也更长。在这里,我们以下载b i n 格式的文件来说明下载 的实现。 首先看一下图2 7 所示的b o o t l o a d e r 下载部分的流程图。 通常,在p l a t f o r mb u i l d e r 生成的代码中,会包含完成t f t p 连接的基本的函 数。 初始化t f t p 连接:用函数e b o o t l n i t t f t p 0 和e b o o t l n i t t f t p d 0 完成。 登记解析b i n 格式数据的回调函数:用e b o o t t f t p d s e r v e r r e g i s t e r ( ) 完成。 发出连接请求:用e b o o t s e n d b o o t m e 0 完成。 接收主机端发出的数据包:用e b o o t t f t p r e c e i v e r ( ) 完成。 在这里,需要重点说明的有两点。 ( 1 ) 对于接收数据包的函数e b o o t t f t p r e c e i v e r ( ) ,它只能处理已经存入内存 的以太网包,也就是说,从以太网控制器接收数据的功能必须要用户去完成。由 于这一功能与硬件密切相关,所以不能使用p l a t f o r mb u i l d e r 自带的函数来完成。 1 6 第二章嵌入式组态软件运行环境的设计与实现 ( 2 ) 函数e b o o t t f t p d s e r v e r r e g i s t e r 0 会登记一个回调函数,一般用户可以自 己定义这个函数,该函数用于完成,b i n 格式数据的解析和保存,有效数据至目 的地r a m 。p l a t f o r mb u i l d e r 有自带的例程函数可作参考。一般来说,如果目的 地就是r a m 的话,直接参考例程函数即可。但是如果目的地就是f l a s h ,不要直 接存入f l a s h ( 字为单位) ,应先存入内存中待下载完毕以后再导入f l a s h 。当然, 这种方法必须要有足够的内存。如果没有足够的内存,也可以缓存部分数据后, 分段写入f l a s h t 川。 2 2 3b s p 开发 图2 7b o o t l o a d e r 下载部分的流程图 b s p ( b o a r ds u p p o r tp a c k a g e ) 是一个包含启动程序、o e m 适配层( o a l ) 、 标准开发板( s d b ) 和相关硬件设备的驱动程序的软件包。b s p 是基于w i n d o w s 1 7 电子科技大学硕士学位论文 c e n e t 平台系统的主要部分,它主要由一些源文件和二进制文件组成。 b s p 的开发是整个操作系统移植最难的一部分,需要对系统有很深入的了解。 微处理器生产厂家都提供了相应的标准b s p 。微软公司在p l a t f o r mb u i l d e r 中也提 供大部分微处理器的标准b s p 。利用p l a t f o r mb u i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 涉水人员卫生知识培训班课件
- 2025年教育信息化基础设施布局与升级路径研究报告
- 2025年深远海风电场环境影响评估与生态保护报告
- 机械原理张春林课件
- 打印残余应力控制-洞察及研究
- 消防重点工种培训知识课件
- 消防避难层知识培训内容课件
- Napyradiomycin-B3-生命科学试剂-MCE
- CDK2-IN-13-d3-生命科学试剂-MCE
- 消防课件网教学课件
- 医学类案例教学法
- 2025巡护员考试题库及答案
- 产科专科护士结业汇报
- 2025文化和旅游部直属事业单位招聘社会人员29人模拟试卷附答案详解
- 产前准备课件
- 2025年安徽滁州郊源阳光电力维修工程有限责任公司招聘14人(第二批次)笔试参考题库附带答案详解(10套)
- 废料出售管理办法
- 城管协管人员面试题及答案
- 胰腺移植护理查房
- 2025年中式烹调师(技师)考试题库附答案
- 1.2.2棱柱圆柱圆锥的展开与折叠课件北师大版七年级上册数学
评论
0/150
提交评论