(机械电子工程专业论文)基于mpc5200和嵌入式linux的数字运动控制器研究与开发.pdf_第1页
(机械电子工程专业论文)基于mpc5200和嵌入式linux的数字运动控制器研究与开发.pdf_第2页
(机械电子工程专业论文)基于mpc5200和嵌入式linux的数字运动控制器研究与开发.pdf_第3页
(机械电子工程专业论文)基于mpc5200和嵌入式linux的数字运动控制器研究与开发.pdf_第4页
(机械电子工程专业论文)基于mpc5200和嵌入式linux的数字运动控制器研究与开发.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(机械电子工程专业论文)基于mpc5200和嵌入式linux的数字运动控制器研究与开发.pdf.pdf 免费下载

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

文档简介

上海大学硕士学位论文 摘要 运动控制器是组建工业运动控制系统的核心部件。工业现场的一些自动化设 备受专用硬件连接和通信技术的限制,需要具有开放体系结构的运动控制器来与 控制任务相匹配。近年来,开放式运动控制器成为工业控制领域研究的热点。本 论文首先从现代运动控制器的应用前景和发展趋势出发,分析了在“m p c 5 2 0 0 嵌入式微处理器+ l i n u x 操作系统”体系平台上开发运动控制器所带来的开放性 和稳定性方面的优势。然后对基于嵌入式l i n u x 的开放式数字运动控制器的研究 和开发过程进行深入而细致的阐述。 在详细研究l i n u x 的体系结构以及设备驱动、内核通信、实时扩展等机制的 基础上,论文介绍了一种基于c a n 总线的脉冲输出控制型数字运动控制器 m p c 5 2 0 0 运动控制器的设计方法。m p c 5 2 0 0 运动控制器的硬件系统由嵌入式运 行系统、电机控制模块、i o 控制模块、m s c a n 通信模块等几部分组成。运动 控制器的软件系统采用开放化和模块化的结构形式,划分为内核模块、设备驱动 模块和上层用户软件模块三大功能模块。通过裁减、移植、运行l i n u x 系统和添 加设备驱动程序,在m p c 5 2 0 0 微处理器上实现了用户软件运行的基础环境。实 际使用m p c 5 2 0 0 运动控制器时,通过组合不同的上层用户软件来调用运动控制 器的设备接口,运动控制器可以满足多种工业运动控制任务,从而提高了其扩展 性和互换性。 在以上研究和开发的基础上,论文介绍了m p c 5 2 0 0 运动控制器应用在二维 水射流数控系统中的用户软件实现方法。设计的用户程序通过调用运动控制器的 设备接口成功地实现了二维曲线轨迹数控加工所需要的各种功能,充分验证了运 动控制器的实用性。设计的用户程序子模块包括:c a n 通信、g 代码解释、软 件插补、电机加减速等。 水射流数控系统的运行结果证明:采用l i n u x 操作系统集成实时内核的方法 开发出来的运动控制器具有良好的开放性、实时性和稳定性。论文最后总结了课 题的开发经验并提出m p c 5 2 0 0 运动控制器需要进一步改进和研究之处。 关键词:l i n u xm p c 5 2 0 0 开放式数字运动控制器 上海大学硕士学位论文 a b s t r a c t m o t i o nc o n t r o l l e r1 st h ek e r n e lp a r to fam o t i o nc o n t r o ls y s t e m b e c a u s eo ft h e d e f i c i e n c yo fh a r d w a r ec o n n e c t i o na n dc o m m u n i c a t i o nt e c h n o l o g y , s o m ea u t o m a t i c s i ni n d u s t r ya r e an e e do p e n s t y l em o t i o nc o n t r o l l e rt of i n i s hv a r i o u ss p e c i a lt a s k s d e v e l o p p i n go p e n s t y l em o t i o nc o n t r o l l e rb e c o m e sh o t s p o tr e c e n t l y w i t ht h e u p t r e n do fa p p l i c a t i o na n dp r o g r e s so ft h em o d e mm o t i o nc o n t r o l l e r , t h i sp a p e r i n t r o d u c e st h e a d v a n t a g e s o fd e v e l o p p i n gam o t i o nc o n t r o l l e ri nt h ew a yo f ”m p c 5 2 0 0e m p u + l i n u xo s ”t h e n ,r e s e a r c ha n dd e v e l o p m e n tw o r k so nt h i st y p e o f d i g i t a lm o t i o nc o n t r o lb a s e do ne m b e d d e dl i n u xa r ei n t e r p r e t t e di nd e t a i l b a s e do nt h ed e t a l l e dr e s e a r c ho nt h et h e o r i e so fl i n u xs t r u c t u r e ,d e v i c ed r i v e r , l i n u xk e r n e lc o m m u n i c a t i o na n dt h em e c h a n i s mo fr e a l t i m ek e r n e l ,t h i sp a p e r i n t r o d u c e st h et e c h n i q u e st od e s i g nm p c 5 2 0 0m o t i o nc o n t r o l l e r ( m m c ) w i t hc a n f i e l db u s m m ci sad i g i t a lp u l s e - o u tm o t i o nc o n t r o l l e r , i n c l u d i n gt w os u b s y s t e m s : t h eh a r d w a r ea n dt h es o f t w a r e t h eh a r d w a r es u b s y s t e mi sc o m p o s e do fe m b e d d e d o p e r a t i o nm o d u l e ( e o m ) ,m o t o rc o n t r o lm o d u l e ( m c m ) ,i od e v i c ec o n t r o lm o d u l e o o c m ) ,c a nm o d u l e ,e t c t h es o f t w a r es u b s y s t e mm a k e su po fo p e na n d i n d e p e n d e n tm o d u l e sw i t hk e r n e lm o d u l e ( k m ) ,d e v i c ed r i v e rm o d u l e ( d d m ) a n d a p p l i c a t i o n s o f t w a r em o d u l e ( a s m ) c o m b i n e dw i t hd d m ,t r a n s p l a n t i n ga n d o p e r a t i n gt h el i n u xo so nm p c 5 2 0 0p r o v i d e st h eb a s i co p e r a t i o ne n v i r o n m e n tf o r t h ea s m w h e nu s i n gm m c ,a s m ss h o u l db es e tu pa c c o r d i n gt ot h ef u n c t i o no f t h e t a s k i nt h i sw a y , m v i ci ss u i t a b l ef o rm a n yt y p e so fm o t i o nc o n t r o lt a s ki nt h e i n d u s t r ya r e af o ri t se x p a n s i b i l i t ya n dp o r t a b i l i t y t ov e i l f yt h eu t i l i t yo fm m c ,ac n cs y s t e mf o rp l a n a rw a t e r - j e tc u t t e rh a sb e e n d e s i g n e d t h r o u g ht h ed e v i c ei n t e r f a c e so nm m c ,e a c hp a r to ft h ef u n c t i o nn e e d e d f o r t h ep l a n a rc n r v ep r o c e s s i n go nt h i sc n cs y s t e mi sr e a l i z e d ,i n c l u d i n gc a n c o m m u n i c a t i o n a g a i n s tt h ec o r ct h e o r i e so fl i n u xo s ,t h i sp a r to ft h ep a p e ra l s o i n t r o d u c e st h es u b m o d u l eo ft h ea s mi nd e t a i l ,l i k ec a nc o m m u n i c a t i o n ,g c o d e g e n e r a t i o n ,s o f l w a yi n t e r p o l a t i o na n dm o t o ra c c e l e r a t i o n d e c e l e r a t i o nc o n t r o l l i n g s u c c e s s f u l l yu s i n gt h i sc n cs y s t e ms e t so u tt h a tt h ei n t e n d i n gc o n t r o l l e rw i l l h a v eg r e a tr e a l - t i m ec h a r a c t e r i s t i ca n ds t a b i l i t yo nt h eb a s i so f c o m b i n i n gt h ec o s t - f r e e l i n u xo sw i t hr e a l t i m ek e r n e l i nt h ee n do ft h ep a p e r , t h ee x p e r i e n c ei nm m c d e s i g n i n gh a sb e e nd i s c u s s e da n dm m c sf u t u r ed e v e l o p m e n th a sb e e np r e s e n t e d k e yw o r d :l i n u x m p c 5 2 0 0 o p e n s t y l e d i g i t a lm o t i o nc o n t r o l l e r v i 上海大学硕士学位论文 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名: 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即: 学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校 可以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 罐 矿得 l 海大学硕士学位论文 1 1 引言 第一章绪论 在工业自动控制领域中,所谓运动控制就是对机械装置运动部件的位置、速 度、加速度等参数进行实时的控制管理,使其按照预期的运动轨迹和规定的运动 参数进行运动。运动控制系统一般主要由运动控制器、执行机构、被控对象、测 量元件和变送器等部分组成,一个典型的运动控制系统如图1 - 1 所示。在这个运 动控制系统中,通过测量元件( 各种传感器) 对系统被控量一被控对象的运动 参数( 位移、速度、加速度等) 进行测量,再由变送器将测量元件的输出信号转 换成电信号反馈给运动控制器。 图1 - 1 典型的运动控制系统结构图 运动控制器是运动控制系统的核心部件,整个控制系统的运动指令都是由运 动控制器给出的。早期的运动控制器是集中式运动控制处理,以单片机或微处理 器等专用芯片( a s i c ) 作为核心处理器来实现独立的专用控制器,称为独立运 行( s t a n d a l o n e ) 运动控制器。这类控制器必须在特定的工艺要求下使用,不能 跨行业使用。在这种运动控制器之后,为了能在一个系统上实现部分的开放性, 许多运动控制系统采用了基于p c 标准总线的运动控制器。在这种体系结构的运 动控制器中,实时性要求和模块化程度要求较高的任务在嵌入式运动控制器上实 现,而非实时任务可以由p c 机来实现。这样就将p c 机强大的信息处理能力和 开放式的特点与嵌入式运动控制器的实时运动控制能力有机地结合在一起,使整 个运动控制系统具有信息处理能力强、开放程度高、实时性好和运动轨迹控制精 确的特点”。 现在,大多数的现代运动控制器都已经采用高性能的微处理器和大规模的可 编程器件来实现多轴协调控制。具体的做法就是将实现运动控制的底层软件和硬 件集成在运动控制器上,使其具有各种速度、位置控制功能。由于工业控制计算 机口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 ) 强大而完善的功能,基于p c 标准总线的 运动控制器已经在工业控制领域得到了广泛的应用。但是,基于p c 标准总线的 运动控制器也有其固有的缺陷,由于在硬件设计上采用板卡设计,并且在连接方 式上采用“金手指”与p c 机相连,这种结构的运动控制器不宜长期工作在环境 恶劣的工业现场( 有振动、粉尘、油污等) 。除此之外,工业现场的一些自动化 上海大学硕士学位论文 设备受专用硬件连接和通信技术的限制,需要一些具有更加可靠体系结构的运动 控制器来与控制任务相匹配,开发新型体系结构的开放式运动控制器成为工业控 制领域研究的热点。 1 2 课题来源 本课题来源于上海市科学技术委员会科研计划项目“基于嵌入式l i n u x 的开放式控制平台”( 项目编号:0 3 6 5 0 5 0 0 8 ) ,项目本身就基于嵌入式l i n u x 的 开放式运动控制系统进行开发。而作为该项目的子课题,本课题研究的总体目标 是开发适宜大规模工业现场应用的基于嵌入式l i n u x 的开放式数字运动控制器。 1 3 课题研究的内容 1 3 1 基于m p c 5 2 0 0 微处理器的运动控制器开发 课题研究的主要内容是在嵌入式m p c 5 2 0 0 微处理器( 下文简称:m p c 5 2 0 0 ) 的硬件平台上建立一个以l i n u x 为操作系统的实时运动控制器平台基于 m p c 5 2 0 0 和嵌入式l i n u x 的数字运动控制器( 下文简称:m p c 5 2 0 0 运动控制器 运动控制器) ,运动控制器能够为上层用户软件提供开放式的设备操作接口。 m p c 5 2 0 0 运动控制器是一种脉冲输出控制型运动控制器,主要是针对工业数字 控制领域的应用,执行机构采用步进电机或伺服电机驱动。运动控制器平台的设 计思路是:无需更改底层软硬件模块,根据被控对象的特征设计不同的用户软 件就能够满足不同的工业运动控制任务,体现出m p c 5 2 0 0 运动控制器开放式的 特性。 开发m p c 5 2 0 0 运动控制器就是在自主设计的运动控制器硬件电路板上移植 l i n u x 操作系统,使得l i n u x 操作系统能够运行在运动控制器的微处理器 m p c 5 2 0 0 上,并且通过l i n u x 操作系统提供运动控制器的进程管理、设备管理 和文件管理,然后在此基础之上进行运动控制器的用户软件设计。运动控制器的 l i n u x 操作系统包括:l i n u x 的引导程序“b o o t l o a d e r ”、l i n u x 内核、基本文件系 统、函数库以及l i n u x 设备驱动程序。m p c 5 2 0 0 运动控制器开发过程中需要完 成的工作简述如下: 首先,在对l i n u x 的内核代码,特别是针对于p o w e r p c 体系结构( 注1 ) 的 l i n u x 内核代码研究的基础上,根据m p c 5 2 0 0 的特性进行l i n u x 内核的裁减、 编译和引导,建立起运动控制器的l i n u x 开发环境。 注1 :m p c 5 2 0 0 属于p o w e r p c 体系 上海大学硕士学位论文 其次,完成运动控制器的嵌入式系统硬件设计及相关的l i n u x 设备驱动程序 开发,从而为用户程序提供开放式的设备操作接口。这部分内容是运动控制器平 台设计的重点。运动控制器的设备接口从功能上划分为运动控制设备接口和现场 通信设备接口:运动控制接口提供l 4 轴的数字电机控制以及一些i o 设备操 作;现场通信接口提供基于c a n 总线的工业现场通信操作。在这部分的设计中, 结合嵌入式l i n u x 操作系统的优点和m p c 5 2 0 0 丰富的片内资源,采用模块化的 设计思路,使这些设备接口具有一定的开放性和灵活性。在运动控制器实际应用 过程中,根据被控对象的变化组合不同的用户软件来完成对这些设备接口的调 用,这样可以使运动控制器完成不同的工业运动控制任务。 1 3 2m p c 5 2 0 0 运动控制器在数控系统中的应用研究 m p c 5 2 0 0 运动控制器是一款非常适合于工业控制领域应用的运动控制器, 开放化的特点使其能够应用于多种机械设备上,而通过c a n 总线互连组建的现 场总线运动控制系统是一种全新的分布式控制系统。通过一系列的实验分析和应 用研究,现已成功将m p c 5 2 0 0 运动控制器应用于自主开发的系列混合磨料水射 流数控切割机床上,该系列机床已经通过项目成果鉴定,目前正在进行产业化推 广工作。本部分以二维水射流数控系统作为项目的应用平台,说明用户程序在 m p c 5 2 0 0 运动控制器平台上如何实现设备接口调用。水射流数控系统中需要开 发的上层用户程序模块主要包括:管理模块、g 代码解释模块、软件插补模块和 c a n 应用层通信协议。在运动控制器的c a n 通信实验过程中,依据自主设计的 c a n 通信协议完成m p c 5 2 0 0 运动控制器与总线上其他节点之间的通信,实现多 个数控系统的互连和信息共用。 1 4 课题研究的意义 1 4 1 课题研究的理论意义 基于l i n u x 的开放式数字运动控制器m p c 5 2 0 0 运动控制器由于提供标 准的设备操作接口并且采用模块化的设计思路,使其本身具有一定的开放性和灵 活性,通过简单的软硬件更新后,可以适用于不同类型的工业运动控制任务。 当今,运动控制器的开放化已经成为运动控制系统发展的必然趋势,运动控制器 的开放化是要把系统的软硬件划分为更小的模块,开放并且规范各模块之间的 接口标准。这样做的目的是要形成一种硬件来源丰富,软件用户特殊化、标准化 的体系。 上海大学硕士学位论文 基于嵌入式l i n u x 的m p c 5 2 0 0 运动控制器适应工业机械设备恶劣的工况条 件,同时还具有自主的知识产权,比较适合我国国情。2 0 世纪9 0 年代,开放式 运动控制技术作为自动化技术的一个重要分支在发达国家已经进入快速发展的 阶段。我国的开放式运动控制技术与世界先进水平相比仍有很大的差距,但在新 一轮的国际产业结构变革中,我国正逐渐成为全球制造业的重要基地之一。以信 息化带动工业化,应用高新技术改造传统产业、促进产业结构优化升级,将成为 今后段时间内我国工业发展的主题之一。近年来,随着开放式运动控制技术的 不断进步和完善,开放式运动控制器作为一个独立的工业自动化控制类产品,已 经被越来越多的产业领域所接受,并且达到一个引人瞩目的市场规模。我国的工 业产业需要完成全面的智能化、数字化改造,这为开放式运动控制器提供了很大 的应用空问。从这个角度出发,研究开放式运动控制器具有重大的理论意义。 1 4 2 课题研究的实用意义 m p c 5 2 0 0 运动控制器是项目实现开放式运动控制系统的基础研究平台。它 的研究与开发具有以下两方面的实用意义: 第一,随着我国工业运动控制系统对实时性要求的提高和系统信息处理量的 增大,需要从多方面寻求实现高性能运动控制器的最优方法和途径。本课题研究 的,以嵌入式微处理器m p c 5 2 0 0 为核心构建的嵌入式m p c 5 2 0 0 运动控制器有 独特的实用意义:与基于单片机的运动控制器相比,m p c 5 2 0 0 运动控制器具有 更强的信息处理能力和数据交互能力;而与基于p c j n 的运动控制器相比,由于 m p c 5 2 0 0 微处理器在小片芯片中集成丰富的硬件资源,使得开发出来的运动控 制器能够实现小型化和现场化,并且具有更好的面向应用的特性。而运动控制器 的开放式特征使其能够适用于多种工业运动控制系统中,系统的功能、规模可以 灵活设置:既可以增加硬件或软件模块组成功能更为完善的系统,也可以裁减其 功能以适应低端应用。 第二,区别于传统的集中式运动控制处理,m p c 5 2 0 0 运动控制器可以实现 c a n 总线通信机制。使用m p c 5 2 0 0 运动控制器的运动控制系统由于采用c a n 总线作为现场通信方式,具有体系结构和性能方面的优势。一方面,将c a n 现 场总线引入到运动控制系统中,使得控制器本身就可以完成现场前端的自动控制 任务,这样就可以构建一种全新的分布式运动控制系统。通过c a n 总线将工业 运动控制功能分散给各个现场设备,大大简化了系统结构,易于实现系统的开放。 另一方面,由于处于前端的运动控制器已经完成了各种传感、控制与报警功能, 因而不再需要过多的信号调整、转换与隔离,减少了变送器的种类和数量。运动 控制器可以是一个专为现场环境而设计的运动控制器,大大提高了系统对工业现 场的适应程度。 圭查奎兰堡兰垡笙墨 1 5 论文的章节安排 论文的章节结构安排如下: 第一章绪论:介绍了运动控制器的概念、历史和发展状况,提出课题研 究新型运动控制器m p c 5 2 0 0 运动控制器的目的和意义。 第二章运动控制器的总体方案:对运动控制器的软硬件平台进行说明, 陈述选择嵌入式l i n u x 操作系统作为运动控制器软件平台的理由,并且对运动控 制器进行总体的系统设计。 第三章运动控制器的硬件设计:完成m p c 5 2 0 0 运动控制器平台的硬件 设计。主要介绍运动控制器硬件总体方案、嵌入式运行系统、电机控制模块、v o 控制模块和m s c a n 通信模块的设计方法。 第四章运动控制器的l i n u x 系统移植:以m p c 5 2 0 0 运动控制器为目标移 植l i n u x 操作系统,制作l i n u x 文件系统,并且进行运动控制器上l i n u x 的实时 性改造。通过本章设计为第五章的设备驱动程序开发提供软件平台支持。 第五章运动控制器的设备驱动程序开发:针对m p c 5 2 0 0 运动控制器的 硬件设备进行设备驱动程序的开发,并且将l i n u x 设备驱动程序与硬件设备组合 以提供用户软件设备操作接口。 第六章运动控制器的应用实例:以二维水射流数控系统作为项目的应用 平台,对本课题所研发的开放式m p c 5 2 0 0 运动控制器的实用性进行了论证,并 且对组建基于c a n 总线的数控系统的用户软件进行设计。 第七章总结与展望:对本课题的设计研究进行了总结和展望。 上海大学硕士学位论文 第二章运动控制器的总体方案 m p c 5 2 0 0 运动控制器是一个典型的嵌入式系统,在进行总体设计工作之前 首先应该做好需求分析,就是运动控制器运用的领域和大致对象。m p c 5 2 0 0 运 动控制器主要的应用对象是工业控制领域机械装置的数字运动控制,包括点位控 制和轮廓轨迹控制。开发过程中应该根据这一应用目标对运动控制器的体系结构 进行初步设计。通过对市场需求的调查分析发现,最终设计目标一一基于 m p c 5 2 0 0 和嵌入式l i n u x 的数字运动控制器潜在的应用领域包括: 加工机床:如激光切割机床、线切割机床、水射流切割机床、焊接机、 气割机等各种数控机床。 产业制造:如小型低速绘图仪、标签粘贴机、包装机械、光纤玻璃拉伸 机、材料输送设备、i c 芯片插装机、p c b 板特型铣床等。 测试及测量:座标检验仪、齿轮检验仪、p c b 板测试仪、焊点超声扫描 检查仪等。 其他行业:如医疗器械中的自动手术台、c a t 扫描仪、测步仪、医疗成 像声纳等。 本章对m p c 5 2 0 0 运动控制器的总体方案进行介绍,包括运动控制器的微处 理器介绍、操作系统选择以及整体体系结构设计。 2 1m p c 5 2 0 0 微处理器简介 m p c 5 2 0 0 运动控制器是个典型的工业嵌入式系统,在对其进行整体设计 时,首先需要进行其嵌入式系统设计的事前分析。很多系统设计人员在对嵌入式 系统进行事前分析时,都集中在操作系统上而忽略了硬件平台。其实,一个嵌入 式系统的硬件核心就是其中的嵌入式微处理器( e m p u ) ,其性能的好坏将直接 影响到系统最终性能的优劣。 嵌入式微处理器是在通用计算机( p c 机) 之外的设备中所使用的处理器芯 片。嵌入式微处理器与通用微处理器最大的不同之处就是在于前者多数是工作在 用户自己设计的系统中。嵌入式微处理器种类繁多,与p c 机市场不同的是,没 有一种嵌入式微处理器可以主导市场( 仅以3 2 位的嵌入式微处理器为例,种类 就多达1 0 0 种) 。由于嵌入式系统设计差异极大,因此选用一款合适的处理器是 构建系统的第一步。一般来说,选择过程中需要重点考虑嵌入式微处理器的处理 性能和软件支持。处理器的处理性能又取决于多方面的因素,如时钟频率、内部 寄存器数量和口宽、是否包含浮点运算器等等。需要注意的是,对于一个嵌入式 系统来说,并不是处理器频率越高就能获得越好的性能,而是要视其完成所需任 上海大学硕士学位论文 务( t a s k ) 的能力。 通过对市场上主流嵌入式微处理器的调研分析并且充分考虑到运动控制器 面向工业控制应用领域的特性,课题组选择摩托罗拉( m o t o r o l a ) 公司于2 0 0 3 年下半年推出的,具有广阔发展前景的基于p o w e r p c 内核的m p c 5 2 0 0 嵌入式微 处理器作为运动控制器的核心微处理器。m p c 5 2 0 0 是一颗低功耗、处理速度达 7 6 0 m i p s 的嵌入式微处理器,具有面向工业应用良好的扩展能力。其支持的硬件 接口包括:以太网( e t h e m e t ) 、u s b 、p c i 、a t a 、 2 s 、1 2 c 、s p i 、r s 2 3 2 、j 1 8 5 0 和c a n ( 图2 1 是m p c 5 2 0 0 的功能框图) 。同时,它还支持d d r 存储器,并集 成了一个双精度的浮点处理单元( f p u ) ,整体上比较符合开发运动控制器的硬 件要求。相比通用微处理器,在相同的功能和性能条件下,m p c 5 2 0 0 嵌入式微 处理器在功耗、工作温度范围以及抗电磁干扰等性能方面都有较大的提升,能够 在工业环境中稳定运行。 图2 - 1m p c 5 2 0 0 嵌入式微处理器功能框图 2 2 运动控制器操作系统的选用 m p c 5 2 0 0 运动控制器作为一个嵌入式系统,除了具备一个高性能的嵌入式 微处理器,还应该拥有一个与处理器配合的嵌入式操作系统。嵌入式操作系统除 了具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理和文件功 能外,还应该具有以下特点:可移植性、可裁减性、实时性、强稳定性和良好的 图形支持。本节首先介绍几种常用的嵌入式操作系统,然后分析选用l i n u x 作为 m p c 5 2 0 0 运动控制器操作系统的优势。 上海大学硕士学位论文 2 2 1 几种常用的嵌入式o s ( 1 ) w i n d o w sc e w i n d o w sc e 是微软官方发布的一个开放的、可升级的3 2 位嵌入式操作系 统,其内核是精简的w i n d o w s9 5 。w i n d o w sc e 的强项是图形用户界面功能和基 于w i n 3 2 的用户程序接口,这是继承了微软视窗系统的优势。w i n d o w sc e 具有 模块化、结构化以及处理器无关性等特点,是一种比较适合应用于掌上消费类电 子产品的嵌入式操作系统。但是,w i n d o w sc e 的用户开发定制受m i c r o s o f t 公司 的限制,有很多不方便之处,并且系统实时性不好。 ( 2 ) p a l m o s p a l mo s 是3 c o m 公司的产品,是一种3 2 位的嵌入式操作系统。p a l mo s 最大的特点是具有极强的开放性,操作系统具有开放的o s 用户程序接口,开发 商可以根据需求自行开发所需的用户程序。p a l mo s 针对的用户群是以掌上电脑 为主的手持终端类产品,具有体积小、代码效率高的特点【5 】。 ( 3 ) q n x q n x 是一种分布式、可扩展的实时操作系统,是一种微内核的实时操作系 统,其核心仅仅提供4 种功能服务:进程调度、进程间通信、底层网络通信和中 断处理。q n x 的进程全部运行在独立的地址空间,4 种核心功能实现协作的用 户进程,提供3 2 个进程优先级,可选进程调度策略为:f i f o 策略、轮转策略和 适应性策略。q n x 最大的特点除内核非常小巧以外,就是提供了一种高性能的 q n x 网络f l e e t ,通过f l e e t 网络的分布式管理,使得所有连入f l e e t 网络的处理器能够进行透明的消息传递和进程管理。其缺点是f l e e t 并不能实 现异层网络之间的互连,不能满足现代工业现场对通信方式开放化的要求。 ( 4 ) v x w o r k s v x w o r k s 是“风河”公司提供的一种高性能的、嵌入式实时操作系统,以其 良好的可靠性和卓越的实时性被广泛应用于通信、军事、航空、航天等高科技以 及实时性要求较高的领域中。v x w o r k s 提供开放式的体系结构,使得用户只需进 行少量的开发工作即可组建一个高效的实时操作系统,其特点有:微内核结构、 微秒级的中断处理、高效的任务管理、灵活的任务间通信机制、支持m s - d o s 和r t - 1 1 文件系统以及符合t c p f i p 网络协议。v x w o r k s 最大的特点就是精巧的 内核和较高的实时性,当然其价格也比较昂贵。 ( 5 ) l i n u x l i n u x 操作系统也是一种嵌入式操作系统,主要有以下特点:第一,源代码 开放,在丌发成本因素上很有竞争力,并且代码注释清楚,文档齐全;第二,内 核精巧,代码效率高,在这点上w i n d o w sc e 缺陷较大,占用系统资源较多,用 上海大学硕士学位论文 户程序庞大:第三,支持c p u 种类较多,目前l i n u x 已经支持3 0 余种c p u ,并 且有越来越多的硬件厂商加入到支持l i n u x 的队伍中来,l i n u x 应用前景广阔; 第四,l i n u x 支持较为完整的网络功能,提供包括十兆位、百兆位、千兆位的以 太网、无限网络、令牌网、甚至光纤等通信功能。除这几点之外,l i n u x 丰富的 图形管理功能,丰富的硬件支持等诸多优点,使其非常适合于嵌入式系统应用5 1 。 2 2 2l i n n x 操作系统的优势 m p c 5 2 0 0 运动控制器是一个典型的嵌入式系统,其硬件核心就是一个高性 能的嵌入式微处理器m p c 5 2 0 0 。为了最大限度发挥m p c 5 2 0 0 的性能,需要一个 与之相匹配的嵌入式操作系统来实现运动控制器的设备管理、进程管理和文件管 理。这个嵌入式操作系统应具有的特点是:适用于多种微处理器和多种硬件平台; 性能稳定,裁剪性能好;开发和使用容易;生成代码质量高,可靠性好;有一定 实时处理能力,并且网络功能强大。通过前一节对几种嵌入式操作系统的分析比 较发现,l i n u x 正是这样的操作系统,并且与其他几种操作系统相比具有一定的 成本优势,因此选用l i n u x 作为m p c 5 2 0 0 运动控制器的嵌入式操作系统。 m p c 5 2 0 0 是3 2 位的嵌入式微处理器,而l i n u x 是全面多任务的3 2 位开放 式操作系统。“m p c 5 2 0 0 + l i n u x ”组合方式使运动控制器具有可扩充、可移植、 可靠性高和兼容性好等优点,非常适合作为开放式运动控制器的开发平台。具体 的说,选用l i n u x 作为运动控制器操作系统具有以下优势1 7 1 : ( 1 ) 符合国际通用标准。l i n u x 是符合p o s i x1 0 0 3 1 标准的操作系统,并且 定义了一个最小的u n i x 操作系统接口( 注2 ) ,任何一个操作系统只有符合这一 标准,才能运行u n i x 程序。l i n u x 的这一特点这使得开发出来的m p c 5 2 0 0 运动 控制器从软件代码上符合国际通用标准。 ( 2 ) 先进的网络特性。l i n u x 对网络的支持比大部分操作系统都出色,它能 够与i n t e m e t 或其他任何使用t c p 1 p 或口x 协议的网络连接。而对于网络服务, l i n u x 支持w e b ,t e l n e t 和邱。l i n u x 对网络的强大支持使得m p c 5 2 0 0 运动控制 器无需自行开发网络接口,只需正确设置m p c 5 2 0 0 的引脚资源,很容易就能为 运动控制器提供以太网、t c p i p 连接,这是运动控制器实现嵌入式工业控制网 络的基础。 ( 3 ) 真正的多用户和多任务执行能力。l i n u x 是一个多用户操作系统,它允 许多个用户同时访问内核系统而不会造成用户之间的相互干扰。l i n u x 同时具有 多任务的能力,同一个用户可以创建多个进程来并行处理多个任务。运动控制器 除了实现控制任务以外,还需要运行诸如管理功能在内的其他任务,l i n u x 为运 注2 :l i n u x 是u n i x 的一种变种 上海大学硕士学位论文 动控制器提供了真正的运行多任务的软件平台。 ( 4 ) 按需调入执行,即l d m ( l o a d a b l ed e v i c em o d u l e ) f i 力。m p c 5 2 0 0 运动 控制器上只有需要执行的程序块才会被装入内存中。这是因为在一个l i n t t x 进程 刚刚建立时,并不对其分配内存,而是令其使用父进程的内存,直到需要对内存 出现写操作的时候,才将该进程的内存段复制出来。这一点提高了运动控制器系 统内存的使用效率。 ( 5 ) 较低的开发成本。l i n u x 系统源代码完全公开,任何人都可以免费获得 源码;任何人都可以根据实际情况,针对系统资源的特殊需求,灵活地修改系统 内核,以满足自己的要求。随着使用和开发l i n u x 的技术人员越来越多,l i n u x 系统也变得更加可靠和方便。与使用一些商业操作系统作为软件开发平台相比, m p c 5 2 0 0 运动控制器使用l i n u x 可以降低软件成本和开发风险。自动化机械设 备长期以来所使用的控制器,一直是以专用控制器为主,而使用基于嵌入式l i n u x 的开放式运动控制器可有效提升目标产品的质量水平并且降低经营成本。 ( 6 ) 拥有自主产权。商业嵌入式操作系统源代码是保密的,用户无法真正地 探询其内部的核心机制,即便发现操作系统本身有不足之处也无法对其进行改 进。而l i n u x 提供完全开放的源代码,这非常有利于基于自主知识产权的软件开 发。 2 3 运动控制器的体系结构设计 m p c 5 2 0 0 运动控制器由硬件系统和软件系统两大部分组成。按照模块化设 计思路,将运动控制器的体系结构划分为用户层、内核层和设备层( 图2 2 所示) 。 其中内核层和设备层两部分组成了m p c 5 2 0 0 运动控制器的开放式平台。这种独 立的层次结构使得m p c 5 2 0 0 运动控制器易于实现开放式应用。 用户层( 虚框内) 就是m p c 5 2 0 0 运动控制器的用户程序空间,运动控制器 的用户软件是根据应用对象进行特殊化设计的,可以灵活更换。前文已经介绍, m p c 5 2 0 0 运动控制器的设计思路是:无需更改底层软硬件模块,根据被控对象 的特征设计不同的模块化用户软件就能够满足不同的运动控制任务,体现出运动 控制器开放式的特性。“用户软件模块化”是m p c 5 2 0 0 运动控制器最大的特征, 而“用户软件模块化”恰好也是l i n u x 提供的一种机制:l i n u x 的内核和用户程 序是完全分离的,用户程序通过调用设备操作接口就能够实现对硬件设备的操 作,这种设备操作接口就是l i n u x 的设备文件。 内核层的设计按照两条相互独立的线路展开:移植l i n u x 操作系统和开发设 备驱动程序。从图2 。2 可以看到,运动控制器的内核层设计最为复杂,这部分的 设计是与l i n u x 内核机制紧密相关的。在运动控制器上移植l i n u x 操作系统是所 上海大学硕士学位论文 有开发工作的基础,这部分内容将在第四章单独叙述。而运动控制器大量的硬件 设备是由l i n u x 设备驱动程序提供用户软件设备操作接口的,图2 2 中内核层的 “运动控制接口”和“现场通信接口”是m p c 5 2 0 0 运动控制器最主要的设备接 口,关于这两部分的l i n u x 设备驱动程序开发将在第五章叙述。设备驱动程序由 于处于l i n u x 内核的最底层,因此相对于上层用户软件又称之为底层软件。 设备层是运动控制器的硬件层,在这部分设计过程中需要完成运动控制器的 硬件设计,包括电路设计。嵌入式运动控制器的硬件设计与传统的基于p c 机的 运动控制器设计有很大不同之处。考虑到面向特殊领域的应用特性,嵌入式系统 不能使用桌面系统那样丰富的硬件资源,因此标准的p c 机硬件无法直接应用到 嵌入式运动控制器中去,这些决定了m p c 5 2 0 0 运动控制器的硬件设计具有其特 殊性。 i 上层用户程序器 用户层 跟踪显示 。 故障诊断 弋夕 = j l 一 内枚层 系统调用接口 文件子系统 i 进程控制子系统 设备驱动程序 f il 设各操作接口 内核层运动控制接口现场通信接口 图2 - 2 运动控制器平台体系示意图 2 4 运动控制器开发的步骤和要点 通过前几节的分析可以得知,l i n u x 是非常适用于开放式运动控制器的。以 m p c 5 2 0 0 嵌入式微处理器为硬件核心,以嵌入式l i n u x 操作系统为软件平台, 开发m p c 5 2 0 0 数字运动控制器需要经过以下步骤: 第一步,了解硬件设备。嵌入式运动控制系统中需要使用嵌入式微处理器和 各种外围设备,因此需要收集相关硬件的资料,包括芯片手册和各种外围设备的 手册。 第二步,准备l i n u x 工具和l i n u x 源代码。l i n u x 工具指的是针对所用的 上海大学硕士学位论文 e m p u 的编译器、连接器、相应的库工具和调试器等。由于l i n u x 系统的开放性, 针对不同目标平台的l i n u x 工具都可以从网上免费得到,绝大部分工具都是由 g n u ( 注3 ) 提供的。l i n u x 源代码指的是以l i n u x 内核和l i n u x 实时补丁模块为 主的源代码包,这些源代码都可以从网络上免费获得。 第三步,系统设计。根据运动控制器需要完成的任务确定系统硬件的基本构 成,对运动控制器的硬件设备接口进行设计,包括运动控制接口和现场通信接口。 同时按照软硬件协同设计的思路,对系统底层软件任务进行划分。一个面向应 用的运动控制器的底层软件功能是在系统设计阶段就设定的,也就是在进行硬件 设计的时候,底层软件设计也应该同步配合进行。 第四步,完成运动控制器所有硬件的设计工作。根据运动控制器系统设计的 结果进行电路原理图和p c b 图的设计,这其中包括运动控制器基本的嵌入式运 行系统设计和运动控制器专用硬件设计。设计完成后还需要调试硬件设备。 第五步,编写设备驱动程序。根据运动控制器硬件设备的功能需求,在l i n u x 内核层编写设备驱动程序,为运动控制器提供开放式的硬件设备操作接口。 第六步,软硬件集成。在以m p c 5 2 0 0 为硬件核心的运动控制器平台上移植 l i n u x 操作系统和编写完成的设备驱动程序,并且进行系统运行结果分析。 第七步,设计用户软件。根据运动控制器实际应用对象的特征,设计 m p c 5 2 0 0 运动控制器的用户程序。 2 5 本章小结 本章重点对运动控制器总体方案进行规划,通过对几种常用的嵌入式操作系 统进行比较分析,阐述了选用l i n u x 作为操作系统的理由,证明l i n u x 操作系统 非常适合应用于运动控制器开发。 根据课题研究的最终目的实现开放式的数字运动控制器,在设计运动控 制器体系结构时,将运动控制器划分为相互独立的用户层、内核层和设备层,

温馨提示

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

评论

0/150

提交评论