《基于rtlinux双轴仿真转台控制系统设计和实现论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
国内图书分类号:TP15国际图书分类号:623.592工学硕士学位论文基于RTLinux的双轴仿真转台控制系统设计与实现硕士导研究生:张德新师:邵长胜教授申请学位:工学硕士学科、专业:导航、制导与控制所答在单位:控制科学与工程系辩日期:2006年6月27日授予学位单位:哈尔滨工业大学 ClassifiedIndex:TP15U.D.C.:623.592DissertationfortheMasterDegreeinEngineeringDESIGNANDRELIZATIONOFDOUBLEAXISSIMULATIONTURNTABLECONTROLSYSTEMBASEDONRTLINUXCandidate:Supervisor:AcademicDegreeAppliedfor:Speciality:Affiliation:DateofDefence:Degree-Conferring-InstitutioZhangDexinProf.ShaoChangshengMasterofEngineeringNavigation,GuidanceandControlDep.ofControlScienceandEngineeringJune,2006HarbinInstituteofTechnology 哈尔滨工业大学工学硕士学位论文摘要随着我国航空、航天事业的发展,对相关仿真测试设备功能和技术指标的要求也越来越高。本文正是以某型“航空相机控制及总体装调检测装置”中的双轴仿真转台为研究背景展开工作。论文通过对多种常用数字控制器软件平台进行分析和比较,最终选择了基于Linux的RTLinux实时操作系统实现仿真转台的数字控制,其中还涉及到一些与仿真转台控制系统有关的测角和功率驱动电路问题。论文首先对双轴仿真转台控制系统的总体结构进行了较详细的分析,并以古典控制理论为依据,对控制系统进行设计,在此基础上,对转台测角系统和功率驱动电路进行了简单介绍,根据测角系统和功率驱动电路的结构确定了两者与数字控制器的通讯方式,合理的设计了数字控制器的接口电路。论文在比较基于DOS、Windows和RTLinux操作系统各自优缺点的基础上,选择RTLinux作为本双轴仿真转台数字控制器软件平台。为了理解这种方案的工作原理,文中详细介绍了RTLinux的实现原理和内核数据通讯方式,并给出了在Linux平台上构建RTLinux数字控制器软件平台的方法和步骤。根据任务书要求,本转台主要模拟飞机俯仰和滚动往复运动。针对这一特点,论文给出了基于RTLinux的数字控制器软件平台实现方案,并对方案实现过程中遇到的技术难点进行了详细分析,给出了解决办法,且附有相应程序代码。根据系统性能和技术指标要求,最终完成数字控制器软件、外围电路的设计和实现。通过对实验结果的分析,证明了基于RTLinux软件平台实现转台数字控制的可行性。关键词双轴仿真转台;数字控制;实时操作系统;RTLinux-I- 哈尔滨工业大学工学硕士学位论文AbstractWiththedevelopmentofaviationandspaceflightinourcountry,therequirementofemulateandtestequipmentishigherahdhigher.Thisdissertationiswrittenonthebackgroundofthedouble-axissimulationturntablewhichcomesfromaprojectofthecontrolanddetectionwiththeaerialcamera.Itismainlyfocusedontheanalysis、comparativenessofthenormalsoftwareplatformusedinnumericcontroller,andchoosedRTLinuxreal-timeoperatingsystemwhichisbasedonLinuxtoaccomplishthenumericcontroloftheturnable,.Inthesametime,Itinvolvedtheanglemeasuringsystemandpowerdrivecircuitwhichisrelatedtothecontroller.First,thisdissertationanalyzedthetotalstructureofthecontrolsystermoftwo-axisemulateturntableindetail.Afterthis,theworkprincipleoftheanglemeasuringsystemandpowerdrivecircuitareintroducedseparately,thepurposeistoanalyzethecommunicatefashionbetweenthistwoonewiththenumericcontroller,thisistodesignreasonablyperipherycircuit.AftercomparingtheshortcomingofthenumericalcontroloperatingsystemwhichisbasedonDOS、WindowsandRTLinux,wechosedRTLinuxasthesoftwareplatformofthenumericcontroller.Inordertocomprehendtheworkprincipleofthisproject,wemainlytalkedabuttherealizationandnumericalcommunicationwithRTLinux,andgiventhemethod、stepstosetRTLinuxwhichisbasedonLinux.Accordingtotherequirementofmission.,thisturntableismainlyemulatingthemotionoftheairplane’spitchingandrolling.Inthisspeciallycharacterist,wegiventherealizableprojectwiththenumericcontroller.,andanalysisedthetechnicaldifficultwhichwemetedintheprocessoftherealization,giventhesolutionandhomologousprocedureyard.Accordingtotherequirementofperformanceandtechnicalindextothesystem.,ittakesinner-annulusaxisasexample,usingclassicalcontroltheoriestodesignthecontrolsystemofturntable.Theconstructionandrealizationofsoftwareandperipherycircuitwithnumericcontrolhasbeenaccomplishedinfinally.Withtheanalysisofexperimentalresult,thefeasibilityofnumericcontrol-II- 哈尔滨工业大学工学硕士学位论文whichisbasedonRTLinuxplatformhasbeenproved.Keywordsdouble-axissimulationturntable;numericcontroll;real-timeoperatingsystem;RTLinux-III- 哈尔滨工业大学工学硕士学位论文目录摘要...........................................................................................................................IAbstract.......................................................................................................................II第1章绪论................................................................................................................11.1课题背景...........................................................................................................11.2仿真转台综合介绍...........................................................................................21.2.1仿真转台的发展及现状............................................................................21.2.2仿真转台控制方法分析比较....................................................................31.3嵌入式实时操作系统分析比较.......................................................................51.4RTLinux实时操作系统简介............................................................................71.5本章小结...........................................................................................................9第2章转台系统结构分析......................................................................................102.1转台系统总体结构分析.................................................................................102.2转台控制系统设计.........................................................................................112.3转台测角系统分析.........................................................................................142.3.1旋转变压器工作原理..............................................................................152.3.2感应同步器工作原理..............................................................................152.3.3双通道测角系统粗精耦合原理..............................................................162.4转台功率驱动电路分析.................................................................................172.5控制器数据通讯关系分析.............................................................................182.5.1控制器与外部通讯关系及所需端口分析..............................................192.5.2控制器与内部通讯关系及所需端口分析..............................................192.6本章小结.........................................................................................................21第3章数字控制器软件平台分析..........................................................................223.1数控系统开发平台分析比较.........................................................................223.1.1基于DOS平台的数控系统....................................................................223.1.2基于Windows平台的数控系统.............................................................233.1.3基于Linux+RTlinux平台的数控系统...................................................253.2RTLinux的实现原理和数据通讯..................................................................273.2.1RTLinux的实现原理...............................................................................27-IV- 哈尔滨工业大学工学硕士学位论文3.2.2RTlinux与Linux内核之间的通讯方式.................................................283.3RTLinux的安装步骤......................................................................................313.4本章小节.........................................................................................................32第4章数字控制器功能分析及其解决方案..........................................................334.1数字控制器数据采集、输出与处理.............................................................334.1.1数字控制器数据采集和输出..................................................................334.1.2数字控制器数据处理..............................................................................364.2创建可移植的控制程序.................................................................................374.3过零处理及转台摇摆功能实现.....................................................................404.4本章小结.........................................................................................................43第5章数字控制器设计与实现..............................................................................445.1数字控制器外围接口电路设计.....................................................................445.2数字控制器软件设计.....................................................................................455.3实验结果分析.................................................................................................485.4本章小节.........................................................................................................49结论............................................................................................................................50参考文献....................................................................................................................51附录一........................................................................................................................54附录二........................................................................................................................57攻读学位期间发表的学术论文................................................................................64哈尔滨工业大学硕士学位论文原创性声明………………………………………65哈尔滨工业大学硕士学位论文使用授权书………………………………………65致谢............................................................................................................................66-V- 哈尔滨工业大学工学硕士学位论文第1章绪论1.1课题背景成像技术伴随着其他高科技的发展被应用的越来越广泛。从留下美满幸福的生活片断,到帮助人们诊断出各种疾病;从为人们提供了解自然界的各种资源和气象信息,到为人们提供战胜敌人的军事信息……,人类在各个领域的发展都离不开成像技术。成像技术的关键是对图像的捕捉、分辨和对图像的记录与处理。对图像的分辨和记录主要依靠相机本身的技术性能来保证,而对图像的捕捉还要依赖于相机的载体。例如对全球气象的观测要靠高空人造卫星装载红外、光学相机或气象雷达来完成;而对敌方阵地的侦察,大多情况下要靠侦察机等运载设备载着相机来共同完成。因此成像质量的高低要由相机和载体的性能共同保证。由某型侦察机和中、低空全景相机组成的对敌侦察系统获得的图像质量在飞机性能确定的前提下要靠相机的技术性能来保证,因此,如何提高中、低空全景相机的技术性能成为提高侦察图像质量的关键。为了检测和提高相机的技术性能须对相机进行测试,测试目的大致可归纳为以下几个方面:1、检验装配工艺过程(通常称为验收试验);2、验证设计参数(通常称为批准试验或技术鉴定试验);3、导出相机误差模型方程式;4、确定不能按预期要求工作的原因(通常称为诊断试验);5、提出新的实验技术;6、指出需要研制的先进实验设备。对相机技术性能的测试工作最好放在侦察机上进行,但这是这不太可能。主要原因有两点:一是成本过高,二是操作不方便;因此模拟侦察机侦察飞行过程真实环境的仿真系统应运而生。实际上飞机飞行的过程中,由于气流的作用而摇摆不定,但可将这种复合运动分解成三个旋转自由度和三个直线运动自由度来处理。通过分析认为其频带很窄,尽管有效载荷相机的质量很大,也可以通过转台对此运动进行仿真。本课题主要源于模拟飞机横滚和俯仰运动的双轴转台控制系统的研究。-1- 哈尔滨工业大学工学硕士学位论文1.2仿真转台综合介绍1.2.1仿真转台的发展及现状惯性测试和仿真转台的发展,一直是以美国为代表][1~3],而且一直保持其领先地位[4~5]。转台的发展经历了从单轴、低精度、单功能到多轴、高精度、多功能的各个阶段。世界上第一台转台诞生于1945年美国的麻省理工学院仪表实验室,被定名为A型转台。随后该实验室又研制了B型转台(1950年),C型转台(1953年),D型转台(1954年).在60年代后期又研制了E型转台。目前美国制造惯性导航测试设备和运动模拟系统的主要厂商是位于美国宾夕法尼亚州匹兹堡的康特维斯—戈尔子公司(Contraves—GeorzCorporation)简称CGC[6]。CGC于60年代末至70年代初研制并生产了51系列双轴气浮轴承转台,型号为51A,51C,51D,51G等。其中转台51A,51C,51G均可测试陀螺漂移率为0.0010/h的陀螺,精度达到1角秒。CGC生产的800系列速率台,51系列双轴台及53系列多轴台,均采用了30H型模块或精密角度控制系统。该系统的速率控制系统采用了锁相伺服回路,位置控制采用了三级非线性控制。30H模块式精密角度控制系统被设计用来实现各种角度非线性读出和控制功能,它可以实现手动或自动控制,也可以与计算机连接起来实现自动测试[7~9]。自1984年起,CGC开始研制技术先进的三轴测试平台ITATT,这是为了测试高精度惯性制导与导航器件而研制的。ITATT的许多性能指标代表了当时惯导测试台的技术发展水平。设计采用的许多新技术和措施对惯导测试设备的发展来说是具有很好的指导意义。为提高转台的性能,ITAA的设计中采取了下列措施:1.外壳采用碳纤维复合材料,并做成球形,使总体结构的对称性和挠曲度得到很大的改善。2.支撑轴承采用有源磁悬浮轴承。3.力矩电机由普通采用的直流电机改为交流多相感应式电机,消除了力矩波动现象。4.角位置传感器由采用单一的感应同步器改为采用感应同步器和光学编码-2- 哈尔滨工业大学工学硕士学位论文器组合,使测角精度达到0.03角秒。5.控制系统采用了状态反馈的数字控制系统,但仍需要一个数模转换器。数字系统为受控轴偏移的误差补偿创造了条件。采用上述技术措施以后,改进的三轴测试台ITATT的综合指向精度可达0.1角秒,分配到各个轴的精度提高30—50倍;转速稳定度在速率为0.0010/s-2000/s内,可达10-6,提高了10-20倍。综合技术指标提高了一个数量级以上。国内自70年代起开始转台的研制工作,其发展的现状大致如下:1979年,由哈工大,441厂和6354所共同研制成功我国第一台双轴伺服台—“7191”双轴空气轴承转台。1982年,由6354所研制成“7191-Ⅱ”型双轴转台。该转台是在“7191”转台的基础上,本着基本不变、局部改善的原则进研制的。转台的机械结构、外形尺寸、电气框图及工作原理与“7191”转台基本一致。但在提高精度、方便操作、扩展功能、提高可靠性和增加连续工作时间方面作了改进。1983年由13所研制的SSFT伺服转台是我国最大的双轴伺服台。它设计用来测量漂移率为0.010/h的双自由度陀螺、三自由度陀螺和加速度计。1985年由哈工大研制的DPCT单轴计算机转台,是我国第一台计算机控制转台。计算机参与了控制,提高了控制精度,提高了转台的灵活性和测试自动水平。此外,计算机对测试数据进行了实时处理,提高了测试效率和精度。这台转台的测试精度达到了1角秒,设计指标为测试漂移率为0.0010/h的陀螺。我国与世界先进水平的差距主要表现在:1)角度、角速度、角加速度传感器的动态精度方面。2)驱动马达的低速性方面。3)转台台体制造工艺及安装方面。4)控制技术方面。1.2.2仿真转台控制方法分析比较惯性测试和仿真转台作为一种精密设备经常被应用在惯性器件测试、半物理仿真系统中。人们对其结构和控制方法的研究已到了相当成熟的地步。以往对仿真转台的控制多采用模拟控制方案,随着数字控制技术的发展,现在对转台的控制大多由数字控制器来完成。在由数字控制器构成的实时控制系统中影响控制性能的一个重要因素是采样频率的选择,采样频率的高低除软件质量-3- 哈尔滨工业大学工学硕士学位论文外,很大程度上由控制器本身的性能指标决定。随着材料科学、加工工艺、计算机技术等科学技术的发展与进步,电子电路的集成度越来越高,因此基于高集成度技术CPU的速度、功能、体积、功耗等都有了极快的发展。运算位数从4位、8位……发展到目前的64位;运算速度从8MHz、32MHz……发展到几个GHz。所以,目前以计算机作数字控制器的控制系统应用十分普遍。通常情况下系统设计主要包括以下几个步骤:1、根据任务要求选择系统总体方案;2、在系统总体方案确定后优选系统控制方案;3、优化组合系统的硬件结构;4、确定系统指标的检测方法。实际上每一个步骤在实现时都含有极其丰富的内容,既有理论上的又有经验方面的知识。实现对双轴仿真转台的控制除模拟控制方案外,数字控制方案也有很多。考虑到精度和快速性要求,数字控制要求数字控制系统微处理单元有足够的字长和运算速度。即具体实现时,既要考虑计算机CPU的选择,又要考虑实现控制算法软件的选择;既要考虑可实现性,又要考虑经济性。若采用单片机实现对双轴仿真转台的控制,首先要搭建一个单片机系统。而一个简单的系统至少包括有时钟电路、接口电路、D/A转换器、键盘输入和显示电路,由于本转台系统数据较多、程序较大,可能还要扩展存储器等等。显然,这是一个耗时费工的工作。单片机的另一个缺点是运算速度低,对要求同时控制两个转轴的任务很难胜任。单片机组成的控制系统优点是成本较低,但可靠性大打折扣。在计算机控制越来越普及的今天,人们更多地采用PC组成数字控制系统,特别是选用专门为适应各种环境条件而设计的工业控制计算机(简称工控机)。PC因其存储容量大,处理速度快,支持软件多等优点,在控制领域越来越受欢迎。但因其价格比单片机要贵得多,大多数简单系统仍然采用单片机控制。综合考虑双轴仿真转台控制系统的性能指标、数据处理量以及其他要求,决定选用工业控制计算机来实现对仿真转台的控制。采用工控机作为双轴仿真转台控制器要解决的问题主要有:实时软件模块开发、板卡驱动、不同处理单元数据传输等。PC机控制有很多模式,可以选用图1-1控制模式。在此结构下,PC机主要完成发送控制命令,图形界面显示、数据传输等任务,具体的实时任务由下位机去完成,系统采样频率由微处理单元的性能决定,没有充分发挥PC机处理速度快、存储容量大等优点。这-4- 哈尔滨工业大学工学硕士学位论文PC机(上位机)通讯微处理单控制对象元图1-1PC机控制结构Fig.1-1ThestructureofPCcontrol里选用另一种控制模式,即在PC机下选用满足性能指标的数据采集卡,由它完成数据传输,由PC完成数据处理,这样可以充分发挥PC机的长处。当然,要想这种控制模式得以实现,就需要一个能支持实时操作的实时操作系统。现有的WINDOWS、LINUX等通用操作系统都是多任务分时操作系统,不加以改造不适用于实时控制。1.3嵌入式实时操作系统分析比较从20世纪80年代起,国际上就有一些IT组织和公司开始进行商用嵌入式系统和专用操作系统的研发,其中涌现了一些著名的嵌入式系统。进入20世纪90年代后,国内的一些公司和科研院校也开始涉足嵌入式实时操作系统,并且已经开发出了一些可与国内外产品相媲美的实时操作系统。下面就我国广泛使用的RTOS(实时操作系统)进行相应的介绍[10~12]。1)VxWorks操作系统VxWorks是目前嵌入式系统领域中使用最广泛、市场占有率最高的嵌入式实时操作系统。它是美国WindRiver公司的产品,以其良好的可靠性和卓越的实时性性被广泛地应用在通信、军事、航空等实时性要求极高的领域中,已经在包括爱国者导弹和火星探测器等许多领域上得到成功应用。它具有以下特性:·微内核结构(最小体积<8K)。·微秒级中断处理。·高效的任务管理:a.多任务,最多具有256优先级。b.优先抢占和轮转调度。-5- 哈尔滨工业大学工学硕士学位论文c.快速、确定的上下文转换。·多处理器支持。·灵活的任务间通讯。支持以下多种任务间通讯方式:a.具有优先级继承的二进制、计数器、互斥的信号量。b.消息队列。c.套接字。d.共享内存。e信号异常处理。·符合POSIX1003.1b实时扩展标准。·支持MS-DOS和RT-11文件系统。·完全符合ANSIC标准。·支持多种体系结构的处理器,如x86、i960、SunSparc、MotorolaMC68xxx、ARM、POWERPC等。2)WinCE操作系统WinCE是由微软公司推出的嵌入式实时操作系统,MicrosoftWindowsCE是从整体上为有限资源平台设计的多任务、多优先级的操作系统。其模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200KB。但它的最大缺点是实时性不好,是软实时操作系统,只能用于对实时性要求不高的场合。3)VRTX操作系统VRTX是老牌的嵌入式实时操作系统,在早期的商用嵌入式操作系统中曾扮演“领头羊”的角色。VRTX具有一组满足用户需要的模块化的编程界面和工具。无论是对存储器和耗能有限制的手持器件,还是用于电话交换的网络管理卡,VRTX都有一套工具满足开发者的需求。通过对可向上兼容编程接口和面向对象开发的支持,VRTX保证在将来支持和能重复利用其源码。VRTX的特点包括易于载入定制硬件、文件系统支持及ANSI/POSIX接口。VRTX还支持多种网络协议。VRTX目前主要有VRTXsa、VRTX5和专门支持单芯片(SOC)的CRTXmc/VRTXoc3个版本。4)pSODS操作系统ISI公司推出了RTOS,现在ISI已经被WinRiver公司兼并,pSOS属于WinRiver公司的产品。这个系统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全多任务环境,在定制的或是商业化的硬件-6- 哈尔滨工业大学工学硕士学位论文上提供高性能和高可靠性。可以让开发者根据操作系统的功能和内存需求定制成每一个应用所需的系统。开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。5)PalmOS操作系统3Com公司的PalmOS在PDA市场上占有很大的市场份额,它有开放的操作系统应用程序接口,开发商可以根据需要自行开发所需要的应用程序。6)DeltaOS操作系统DeltaOS是电子科技大学实时系统实验室和北京科银京成公司联合开发的,国内具有完全自主知识产权的RTOS,已经成功地应用于消费电子产品、通讯产品、工业控制及军用电子产品中。它具有高可靠性、实时性良好、可伸缩性、可移植性强(90%以上代码采用C语言编写)、支持多处理器结构的硬件环境和接口标准的开放性等特点。DeltaOS是由具有高可靠性和实时性的内核DeltaCOR、嵌入式TCP/IPDeltaNET、嵌入式文件系统DeltaFILE以及嵌入式图形接口DeltaGUI组成。7)嵌入式Linux操作系统以上介绍的RTOS都是商用的嵌入式操作系统,它们在系统可靠性和对用户的技术支持都有自己的优势。但是,这些专用操作系统均属于商业化产品,其价格昂贵;而且,由于很多时候它们的核心源代码都是不公开的。这使得每个系统上的应用软件与其他系统都无法兼容。由于这种封闭性还导致商业嵌入式系统在对各种设备的支持方面存在很大的问题,使得对它们的软件移植变得很困难。由于Linux自身诸多优势,在嵌入式这个IT产业的新的关键领域,嵌入式Linux操作系统适时出现在各嵌入式厂商面前,吸引了许多开发商的眼光,成为嵌入式操作系统的新宠。通过分析比较现有嵌入式系统的特点,本转台选用基于Linux的RTlinux嵌入式实时操作系统作为数字控制器软件开发平台,下面将对RTLinux实时操作系统作一个简单的介绍。1.4RTLinux实时操作系统简介Linux的嵌入式改造主要围绕体积和实时性展开,目前已经有许多公司在进行这方面的工作,其中比较著名的嵌入式Linux系统包括RTlinux、KURT_Linux、uClinux、Xlinux和EMbedix等。下面主要对本文使用的RTlinux平台进行介绍。-7- 哈尔滨工业大学工学硕士学位论文RTLinux[13~14]是利用Linux进行实时系统开发比较早的尝试,美国新墨西哥理工学院计算机系的VictorYodaiken和MichaelBaranov早在1996年就开始了对RTLinux的开发。目前RTLinux已成功应用于从航天飞机的空间数据采集、科学仪器测控到电影特技图像处理等众多领域。根据Linuxdevices.com的调查情况,有5%的用户已经将RTLinux应用到他们的嵌入式系统中。RTLinux的原理是采用双内核机构,即将Linux的内核代码进行少量修改,将Linux任务以及Linux内核本身作为实时内核的一个优先级最低的任务,而实时任务优先级高于普通Linux任务,即在实时任务存在的情况下运行实时任务,否则才运行Linux本身的任务。实时任务不同于Linux普通进程,它是以Linux的内核模块(LinuxLoadableKernelModule,LKM)的形式存在的。需要运行实时任务的时候,将这个实时任务的内核模块插入到内核中去。实时任务和Linux一般进程之间的通信通过共享内存或者FIFO通道来实现。RTLinux工作原理如图1-2所示。非实非实非实时任务时任务时任务FIFO共享内存实时实时实时任务任务任务Linux内核RTlinux实时内核底层硬件图1-2RTLinux原理图Fig.1-2DiagramofRTLinuxprinciple由图可以看出,RTLinux接管了机器的硬件,实时任务直接在RTLinux实时内核的调度下运行,这样保证了任务的实时性。而通过将Linux本身作为实时内核优先级最低的任务,又使得Linux的常规操作可以正常运行。同时,实时任务和Linux普通进程之间可以相互配合,将需要强实时特性的任务放在实-8- 哈尔滨工业大学工学硕士学位论文时内核运行,将界面显示和用户监控功能放在Linux内部执行。这种实现方法既可以充分利用Linux的强大功能,又可以保证关键任务的实时性。1.5本章小结本论文主要源于对“相机控制系统及总体装调检测装置研制”中双轴仿真转台控制系统的设计和实现。该转台通过模拟飞机横滚、俯仰运动给相机提供一个测试平台。在分析比较现有控制方法和实时操作系统基础上,选择合理的控制方案。明确了本论文的工作任务和目标,具体如下。1、转台总体系统结构分析及设计。通过分析转台系统结构,建立控制系统的数学模型,确定控制算法;2、开发RTLinux实时控制软件,编写实时控制程序;3、设计、安装和调试接口电路,实现对转台系统内部数据的采集和控制器与上位机(综合控制台)的通讯。4、完成双轴仿真转台控制系统的安装、调试。-9- 哈尔滨工业大学工学硕士学位论文第2章转台系统结构分析2.1转台系统总体结构分析双轴仿真转台作为“相机控制系统及总体装调检测装置”的一个部分,通过模拟飞机运动状态,给相机提供一个测试平台。它主要由机械台体和电控系统两部分组成,其中电控部分主要由测角电路、数字控制器和功率驱动电路组成。根据任务书的技术要求,结合设计好的双轴仿真转台的机械结构参数,可确定双轴仿真转台内环轴的控制系统结构如图2-1所示(另一个轴的控制系统结构同此轴类似)。èièo控制器功放电机转台—测角图2-1转台控制系统结构图Fig.2-1Diagramofturntablecontrolsystemstructure由图可知,数字控制器的任务是实时采集测角电路输出的转台轴系位置信号,与给定的控制指令进行比较得出位置跟踪误差,并对此误差信号进行处理,通过控制算法得出对转台的控制信号,以此信号控制功率放大电路驱动电机带动转轴按期望的速度转动。测角系统的任务是实时测得转台轴系的当前位置,并通过接口电路和数字控制器进行数据交换。功率放大器的任务是按照数字控制器发出的指令控制力矩电机驱动转台轴系转动。在三者的共同作用下,机械转台在力矩电机的驱动下转动,模拟飞机相应的运动以达到仿真飞机俯仰和滚动的目的。-10- 哈尔滨工业大学工学硕士学位论文2.2转台控制系统设计根据以上分析,可以确定仿真转台内环控制系统结构方框图如图2-2所示。áiK1G(s)KdTd1Js2áo—图2-2转台控制系统方框图Fig.2-2Diagramofcontrolsystemaboutturntable图中:K1——放大器Kd——功率放大器J——转台轴的转动惯量G(s)——转台控制器ái——输入角度á0——转台某轴转角Td——轴系的总干扰力矩由图可知,不加校正时系统工作在等幅振荡状态。为了使系统稳定工作必须加校正环节,下面以内环轴为例进行数字控制器设计。已知转台内环轴转动惯量J=8kg.m2,干扰力矩可做到2N.m。根据系统指∧标要求,并参考以前转台设计经验。设计系统伺服刚度为2.5N.m/sec,换算开环增益K1=57000,系统频带要求10Hz左右,相角欲度大于450。考虑到本系统采用数字控制器进行控制,故采用数字控制方法进行控制算法设计。数字控制设计方法分为两类;一、用连续系统设计校正的方法,确定校正环节的传-11- 哈尔滨工业大学工学硕士学位论文递函数D(s),再离散化为数字控制器D(z),由计算机实现;二、将被控对象离散化后,根据数字控制理论直接设计数字控制器D(z)。本设计采用第一种方法,设计步骤为:1.根据采样定理取ùs=2ð/T>10ùc,则包括零阶保持器在内的广义被控对象为其中G0(s)=1Js2G1(s)=,T为采样周期;1T/2⋅s+1G0(s)(2-1)2.用连续系统理论设计D(s);3.将D(s)离散化为D(z),本设计采用双线性变换将连续控制器转换为数字控制器,即采用S=⋅T1+z-1进行变换;4.编制计算机实时控制程序。根据该设计方法,设计中选定采样周期为2ms,针对包括零阶保持器在内的广义被控对象G1(s)=器为:110.001s+18s2,根据以上指标要求运用连续理论设计的控制D(s)=456000⋅0.16s+10.5s+170s+10.0016s+1(2-2)设计完的控制系统如图2-3所示。图2-3内环控制系统设计框图Fig.2-3Diagramofcontrolsystemdesignwithinnerannulus在此控制器作用下,内环系统bode图如图2-4所示。-12-21−z−1⋅⋅ 哈尔滨工业大学工学硕士学位论文BodeDiagramGm=27.8dB(at782rad/sec),Pm=73.1deg(at65rad/sec)3002001000-100-200-90-135-180-225-270-410-210010210410Frequency(rad/sec)图2-4内环系统仿真bode图Fig.2-4Diagramofsystemsimulationwithinnerannulus由图可知,系统剪切频率ùc=65rad/sec,相角裕度为73.1°完全满足系统性能指标要求。在干扰力矩作用下系统失调角仿真如图2-5所示。图2-5内环失调角仿真图Fig.2-5Diagramofmaladjustedanglesimulationwithinnerannulus-13-Magnitude(dB)Phase(deg) 哈尔滨工业大学工学硕士学位论文−4同理可设计外环控制器。外环转动惯量J=21kg.m2,干扰力矩可做到3N.m。根据系统指标要求,并参考以前转台设计经验。设计系统伺服刚度为5∧N.m/sec,换算开环增益K1=1029000,系统频带要求10Hz左右,相角裕度大于45°。据此设计出连续控制器为:D(s)=49000⋅(2.2s+1)⋅(0.3s+1)520s+1(2-3)在此控制器作用下,系统相角裕度为83°;剪切频率ùc=62.2rad/sec;干扰力矩作用下的失调角为0.03°。都满足系统性能指标要求。根据设计出的连续控制器,运用双线性变换的离散化方法,编写相应的控制程序,可以实现转台控制。2.3转台测角系统分析控制系统中测角子系统的精度直接影响控制系统性能指标。按任务书要求测角系统的精度为0.005o,要求较高。这里选用旋转变压器(内环轴),感应移相器(外环轴)和感应同步器组成的双通道测角方案[16]。粗测角部分由型号为160XZ02-1的旋转变压器(内环)和型号为160G2A-1感应移相器(外环)来完成,精测角分别通过8吋180对极(内环)和12吋180对极(外环)感应同步器来实现。测角系统中旋转变压器(感应移相器)、感应同步器输出信号都是模拟量,为了将此模拟信号精确的转换为控制器能够直接采集的数字信号,选用了美国AD公司生产的大规模集成电路AD2S80AJD轴角变换器。一方面,由于这种器件对旋转变压器(感应移相器)、感应同步器输出信号的波形失真、幅值稳定度技术指标要求不十分苛刻,这就为精确测角带来了方便;另一方面,这种器件输出信号更新速度很快(为微秒级),为提高数字控制方案的采样频率打下了良好的基础。本系统中对感应同步器和旋转变压器采用单相激磁、双相输出、鉴幅形式的方案,以适应轴角变换器AD2S80AJD的要求。AD2S80AJD的输出分辨率可分别选定为10位、12位、14位和16位四种方式。根据本转台工作精度要求,这里选用14位分辨率,当配以180对极-14-从图中看出失调角为4.05×10rad,合计0.023°满足系统性能指标要求。 哈尔滨工业大学工学硕士学位论文ˆˆ对旋转变压器和感应同步器的工作原理[17~18]进行简单介绍。2.3.1旋转变压器工作原理旋转变压器是角位置控制系统中较为常见的测角元件,它属于精密的控制微电机。从外形结构上看,它和电机相似,有一个定子和一个转子。从物理本质上看,它是一种可以旋转的变压器。这种变压器的原边、副边绕组分别放在定子和转子上。原、副绕组之间的电磁耦合程度与转子转角有关,因此转子绕组的输出电压也与转子的转角有关。按照输出电压与转子转角之间的函数关系,旋转变压器可分为正余弦旋转变压器、线性旋转变压器和比例式旋转变压器三种基本类型。根据实际需要,这里选用正余弦旋转变压器。这种旋转变压器在空载时输出电压与转子转角è之间可以精确地呈正弦或余弦函数关系。但实际使用时总是要接上一定的负载。负载电流产生的气隙磁场使输出特性偏离正、余弦规律,因此实际使用时旋转变压器都有补偿电路来保证输出电压呈正弦或余弦函数关系。利用旋转变压器输出电压是转角的正弦或余弦关系,可以测量角度变化。在小角度范围内,旋转变压器输出与角度成线性关系;但在大角度范围内,这种线性关系已经不能成立,而且由于不同的转角可以具有相同的输出电压,所以仅凭一个输出绕组的输出电压幅值不能唯一确定转角大小。为了使旋转变压器在大角度范围内也能作为线性测量元件使用,就要对旋变的输出电压信号进行适当的处理,使得最终的输出信号是电脉冲信号或数字信号,并且输出的脉冲数字与转角成正比。本课题选用美国AD公司生产的大规模集成电路AD2S80AJD轴角变换器完成此项功能。2.3.2感应同步器工作原理感应同步器是一中高精度转角和线位移测量元件,它是利用两个平面形印制绕组的互感随位置不同而变化的原理工作。在类型上感应同步器分为直线式和旋转式两种,分别用来检测直线位移和转角;在结构上感应同步器分为固定部件和运行部件两部分,其上各有绕组。工作时,在其中一个部件的绕组上通-15-感应同步器时,角度分辨率为0.44sec。考虑到AD2S80AJD自身误差约2.7sec,再考虑电路因素等造成的误差,可保证0.005o的测角精度。下面分别 哈尔滨工业大学工学硕士学位论文过以交流激磁电压,由于电磁耦合,在另一个部件的绕组上就产生了感应电势,该电势的有效值随固定部件和运动部件的相对位置不同呈正弦、余弦函数变化。根据实际需要,这里选用旋转式感应同步器。旋转式感应同步器的工作原理与旋转变压器相类似。它将角位移转换成周期性的模拟电信号,只要从输出信号中求出电角度,就可以得到角位移数值。为了将连续变化的周期信号转换为相应的数字输出信号,需要对感应同步器输出绕组的信号进行适当处理。感应同步器有鉴相型和鉴幅型两种信号处理方式,其中每个方式又可以采取单相激磁双向输出或双相激磁单相输出模式。为满足AD2S80A轴角变换器对输入信号的要求,这里选择单相激磁、双相输出、鉴幅形式。2.3.3双通道测角系统粗精耦合原理在粗、精双通道测角系统中,两个通道在工作时是相对独立的两套系统,且它们的测量范围和精度均不相同,粗测通道的测量范围大,精度较低;精测通道的测量范围小,但精度较高。但是要想获得大范围、高精度的测量却不能简单地把两个通道的值合并作为最终测量的结果,这就是粗、精耦合工作要解决的问题。由旋转变压器160XZ02-1组成的粗测通道的测角精度为3角分,如果要求其输出十分位数据的话,这位数据就可能同真正的角度有偏差。由180对极感应同步器组成的精测通道具有较高的测量精度,它的测角精度可达到万分之几度,故我们可以认为其数据前几位是真实的(带有精测误差的真实值)。因此所谓粗、精耦合实际上以精测的结果为标准对粗测结果进行修正,并将修正后的粗测整数位同精测的小数位合并构成最终的角度测量结果的过程。根据感应同步器极对数的不同,可以选用十分位比较判别修正法或粗、精通道个位数奇偶异同判别法进行粗精耦合。因本转台选用180对极感应同步器,通过对两种方法的比较发现,后一种方法更适合本测角方案。采用这种方案的前提条件是粗侧误差小于等于0.9o。在此前提条件下,如果由于粗测误差造成其0.1o位向1o进行错误的进、借位,肯定造成两通道的1o位值得奇偶性不同。这时由于粗测误差小于1o,则其1o位的误差或为+1或为-1。据此,耦合原则如下:(1)如果其奇偶性相同,则粗测1o位值为真实值(带有精测误差的真实值),这时直接将粗测整数为与精测小数位相耦合,得到实际角位置信号。-16- 哈尔滨工业大学工学硕士学位论文(2)如粗精通道的1o位值奇偶性不同,则必须对粗测的1o位值进行修正后再耦合,具体方法如下。a.如果粗测0.1o位值大于精测0.1o位值,则说明粗测0.1o位向其1o位有错误借位,故必须将粗测整数部分加1后再与精测部分耦合,得到实际角位置信号。b.如果粗测0.1o位值小于精测0.1o位值,则说明粗测0.1o位向其1o位有错误进位,故必须将粗测整数部分减1后再与精测部分耦合,得到实际角位置信号。由于精测通道的读数是2o,为周期溢出,故其1o位值是否奇偶性相同,则只要判断其8421码的“1”位状态的异同即可。2.4转台功率驱动电路分析转台控制系统中,功率驱动电路接受数字控制器传递的控制信号直接驱动电机按期望的速度运行。一般功率驱动电路都由模拟电路组成,只能接受模拟信号,而数字控制器通过PIO-D96数据采集卡输出的控制指令是数字信号,不能直接被功率驱动电路接受。故选用AD667(D/A转换芯片)将数字信号转换位相应的模拟信号。通过配置外围电路,该型芯片输出范围可为+5V、+10V、+2.5V等。根据实际需要,这里将其配置为+10V输出模式。功率放大器除应能满足最大输出力矩,良好的线性度,适当宽的频带等技术要求外,由于其在控制系统中所处的特殊位置,还要考虑实施转台控制系统的一些安全保障措施,例如过电流保护,超速保护,锁紧保护,限位保护及应急保护等。本功率放大器电路原理图如图2-6所示。由图中可知,这里选用了通常采用的H桥型单电源功率放大器。为了避免功率晶体管的直通发生而损坏功率晶体管,增加了防直通电路,具体体现在两下桥通道中串联的二极管。原理是同侧上下两功率管导通时,由于下桥臂二极管的导通,其下端电位必定低于上端电位,从而使上桥臂功率管的发射结处于反压状态,不能导通。这就避免了功率三极管直通的发生。为使功率放大器具有自检功能,在功放输入端设一个手动和自动转换开关,自动状态工作时接受工控机控制信号,手动工作时,由功率放大器前面板电位器控制功率放大器工作,也就是使功率放大器脱离控制系统而自检工作。-17- 哈尔滨工业大学工学硕士学位论文图2-6转台系统功率驱动电路图Fig.2-6Diagramofpowerdrivecircuitwithturntablesystem2.5控制器数据通讯关系分析控制器作为转台控制系统的一个核心部分,一般主要完成数据采集、数据处理、控制算法和数据输出等任务。这里因本转台只是“相机控制系统及总体装调检测装置”的一个子系统,必然要与其他系统进行数据通讯。由于本转台选用基于PCI插槽数据采集卡的工控机控制方案,故本小节,通过分析数字控制器在转台内部和外部的数据通讯关系,选择满足要求的硬件设备,为构建数字控制系统作准备。数字控制器与转台外部通讯主要体现在控制器与综合控制台和测角显示系统两个部分;其在转台内部的通讯关系,如2.1节所述,主要体现在控制器与测角系统和功率放大电路两个部分。下面分别就外部通讯关系和内部通讯关系两个方面,分别进行详细分析。-18- 哈尔滨工业大学工学硕士学位论文2.5.1控制器与外部通讯关系及所需端口分析数字控制器与转台控制系统以外设备的数据通讯,包括与综合控制台以及测角显示系统之间的数据通讯,如图2-7所示。综合控制台转台控制器测角显示系统图2-7转台外部通讯关系图Fig.2-7Diagramofthecommunicaterelationshipaboutturntableoutside图中标出了仿真转台系统到综合控制台和测角显示系统之间的数据流向。三者之间具体通讯数据形式分析如下:1.按总系统要求,转台控制器要从综合控制台采集8位控制指令,因此他们之间需要8位I/O端口进行通讯。2.按要求控制器在规定的时间内须向综合控制台传递测角信号。考虑系统测角精度和PC机二进制存储的特点,单轴19位的数据需要占用3个字节的存储单元,即单轴需要24位I/O端口进行通讯。对于双轴仿真转台来讲,如果不考虑端口复用的情况,双轴就需要48位I/O端口进行通讯。3.控制器在规定的周期内还要向测角显示系统传递测角信号,通过分析认为,这个信号可从控制器与综合控制台通讯的I/O端口获取而不需另占端口。2.5.2控制器与内部通讯关系及所需端口分析仿真转台控制系统结构如图2-8所示。图中给出了控制器与转台系统内其他环节之间的数据关系。下面通过对这些数据关系的分析确定其通讯数据形式。1.数字控制器与测角系统之间的数据通讯。本转台选用两片AD2S80A轴角变换器和旋转变压器、感应同步器组成粗、精双通道测角系统。根据AD2S80A的数据输出特点,每个通道应占用16位I/O端口,显然采用这种方案的单轴双通道应占用32位I/O端口。如果不加-19- 哈尔滨工业大学工学硕士学位论文数据采集卡测角系统数字控制器电机数据采集卡D/A功率驱动图2-8转台系统结构图Fig.2-8Structuraldrawingaboutturntablesysterm处理,两轴双通道将占用64位I/O端口。为了充分利用、节约系统资源,在不影响系统性能的前提下,可以采用端口分时复用的方法,即所有4片AD2S80SA输出信号共用一个16位I/O端口,由另外4位I/O端口负责分时选通相应的测角芯片。这样,完成数字控制器与测角系统之间的数据通讯只需20位I/O端口,可以节约44位I/O端口。2.数字控制器与D/A芯片之间的数据通讯。仿真转台通过AD667数模转换芯片将数字控制器输出的数字信号转换为功率驱动电路能够接受的模拟信号。因AD667芯片工作时需要输入12位数字信号,双轴控制系统则需要控制器输出48位数字信号,这样两者之间的通讯就需48位I/O端口。为了节约资源,控制器和它们之间的数据传输也可采用分时复用的方法,即用16位I/O端口完成数据传输的任务,2位I/O端口完成片选任务,可以节约30位I/O端口。通过分析,本着充分利用系统资源的理念。本系统选择泓格公司生产的PIO-D96数据采集卡。该型板卡是基于PCI总线的96位I/O板卡,它以8位端口为一个操作单元,可由独立的控制寄存器将其设置为输入/输出口,完全满足本数字控制器与外部通讯要求。在此基础上,数字控制器与各个部分之间的通讯量和通讯关系及端口分配如图2-9所示。由图可以看出数字控制器与转台系统内部及系统外部各个环节之间的通讯关系及通讯量。根据实际选用板卡的特点,以一个8位I/0端口完成所有内外环粗精通道测角输出、AD667数模转换的片选功能;根据综合控制台发送控制命令的需要,分配一个8位I/O端口接受控制指令。通过此图可以完成数字控制器具体的接口电路设计。-20- 哈尔滨工业大学工学硕士学位论文综合控制台外扩电路(各自独立)测角显示系统24位I/O输出口(内环角信号)8位I/O输入口24位I/O输出口(外环角信号)16位I/O输出口(控制指令)16位I/O输入口数字控制器内环粗测信号AD667(内环)AD667(外环)8位I/O控制口内环精测信号外环粗测信号外环精测信号图2-9数字控制器数据结构图Fig.2-9Structuraldrawingofthenumericcontroller’sdata2.6本章小结本小节在对转台控制系统总体结构分析的基础上,分别对转台测角系统和功率驱动电路的工作原理进行了分析。根据各个部分的技术要求,相连环节的通讯关系,分析了转台数字控制器与各个部分之间的具体通讯数据量,根据实际所需资源,选择了合理的器件,并运用古典控制理论对控制系统进行了设计,给出了相应的仿真曲线图。-21- 哈尔滨工业大学工学硕士学位论文第3章数字控制器软件平台分析3.1数控系统开发平台分析比较这里主要对DOS、Windows和基于Linux的RTLinux三种软件平台进行分析、比较,选择最适合本转台控制方案的实时操作系统。3.1.1基于DOS平台的数控系统DOS是一个单任务操作系统。DOS中的应用程序在运行时是过程式的,即:它顺序执行自己的代码,直到运行完毕后才放弃CPU,在此期间其它应用程序都不能运行。而转台系统的工作是一个多任务并发的过程,同时对任务运行的优先等级和实时性有严格要求。所以,基于DOS开发转台系统软件必须首先实现多任务环境,同时要保证任务调度的合理性和实时性。定时/计数器芯片(在PC中就是8253/8254)是计算机操作系统实现多任务功能的硬件基础。系统定时器的定时周期由操作系统在系统初始化时设定,DOS将其设置为大约55毫秒[19],这对于实时控制来说精度太低。但是由于DOS结构简单,允许应用程序直接访问硬件和修改中断向量,因此在DOS中可以直接对定时器重新编程而获得更高频率的定时中断(这是获得高精度定时的基础),并在此基础上实现了一个简单的多任务环境[20],这个环境就是数控系统软件的基本环境。为了保证任务调度的实时性,必须采用基于优先级的抢占式调度算法。但是这种由应用程序建立的多任务环境只是应用程序内部的多任务环境,DOS本身仍然是一个单任务环境。实践证明,用这种方法实现的数控系统基本环境在多任务能力和实时性方面都相当的好。多年来,我国的研究开发工作者在基于DOS平台的数控系统软件开发方面积累了丰富的经验,因此我国当前大部分数控系统软件都是基于DOS操作系统开发的。采用DOS作为数控系统的软件平台,有很大的局限性。首先,由于DOS是单任务操作系统,数控系统开发者自行实现多任务环境,开发周期长,而开放性、通用性和可靠性降低,往往调度代码和功能代码难以形成清晰的层次。其次,DOS提供的系统接口过于简单,可利用的软件资源很少。基于DOS的数控系统软件开发,低水平重复开发现象严重,代码复用率低,人机界面等非-22- 哈尔滨工业大学工学硕士学位论文核心功能的开发往往占用了大量的时间。DOS运行于CPU实模式下,只能管理640K内存,对系统性能造成了严重限制。DOS的开发商美国微软公司早已停止对DOS的继续开发,作为一个已经“成为历史”的操作系统,DOS对网络、数据库等现代先进数控系统功能的支持都非常弱。因此,基于DOS开发数控系统,很难跟上技术发展的潮流。总之,基于DOS开发数控系统,不符合软件工程学的科学规则,基于一个过于简陋的平台进行开发,很容易造成系统软件的层次不清晰,软件结构复杂,可维护性和可扩展性降低。从整个产业的角度来说,基于DOS开发数控系统,意味着软件的低水平重复开发:每个厂商基本上都是“从头做起”,分别开发自己的多任务环境及各种DOS没有提供的功能。目前,我国基于DOS的数控系统软件开发基本上是以相对封闭的“小生产作坊”模式进行的,规模化程度很低。3.1.2基于Windows平台的数控系统Windows无疑已经成为PC平台上最为通用的操作系统。由于Windows人机界面好,软件资源丰富,基于Windows开发数控系统具有很大的吸引力,已经成为研究开发的热点之一。Windows是非实时操作系统,其内核本质上是分时内核,无法满足数控系统的高实时要求。Windows环境的实时问题,有一些局部的解决方案。例如:在Windows3.1/3.2种利用DPMI(DOSProtectedModeInterface,DOS保护模式接口)提供的DOS环境实现高精度定时任务[21];在Windows96;WindowsNT3.5以上的版本中,由于应用程序不能绕过操作系统直接访问硬件,而只能通过系统提供的接口函数构造所需要的功能,所以高精度定时任务的实现不能采用DOS的方法。获得较高定时精度的方法是利用WindowsAPI的多媒体扩展库(MMSYSTEM.LIB)提供的多媒体定时函数[22]或者采用虚拟设备驱动程序(vxd)技术获取底层中断以实现高精度定时任务[23]。由于Windows内核的非实时本质,用这些方法获取的定时精度最高只能达到10毫秒,这对于数控系统的运动控制来说还是太低。在任务调度效率方面,由于Windows的调度器在设计时没有考虑实时应用,因而其调度效率较低。更重要的是,无论是Windows3.X还是Windows95/NT,其内核的许多机制都是与实时应用相矛盾的,很难以保证任务调度的效率和时机。基于Windows的数控系统对于实时性不足的主要解决方案是采用“PC+-23- 哈尔滨工业大学工学硕士学位论文运用控制卡”的主从体系结构。由DSP或单片机控制板构成“下位机”,完成实时任务。这种方案增加了硬件成本,而且系统结构复杂。实际上,PC的CPU所提供的上百兆甚至上千兆的运算能力,已足以满足数控系统的需要(SIEMENS等专机数控系统的主机工作频率一般只有几十兆赫兹),只是由于Windows操作系统的限制,实时性不足,才引入了下位机。图3-1基于Windows数字系统常用构建方案Fig.3-1ThepopularprojectofdigitalsystembasedonWindows图3-1简单描述了基于Windows平台数控系统的常用构建方案。在这种方案中,数控系统软件实际上分为两个部分,非实时部分和实时部分。非实时部分基于Windows平台,完成图形显示、网络通信、译码预处理等非实时任务,常采用Windows平台的VC++或VB等开发工具进行开发;实时部分在控制板(通常插在PC的PCI总线)上运行,完成插补、位控等实时性要求严格的任务。下位机控制板目前普遍采用PMAC(ProgrammableMulti-AxisController),其技术已经发展得较为成熟,可以完成高性能的伺服控制和开关量控制。如何既保留原有的Windows功能,又能够提供可靠的实时性能,一个很自然的办法就是采用第三方软件,对Windows作实时性扩展。这种实时扩展产品[24]比较著名的有美国VenturCom公司的RTX,TenAsys公司的Intime,Nematron公司的HyperKernel,这些产品均通过了严格的实时测试,完全满足数控系统的实时性要求。以VenturCom公司的RTX(RealtimeExtensionForWindows)为例,它是内置于Windows的实时操作系统,可以认为是Windows的一个实时子系统,-24- 哈尔滨工业大学工学硕士学位论文它不影响Windows原有功能,而增强了其实时性能。实际上,VenturCom公司获得了Windows的源代码,对其硬件抽象层HAL进行了实时扩展。该实时硬件抽象扩展层隔离了RTX和Windows之间的中断。在单CPU的情况下,所有RTX线程的优先级高于所有Windows线程优先级(包括Windows管理的中断和延迟过程调用DPC)。RTX可以保证任意线程的最差响应时间为50毫秒。可见,实时扩展的本质就是将Windows当作一个受实时内核调度管理的任务,其优先级最低。通过上面的分析,采用基于Windows的实时扩展系统作为开发开放式软数控的软件平台,既继承了Windows操作系统的开放性特征,又保证了数控系统所要求的实时性能,但是RTX作为商业软件产品,价格昂贵,这无疑将增加系统开发的费用。3.1.3基于Linux+RTlinux平台的数控系统数控系统的理想软件平台应该是具备多任务调度能力,又有很好的实时性的操作系统,即实时多任务操作系统。市场上有不少实时多任务操作系统产品,较有影响力的有VxWorks、iRMX、QNX等。这些实时多任务操作系统性能优秀,但开放性差,且价格非常昂贵。本课题采用Linux+RTLinux模式作为数控系统的软件平台。RTLinux[25]是Linux操作系统的一个实时扩展(标准Linux和Windows一样,是多任务非实时操作系统)。RTLinux作为数控系统软件平台的优点是:RTLinux具有多任务调度能力,且实时性很强。RTlinux支持两个域——实时域和非实时域的多任务调度。实时域任务以内核线程形式实现,非实时域任务以用户进程或用户线程的形式实现。利用RTLinux提供的基于优先级的抢占式多任务调度机制,以及丰富的任务通信机制,可以方便地实现数控系统各任务的调度和通信。在实时性能方面,RTLinux具有强实时特征,实时性能非常优秀。在一台配置Pentium120MHZCPU的机器上,其最大中断延迟时间(从处理器检测到中断信号处理程序开始运行的时间间隔)不超过34微妙,最大任务高度误差(周期性任务每次被运行时的当前时间与预期值之差)小于64微秒[26]。这些数据已经接近了硬件能力的极限。使用RTLinux提供的APT,可以保证插补、位控等实时任务以微秒级的精度被调度运行。RTLinux是源代码开放的免费操作系统。作为自由软件运动的产物,RTlinux可以免费通过网上下载获得。因此,以RTLinux作为软件平台的数控-25- 哈尔滨工业大学工学硕士学位论文系统,将具有明显的成本优势。更为重要的是,由于RTLinux的源码是开放的,基于RTLinux开发数控系统,可以从根本上掌握核心技术,而不受制于国外的技术垄断。在RTLinux中,标准Linux所拥有的强大的非实时服务仍可使用[27]。RTLinux的实现原理是把一个小的实时内核嵌在标准Linux的底部,标准Linux作为RTLinux的最低优先级线程运行。非实时任务运行于标准Linux中,可以使用所有Linux提供的服务。Linux已经发展成为一个功能非常丰富、强大的操作系统,而且还正处在迅速发展之中。利用Linux提供的网络、图形、数据库、窗口系统等功能,可以方便地实现数控系统的图形界面及网络、数据库等高级功能。这样,数控系统的开发者可以把更多的时间和精力用于加减速控制、动态误差补偿等数控核心技术的开发中。图3-2简示出了基于RTLinux的数控系统的构建方案,从图中可以看出,图3-2基于RTLinux数控系统构建方案Fig.3-2TheprojectofdigitalsystembasedonRTLinux基于RTLinux的数控系统与基于Windows的数控系统相似,系统软件可分为非实时部分和实时部分。不同的是,实时内核代替了下位机。实时任务基于实时内核,其硬件基础与非实时任务一样,是PC的CPU,而不是控制板上的DSP芯片。由于RTLinux发展历史不长,因此不可避免地还存在一些不足:与DOS和Windows相比,RTLinux的软件开发环境比较简陋,开发工具也不丰富,这给开发人员带来了许多不便。RTlinux的强实时性是基于内核线程实现的,但-26- 哈尔滨工业大学工学硕士学位论文是内核编程调试起来比较困难,处理不好容易损害系统的稳定性,且内核实时线程可以利用的资源非常有限。RTLinux尚未获得接口设备厂商的广泛支持。实时控制所需的接口板卡。如各种I/O板卡、脉冲板、总线接口板等,需要自行开发驱动程序,这加大了数控系统的开发工作量。RTLinux正处于迅速的发展中,它的这些不足,正在得到不断的改善和解决。总上所述,在综合考虑可行性、经济性、自主性的基础上,本课题采用Linux+RTLinux模式作为数控系统的软件平台。3.2RTLinux的实现原理和数据通讯为了便于理解RTlinux的工作原理,有必要对RTlinux作一些介绍,这里主要分两点来说明:1.RTlinux实现原理,主要介绍RTlinux如何对Linux内核进行改造,使一个分时、多任务操作系统适用于实时控制;2.RTlinux实时内核和linux内核之间的通讯方式,以便利用linux下丰富的软件资源。3.2.1RTLinux的实现原理前面已经对RTLinux的原理作了一个简单的介绍,这里将详细分析其实现原理[28-31]。RTLinux是源代码开放的具有硬实时特性的多任务操作系统,它是通过对Linux底层实施改造的产物。通过在Linux内核与硬件中断之间增加一个精巧的可抢先的实时内核,把标准的Linux内核作为实时内核的一个进程与用户进程一起调度,标准的Linux内核的优先级最低,可以被实时进程抢断,中断控制硬件中断控制硬件RTLinux内核Linux内核Linux内核实时任务Linux进程Linux进程图3-3Linux内核细节与RTLinux内核细节的比较图Fig.3-3ThecomparationofinnerkerneldetailsbetweenLinuxandRTLinux-27- 哈尔滨工业大学工学硕士学位论文正常的Linux进程仍可以在Linux内核上运行,这样既可以使用标准分时操作系统Linux的各种服务,又能提供低延时的实时环境。具体如图3-3所示。从图中可以看出,本来是由Linux内核完全控制的Linux进程和硬件中断,现在由Linux内核和中断硬件之间增加的RTLinux内核完全控制。Linux的控制信号都要先交给RTLinux内核进行处理。在Linux中,用禁止中断的方法作为同步机制,通过向x86处理器发送“sti”和“cli”宏指令来开中断和关中断,由于关中断和开中断的混合使用使得中断的分派延时不可预测,而RTLinux修改了这些宏指令,分别用宏S_STI和S_CLI替换。RTLinux引入一个虚拟层,采用在Linux内核和中断控制硬件之间增加一层仿真软件的方法截取所有的硬件中断,将所有的中断分成Linux中断和实时中断两类,如果是实时中断,则继续向硬件发出中断,如果是普通Linux中断,就设置一个标志位,等到RTLinux内核空闲时通过软中断传递给Linux内核去处理。这样就使得Linux永远不能禁止中断,无论Linux处在什么状态,它都不会对实时系统的中断响应时间增加任何延迟,以致时间上的不可预测性。RTLinux在默认的情况下采用优先级的调度策略,即系统调度器[32-34]根据各个实时任务的优先级来确定执行的先后次序。优先级高的先执行,优先级低的后执行,这样就保证了实时进程的迅速调度。同时RTLinux也支持其它的调度策略,如最短时限最先调度(EDP)、确定周期调度(RM)(周期段的实时任务具有高的优先级)。RTLinux将任务调度器本身设计成一个可装载的内核模块,用户可以根据自己的实际需要,编写适合自己的调度算法。对于一个操作系统而言,精确的定时机制虽然可以提高任务调度器的效率,但会增加CPU处理定时中断的时间开销。RTLinux对时间精度和时钟中断处理的时间开销进行了折中考虑。不是像Linux那样将8254定时器设计成10ms产生一次定时中断的固定模式,而是将定时器芯片设置为终端计时中断方式。根据最近的进程的时间需要,不断调整定时器的定时间隔。这样不仅可以获得高定时精度,同时中断处理的开销又最小。3.2.2RTlinux与Linux内核之间的通讯方式RTLinux提供了RT_FIFO[35-38]和共享内存两种标准通信接口,用于RTLinux和Linux内核之间的通讯。下面分别进行介绍。1.RT_FIFO-28- 哈尔滨工业大学工学硕士学位论文RT_FIFO(First-In-First-Out,先进先出)是一种提案队列机制组织的字符设备。在Linux文件系统中,主设备号为150。一个系统平台中能够同时加载FIFO的模块数由RTF_NO定义在rt_fifo_new.c中,一般为64,在文件系统中分别对应设备文件/dev/rtf0..63。在系统资源允许的情况下,一个用户进程所能同时使用的FIFO数和每个FIFO的容量是没有限制的。RT_FIFO具有如下特征:*队列中的数据传送采用数据流形式,必须自行定义数据边界监测机制,尤其对于不定长度数据的传输。*具备完善的同步阻塞机制,利用同一FIFO进行通信的两进程间无需自行增加同步控制。*一种点对点的通信通道,不支持单生产者、多消费者的使用模式。作为一个完善的队列模块,RT_FIFO的使用简便易行,具体实现主要包括创建、读/写操作、释放三个步骤。在Linux文件系统中,RT_FIFO是一个字符设备文件,所以在非实时线程中访问RT_FIFO时,使用标准的字符设备读/写函数即可(read、write、open、close,etc)。以上函数的调用方式均为阻塞式调用:当FIFO中有数据可读时,立即返回;否则,会陷入无限等待之中。从RT进程中访问RT_FIFO,所涉及到的RTLAPI如下:#include
此文档下载收益归作者所有