中图分类号:TP273TP391论文编号:102870509-0167学科分类号:080202硕士学位论文基于ARM的嵌入式车床数控系统研究与开发研究生姓名杨军学科、专业机械电子工程研究方向机电控制工程指导教师游有鹏教授南京航空航天大学研究生院机电学院二〇〇八年十二月NanjingUniversityofAeronauticsandAstronauticsTheGraduateSchoolCollegeofMechanicalandElectricalEngineeringResearchofEmbededCNCforLathesBasedonARMAThesisinMechanicalEngineeringByYangJunAdvisedbyProf.YouYoupengSubmittedinPartialFulfillmentoftheRequirementsfortheDegreeofMasterofEngineeringDec.2008承诺书本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本人授权南京航空航天大学可以有权保留送交论文的复印件,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文。(保密的学位论文在解密后适用本承诺书)作者签名:日期:南京航空航天大学硕士学位论文I摘要传统的中、低档数控车床在结构上往往采用8/16位单片机加精插补器,以获得较高的性价比。随着嵌入式系统的迅速发展,高性能的32位CPU已经普及,以ARM为代表的32位微处理器速度快、功能强、价格低,完全可以开发出具有更高性价比的嵌入式数控系统。本文旨在研究和设计一种基于ARM7的嵌入式数控车床控制系统。本文首先通过对嵌入式技术和数控技术的全面分析,选择确定了车床嵌入式数控系统的软硬件平台。硬件平台以ARM7系列微处理器LPC2220为核心,基于可编程逻辑器件CPLD实现精插补器,并配以必要的外围电路。软件平台以源代码公开的μC/OS-Ⅱ实时操作系统为基础,开发系统所需的驱动程序和应用软件。规划设计了基于μC/OS-Ⅱ的车床数控系统控制任务划分以及各任务模块间的通讯协调机制。控制任务划分为7个:主控、液晶显示、文件系统服务、数控程序解释、速度处理、插补和逻辑控制;利用μC/OS-Ⅱ提供的邮箱、信号量等服务机制,有效实现了任务与任务、任务与中断之间的通信与同步。此外,本文还研究了系统程序解释的实现方法。首先,基于有限状态机(DFA)的分析策略构造了数控程序解释的词法分析器,把程序的字符流转换为内部标记流,然后对程序进行语法和语义分析,最后翻译成速度处理和逻辑控制所需要的数据结构。重点分析了子程序调用和返回的机制及其实现方法。最后,介绍了系统的软硬件开发工具和调试方法。软硬件测试表明,该嵌入式车床数控系统可满足预期目标。关键词:嵌入式车床数控系统,ARM,CPLD,μC/OS-Ⅱ,程序解释基于ARM的嵌入式车床数控系统研究与开发IIAbstractTogainhighcostperfermence,traditionalCNCforlathesusuallyadopts8-bitor16-bitmcuandfineinterpolator.Withthedevelopmentoftheembeddedsystem,highperfermence32-bitCPUhasbeenpopularization.ARMasatypicalproductof32bitsprocessors,beingofhighspeedincomputationandfunctionandlowcosts,canbecompletelyusedtodevelopembeddedCNCwithhighercostperfermence.InthispaparanEmbendedCNCforlathesbasedonARMisdesignedanddeveloped.BasedongeneralanalysisofembeddedsystemsandNCtechnology,thehardwareandsoftwareplatformofembeddedCNCforlathesarechosed.A32-bitCPULPC2220isusedasthekernelofhardware,togetherwithafineinterpolatorimplementedwithaCPLD,andsomeothernecessaryperipheralmodules.ThesoftwareoftheembeddedCNCisbasedonμC/OS–II,areal-timeembeddedoperatingsystemwithopensourcecode.Someequipmentdriverandapplicationprogramareincludedinthesoftware.ForthedevelopmentoftheembeddedCNCforlathesbasedonμC/OS–II,controltasksinthesystemarefirstlyplanedandthecommunicationcoordinationmechanismamongeachtaskisthendesigned.SeventasksisinvolvedintheCNC:maincontrol,LCDdisplay,fileservice,NCprograminterpretation,ACC/DECcontrol,interpolationandPLC.UpontheserviceofmailboxandsemaphoreprovidedbyμC/OS–II,thecommunicationandsynchronizationcanbeefficientlyrealizedamongtasksorbetweentaskandISR.Inaddition,theimplementationmethodoftheinterpretationofNCprogramforlathesisinvestigated.First,alexicalanalyzerofNCprogramisconstructedbyfinitestateautomaton(DFA)whichcantransformcharacterstreamstoinnertokenstreams.Then,syntaxandsemanticanalysisareusedfortheNCprogram.Finally,theerror-freemachininginformationisstoredinaspecificaldatastructurewhichcanbereceivedandusedbyboththetaskofACC/DECcontrolandPLC.Themechanismandimplementationofcallandreturnforsubroutinesareanalyzedandgiven.Finally,theinstrumentsofdebugginganddevelopmentforhardwareandsoftwareareintroduced.Bytesting,theembeddedCNCforlathescanmeettheexpecteddesigndemands.KeyWords:embeddedCNCforlathes,ARM,CPLD,μC/OS–II,programinterpretation南京航空航天大学硕士学位论文III目录第一章绪论..........................................................................................................................................11.1数控技术概况..........................................................................................................................11.1.1数控技术发展背景.......................................................................................................11.1.2国外数控发展现状.......................................................................................................21.1.3国内数控发展现状.......................................................................................................31.1.4数控技术的发展趋势...................................................................................................31.2嵌入式系统概况......................................................................................................................41.3本文研究意义及主要工作......................................................................................................51.3.1研究意义........................................................................................................................51.3.2论文主要内容................................................................................................................6第二章嵌入式数控车床系统总体结构设计.......................................................................................72.1嵌入式数控系统的总体设计..................................................................................................72.2嵌入式数控系统的硬件组成..................................................................................................72.1.1ARM子系统....................................................................................