基于ARM的嵌入式数控车床控制系统的开发

上传人:水****8 文档编号:24887590 上传时间:2021-07-15 格式:DOCX 页数:81 大小:1.25MB
返回 下载 相关 举报
基于ARM的嵌入式数控车床控制系统的开发_第1页
第1页 / 共81页
基于ARM的嵌入式数控车床控制系统的开发_第2页
第2页 / 共81页
基于ARM的嵌入式数控车床控制系统的开发_第3页
第3页 / 共81页
点击查看更多>>
资源描述
最新 精品 Word 欢迎下载 可修改中图分类号:TP273 TP391论文编号:1028705 09-0167学科分类号:080202 硕士学位论文基于ARM的嵌入式车床数控系统研究与开发研究生姓名杨军学科、专业机械电子工程研究方向机电控制工程指导教师游有鹏 教授南京航空航天大学研究生院 机电学院二八年十二月Nanjing University of Aeronautics and AstronauticsThe Graduate SchoolCollege of Mechanical and Electrical EngineeringResearch of Embeded CNC for Lathes Based on ARMA Thesis inMechanical EngineeringByYangJunAdvised byProf. You YoupengSubmitted in Partial Fulfillmentof the Requirementsfor the Degree ofMaster of EngineeringDec. 2022承诺书本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本人授权南京航空航天大学可以有权保留送交论文的复印件,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文。(保密的学位论文在解密后适用本承诺书)作者签名: 日 期: 南京航空航天大学硕士学位论文摘 要传统的中、低档数控车床在结构上往往采用8/16位单片机加精插补器,以获得较高的性价比。随着嵌入式系统的迅速发展,高性能的32位CPU已经普及,以ARM为代表的32位微处理器速度快、功能强、价格低,完全可以开发出具有更高性价比的嵌入式数控系统。本文旨在研究和设计一种基于ARM7的嵌入式数控车床控制系统。本文首先通过对嵌入式技术和数控技术的全面分析,选择确定了车床嵌入式数控系统的软硬件平台。硬件平台以ARM7系列微处理器LPC2220为核心,基于可编程逻辑器件CPLD实现精插补器,并配以必要的外围电路。软件平台以源代码公开的C/OS-实时操作系统为基础,开发系统所需的驱动程序和应用软件。规划设计了基于C/OS-的车床数控系统控制任务划分以及各任务模块间的通讯协调机制。控制任务划分为7个:主控、液晶显示、文件系统服务、数控程序解释、速度处理、插补和逻辑控制;利用C/OS-提供的邮箱、信号量等服务机制,有效实现了任务与任务、任务与中断之间的通信与同步。此外,本文还研究了系统程序解释的实现方法。首先,基于有限状态机(DFA)的分析策略构造了数控程序解释的词法分析器,把程序的字符流转换为内部标记流,然后对程序进行语法和语义分析,最后翻译成速度处理和逻辑控制所需要的数据结构。重点分析了子程序调用和返回的机制及其实现方法。最后,介绍了系统的软硬件开发工具和调试方法。软硬件测试表明,该嵌入式车床数控系统可满足预期目标。关键词:嵌入式车床数控系统,ARM,CPLD,C/OS-,程序解释 65AbstractTo gain high cost perfermence, traditional CNC for lathes usually adopts 8-bit or 16-bit mcu and fine interpolator. With the development of the embedded system, high perfermence 32-bit CPU has been popularization. ARM as a typical product of 32 bits processors, being of high speed in computation and function and low costs, can be completely used to develop embedded CNC with higher cost perfermence. In this papar an Embended CNC for lathes based on ARM is designed and developed.Based on general analysis of embedded systems and NC technology, the hardware and software platform of embedded CNC for lathes are chosed. A 32-bit CPU LPC2220 is used as the kernel of hardware, together with a fine interpolatorimplemented with a CPLD, and some other necessary peripheral modules. The software of the embedded CNC is based on C/OSII, a real-time embedded operating system with open source code. Some equipment driver and application program are included in the software.For the development of the embedded CNC for lathes based on C/OSII, control tasks in the system are firstly planed and the communication coordination mechanism among each task is then designed. Seven tasks is involved in the CNC: main control, LCD display, ice, NC program interpretation, ACC/DEC control, interpolation and PLC. Upon the service of mailbox and semaphore provided by C/OSII, the communication and synchronization can be efficiently realized among tasks or between task and ISR.In addition, the implementation method of the interpretation of NC program for lathes is investigated. First, a lexical analyzer of NC program is constructed by finite state automaton (DFA) which can transform character streams to inner token streams. Then, syntax and semantic analysis are used for the NC program. Finally, the error-free machining information is stored in a specifical datas tructure which can be received and used by both the task of ACC/DEC control and PLC. The mechanism and implementation of call and return for subroutines are analyzed and given.Finally, the instruments of debugging and development for hardware and software are introduced. By testing, the embedded CNC for lathes can meet the expected design demands.Key Words: embedded CNC for lathes, ARM, CPLD, C/OSII, program interpretation目 录第一章 绪论11.1 数控技术概况1数控技术发展背景1国外数控发展现状2国内数控发展现状3数控技术的发展趋势31.2 嵌入式系统概况41.3 本文研究意义及主要工作5研究意义5论文主要内容6第二章 嵌入式数控车床系统总体结构设计72.1 嵌入式数控系统的总体设计72.2 嵌入式数控系统的硬件组成7子系统8子系统8液晶模块8键盘模块82.3 嵌入式数控系统软件的结构9人机界面管理9逻辑处理9运动控制10数据处理控制10辅助控制10伺服处理102.4 本章小结11第三章 车床数控系统硬件平台设计123.1 LPC2220概述12简介12微控制器概述及特性123.2 电源、时钟及复位电路设计14电源电路设计14时钟电路设计15复位电路设计163.3 LPC2220的外部存储器设计163.4 EPM1270的电路设计173.5 人机界面电路设计18键盘输入电路设计18液晶显示模块接口电路设计183.6 RS-232串行通信电路203.7 本章小结21第四章 数控系统软件平台设计224.1嵌入式实时操作系统简介22简介23、C/OS-的特点23的工作原理24的任务间通讯和同步25信号量25消息邮箱26的中断机制274.3 C/OS-在LPC2220上的移植29编写OS_CPU.H29定义不依赖编译器的数据类型30和OS_EXIT_CREITICAL()的编写30_STK_GROWTH的编写31函数的编写31编写OS_CPU_C.C31编写OS_CUP_A.ASM33函数的编写33函数的编写34函数的编写34函数的编写344.4 系统的软件任务及中断划分34车床控制系统的任务划分35车床控制系统任务优先级的确定36车床数控系统中断的确定37车床控制系统中各个任务及ISR之间的工作流程374.5 系统驱动程序设计39液晶驱动设计39速度匹配39地址空间访问39的初始化40字符、汉字及图形的显示40提高界面切换和屏幕刷新速度的措施42键盘驱动程序的设计424.6 本章小结45第五章 车床数控程序解释模块的实现465.1 程序解释模块的总体分析46程序解释模块的方法46程序解释模块结构划分475.2 数控程序的检查48词法分析48词法分析器48分析方法485.2.2 语法分析49语义分析515.3 数控程序的翻译52一般G代码的翻译52子程序的研究与实现53代码的处理55重新译码的处理555.4 程序解释模块的部分测试56程序错误的测试56一般G代码的测试56子程序调用的测试575.5 本章小结58第六章 系统的软件调试596.1 系统开发与调试的工具59集成开发环境介绍59集成开发环境的组成60简介60调试器简介61仿真器的使用626.2 系统的软件调试63系统的模块调试63系统联调646.3 本章小结65第七章 总结展望667.1 论文总结667.2 课题展望66参考文献67致 谢70硕士期间发表的学术论文71 图表目录图2.1 数控系统总体结构模型7图2.2 嵌入式数控硬件结构图8图2.3 嵌入式数控软件结构图9图3.1 LPC2220功能框图13图3.2 5V转3.3V电路14图3.3 3.3V转1.8V电路15图3.4 30M有源晶振时钟电路15图3.5 11.0592M的无源晶振时钟电路15图3.6 SP708-S的复位电路16图3.7外部RAM扩展电路17图3.9 ZLG7290键盘电路18图3.10液晶模块接口电路19图3.11 串口通信电路21图4.1 任务结构24图4.2 任务间的状态转换25图4.3 任务、中断服务子程序和信号量之间的关系26图4.4任务、中断服务子程序和邮箱之间的关系27图4.5 中断服务子程序流程图28图4.6 基于C/OS-的硬件和软件体系结构图29图4.7 任务堆栈结构32图4.8 车床系统中各个任务和中断之间的工作流程38图4.9 CA320240液晶模块初始化流程40图4.10 按键处理流程图44图5.1 数控加工过程流程46图5.2 译码模块结构图47图5.3 确定有穷状态自动机(DFA)49图5.4 子程序调用关系图54图5.5 语法检查结果56图5.6 一般G代码测试结果57图5.7 子程序调用测试结果58图6.1 运动控制器实物图59表6.1 ADS1.2的组成60图6.2 CodeWarrior IDE集成开发环境61图6.3 AXD调试器61图6.4 测试ARM核62图6.5 测试FLASH63图6.6 系统的打印调试原理64图6.7 系统自动运行时的画面65第一章 绪论随着全球经济竞争日益加剧,制造行业面临着产业升级换代:被加工零件复杂度的增加,加工单元柔性化、工厂自动化的实现等等。数控机床作为一种自动化的加工设备而被广泛采用。同时,随着现代机械制造业向更高层次的发展,数控机床也成为柔性制造单元(FMC)、柔性制造系统(FMS)以及计算机集成制造系统(CIMS)的基础装备。数控技术是数控机床的关键技术,它的迅速发展和广泛应用,使得普通机械逐渐被高效率、高精度的数控机械所代替,从而形成了巨大的生产力。一个国家的工业化水平,很大程度上体现在制造业的水平,而数控机床技术正是制造技术中关键性的技术之一。近年来我国机床需求旺盛,市场巨大。自2021年来,我国已经连续六年成为世界上最大的机床消费国和进口国,其中数控机床是机床消费的主流。随着制造技术,计算机技术,微电子技术等的发展,数控机床必然向更高精度、更高速度、更高可靠性及更完善的功能方向发展,以提高国家的整体制造业水平。1.1 数控技术概况 数控技术发展背景数控研究的历史始于20世纪40年代前后,美国帕森斯公司和麻省理工学院伺服机构研究所合作,进行数控机床的研究工作,在1952年研制成功了世界上第一台三坐标数控铣床1。从此,传统机床产生了质的变化。近半个世纪以来,数控系统经历了四个阶段、八代的发展2-6。(1)数控(NC)阶段早期计算机运算速度低,这对当时的科学计算和数据处理影响还不大,但不能适应机床实时控制的要求。人们不得不采用数字逻辑电路“搭”成一台机床专用计算机作为数控系统,被称为硬件连接数控,简称为数控(NC)。随着元器件的发展,这个阶段历经了三代,即 1952年第一代一电子管;1959年第二代一晶体管;1965年第三代一小规模集成电路。(2)计算机数控(CNC)阶段 到1970年,通用小型计算机业已出现并成批生产,其运算速度比五、六十年代有了大幅度的提高,这比专门“搭”成的专用计算机成本低、可靠性高。于是将它移植过来作为数控系统的核心部件,从此进入了计算机数控(CNC)阶段。1970年在美国芝加哥数控展览会上,首次展出了由小型计算机为核心的计算机数控系统,标志着数控系统进入了计算机为主体的第四代。至此,原来由硬件实现的功能逐步改由软件完成,从此系统进入了软件数控时代。1974年,首次出现了采用微处理器芯片的软件CNC系统,象征着数控系统进入了以微机为背景的第五代。这一发展真正实现了机电一体化,进一步缩小了体积,降低了成本,简化了编程和操作,使数控系统达到了普及的程度。70年代末、80年代初,随着超大规模集成电路、大容量存储器、CRT的普及应用,CNC系统进入了第六代。它虽然仍以微处理器为基础,但控制功能更为完备,达到了多功能的技术特征,尤其在软件技术方面发展更快,具有了交互式对话编程,三维图形动态显示/校验,实时精度补偿等功能。在系统结构上,开始出现了柔性化、模块化的多处理机结构。数控系统产品也逐步实现了标准化,系列化。(3)高速高精度CNC的开发与应用阶段进入八十年代,为了实现高速、高精度曲面轮廓精加工,必须提高微轮廓线的解释处理能力和伺服驱动特性,为保证零件程序的传送、插补、加工线速度控制等连续处理,CNC系统应具有足够高的数据处理速度和能力。32位CPU以其很强的数据处理能力在CNC中得到了应用,使CNC系统进入了面向高速、高精度的第七代。1986年,三菱电机公司率先推出了CPU为68020的32位CNC,掀起了32位CNC的热潮,并逐渐成为当今数控系统的主流。(4)基于PC的开放式CNC的开发与应用进入九十年代,个人计算机(Personal Computer, PC)的性能已发展到很高的阶段,从8位、16位发展到32位,可以满足作为数控系统核心部件的要求,而且PC机生产批量很大,价格便宜,可靠性高。数控系统从此进入基于PC的CNC系统阶段。1994年,这种基于PC的CNC控制器在美国首先亮相市场,并在此后获得了高速发展。PC的引入,不仅为CNC提供高性能价格比的硬件资源和极其丰富的软件资源,更为CNC的开放化提供了基础,使之成为数控历史最具影响的发展。人们常称这种PC-NC结构为第八代数控系统。 国外数控发展现状近年国外数控技术发展呈如下趋势:(l)国际机床市场的消费主流是数控机床1998年世界机床进口额中大部分是数控机床,美国进口机床的数控化率达70%,我国为60%。目前世界数控机床消费趋势己从初期以数控电加工机床、数控车床、数控铣床为主转向以加工中心、专用数控机床、成套设备为主7。(2)国外数控机床的信息化世界装备制造业市场正在向全面信息化的方向迈进,技术发展主要表现为柔性制造系统、计算机集成制造系统的开发与应用,并向制造智能化方向发展。技术发展特征表现为技术的融合化;产品的发展特征表现为高附加值化、智能化和系统化;系统管理的发展特征表现为集成化(包括系统集成、软件集成、技术集成和接口集成)和网络化。随着计算机技术、网络技术日益普遍运用,数控机床走向网络化、集成化己成为必然的趋势和方向。从另一角度来看,目前流行的ERP即工厂信息化对于制造业来说,仅仅局限于通常的管理部门或设计、开发等上层部分的信息化是远远不够的,工厂、车间的最底层加工设备一数控机床不能够连成网络或信息化就必然成为制造业工厂信息化的制约瓶颈。以FANUC和西门子为代表的数控系统生产厂商己在几年前推出了具有网络功能的数控系统。在这些系统中,除了传统的RS232接口外,还备有以太网接口,为数控机床联网提供了基本条件。 国内数控发展现状我国数控机床起步并不晚,大约与日本、德国、前苏联同步。1958年,由北京机床研究所和清华大学等单位研制成功第一台数控机床7。但是由于相关工业基础差,尤其是电子工业薄弱,致使其发展速度缓慢。但由于历史的原因,一直没有取得实质性的成果。数控机床的品种和数量都很少,稳定性和可靠性都比较差,只在一些复杂的、特殊的零件加工中使用。20世纪80年代以来,在消化吸收国外先进技术的基础上,我国数控技术有了新的发展,数控机床才真正进入小批量生产的商品化时代。“七五”、“八五”期间的技术攻关,大大推动了我国数控机床的发展,目前我国已经能生产100多种数控机床。尤其是最近10年来,我国己研制了具有自主版权的数控技术平台和数控系统,比如2022年国产机床展上的大连机床集团的VDW500五轴联动立式加工中心、华中数控的LVC600五轴联动立式加工中心其机床各项性能指标都接近国际先进水平8。但从数控机床的整体来看,我国的数控技术与发达国家相比仍有相当差距,数控产业仍十分薄弱,而且国产数控绝大部分是中低档经济型,高档数控仍然被国外发达国家技术封锁。为了促进我国数控技术的发展,国家已经在“十一五”继续把数控技术列为优先发展的技术之一,使我国的数控技术在较短的时间里加快赶上世界先进水平。 数控技术的发展趋势随着微电子技术、计算机技术、精密制造技术及检测技术的发展,数控机床性能日臻完善,数控系统应用领域日益扩大。为了满足市场和科学技术发展的需要,达到现代制造技术对数控技术提出的更高的要求,当前,世界数控技术及其装备发展趋势主要体现在以下几个方面:(l)高速度、高精度 机床向高速化方向发展,可充分发挥现代刀具材料的性能,不但可大幅度提高加工效率、降低加工成本,而且还可提高零件的表面加工质量和精度。超高速加工技术对制造业实现高效、优质、低成本生产有广泛的适用性。精密化是为了适应高新技术发展的需要,也是为了提高普通机电产品的性能、质量和可靠性,减少其装配时的工作量从而提高装配效率的需要。随着高新技术的发展和对机电产品性能与质量要求的提高,机床用户对机床加工精度的要求也越来越高。现代数控机床主轴转速在12000r/min以上较为普及,高速加工中心的主轴转速高达100000r/min;快速进给速度一般机床都在50m/min以上,有的机床高达120m/min。加工的高精度比加工速度更为重要,微米级精度的数控设备正在普及,一些高精度机床的加工精度已达到0.1um9。(2)高可靠性高可靠性是指数控系统的可靠性要高于被控设备的可靠性在一个数量级以上,新型的数控系统大量采用大规模或超大规模的集成电路,采用专门芯片及混合式集成电路,使线路的集成度提高,元器件数量减少,功耗降低,提高了可靠性。现代数控机床都装备了计算机数控系统(即CNC系统),只要改变软件控制程序,就可以适应各类机床的不同要求,实现数控系统的模块化、标准化和通用化。数控控制软件的功能更加丰富,具有自诊断及保护功能。为了防止超程,可以在系统内预先设定工作范围(即软限位)。数控系统还具有自动返回功能(即断点保护功能)。(3)多功能大多数数控机床都具有CRT图形显示功能,可以进行二维图形的加工轨迹动态模拟显示,有的还可以显示三维彩色动态图形;具有丰富的人机对话功能,“友好”的人机界面;借助CRT和键盘的配合,可以实现程序的输入、编辑、修改、删除等功能。现代数控系统,除了能与编程机、绘图机、打印机等外设通信外,还应能与其他CNC系统、上级计算机系统通信,以实现FMS的连接要求。(4)智能化数控系统应用高技术的重要目标是智能化。如引进自适应控制技术、人机对话自动编程、自动诊断并排除故障等智能化功能。(5)复合化复合化是近几年数控机床发展的模式,它将多种动力头集中在一台数控机床上,在一次装夹中完成多种工序的加工。如立卧转换加工中心、车铣万能加工中心及四轴联动(X、Y、Z、C)的车削中心等。1.2 嵌入式系统概况嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁减,适应于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统10。随着社会的日益信息化,计算机和网络已经全面渗透到日常生活的每个角落。对于我们每个人来说,需要的已经不再仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机“机器”。任何一个普通人都可以使用嵌入式电子产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电、车载电子设备等。纵观嵌入式系统的发展历程大致经历了4个阶段。(1)无操作系统阶段是以8位单芯片为核心的可编程控制器形式,执行一些单线程程序,具有与监测、伺服、指示设备相配合的功能。这类系统大部分应用于一些专业性强的工业控制系统中,通过汇编语言编程对系统进行直接控制。这一阶段系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简单、价格低,以前在国内工业领域应用较为普遍,但是己经远不能适应高效的、需要大容量存储的现代工业控制和新兴信息家电等领域的需求。(2)简单操作系统阶段20世纪80年代,随着微电子工艺水平的提高,集成电路制造商开始把嵌入式系统应用中所需的微处理器、I/O接口、串行接口及RAM、ROM等部件集成到一片VLSI中,制造出面向I/O设计的微控制器。与此同时,嵌入式系统的程序员也开始基于一些简单的操作系统开发嵌入式软件,缩短了开发周期,提高了开发效率。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性。典型的有1981年,Ready System 开发出世界上第一个商业嵌入式实时内核(VTRX32)。这个实时内核包含了许多传统操作系统的特点,包括任务管理,任务间通信,同步与互相排斥、中断支持和内存管理等功能。(3)实时多任务操作系统阶段20世纪90年代,随着硬件实时性要求的提高,嵌入式系统的软件规模也在不断扩大,实时内核逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。这一阶段的操作系统实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。典型的有VxWorks、Palm OS、WinCE,嵌入式Linux等。(4)面向Internet阶段21世纪是网络时代,随着Internet的进一步发展,以及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合是嵌入式系统未来的发展趋势。信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇。嵌入式技术与Internet技术的结合正推动着嵌入式系统的飞速发展,成为当今世界最热门的技术之一。1999年,根据美国EMF(电子市场分析)报告,嵌入式操作系统全球产值3.62亿美元,而相关的整个嵌入式开发工具(包括仿真器、逻辑分析仪、软件编译器和调试器)则高达9亿美元,并预计到2022年市场规模将达到317亿美元。2021年嵌入式系统带来的工业年产值已超过了1万亿美元11。1.3 本文研究意义及主要工作研究意义一个国家的工业水平,很大程度上体现在制造业的水平上,而数控机床技术正是现代制造技术中关键性的技术之一。我国是一个制造业大国,但数控技术的水平还不是很高,跟欧美、日本还有很大的差距,这严重制约着我国制造业水平的提高。以PC机作为基础的CNC,为我国的NC开发和应用带来了新的机遇,使得我国数控系统开发商有了一个赶上世界数控技术发展潮流的机遇。然而,在我国蓬勃发展的基于PC的数控系统也有着不足之处,如基于PC的数控系统难以装入体积严格要求的微小型系统内。另外,基于PC的CNC往往功能强大,但相对一些功能相对简单的应用场合,成本过高,结构复杂。我国现在面临着制造业产业结构的调整和升级,也面临几百万台旧式机床的改造,其中部分机床可改造成具有较高性价比的经济型数控;同时设计和生产一些适合本国制造业需求的经济型数控系统,则可以显著的提高经济效益和社会效益,减少资源的浪费。目前国内中小型的数控系统多采用8/16位单片机系统,其内部资源有限,一般需要扩展资源,且较多采用汇编编程,没有操作系统在其上运行,程序的修改、升级和维护都比较困难。嵌入式系统的不断普及应用,可为数控技术提供一种灵活方便、能在工业环境长期稳定可靠工作的微小型廉价的控制系统。目前,嵌入式系统的推广应用已经成为潮流,也成为中、低档数控系统的发展趋势。数控车床作为使用最多、功能相对简单的机床种类,非常适合采用嵌入式系统。为此,本文以基于ARM的嵌入式车床数控系统的研究与开发为目标,开发一种低成本、高性价比的车床数控系统。论文主要内容本文主要研究内容包括:1以32位ARM7内核微处理器作为核心,基于嵌入式操作系统C/OS-,构建整个数控系统的软硬件架构。2完成嵌入式实时操作系统C/OS-在ARM硬件平台上的移植、系统多任务的划分与调度。编写数控系统的串口通讯、液晶显示、键盘输入等低层驱动程序。3研究NC程序解释的实现方法,编写数控加工程序解释模块等相关应用程序。第二章 嵌入式数控车床系统总体结构设计本文所要研究的嵌入式车床数控系统的主要功能包括:能够给用户提供一个良好的人机界面,支持键盘的输入并实现机床加工代码的编程,能实现车削加工的高速运动控制,可以实现常用的直线插补、圆弧插补和螺纹加工插补,能够实现对异常情况的实时处理。此外,系统还能够支持与PC机的串口通信,上传和下载数控文件12。2.1 嵌入式数控系统的总体设计嵌入式车床数控系统在结构上由硬件和软件两大部分组成。硬件选择以ARM处理器和复杂可编程逻辑器件CPLD为核心,并配以系统所需的外围模块组成完整的硬件平台;软件选择C/OS-实时嵌入式操作系统,开发系统所需的底层驱动和应用软件。嵌入式数控系统的总体结构模型如图2.1所示,由硬件层、操作系统层及软件层三个层次构成。硬件层由ARM处理器硬件构架和CPLD可编程逻辑控制器件组成,ARM处理器用来管理调度,而CPLD芯片用于在较短的时间内完成复杂的运动控制。嵌入式数控系统的操作系统层采用了源代码公开的嵌入式实时操作系统C/OS-,C/OS-是一款可根据功能需要裁减,采用可剥夺性实时内核的多任务操作系统。采用C/OS-使得嵌入式数控系统的控制软件划分明确、模块化,并且使系统具有多任务处理能力及良好的实时性。软件层主要是数控系统匹配软件,包括设备驱动程序、相关的API函数、数控各任务模块等。 图2.1 数控系统总体结构模型2.2 嵌入式数控系统的硬件组成系统硬件结构如图2.2所示。嵌入式微处理器选用ARM7系列的LPC2220,它是32位的高性能、低成本的嵌入式RISC微处理器,具有数据处理能力强,稳定可靠,可支持操作系统,低功耗和低成本的特点。在嵌入式数控系统中主要负责数据处理、运算和对外设(LCD、RAM、FLASH、键盘等)的控制。大规模可编程逻辑控制器件CPLD主要用作精插补、码盘反馈和实现I/O控制13-16。 图2.2 嵌入式数控硬件结构图2.1.1 ARM子系统设计了一个满足嵌入式车床数控性能要求的ARM子系统,其资源主要包括LPC2220微处理器,主频60MHz。1MB的外部RAM、2MB Nor Flash、16MB NandFlash、专用复位电路、JTAG 凋试接口、实时时钟等。并且周围引出了外部扩展需要用到的全部数据、地址总线、各外设接口及I/O信号等,能够作为嵌入式车床控制系统主控模块使用。 CPLD子系统CPLD子系统采用Altera公司的MAX7000A(AE)系列的EPM1270。它以第二代多阵列矩阵(MAX)结构为基础,是一种高性能CMOS EEPROM 器件;逻辑密度为2000 个可用编程门电路,128 个宏单元; 引脚到引脚的逻辑延时为5.0ns,计数器工作频率可达到178MHz;有集电极开路选择,可编程宏单元触发器;具有专有的清除、时钟、输出使能控制;包括一个可编程的程序加密位,全面保护专利设计。能够很方便实现嵌入式数控的精插补、码盘输入、I/O控制等功能,同时对产品可以加密保护。在本系统中,CPLD器件是挂在ARM的存储器总线上,这样通过存储器映射,ARM可以很方便的访问CPLD器件。2.1.3 液晶模块液晶(LCD)模块包括液晶显示屏液晶显示控制器。液晶模块使用CA320240B,其核心是日本SEIKO EPSON公司出品的液晶显示控制芯片S1D13305,该芯片支持文本(即字符) 显示、图形显示以及文、图相结合的显示模式;LCD 显示分辨率可达320 240像素;内部掩模有一个具有160 字符、5 7 像素点阵的字符发生器ROM;支持在片外设置一个具有256 字符、最大达8 16 像素点阵的字符发生器ROM或RAM。能够快速响应数控车床系统图形仿真和实时监控的需求。与采用彩屏的数控系统相比,具有价格功耗上的优势。 键盘模块键盘与ARM 处理器的接口设计主要采用专用的键盘接口芯片ZLG7290。该芯片采用I2C串行接口,提供键盘中断信号,方便与ARM接口,并且可以支持64个按键消息,满足了嵌入式数控车床的要求。采用专用的键盘芯片可以采用中断的方式实现对键码的读取,免去对键盘的循环扫描,节约了CPU 的运算资源,同时节省了很多任务切换和内部信号量处理时间。2.3 嵌入式数控系统软件的结构嵌入式数控系统软件由嵌入式实时多任务操作系统C/OS-及其相应的应用软件组成。C/OS-实时操作系统支持多任务管理,采用基于占先式的实时内核,可以把任务的调度时间控制在毫秒级内,满足系统实时性的要求。但C/OS-仅提供了一个任务调度的实时内核,没有提供相应得标准API函数,因而需要自行开发一系列与系统运行相关的设备驱动程序、API函数以及应用软件。嵌入式数控软件功能结构如图2.3所示。数控系统按功能可划分为以下六个部分17:(1)人机界面管理(2)逻辑处理(3)运动控制(4)辅助控制(5)数据处理(6)伺服控制。 图2.3 嵌入式数控软件结构图 人机界面管理该部分主要实现人机交互,为数控车床的工作提供数据和信息,反馈机床的运行状态,监控整个加工过程。主要功能有以下几点:1)获得车床系统当前运行状态,比如处于手动、自动、运行还是其它状态,获得各种机床信息,比如当前机床X、Z轴坐标、进给速率等,并且通过LCD显示给用户。2)实现与用户的人机交互,通过接受用户的按键消息,完成对系统的控制,比如对刀偏值、主轴速率等系统参数的修改。3)对NC程序进行加工过程中的刀尖轨迹仿真、在LCD上显示刀具轨迹路径,用户可以检验刀具所走过的轨迹判断NC程序是否正确。 逻辑处理逻辑处理主要负责主轴的正反转,冷却液的开关,换刀等。由于C/OS-是个实时多任务系统,逻辑处理的优先级很高,一般在几个ms,所以能够满足数控车床的需求。 运动控制运动控制主要是对机床位移、速度、加速度的控制。速度控制主要指的是CNC系统的加减速控制。在CNC装置中,为了保证机床在启动或停止时不产生冲击、失步、超程或振荡,必须对进给电机的脉冲频率或电压进行加减速控制。即在机床加速启动时,保证加在电机上的脉冲频率或电压逐渐增加;而当机床减速停止时。保证加在电机上的脉冲频率或电压逐渐减小。加减速算法主要有T型和S型加减速,本系统采用的是T型加减速,在于经济型数控车床相对于其它机床来说,轮廓形状变化小,加工精度要求不是太高。位移的控制主要由插补来实现。插补是数控系统的核心,数控系统正是通过插补计算,才能加工出各种复杂轮廓的零件。并且各种复杂轮廓的精度也是由插补任务保证的。本系统采用了数据采样插补,并且插补过程分成两步,由ARM 处理器完成插补运算的第一步,即粗插补,这里采用时间分割法。根据速度控制任务得到的进给速度计算出每个插补周期内的总进给量,放入插补缓冲区内。由CPLD完成精插补,通过中断方式,获得粗插补的X、Z轴进给量,然后通过数字积分法(DDA)变换成进给脉冲序列控制电机的运动。 数据处理控制数据处理主要完成NC代码的译码和刀具补偿。译码就是将数控代码从文件系统中取出,经过语法检查和语义分析,最后翻译成系统能识别的代码形式,存放在译码缓冲区中。经过译码后的数据段主要分为三部分,分别供速度控制任务(F指令)、插补任务(G指令)、逻辑控制(T、S、M指令)使用,常常需要将刀具补偿等各种参数考虑进轨迹计算的过程中。 辅助控制这部分功能比较繁琐,主要有控制面板监控、主轴管理、刀库管理、系统诊断等,主要由微处理器完成控制任务。 伺服处理数控机床进给电机逐步由原来的步进电机转向采用交流伺服电机,以提高加工速度和精度。这就涉及到伺服控制。伺服控制又可称为位置控制,主要用于数控系统的闭环控制,包括了机床位置检测、控制规则的制定等,涉及到大量的串行的数学运算。所以伺服算法部分由微处理器完成,信号检测则由CPLD实现。2.4 本章小结本章通过对嵌入式数控车床控制系统的功能需求分析,基于ARM和C/OS-,提出了实现系统的软硬件的架构,并对系统的总体结构、硬件部分各模块、软件部分各模块的功能和实现方法分别作了简要的说明和介绍。第三章 车床数控系统硬件平台设计嵌入式系统的硬件是嵌入式系统软件运行的基础,一般包括嵌入式微控制器、电源和时钟、复位电路、存储器、输入输出设备接口和调试接口等。本数控系统以飞利浦公司的LPC2220和Altera公司的EPM1270为核心构成硬件控制平台,具有低价格、低功耗、高性能的特点。3.1 LPC2220概述RM简介ARM是Advanced RISC Machines的缩写,是微处理器行业的一家知名企业,该企业设计了大量廉价、高性能、低功耗的RISC处理器、相关技术和软件。ARM是全球领先的16/32位RISC(Reduced Instruction Set Computer)微处理器知识产权设计供应商。ARM公司自1990年正式成立以来,在32位RISC CPU开发领域不断取得突破,其结构己从V3发展到V6。ARM公司设计的芯核具有低功耗,低成本等显著优点,获得众多半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域已经占有70%以上的产品市场,在低功耗、低成本的嵌入式应用领域确立了市场领导地位。现在设计、生产ARM芯片的国际大公司已经超过50多家。其中包括国际著名的Intel、IBM、LG半导体、NEC、PHILIPS、SAMSUNG公司等18。目前非常流行的ARM核有ARM7TDMI,ARM9,ARM9E,ARM10、SecureCore和StrongARM。ARM芯片还获得了许多实时操作系统RTOS(Real Time Operating System)供应商的支持,比较有名的有:Windows CE,Linux, VxWorks,C/OS等。 LPC2220微控制器概述及特性LPC2220 微控制器是基于一个支持实时仿真和嵌入跟踪的32/16 位ARM7TDMI-S CPU。对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。由于LPC2220 的144 脚封装、极低的功耗、多个32 位定时器、8 路10 位ADC、PWM 输出以及多达9 个外部中断管脚使它们特别适用于工业控制、医疗系统、访问控制和电子收款机(POS)。通过配置总线,LPC2220 最多可提供76 个GPIO。由于内置了宽范围的串行通信接口,LPC2210/2220 也非常适合于通信网关、协议转换器、嵌入式软件调制解调器以及其它各种类型的应用1920。其功能框图如图3.1所示。 图3.1 LPC2220功能框图LPC2220特性:(1)16/32 位ARM7TDMI-S 微控制器,拥有64KB片内静态RAM,通过外部存储器控制器可扩展4 组,每组的容量高达16Mb,数据宽度为8/16/32 位。(2)多达76 个通用I/O 口(可承受5V 电压)。可使用9 个边沿或电平触发的外部中断管脚。(3)多个串行接口,包括2 个16C550 工业标准UART、高速I2C 总线(400 kbit/s)和2 个SPI 接口。可选择带有数据缓冲区和可变长度传输的同步串行口(SSP)来代替一个SPI。(4)2 个32 位定时器带4 路捕获和4 路比较通道、PWM 单元(6 路输出)、实时时钟(RTC)和看门狗。8 路10 位A/D 转换器,转换时间低至2.44s。(5)通过可编程的片内锁相环(PLL)可实现最大为75 MHz的CPU 操作频率,设置时间为100us。带外部晶体的片内振荡器频率范围:130 MHz,外部振荡器的频率高达50MHz。(6) LQFP144 和TFBGA144两种封装。3.2 电源、时钟及复位电路设计 电源电路设计的转换,输出电流可达1.5A。SPX1117M321。两种芯片的电平转换电路如图3.2、图3.3所示。 图3.2 5V转3.3V电路图3.3 时钟电路设计目前所有的微控制器均含有时钟电路,需要时钟信号才能正常工作。本系统使用2个晶振,分别为ARM和CPLD提供时钟。其中30M的有源晶振信号作为EPM1270芯片主时钟,如图3.4所示。LPC2220采用内部的晶体振荡器设计时钟电路,所以外接一个11.0592M的无源晶振来组成时钟电路,如图3.5所示。图3.4 30M有源晶振时钟电路 图3.5 11.0592M的无源晶振时钟电路 复位电路设计微控制器在上电时状态不确定,这会造成微控制器不能正确的工作。为解决这个问题,所有的微控制器都需要有一个复位信号,它负责将控制器初始化为某个确定的状态。一些微控制器自己上电时会产生复位信号,但是多数控制器需要外部输入这个信号,因此它的稳定性和可靠性对微控制器的正常工作有重大影响。简单的阻容复位电路成本比较低,但它不能保证任何情况产生稳定可靠的复位信号,由于ARM和CPLD芯片的高速、低功耗、低电压导致噪声容限低,对电源的纹波、瞬态相应性能、时钟源的稳定性、电源监控可靠性等诸多方面也提出了更高的要求。本系统复位电路使用了专用芯片SP708-S,在电源上电、掉电以及监控系统电源电压的变化时,产生可靠的电源复位信号,提高了系统的可靠性22。当按下复位按钮时,该芯片输出的低电平对微处理器进行复位操作。具体的电路如图3.6所示。 图3.6 SP708-S的复位电路3.3 LPC2220的外部存储器设计由于LPC2220本身只有64KB的静态RAM,没有程序存储器ROM,所以基于LPC2220的嵌入式系统都必须外扩存储器系统,才能满足系统要求。LPC2220自带了外部存储器控制器(EMC),可扩展4个存储器组,每个存储器组都支持SRAM、ROM、FLASH、EPROM等,每组的容量高达16Mb,数据宽度为8/16/32 位。由于嵌入式数控系统的编程代码量较大,并且数控加工的NC代码文件也需要保存在系统FLASH内,所以本系统外扩了两个512K的SRAM,2M的NorFlash,16M的NANDFLASH,提供比较丰富的存储资源。通过CS0片选信号选中相应的存储器作为Bank0。因为当LPC2220上电或复位时,Bank0可以引导程序。所以一般在调试的时候Bank0为SRAM,bank1为FLASH。最终代码固化时,Bank0为FLASH,Bank1为SRAM。其中512K的SRAM 61LV51216与LPC2220的接口电路如图3.7所示,LPC2220的地址总线A1A19与SRAM相连,为了能对SRAM的字单元进行独立的字节操作(如高8位或低8位),所以将LPC2220的BLS0,BLS1 引脚分别接到61LV51216的BHE,BLE上。数据线使用了D0D15。 图3.7外部RAM扩展电路 3.4 EPM1270的电路设计图3.8 ARM和CPLD接口电路原理图EPM1270是Altera公司的MAX7000A(AE)系列的CPLD芯片23。它是一种高性能低价格低功耗的CMOS EEPROM 器件;逻辑密度为2000 个可用编程门电路,128 个宏单元; 引脚到引脚的逻辑延时为5.0ns,计数器工作频率可达到178MHz;有集电极开路选择,可编程宏单元触发器;具有专有的清除、时钟、输出使能控制。能够很方便的与ARM等微处理器连接,进行数据传输和控制。在本系统中CPLD主要用于精插补、码盘输入、I/O控制等功能。如图3.8, EPM1270的地址线和数据线是挂在LPC2220的存储器总线上。 3.5 人机界面电路设计 键盘输入电路设计键盘是数控机床最常用的输入设备,其工作原理是用逐行加低电平扫描的方法判断有无按键按下。本系统采用ZLG7290键盘接口芯片设计矩阵键盘电路(如图3.9所示),与微处理器通过I2C接口连接。ZLG7290的电源采用3.3V,复位引脚与复位信号nRST相连,当系统上电复位或手动复位会同时复位ZLG729024。ZLG7290的键盘中断输出信号与LPC2220的中断信号引脚P0.30相连,当有按键按下时,ZLG7290将会输出中断信号通知LPC2220。 图3.9 ZLG7290键盘电路 液晶显示模块接口电路设计液晶显示是数控系统中重要的组成部分,在机床运行过程中,数控系统要随时监视数控机床的工作状态,通过显示部件及时向操作者提供系统工作状态和故障情况。本系统中使用图形点阵式液晶显示模块CA320240B,该模块采用SED13305作为控制器25。SED13305液晶显示控制器多用于中小规模的液品显示器件。它具有自身的时钟信号,并提供一套完整的指令系统,常被装配在图形液晶显示模块上,以内藏控制器式图形液晶显示模块的形式出现。它能与多种微处理器直接接口,可以图形方式、字符方式及图形和字符合成方式进行显示,还可以实现字符方式下的特征显示,可执行CAD那样的屏拷贝操作等等。它具有内部字符发生器CGRAM,共128个字符。SED13305可管理64KRAM作为显示缓冲区并可允许微处理器(MPU)随时访问显示缓冲区。图3.10液晶模块接口电路液晶模块与LPC2220的连接电路如图3.10所示,其中DB0DB7为数据总线,/RW为写选通信号,/RD为读选通信号,CS为片选信号,A0为指令寄存器或数据寄存器选择信号,RESET为复位信号,FS为背光电源,FG为负压,V0为对比度调节负压,VDD电源电压,VSS为电源地。在系统中,CA320240B液晶模块与LPC2220的连接采用总线方式,该模块没有地址总线,显示地址和显示数据均通过DB0-DB7接
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!