(机械电子工程专业论文)多轴运动控制器的pci驱动研究及其在工业机器人中的应用.pdf_第1页
(机械电子工程专业论文)多轴运动控制器的pci驱动研究及其在工业机器人中的应用.pdf_第2页
(机械电子工程专业论文)多轴运动控制器的pci驱动研究及其在工业机器人中的应用.pdf_第3页
(机械电子工程专业论文)多轴运动控制器的pci驱动研究及其在工业机器人中的应用.pdf_第4页
(机械电子工程专业论文)多轴运动控制器的pci驱动研究及其在工业机器人中的应用.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(机械电子工程专业论文)多轴运动控制器的pci驱动研究及其在工业机器人中的应用.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 摘要 摘要 本文以多轴运动控制器的软件研究为主。在详细了解控制器硬件设计的基础 上,为控制器的p c i 接口编写w i n d o w s 操作系统下的w d m 模型的驱动程序。 上位p c 只有通过驱动程序才能访问到控制器硬件资源,完成与控制器的数据交 换。为了保证上位p c 机与控制器正确有序地通讯,本文制定了一套通讯机制来 实现从上位机到控制器的指令传输和从控制器到上位机的控制误差数据传输。在 实验过程中表明这样的通讯机制是有效可行的。本课题以六自由度的工业机器人 作为运动控制器的控制实验对象,采用自主研发的运动控制器实现了对该机器人 的运动控制。 本文共五章,各章节内容概括如下: 第一章调研了国内外运动控制技术的发展历程和应用现状,指出运动控制器 的技术前景和发展趋势。结合国内的运动控制器的研究现状,阐明本课题的研究 意义和内容。 第二章在介绍控制器硬件结构的基础上,说明了编写驱动程序的必要性以及 驱动程序在操作系统中的地位和作用。具体阐述p c i 9 0 5 2 芯片的配置方法,以及 使用d r i v e r w o r k s 编写驱动程序的步骤。对驱动程序的调试,安装和卸载等过程 给出必要的说明。 第三章指出控制器与上位机之间通讯的方式和内容。提出了控制器和上位机 之间的通信机制,以保证控制器和上位机之间正确有序的通讯。 第四章在六自由度工业机器人硬件平台的基础上,阐述用本课题研发的运动 控制器实现工业机器人运动控制的过程。循序渐进地论述如何使用本课题的运动 控制器来实现机器人单关节运动控制,机器人末端点到点的运动控制,末端沿坐 标轴方向的运动控制,机器人的编程示教和空间任意轨迹的跟踪。其中涉及机器 人学相关知识时也作了简要说明。 第五章总结全文的研究工作。结合工业机器人的控制实验,为下一步的研究 提供参考。 关键词:运动控制;p c i 9 0 5 2 ;驱动;工业机器人;轨迹规划 i i 浙江火学硕士学位论文 a b s t r a c t a b s t r a c t i nt h i sp a p e r , t h em a i np o i n ti st h es o f t w a r er e s e a r c ho nm u l t i a x i sm o t i o n c o n t r o l l e r w i t hd e e p l yu n d e r s t a n d i n go fm o t i o nc o n t r o l l e r sh a r d w a r ed e s i g n ,a w d mm o d e ld r i v e ru n d e rw i n d o w so p e r a t i n gs y s t e mi s c o m p l e t e df o ri t sp c i i n t e r f a c e o n l yt h r o u g ht h ed r i v e r , c o u l dt h eh o s tc o m p u t e ra c c e s st ot h ec o n t r o l l e r h a r d w a r er e s o u r c e st oc o m p l e t et h ed a t ae x c h a n g ew i mt h ec o n t r o l l e r i no r d e rt o e n s u r et h e r ei sap r o p e ra n do r d e r l yw a yf o rt h ec o m m u n i c a t i o nb e t w e e nt h eh o s t c o m p u t e ra n dt h ec o n t r o l l e r , as e to fc o m m u n i c a t i o nm e c h a n i s m si sm a d eo u t i nt h i s w a y , t h ei n s t r u c t i o n sc a nt r a n s p o r tf r o mh o s tc o m p u t e rt ot h ec o n t r o l l e r , a n dt h e c o n t r o le r r o r - d a t ac a nt r a n s p o r tf r o mt h ec o n t r o l l e rt ot h eh o s tc o m p u t e r d u r i n gt h e e x p e r i m e n t ,t h ec o m m u n i c a t i o nm e c h a n i s mw o r k se f f e c t i v e l ya n df e a s i b l y t h e m o t i o nc o n t r o l l e ri nt h i sp r o j e c ti su s e dt oc o n t r o lt h em o t i o no fi n d u s t r i a lr o b o tw i t h s i xd e g r e e so ff r e e d o m w ec o n t r o lt h er o b o tw e l lw i t ho u rs e l f - d e v e l o p e dc o n t r o l l e r t h e r ea r e5c h a p t e r si nt h i st h e s i s ;e a c hc h a p t e ri ss u m m a r i z e da sf o l l o w s : i nt h ef i r s tc h a p t e r , t h ed e v e l o p m e n ta n da p p l i c a t i o no ft h em o t i o nc o n t r o l t e c h n o l o g ya th o m ea n da b r o a di si n v e s t i g a t e d ,t h em o t i o nc o n t r o l l e rt e c h n o l o g y p r o s p e c t sa n dd e v e l o p m e n tt r e n d s a r ep o i n t e do u t ,c o m b i n e dw i t ht h ed o m e s t i c r e s e a r c hs t a t u so ft h em o t i o nc o n t r o l l e r , c l a r i f y i n gt h em e a n i n ga n dt h ec o n t e n to ft h i s r e s e a r c ht o p i c i nc h a p t e rt w o ,b a s e do nt h ei n t r o d u c t i o no ft h ec o n t r o l l e r sh a r d w a r es t r u c t u r e , i n d i c a t e dt h en e e df o rt h ed r i v e ra n dt h es t a t u sa n dr o l eo ft h ed r i v e ri nt h eo p e r a t i n g s y s t e m ad e t a i l e de x p l a n a t i o nf o rp c i 9 0 5 2c h i pc o n f i g u r a t i o ni sm a d e ,a n dt h es t e p s h o wt o c o m p o s ed r i v e rc o d ew i t hd r i v e r w o r k si sd i s c u s s e d g a v en e c e s s a r y i n s t r u c t i o n sa b o u td e b u g g i n g ,i n s t a l l a t i o na n du n i n s t a l lo ft h ed r i v e r i nc h a p t e rt h r e e ,t h em e a n sa n dc o n t e n t so ft h ec o m m u n i c a t i o nb e t w e e nt h eh o s t c o m p u t e ra n dt h ec o n t r o l l e ra r ep o i n t e do u t t h ec o m m u n i c a t i o nm e c h a n i s mi s p r o p o s e ds ot h a tt h ec o m m u n i c a t i o nb e t w e e nt h ec o n t r o l l e ra n dh o s tc o m p u t e ri s e n s u r e dc o r r e c ta n do r d e r l y t h ef o u r t hc h a p t e r , b a s eo nt h es i x d o fi n d u s t r i a lr o b o th a r d w a r ep l a t f o r m s , e x p r e s s e dt h ew h o l ep r o c e s so ft h em o t i o nc o n t r o lo ft h er o b o t 、析t l lt h ec o n t r o l l e r m a d eb yo u r s e l v e s e a c hk i n do fm o t i o nc o n t r o lf o ri n d u s t r i a lr o b o ti sd i s c u s s e d ;t h e r e i st h em o t i o nc o n t r o lf o ras i n g l ej o i n tr o b o t ,p o i n tt op o i n t ,a l o n gt h ea x i sa n dr o b o t t e a c h i n ga n dp r o g r a m m i n g w h e nc o m et o t h ek n o w l e d g eo fr o b o t i c s ,ab r i e f i i i 浙江大学硕士学位论文a b s t r a c t d e s c r i p t i o ni sg i v e no u ti nt h i sp a p e r i nc h a p t e rf i v e ,t h er e s e a r c ho ft h i st h e s i si s s u m m a r i z e d c o m b i n i n gt h e i n d u s t r i a lr o b o tc o n t r o le x p e r i m e n t s ,t h er e f e r e n c ef o rf u r t h e rs t u d yi sp u tf o r w a r d k e yw o r d s :m o t i o nc o n t r o l ;p c i 9 0 5 2 ;d r i v e r ;i n d u s t r i a lr o b o t ;t r a j e c t o r y p l a n n i n g i v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 除了文中特别加以标注和致谢的地方外,论文中不包含其它人已经发表或撰写过的研究成 果,也不包含为获得逝垄盘堂或其它教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:刷波 签字日期:步印年多月6 日 学位论文版权使用授权书 本学位论文作者完全了解逝鎏盘堂有权保留并向国家有关部门或机构送交本 论文的复印件和磁盘,允许论文被查阅和借阅。本人授权逝婆盘堂可以将学位论文的 全部或部分内容编入有关数据库进行检索和传播,可以采用影印、缩印或扫描等复制手段保 存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:乌剑涫乙 导师签名: 签字日期:研口年 ;月6 日 签字日期: 年 月日 浙江大学硕士学位论文 致谢 致谢 首先要向我的导师朱世强教授表示衷心的感谢。朱老师渊博的专业知识、科 学高效的思维方式、严谨踏实的治学态度让我受益匪浅。朱老师不仅给我们提供 了优良的科研环境,而且在项目的进行过程中给予我们细心的指导。感谢朱老师 近三年来在学 - - j 和生活上的指导和帮助。 感谢课题组刘华山师兄和闫莎莎同学,研究生两年多的时间里与你们同舟共 济,互帮互助,直到课题的完成。正是你们在科研上的热心帮助与鼓励和生活上 的关心,我才能顺利地完成课题组的工作。感谢实验室的孙杰同学,在我的学 - j 和生活中给予我莫大的帮助和很多好建议。感谢已毕业的刘松国和罗利佳两位师 兄,他们给予我很多理论上的指导与帮助。感谢庞作伟、王会方师兄,在我的实 验和学习过程中给予我很多有益的建议。 感谢实验室的程永伦、陈光、赖小波、李江波、吴文祥、郑东鑫、曹新星、 崔壮平、赵利军、郑凌、张德盛、马璇、陈志伟,与你们一起工作、学 - - j 的时光 是我永远值得珍藏的财富。 感谢我同寝室的兄弟曾亮、周勇、王科、罗容、倪小斌,研究生生活中因为 你们而更加丰富姿彩,感谢我的同学周进、孙赫、杨铭、代雷雷、吴海峰、娄象 牙、程好秋、崔逊波、黄一帆、李葳、王晓娟、柯敏,感谢你们对我生活上的帮 助和学 - - j 上的鼓励。 特别感谢我的家人,多年的求学历程凝聚了父母的心血,他们的理解和支持, 以及无微不至的关怀永远是我前进的动力。 最后,衷心感谢所有关心、指导、帮助和批评过我的老师、同学和朋友。 浙江大学硕士学位论文绪论 1 绪论 1 1 运动控制技术概述 运动控制起源于早期的伺服控帝j ( s e r v o m e c h a n i s m ) 。简单地说,运动控制就 是对机械运动部件的位置,速度等进行实时的控制管理,使其按照预期的运动轨 迹和规定的运动参数进行运动。早期的运动控制技术主要是伴随着数控( c n c ) 技 术、机器人技术( r o b o t i c s ) 和工厂自动化技术的发展而发展的【m 1 。 运动控制系统是以机械运动的驱动设备电动机为控制对象,以控制器为 核心,以电力电子功率变换装置为执行机构,在自动控制理论的指导下组成的电 气传动自动控制系统。其主要是将预定的控制方案、控制指令转变成实际的电机 运动,实现机械运动精确的位置控制、速度控制或转矩控制。 运动控制系统是通过对电机运动的控制实现期望的机械运动,只要是有伺服 电机应用的场合就可以用到运动控制器。它以其优异的灵活性和控制能力应用于 许多工业生产设备中。随着机电一体化技术的迅速发展,运动控制器的应用逐渐 走出机械加工行业,越来越多地应用于其它工业自动化设备控制,如电子机械、 化工设备、航空航天、国防装备等诸多行业。运动控制技术己经成为一个专门的 技术领域。 审机及驱动器 可 图1 1 完整的运动控制系统 在实际以电力为动力的机械系统中通常会有一个或多个轴通过电机驱动,运 动控制器用来控制这些电机的运转,以达到机械系统中各轴之间的运动协调。通 常需要用到适当的加减速算法,并处理形成准确的定位或遵循特定的轨迹等诸如 此类的问题。这些精确的位置、速度、加减速乃至力矩的控制主要通过电机、电 机驱动单元、反馈装置、运动控制器、主控制器( 如工业控制计算机) 来实现【7 1 。 一个完整运动控制系统如图1 1 所示。 浙江大学硕士学位论文绪论 在图1 1 中的运动控制系统中,主控制器根据用户的需求规划相应的运动轨 迹并制定运动指令发送给运动控制器。运动控制器按照主控制器发出的指令输出 控制量给电机的驱动单元,结合反馈装置形成闭环的控制,控制机械系统实现期 望的运动。反馈装置利用各种位置检测装置,将电机的角位移信息或机械执行器 的位移信息反馈给运动控制器,为控制器的控制量输出提供依据。 现有的很多伺服电机和步进电机都有相应的电机驱动单元。这些驱动单元大 都提供相同或相似的控制信号接口。在使用这些电机时,只需要对照电机的使用 说明连接需要用到的信号线。电机的驱动单元能把控制器发出的控制量转变为电 动机的有效驱动电流驱动电机运转。 位置检测装置有脉冲编码器、感应同步器、光栅及磁尺等,通常可以直接使 用电机的脉冲编码器作为控制系统的反馈信号构成半闭环的控制系统。在精度要 求较高的场合,则应在执行器端安装位置检测装置,将位置信息反馈给运动控制 器构成全闭环的控制系统,这样可以克服从电机到执行器之间的传动误差。 1 2 运动控制技术的发展趋势 早期的运动控制器实际上是可以独立运行的专用的控制器,往往无需另外的 处理器和操作系统支持,可以独立完成运动控制功能、工艺技术要求的其它功能 和人机交互功能。这类控制器可以作为独立运行( s t a n d - - a l o n e ) 的运动控制器。这 类控制器主要针对专门的数控机械和其它自动化设备而设计,往往已根据应用行 业的工艺要求设计了相关的功能,用户只需要按照其协议要求编写应用加工代码 文件,利用r s 2 3 2 或者d n c 方式传输到控制器,控制器即可完成相关的动作。 这类控制器往往不能离开其特定的工艺要求而跨行业应用,控制器的开放性仅仅 依赖于控制器的加工代码协议,用户不能根据应用要求而重组自己的运动控制系 统。通用运动控制器的发展成为市场的必然需求【2 】【7 】。 在系统结构上,运动控制技术上正朝着基于p c ,柔性和开放性发展。计算 机技术的飞速发展使得各种基于p c 的控制系统应运而生。基于p c 的运动控制 系统结合了计算机和独立于计算机的运动控制器。此类控制系统具有开发配置灵 活,软件功能丰富,通讯功能强大等优点。开放式的运动控制器则是把所有的运 动控制软件全部安装在计算机中,而硬件部分仅是计算机与伺服驱动和外部i 0 之间标准化通用接口。用户可以在操作系统的支持下利用控制系统提供的内核开 浙江大学硕士学位论文绪论 发自己所需要的控制功能。这两种运动控制技术的发展都不同程度地促进运动控 制技术的柔性化,用户可以根据需要控制各种不同类型的电机或实现各种不同的 控制系统,可在无需更新控制器硬件的条件下提供连续采用新技术、新工艺的能 力。基于p c 的开放式结构运动控制器是当前运动控制技术的主要研究方向,其 移植性和扩展性能好【2 瑚。- 9 传统的运动控制方法相比,有以下显著优点:( 1 ) f l l i 方便地与机床、机器人等被控设备联接;( 2 ) 一个运动控制器从硬件上可以实现 一到多个坐标轴的位置、速度和轨迹伺服控制,软件上具有完善的轨迹插补、运 动规划和伺服控制功能;( 3 ) 结构形式模块化,以方便地相互组合,建立适用不同 场合、不同功能需求的控制系统;( 4 ) 维护、扩展、升级方便 8 - 1 2 1 。 在控制策略上,由简单的p i d 控制发展为各种先进的控制方法。运动控制器 主要的性能指标一般为:动态响应的快速性、稳态跟踪的高精度以及行为的鲁棒 性。这些指标是个统一的整体,是实现一个运动控制系统的关键技术所在。目前 高性能的运动控制技术在数控加工等应用领域上所面临的主要问题有:在存在 扰动、非线性、模型和参数不确定性的情况下如何设计高性能的控制器9 如何 实现动态响应的快速性和状态监控。运动控制性能的提高和问题的解决不仅意味 着执行机构和反馈装置等方面的先进技术,而且更重要的是新型控制策略的应 用。p i d 控制器以其结构简单,使用方便和运行可靠等优点在运动控制中也经常 被采用。在解决系统中存在非线性因素不易定量描述的控制问题时,p i d 控制器 往往显得力不从心,由于p i d 控制器的结构本身以及算法设计依赖对象的局限 性,使得精度的改善导致动态性能的减弱;而动态性能的改善,又使执行机构膨 大而且能耗增加;再者,在从事具有快速高精度和鲁棒性要求的运动控制系统的 设计时,同一控制器不仅用来改善输入输出的动态性能,而且还用来消除负载扰 动,要想得到使系统具有满意的动静态性能指标p i d 参数整定算法是相当困难 的。对此,国内外许多学者都在寻求新的控制策略,提出了一些实用而高效的先 进控制策略。非线性控制、滑模变结构控制、自适应最优控制、预测控制和智 能控制等这些控制方法在运动控制中已有广泛的应用【4 1 。 1 3 运动控制技术的国内外发展现状 1 9 8 7 年,美国政府组织开放式运动控制系统的研究,即下一代控制器( n g c ) 研究计划。该计划首先提出了开放体系结构控制器的概念,制定了开放系统体系 浙江大学硕:上学位论文 绪论 结构标准规格( o s a c a ) 。自1 9 9 6 年开始,美国几个大的科研机构对n g c 计划 分别发表了相应的研究成果,如美国国际标准研究院研制的增强型机床控制器 ( e m c ) 。美国通用、福特和克莱斯勒三大汽车公司研制的开放式、模块化体系结 构控制器( o m a c ) ,其目的是用更加开放、更加模块化的控制结构使制造系统更 加柔性、更加敏捷。近年来,随着运动控制技术的不断进步和完善,运动控制器 作为一个独立的工业自动化控制类产品,已经被越来越多的产业领域接受,并且 已经达到一个引人瞩目的市场规模 2 1 。 美国d e l t at a ud a t as y s t e m 公司推出的p m a c 系列伺服控制器比较有代表 性。p m a c p c 以m o t o r o l a 公司的d s p 5 6 0 0 1 为微处理器,主频2 0 3 0 m h z ,6 0 4 0 微秒轴的伺服更新率,3 6 位位置范匪1 ( 6 4 千兆计数范围) ,1 6 位d a c 输出分辨 率,1 0 1 5 m h z 编码计数率,每秒可处理多达5 0 0 条程序,可以完成直线或圆弧 插补,“s 一曲线”加速和减速,三次轨迹计算、样条计算。利用d s p 强大的运算 功能实现卜8 轴多轴实时伺服控制。实际上,p m a c p c 卡本身就是一个完整的 计算机系统。依靠集成在卡上r o m 中的程序,它能独立完成实时、多任务控制, 而无需主机介入。p m a c p c 控制器配有较强的命令、函数库,用户可用制造商 提供的编程语言( 类似b a s i c ) 诟 m 这些命令和函数,编程较为方便。用户可自定 义g m ,t 、d 代码。另外制造商还提供开发工具p c o m m 、p t a l k 、p m a c - n c 软件库等,用户可用高级语言c c + + 、v b 、d e l p h i 等开发自己所需的函数。 p m a c p c 系统的开放性特征允许c n c 系统通过o d b c ( 开放数据库连接) 、 o l e ( 目标连接和嵌入) 、d d e ( 动态数据交换) 等,运行专门设计的第三方软件程 序【4 】。 我国在运动控制器产品开发方面相对滞后,1 9 9 9 年固高科技有限公司开始 开发、生产开放式运动控制器,随后,国内又有其它几家公司进入该领域,但实 际上,其大多是在国内推广国外生产的运动控制器产品,真正进行自主开发的公 司较少。深圳固高、深圳摩信是国内较早( 2 0 世纪9 0 年代晚期) 从事独立开放式 运动控制器的厂家,推出了一些通用的运动控制器。如固高的g t 系列运动控制 器、摩信的m c t 8 0 0 0 系列运动控制器;长沙力鼎科技有限公司的m c 系列3 轴 模拟电压控制编码器反馈型运动控制器,4 轴有无反馈脉冲输出型运动控制器; 南京顺康数码科技有限公司的m c 6 0 1 4 a 使用了带插补功能、可以控制4 个电机 的d s p 运动控制芯片,适用于p c 机i s a 总线的线路板;成都步进机电有限公 4 浙江大学硕上学位论文 绪论 司的m p c 0 1 和m p c 0 2 系列3 轴步进或数字式伺服控制运动控制器 1 3 - 1 4 1 。 1 4 课题的研究意义和研究内容 1 4 1 课题的研究意义 本课题以工业机器人作为运动控制器研发的硬件实验平台,最终目的是开发 一套控制性能好,适用范围广泛的多轴运动控制器软硬件。该运动控制器应具较 高的运动控制精度,同时易于使用和扩展。用户能方便地修改控制参数,并在软 硬件基础上进行二次开发。 目前在高端的运动控制器领域,国外的运动控制器产品基本上垄断了国内的 市场,导致高端的运动控制器价格非常昂贵。现阶段随着我国现代化工业的发展, 对于运动控制器的需求不断增大。正是在这样的形式下,本课题自主研发易于使 用,功能完善,应用范围广泛,低成本高性能的运动控制器,在一定程度与国外 厂商竞争,对于实现工业机器人以及其它很多现代化设备的完全国产化具有重要 意义。 另一方面,本课题采用自主研发的运动控制器,便于实现的工业机器人的各 种高级控制策略的研究,可以结合机器人的动力学特性来制定具体的控制策略。 克服因采用外购控制器而造成机器人与运动控制系统集成度不高的缺陷。 1 4 2 课题的研究内容 ( 1 ) p c i 接口驱动程序 本课题的运动控制器硬件采用了p c i 总线作为控制器与上位机之间的通讯 接口。为了使上位机上识别并正常地与控制器进行通讯,编写了控制器的p c i 总线驱动程序,并提供调用驱动的接口函数库。用户可以通过接口函数方便地与 控制器硬件进行通讯。 ( 2 ) 运动控制器- 9 上位机的通讯 为保证上位机与控制器之间正确,有序地通讯,本课题制定相应的通讯机制。 该机制能在不影响控制器的控制性能的前提下,满足多轴控制的正常使用。通过 该机制可以使控制器与上位机连续地通讯,利用有限的资源现实无限长度的控制 指令接收,实现控制对象的无限长时间连续控制。这一点是目前市场上绝大多数 运动控制器所没有的功能。 ( 3 ) 使用自主研发的运动控制器实现工业机器人的控制 浙江大学硕士学位论文绪论 在控制器的研发过程中,以现有的工业机器人作为实验平台。在充分考虑通 用的运动控制前提下,通过对工业机器人的运动控制来完善和改进运动控制卡的 软硬件。最终通过本课题自主研发的运动控制器能实现工业机器人的各种运动控 制。 本课题以运动控制器的研发为中心,采用自主研发的运动控制器来实现工业 机器人的运动控制也是课题的重要目标之一。实验过程中,在研究如何实现工业 机器人控制的同时也在不断地完善运动控制器的软硬件部分。 浙江人学硕上学位论文运动控制器的驱动研究 2 运动控制器的驱动研究 本课题采用p c i 接口作为控制器硬件与上位机之间的通讯接口。相比串口, u s b 等p c 总线接口,采用p c i 总线接口具有高传输速率和稳定性。控制器硬件 中使用p l x 公司的p c i 9 0 5 2 作为p c i 接口芯片。为了让上位机能识别控制器硬 件并访问硬件的各种资源,必须为控制器编写相应的驱动程序。驱动程序是实现 p c i 总线通讯所必需的软件,是运动控制器与上位p c 机之间通讯的基础。由于 驱动程序本身属于操作系统底层的软件,编写和调试都比其它应用程序困难得 多。 2 1 控制器的硬件介绍 驱动程序是操作系统中直接与硬件打交道的一类软件,与硬件之间的关系尤 为密切。编写驱动程序之前必须对硬件有充分的了解,才能编写出正确的驱动程 序访问硬件的各种资源。在论述驱动程序之前,先对硬件系统作一个简单的描述。 2 1 1 运动控制器硬件总体构成 多轴运动控制器由控制基板和接口板组成,如图2 1 所示。该控制器可以同 时控制六个伺服电机的运动。控制基板主要实现了与上位机的通信以及电机的控 制功能,接口板主要负责对伺服电机的输入输出信号进行预处理。控制基板包括 了p c i 通讯电路,d s p 以及外围的存储器扩展电路,用作地址译码和i o 扩展等 信号处理的c p l d 电路,d a 转换以及电源和时钟电路。接口板与控制基板之间 通过接插件连接,它用于对控制基板输出到伺服电机的部分控制信号进行光电隔 离处理,并对伺服电机反馈回来的编码器信号做滤波、电平转换处理。控制器硬 件实物如图2 2 所示。 r p c 机 图2 1 多轴运动控制器硬件结构图 祈大学颤学位论盘运动控制的驱动研究 实际工作时,控制基板插在p c 机主板的p c i 插槽中,通过p c i 总线实现与 p c 机之间的数据传输。p c 机通过调用驱动程序提供的接口函数将运动指夸数据 写到双端口r a m ,d s p 读取这些指令数据后控制电机来实现指夸所描述的运动 轨迹。同时d s p 把电机控制过程中的误差数据写到双端口r a m 中,供p c 机诖 取并分析电机控制的跟踪精度 田z 2 运莉控制嚣硬件实物图 2 1 2 控1 i 器硬件的功能模块划分 多轴运动控制器的模块划分及其功能如下: ( 1 ) d s p 模块 采用t i 为工业控制设计的d s p 芯片t m s 3 2 0 f 2 8 1 2 。芯片采用了高性能的 静态c m o s 工艺,最高工作频率可达1 5 0 m h z ,具有高性能的3 2 位c p u ,丰富 的外部资源和通用的1 0 口,可扩展大容量的r a m 。芯片的两个事件处理模块( e v ) 可毗用来处理两个电机编码器反馈的q e p 信号 15 1 。 d s p 模块是控制基板的核心,处理电机的各个输入输出信号,实现与上位机 的通讯和电机的控制等功能。 f 2 ) c p l d 模块 采用a l t e r a 的e p m 2 4 0 t 1 0 0 低功耗c p l d 芯片。用以扩展d s p 的通用i o 口, 宴现地址译码等功能。因为d s p 芯片的内部资源有限,只能处理两个电机的q e p 信号,本课题的控制器最多可以控制6 个电机,其余四个电机的q e p 信号就放 在c l p d 中来做计数处理,并由c p l d 把计数结果传给d s p 。 ( 3 ) p c i 模块 为了实现p c i 总线通信,采用了通用的总线转换芯片p c i 9 0 5 2 该芯片提供 简洁高性能的p c i 总线接口,支持p c i 2i 规范,支持8 位和1 6 位的存储器或 i o 访问,可产生p c i 中断。控制基板正是采用7p c i 9 0 5 2 芯片才能与p c 机 浙江大学硕十学位论文运动控制器的驱动研究 通过p c i 接口进行通信【1 6 】。 ( 4 ) 数据通信模块 为了实现p c 机和d s p 之间的通讯,采用了一块双端口的r a m 芯片,存储 容量为4 k x l 6 b i t s 。该芯片两端分别连接d s p 模块和p c i 模块,使d s p 和p c 机 都可以访问到这块r a m 中的数据。 ( 5 ) 电源和时钟模块 整个控制器需要用到几种不同电压的电源,电源模块也是硬件中很重要的一 部分。t m s 3 2 0 f 2 8 1 2 芯片的内核需要1 9 v 的电源,以保证能工作在1 5 0 m 的时 钟频率,外部的1 0 则需要3 3 v 的电源。为此采用了t p s 7 6 8 0 1 和t p s 7 5 7 3 3 两 块芯片分别将+ 5 v 的外部电源转化为+ 1 9 v 和+ 3 3 v 的电源。d a 芯片需要两个 精确的参考电压,为此采用了两片a d 5 8 7 芯片分别将+ 1 5 v 的外部输入电源电压 转换为精确+ i o v 电压作为d a 芯片的高低参考电压。另外p c i 9 0 5 2 和双端口 r a m 的工作电压都是5 v ,而d s p 的数据地址总线采用的是3 3 v 的工作电压, 在这之间需要用到电压转换芯片。 控制基板上d s p ,c l p d 和p c i 芯片工作在不同的时钟频率下,分别需要不 同的时钟信号。 ( 5 ) 输入和输出单元 伺服电机的控制需要用到很多开关量控制信号,为了避免伺服电机对控制电 路的干扰,需要对部分的控制信号做了光电隔离和滤波处理。 2 2w d m 驱动模型 对于不同的操作系统,驱动程序也是完全不同的。w i n d o w s 操作系统是当今 主流的桌面操作系统,本课题的驱动程序就是在w i n d o w s 操作系统下进行开发 的。随着w i n d o w s 系统本身的发展,其驱动程序模型也不断的发展和完善,先 后出现了v x d 和w d m 两种驱动模型。 2 2 1 驱动模型发展的介绍 w i n d o w s3 x 和w i n d o w s9 x 采用虚拟设备驱动程序( v x d , v i r t u a ld e v i c e d r i v e r ) 模型,应用程序通过v x d 来访问硬件设备。v x d 可以虚拟化物理设备, 使得多个应用程序或者多个线程可以同时操作硬件,以实现w i n d o w s 系统下多 线程多任务的工作方式。v x d 程序分为标准型和非标准型:标准v x d 由w i n d o w s 9 浙江大学硕士学位论文运动控制器的驱动研究 系统提供,用于支持公共设备;非标准v x d 驱动程序是为支持少数用户设备而 编写的驱动程序。根据加载方式不同,v x d 驱动程序又分为在系统启动时加载、 系统关闭时卸载的静态型和根据需要加载、卸载的动态型。w i n d o w s9 5 及其之 前的w i n d o w s 操作系统的设备驱动程序分类比较混乱:硬件由v x d 驱动,网络 和文件系统由实模式驱动程序驱动,多媒体硬件和打印机由r i n g 3 d l l 驱动【1 7 】。 随着w i n d o w s n t 的出现,微软提出了一种新的驱动程序模型核心模式 驱动程序( k e r n e lm o d ed r i v e r ,k m d ) 。这种模型的驱动程序运行于操作系统的 核心模式下,对硬件资源拥有类似r i n 9 0 层的权限。k m d 对于设备的管理采取 了层次结构抽象:对于所有的设备功能进行分层,对于系统底层的功能如总线管 理、中断管理和存储器管理等由操作系统提供驱动程序进行支持;设备的硬件功 能由设备的驱动程序负责实现;设备又可以根据其逻辑功能需求可选的实现所谓 过滤驱动程序,对于某些特殊功能进行特殊处理。k m d 相对于v x d 型驱动程序 最大的特点就是引入了对多c p u 的支持;同时也改进了v x d 时代驱动程序分类 的混乱局面,统一了大多数驱动程序的开发模型。 从w i n d o w s9 8 开始,微软在k m d 的基础上提出了新的驱动程序模型 w d m ( w i n d o w sd r i v e rm o d e l ) 。w d m 在k m d 的基础上进一步支持即插即用规 范与电源管理规范,并且对设备做了进一步的分类,不同类型的设备遵循不同的 规范进行开发。相比于v x d 模型,w d m 提供一种灵活的方式来简化驱动程序 的开发,使其在实现对新硬件支持的基础上减少并降低所必须开发的驱动程序的 数量和复杂性。w d m 还为即插即用和设备的电源管理提供一个通用的框架结 构,该框架是w d m 实现对新型设备的简便支持和方便使用的关键组件。 w d m 以操作系统提供的一组通用服务为基础,改进了由一组核心扩展构成 的功能实现对即插即用、设备电源管理、和快速反应i o 流的支持。除了通用的 平台服务和扩展外,w d m 还实现了一个模块化的、分层次类型的微型驱动程序 结构。类驱动程序实现了支持通用总线、协议,或设备类所需的功能性接口。类 驱动程序的一般特性是为逻辑设备的命令设置、协议、和代码重用所需的总线接 口实现标准化提供必要的条件。w d m 对标准类接口的支持减少了w i n d o w s9 5 和w i n d o w sn t 所需的设备驱动程序的数量和复杂性 2 0 1 。 w i n d o w sd r i v e rf o u n d a t i o n ( w d f ) ,是微软提供的最新驱动程序开发技术的 集合,包括内核模式驱动程序架构( k m d f ) 以及用户模式驱动程序架构( u m d f ) 。 i o 浙江大学硕士学位论文运动控制器的驱动研究 w d f 并不是一种新的驱动模型,而是一个驱动开发包,目的是要改善目前 w i n d o w s 平台的驱动程序品质,提供能方便用户开发驱动的工具软件,使用它来 开发的驱动程序依然是w d m 模型的驱动【1 8 】【1 9 】。 驱动程序是上层应用程序和低层硬件之间进行数据交互的媒介,它是操作系 统的一个可信任部分,其优劣直接影响操作系统的稳定性和性能。w i n d o w s 操作 系统下的驱动程序主要有两种模式:v x d 和w d m 。随着w i n d o w s 自身的发展, w d m 驱动程序将以其优越性越来越多地取代v x d 驱动程序,因此本课题采用 了w d m 驱动模型来实现运动控制器的驱动程序开发。 2 2 2w d m 驱动模型的特征 w d m 驱动程序采用分层的结构模型,如图2 3 所示。图中左边是一个设备 对象堆栈,设备对象是系统为帮助软件管理硬件而创建的数据结构。一个物理硬 件可以有多个这样的数据结构,处于堆栈最底层的设备对象称为物理设备对象 p d o ( p h y s i c a ld e v i c eo b j e c t ) ,在设备对象堆栈的中间某处有一个对象称为功能 设备对象f d o ( f u n c t i o n a ld e v i c eo b j e c t ) ,在f d o 的上面和下面还会有一些过滤 器设备对象f i d o ( f i l t e rd e v i c eo b j e c t ) ,位于f d o 上面的过滤器设备对象称为 上层过滤器,位于f d o 下面( 但仍在p d o 之上) 的过滤器设备对象称为下层过 油奥 2 0 2 1 1 1 2 8 1 1 i to i f i d o i t l f d o i t i f i d o l t l p d o l 图2 3w d m 设备对象和驱动程序的层次结构 在w d m 驱动程序模型中,每个硬件设备至少有两个驱动程序。其中一个驱 动程序称为功能( 劬c t i o n ) 驱动程序,通常它就是所谓的硬件设备的驱动程序。它 了解使硬件工作的所有细节,负责初始化i o 操作,处理i o 操作完成时所带来 浙江大学硕上学位论文 运动控制器的驱动研究 的中断事件,并为用户提供一种设备适合的控制方式。另一个驱动程序称为总线 ( b u s ) 驱动程序,它负责管理硬件与计算机的连接,通常是由操作系统提供的。 部分设备有两个以上的驱动程序,也就是还存在有过滤器驱动程序( f i l t e r d r i v e 0 。某些过滤器驱动程序仅仅是在功能驱动程序执行i o 操作时进行监视。 在大多数情况下,可以利用过滤器驱动程序修改现有功能驱动程序的行为。上层 过滤器驱动程序在功能驱动程序之前接受到i r p ,可以修改i r p 的部分数据,为 用户提供额外的特征,或修正功能驱动程序和硬件存在的缺陷。下层过滤器驱动 程序在功能驱动程序向总线驱动程序发送i r p 时接收到i r p 。在某些情况下,下 层过滤器驱动程序可以修改功能驱动程序要执行的总线操作流。 一个完整的驱动程序可以看作是一个容器,它包含许多例程。当操作系统遇 到一个i r p 时,它就调用这个容器中的某个例程来执行该i r p 的各种操作。有些 例程,例如d r i v e r e n t r y 和a d d d e v i c e ,还有与几种i r p 对应的派遣函数每个驱 动程序所必须包含的。需要对i r p 排队的驱动程序一般都有一个s t a r t i o 例程。 执行d m a 传输的驱动程序应有一个a d a p t e r c o n t r o l 例程。大部分能生成硬件中 断的设备,其驱动程序都有一个中断服务例程( i s r ) 和一个推迟过程调用( d p c ) 例程【2 8 】。 2 3 驱动的开发工具及开发调试环境 2 3 1 驱动的开发工具 对于开发w d m 驱动程序来说,有以下三种常用的开发工具软件:w i n d o w s d d k ,d r i v e r s t u d i o 和w i n d r i v e r 。使用不同的工具软件开发驱动程序的困难程度 以及驱动程序的执行效率会有较大的差异,下面对三种方式分别给予介绍【2 6 1 。 ( 1 ) w i n d o w sd d k 。w i n d o w sd d k ( d e v i c ed e v e l o p e rk i t ) 是m i c r o s o f t 提供的 w i n d o w s 操作系统下设备驱动程序开发工具包。它包括了有关设备驱动开发的文 档、编译需要的头文件和库文件、调试工具和程序范例,定义了一些设备驱动程 序可以调用的系统底层服务。它需要开发者具有深厚的汇编语言和硬件基础,对 操作系统的底层机制有透彻的理解,对驱动程序的整个体系结构有很好的把握。 其优点是可以开发核心态的驱动程序,开发的驱动程序执行效率是最高的。 ( 2 ) d r i v e r s t u d i o 。d r i v e r s t u d i o 是美国c o m p u w a r e 公司开发的用于编写设备 驱动程序的工具包。它包

温馨提示

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

评论

0/150

提交评论