基于堆栈结构的开放式控制器关键技术研究.doc_第1页
基于堆栈结构的开放式控制器关键技术研究.doc_第2页
基于堆栈结构的开放式控制器关键技术研究.doc_第3页
基于堆栈结构的开放式控制器关键技术研究.doc_第4页
基于堆栈结构的开放式控制器关键技术研究.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

-专业文档,值得下载!-专业文档,值得珍藏!-基于堆栈结构的开放式控制器关键技术研究赵辉符意德白晖(南京理工大学计算机科学与技术学院,南京210094)摘要:本文提出了基于堆栈结构的开放式控制器体系结构,并给出该体系结构的总体框架;在开放式控制器的扩展过程中,模块化设计和配置系统是整个系统设计的关键,有效的通信机制是系统运作的核心。针对系统地址的离散特征,设计采用触发中断的方式以实现系统对硬件板卡接入的响应,通过配置系统完成硬件板卡驱动程序的加载。在通信机制中,采用了控制缓冲技术以实现对多板卡的并行控制,采用信息紧凑技术以保证系统控制过程中信息的有效性和控制的实时性。关键词:堆栈结构;控制缓冲;信息紧凑;组态随着技术市场、生产组织结构等方面的快速变化,人们希望能根据不同的加工需求,迅速高效地构建面向客户需求的控制系统,降低生产厂家对控制系统的高依赖性,改变以往控制系统封闭性的设计模式,使得生产控制更简便有效1。这一趋势促成了开放式控制系统的产生。在开放式控制系统中,逻辑上分离的组件是最基本的构成单元,组件之间和组件与应用平台之间有良好的界面定义,并对用户提供良好的交互界面2。本文主要针对现有控制系统中存在的问题,提出基于堆栈结构的开放式控制器体系结构,给出该体系结构的总体框架和设计思路;在此基础上对板卡接入后驱动的加载给出具体的实现方式,对该体系在控制过程中为了保证控制信息的有效性和控制过程的实时性而采用的控制缓冲技术和信息紧凑技术给以说明。1.开放式控制系统的体系结构开放式控制系统已经发展了多年,但目前学术界和工业界对开放式控制器系统研究还争论颇多。就现有的国内外的开放式控制器系统而言,虽然系统运行在标准的软硬件环境之上,支持多种操作系统、硬件体系结构及通讯传输协议;但对硬件的扩充却是受限的,整个系统仍然受到原有硬件结构和操作系统的限制,特别是有关硬件驱动的开发和加载方法,有关信息有效性和控制实时性的保障策略仍然是制约系统扩展的关键3。在我们提出的基于堆栈结构的开放式控制器系统架构中,将在三个层次上实现控制系统的开放性;在硬件层次上,控制系统能够方便的进行功能扩展,当控制系统需要添加其他控制功能时,板卡可以通过主模板上的pc/104总线接口与系统连接;在系统控制层上,控制系统能够准确的定位外部板卡的接入,并实现板卡驱动的加载;在控制应用层上,系统可以通过组态软件实现控制过程额图形化配置4。本文主要针对在硬件层次开放过程中,有关板卡接入和驱动的加载给以说明,并对系统扩充后的相关通信问题给予论述。首先,我们给出系统的总体框图:具体构成如图1,系统构成是基于主模块和接入板卡的,主模板是开放式控制器的核心,其硬件由CPU、SDRAM、NORFlash、NANDFlash、实时时钟、RS-232接口、USB主接口、以太网接口、全真彩LCD接口、类PC104总线驱动等组成。功能模块通过类PC104总线与主模板连接,并提供特定的控制功能,其硬件包含CPU、SDRAM、NORFlash、NANDFlash、实时时钟、类PC104总线驱动等,并根据具体的控制功能要求,提供一定数量的I/O接口和A/D接口。-专业文档,值得下载!-专业文档,值得珍藏!-图1在系统的结构设计上,我们将其分为硬件层,硬件抽象层,控制支撑层和控制应用层。其中,硬件抽象层主要包含启动引导程序和精简操作系统;控制支撑层包含监控系统,配置系统,语言系统,通信系统,诊断系统和系统调用接口API;控制应用层主要包含应用程序,数据库,web服务,控制算法,控制图形库和控制组态软件。如图2所示引导程序(硬件控制)硬件精简操作系统监控系统配置系统语言系统诊断系统通信系统调用接口API应用程序图2其中,精简操作系统5包括进程控制系统和文件系统;进程控制系统负责进程间通信和进程调度,文件系统主要负责文件和设备的管理并负责创建虚拟文件系统,管理高速缓冲,另外精简操作系统还负责内存管理并负责向上层提供系统调用接口,具体关系如图3所示。监控系统负责硬件的实时监控、响应板卡的接入,并配合配置系统完成板卡的驱动加载;配置系统负责操作系统功能模块的加载和应用软件的升级和控制应用功能的扩展。文件系统虚拟文件系统高速缓冲进程控制系统进程间通信进程调度内存管理设备驱动程序硬件控制系统调用接口图3以下,我们将对基于堆栈结构6的开放式控制器在硬件层次开放过程中的关键技术给出具体的解决方案和具体策略。2驱动加载技术基于堆栈结构的开放式控制器,其硬件扩展方式的特征决定了扩展板卡驱动加载过程的特殊性;对于总体系统而言,由于主模板和扩展板卡在硬件上的独立性,整个系统在内存单元,地址分配都具有较强的离散特征。当扩展板卡接入系统时,总线接口的特定引脚将触发中断,系统监测进程将做出响应,直到板卡接入稳定为止,然后配置系统将按图4,完成驱-专业文档,值得下载!-专业文档,值得珍藏!-动程序的加载。扩展控制部件稳定接入创建硬件设备节点和链接文件返回节点创建成功读取接入硬件接口和描述信息信息读取成功拷贝硬件驱动至缓冲区驱动读取成功调用驱动管理程序驱动缓冲空间剩余空间足够硬件驱动挂接用户进程调用驱动YYYYYNNNN调用驱动管理程序驱动程序在驱动缓冲区将驱动拷贝至缓冲区硬件驱动挂接驱动操作驱动缓冲空间剩余空间足够按系统调度策略释放缓冲区空间NYYNYN硬件驱动挂接成功NY图4配置系统在确定扩展板卡部件稳定接入系统后,将给该部件创建硬件设备节点和链接文件,链接文件指向存放在该扩展板卡的Flash的固定区域,该区域存放该板卡的驱动程序;节点和链接文件创建成功后,主模板将通过类PC/104总线读取该板卡的硬件接口和描述信息,并实现对此板卡的硬件抽象;然后调用驱动管理程序,把链接文件指向的驱动程序添加到驱动链表中;驱动管理程序首先通过系统总线将驱动程序拷贝至主模板的一个特定的缓冲区,然后检测驱动链表所在的内存分配空间的剩余大小,如果空间大小足够,再将缓冲区的驱动程序挂接到驱动链表中,否则将不作任何处理。当应用程序通过系统接口调用特定的板卡驱动时,如果该驱动程序在驱动链表中,将直接调用,否则将通过链接文件,将相应的驱动程序拷贝至主模板的缓冲区,通过一定的调度策略,删除驱动链表中若干个驱动程序,直到该板卡的驱动能够成功添加到驱动链表为止。开放式控制器作为原有控制器的发展,在实现系统开放性的同时,必须保证控制功能的有效性。系统硬件的扩展,必然会增加控制的复杂程度,降低系统的通信性能。为了保证通信过程中信息的有效性和控制的实时性,系统引入了控制缓冲和信息紧凑等策略。3.控制缓冲技术-专业文档,值得下载!-专业文档,值得珍藏!-所谓控制缓冲,就是在处理器和主模板接口之间,接入板卡和接入总线之间分别开辟独立的用于信息暂存的内存块,如图5所示,该内存块具有动态分配的特征,其内存块的大小按照整个系统接入板卡的数量进行分配,并对板卡控制的频率进行统计,图示中是接入N个板卡后的分配状态,该内存块被分为N个窗口,为了适应处理器并行控制的需要,系统为此内存块分配M个接口;接入板卡在特定的Flash区开辟与对应窗体大小一直的区域,用于存放接受信息和发送信息的缓冲;图中,处理器和总线间的通道用于实时性信息的传输和接收;处理器与该内存块之间的通道和该内存块与总线之间的通道用于处理器对多个接入板卡同时控制时信息的发送和接收。窗口1窗口2窗口3窗口N。处理器接口接口M。类pc/104系统总线接入板卡窗口1接入板卡窗口2接入板卡。接入板卡窗口N图54.信息紧凑技术所谓信息紧凑,就是当主控器对若干接入板卡同时控制时,为了减少系统总线上的信息传输总量,提高系统控制的实时性能,对此同步控制信息进行的压缩处理的过程。定义总线一次信息传输的信息量为L,传输时间为S,系统接入板卡的极限为N,对N按照操作上的互斥性分为M类,使得类内的板卡在操作上互斥;特定板卡的控制集和为C,将C按照指令互斥性分为D类,使得类内在操作上互斥;定义OP_L(T,G)为T时刻对G个接入板卡进行同步控制的信息量;定义OP_S(T,G)为T时刻对G个接入板卡控制操作完成的时间;_(,)SOPLTG,_(,)SOPSTG为系统所有控制的信息总量和传送时间。11TOP_L(T,G)OP_S(T,G)GiGiiLiS_2OP_L(T,G)R_NOP_S(R_N)OP_S(T,G)RN满足则R_N可表达信息集合涵盖L

温馨提示

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

评论

0/150

提交评论