资源描述
基于ARM的嵌入式数控车床控制系统的开发
130
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
中图分类号: TP273 TP391 论文编号: 1028705 09-0167
学科分类号: 080202
硕士学位论文
基于ARM的嵌入式车床数控系统
研究与开发
研究生姓名 杨军
学科、 专业 机械电子工程
研究方向 机电控制工程
指导教师 游有鹏 教授
南京航空航天大学
研究生院 机电学院
二〇〇八年十二月
Nanjing University of Aeronautics and Astronautics
The Graduate School
College of Mechanical and Electrical Engineering
Research of Embeded CNC for Lathes
Based on ARM
A Thesis in
Mechanical Engineering
By
YangJun
Advised by
Prof. You Youpeng
Submitted in Partial Fulfillment
of the Requirements
for the Degree of
Master of Engineering
Dec.
承诺书
本人郑重声明: 所呈交的学位论文, 是本人在导师指导下, 独立进行研究工作所取得的成果。尽我所知, 除文中已经注明引用的内容外, 本学位论文的研究成果不包含任何她人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其它个人和集体, 均已在文中以明确方式标明。
本人授权南京航空航天大学能够有权保留送交论文的复印件, 允许论文被查阅和借阅,能够将学位论文的全部或部分内容编入有关数据库进行检索, 能够采用影印、 缩印或其它复制手段保存论文。
(保密的学位论文在解密后适用本承诺书)
作者签名:
日 期:
摘 要
传统的中、 低档数控车床在结构上往往采用8/16位单片机加精插补器, 以获得较高的性价比。随着嵌入式系统的迅速发展, 高性能的32位CPU已经普及, 以ARM为代表的32位微处理器速度快、 功能强、 价格低, 完全能够开发出具有更高性价比的嵌入式数控系统。本文旨在研究和设计一种基于ARM7的嵌入式数控车床控制系统。
本文首先经过对嵌入式技术和数控技术的全面分析, 选择确定了车床嵌入式数控系统的软硬件平台。硬件平台以ARM7系列微处理器LPC2220为核心, 基于可编程逻辑器件CPLD实现精插补器, 并配以必要的外围电路。软件平台以源代码公开的μC/OS-Ⅱ实时操作系统为基础, 开发系统所需的驱动程序和应用软件。
规划设计了基于μC/OS-Ⅱ的车床数控系统控制任务划分以及各任务模块间的通讯协调机制。控制任务划分为7个: 主控、 液晶显示、 文件系统服务、 数控程序解释、 速度处理、 插补和逻辑控制; 利用μC/OS-Ⅱ提供的邮箱、 信号量等服务机制, 有效实现了任务与任务、 任务与中断之间的通信与同步。
另外, 本文还研究了系统程序解释的实现方法。首先, 基于有限状态机( DFA) 的分析策略构造了数控程序解释的词法分析器, 把程序的字符流转换为内部标记流, 然后对程序进行语法和语义分析, 最后翻译成速度处理和逻辑控制所需要的数据结构。重点分析了子程序调用和返回的机制及其实现方法。
最后, 介绍了系统的软硬件开发工具和调试方法。软硬件测试表明, 该嵌入式车床数控系统可满足预期目标。
关键词: 嵌入式车床数控系统, ARM, CPLD, μC/OS-Ⅱ, 程序解释
Abstract
To 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/OS–II, 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/OS–II, 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, file service, NC program interpretation, ACC/DEC control, interpolation and PLC. Upon the service of mailbox and semaphore provided by μC/OS–II, 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/OS–II, program interpretation
目 录
第一章 绪论 1
1.1 数控技术概况 1
1.1.1 数控技术发展背景 1
1.1.2 国外数控发展现状 2
1.1.3 国内数控发展现状 3
1.1.4 数控技术的发展趋势 3
1.2 嵌入式系统概况 4
1.3 本文研究意义及主要工作 5
1.3.1研究意义 5
1.3.2论文主要内容 6
第二章 嵌入式数控车床系统总体结构设计 7
2.1 嵌入式数控系统的总体设计 7
2.2 嵌入式数控系统的硬件组成 7
2.1.1 ARM子系统 8
2.1.2 CPLD子系统 8
2.1.3 液晶模块 8
2.1.4 键盘模块 8
2.3 嵌入式数控系统软件的结构 9
2.3.1 人机界面管理 9
2.3.2 逻辑处理 9
2.3.3 运动控制 10
2.3.4 数据处理控制 10
2.3.5 辅助控制 10
2.3.6 伺服处理 10
2.4 本章小结 11
第三章 车床数控系统硬件平台设计 12
3.1 LPC2220概述 12
3.1.1 ARM简介 12
3.1.2 LPC2220微控制器概述及特性 12
3.2 电源、 时钟及复位电路设计 14
3.2.1 电源电路设计 14
3.2.2 时钟电路设计 15
3.2.3 复位电路设计 16
3.3 LPC2220的外部存储器设计 16
3.4 EPM1270的电路设计 17
3.5 人机界面电路设计 18
3.5.1 键盘输入电路设计 18
3.5.2 液晶显示模块接口电路设计 18
3.6 RS-232串行通信电路 20
3.7 本章小结 21
第四章 数控系统软件平台设计 22
4.1嵌入式实时操作系统简介 22
4.2.μC/OS-Ⅱ简介 23
2.2.1、 μC/OS-Ⅱ的特点 23
4.2.2 μC/OS-Ⅱ的工作原理 24
4.2.3 μC/OS-Ⅱ的任务间通讯和同步 25
4.2.3.1 信号量 25
4.2.3.2 消息邮箱 26
4.2.4 μC/OS-Ⅱ的中断机制 27
4.3 μC/OS-Ⅱ在LPC2220上的移植 29
4.3.1 编写OS_CPU.H 29
4.3.1.1 定义不依赖编译器的数据类型 30
4.3.1.2 OS_ENTER_CRITICAL()和OS_EXIT_CREITICAL()的编写 30
4.3.1.3 OS_STK_GROWTH的编写 31
4.3.1.4 OS_TASK_SW()函数的编写 31
4.3.2 编写OS_CPU_C.C 31
4.3.3 编写OS_CUP_A.ASM 33
4.3.3.1 OSStartHighRdy函数的编写 33
4.3.3.2 OSCtxSw函数的编写 34
4.3.3.3 OSIntCtxSw()函数的编写 34
4.3.3.4 OSTickISR()函数的编写 34
4.4 系统的软件任务及中断划分 34
4.4.1 车床控制系统的任务划分 35
4.4.2 车床控制系统任务优先级的确定 36
4.4.3 车床数控系统中断的确定 37
4.4.4 车床控制系统中各个任务及ISR之间的工作流程 37
4.5 系统驱动程序设计 39
4.5.1 液晶驱动设计 39
4.5.1.1 速度匹配 39
4.5.1.2 地址空间访问 39
4.5.1.3 S1D13305的初始化 40
4.5.1.4 字符、 汉字及图形的显示 40
4.5.1.5 提高界面切换和屏幕刷新速度的措施 42
4.5.2 键盘驱动程序的设计 42
4.6 本章小结 45
第五章 车床数控程序解释模块的实现 46
5.1 程序解释模块的总体分析 46
5.1.1 程序解释模块的方法 46
5.1.2 程序解释模块结构划分 47
5.2 数控程序的检查 48
5.2.1 词法分析 48
5.2.1.1 词法分析器 48
5.2.1.2 分析方法 48
5.2.2 语法分析 49
5.2.3 语义分析 51
5.3 数控程序的翻译 52
5.3.1 一般G代码的翻译 52
5.3.2 子程序的研究与实现 53
5.3.3 MST 代码的处理 55
5.3.4 重新译码的处理 55
5.4 程序解释模块的部分测试 56
5.4.1 程序错误的测试 56
5.4.2 一般G代码的测试 56
5.4.3 子程序调用的测试 57
5.5 本章小结 58
第六章 系统的软件调试 59
6.1 系统开发与调试的工具 59
6.1.1 ADS集成开发环境介绍 59
6.1.1.1 ADS1.2集成开发环境的组成 60
6.1.1.2 CodeWarrior IDE简介 60
6.1.1.3 AXD调试器简介 61
6.1.2 EasyJTAG-H仿真器的使用 62
6.2 系统的软件调试 63
6.2.1 系统的模块调试 63
6.2.2 系统联调 64
6.3 本章小结 65
第七章 总结展望 66
7.1 论文总结 66
7.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 测试FLASH 63
图6.6 系统的打印调试原理 64
图6.7 系统自动运行时的画面 65
第一章 绪论
随着全球经济竞争日益加剧, 制造行业面临着产业升级换代: 被加工零件复杂度的增加, 加工单元柔性化、 工厂自动化的实现等等。数控机床作为一种自动化的加工设备而被广泛采用。同时, 随着现代机械制造业向更高层次的发展, 数控机床也成为柔性制造单元(FMC)、 柔性制造系统(FMS)以及计算机集成制造系统(CIMS)的基础装备。数控技术是数控机床的关键技术, 它的迅速发展和广泛应用, 使得普通机械逐渐被高效率、 高精度的数控机械所代替, 从而形成了巨大的生产力。一个国家的工业化水平, 很大程度上体现在制造业的水平, 而数控机床技术正是制造技术中关键性的技术之一。近年来中国机床需求旺盛, 市场巨大。自 来, 中国已经连续六年成为世界上最大的机床消费国和进口国, 其中数控机床是机床消费的主流。随着制造技术, 计算机技术, 微电子技术等的发展, 数控机床必然向更高精度、 更高速度、 更高可靠性及更完善的功能方向发展, 以提高国家的整体制造业水平。
1.1 数控技术概况
1.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结构为第八代数控系统。
1.1.2 国外数控发展现状
近年国外数控技术发展呈如下趋势:
(l)国际机床市场的消费主流是数控机床
1998年世界机床进口额中大部分是数控机床, 美国进口机床的数控化率达70%, 中国为60%。当前世界数控机床消费趋势己从初期以数控电加工机床、 数控车床、 数控铣床为主转向以加工中心、 专用数控机床、 成套设备为主[7]。
(2)国外数控机床的信息化
世界装备制造业市场正在向全面信息化的方向迈进, 技术发展主要表现为柔性制造系统、 计算机集成制造系统的开发与应用, 并向制造智能化方向发展。技术发展特征表现为技术的融合化; 产品的发展特征表现为高附加值化、 智能化和系统化; 系统管理的发展特征表现为集成化( 包括系统集成、 软件集成、 技术集成和接口集成) 和网络化。随着计算机技术、 网络技术日益普遍运用, 数控机床走向网络化、 集成化己成为必然的趋势和方向。从另一角度来看, 当前流行的ERP即工厂信息化对于制造业来说, 仅仅局限于一般的管理部门或设计、 开发等上层部分的信息化是远远不够的, 工厂、 车间的最底层加工设备一数控机床不能够连成网络或信息化就必然成为制造业工厂信息化的制约瓶颈。以FANUC和西门子为代表的数控系统生产厂商己在几年前推出了具有网络功能的数控系统。在这些系统中, 除了传统的RS232接口外, 还备有以太网接口, 为数控机床联网提供了基本条件。
1.1.3 国内数控发展现状
中国数控机床起步并不晚, 大约与日本、 德国、 前苏联同步。1958年, 由北京机床研究所和清华大学等单位研制成功第一台数控机床[7]。可是由于相关工业基础差, 特别是电子工业薄弱, 致使其发展速度缓慢。但由于历史的原因, 一直没有取得实质性的成果。数控机床的品种和数量都很少, 稳定性和可靠性都比较差, 只在一些复杂的、 特殊的零件加工中使用。20世纪80年代以来, 在消化吸收国外先进技术的基础上, 中国数控技术有了新的发展, 数控机床才真正进入小批量生产的商品化时代。”七五”、 ”八五”期间的技术攻关, 大大推动了中国数控机床的发展, 当前中国已经能生产100多种数控机床。特别是最近 来, 中国己研制了具有自主版权的数控技术平台和数控系统, 比如 国产机床展上的大连机床集团的VDW500五轴联动立式加工中心、 华中数控的LVC600五轴联动立式加工中心其机床各项性能指标都接近国际先进水平[8]。
但从数控机床的整体来看, 中国的数控技术与发达国家相比仍有相当差距, 数控产业仍十分薄弱, 而且国产数控绝大部分是中低档经济型, 高档数控依然被国外发达国家技术封锁。为了促进中国数控技术的发展, 国家已经在”十一五”继续把数控技术列为优先发展的技术之一, 使中国的数控技术在较短的时间里加快赶上世界先进水平。
1.1.4 数控技术的发展趋势
随着微电子技术、 计算机技术、 精密制造技术及检测技术的发展, 数控机床性能日臻完善, 数控系统应用领域日益扩大。为了满足市场和科学技术发展的需要, 达到现代制造技术对数控技术提出的更高的要求, 当前, 世界数控技术及其装备发展趋势主要体现在以下几个方面:
(l)高速度、 高精度
机床向高速化方向发展, 可充分发挥现代刀具材料的性能, 不但可大幅度提高加工效率、 降低加工成本, 而且还可提高零件的表面加工质量和精度。超高速加工技术对制造业实现高效、 优质、 低成本生产有广泛的适用性。精密化是为了适应高新技术发展的需要, 也是为了提高普通机电产品的性能、 质量和可靠性, 减少其装配时的工作量从而提高装配效率的需要。随着高新技术的发展和对机电产品性能与质量要求的提高, 机床用户对机床加工精度的要求也越来越高。现代数控机床主轴转速在1 r/min以上较为普及, 高速加工中心的主轴转速高达100000r/min; 快速进给速度一般机床都在50m/min以上, 有的机床高达120m/min。加工的高精度比加工速度更为重要, 微米级精度的数控设备正在普及, 一些高精度机床的加工精度已达到0.1um[9]。
(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亿美元, 并预计到 市场规模将达到317亿美元。 嵌入式系统带来的工业年产值已超过了1万亿美元[11]。
1.3 本文研究意义及主要工作
1.3.1研究意义
一个国家的工业水平, 很大程度上体现在制造业的水平上, 而数控机床技术正是现代制造技术中关键性的技术之一。中国是一个制造业大国, 但数控技术的水平还不是很高, 跟欧美、 日本还有很大的差距, 这严重制约着中国制造业水平的提高。以PC机作为基础的CNC, 为中国的NC开发和应用带来了新的机遇, 使得中国数控系统开发商有了一个赶上世界数控技术发展潮流的机遇。然而, 在中国蓬勃发展的基于PC的数控系统也有着不足之处, 如基于PC的数控系统难以装入体积严格要求的微小型系统内。另外, 基于PC的CNC往往功能强大, 但相对一些功能相对简单的应用场合, 成本过高, 结构复杂。
中国现在面临着制造业产业结构的调整和升级, 也面临几百万台旧式机床的改造, 其中部分机床可改造成具有较高性价比的经济型数控; 同时设计和生产一些适合本国制造业需求的经济型数控系统, 则能够显著的提高经济效益和社会效益, 减少资源的浪费。当前国内中小型的数控系统多采用8/16位单片机系统, 其内部资源有限, 一般需要扩展资源, 且较多采用汇编编程, 没有操作系统在其上运行, 程序的修改、 升级和维护都比较困难。嵌入式系统的不断普及应用, 可为数控技术提供一种灵活方便、 能在工业环境长期稳定可靠工作的微小型廉价的控制系统。当前, 嵌入式系统的推广应用已经成为潮流, 也成为中、 低档数控系统的发展趋势。数控车床作为使用最多、 功能相对简单的机床种类, 非常适合采用嵌入式系统。为此, 本文以基于ARM的嵌入式车床数控系统的研究与开发为目标, 开发一种低成本、 高性价比的车床数控系统。
1.3.2论文主要内容
本文主要研究内容包括:
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信号等, 能够作为嵌入式车床控制系统主控模块使用。
2.1.2 CPLD子系统
CPLD子系统采用Altera公司的MAX7000A(AE)系列的EPM1270。它以第二代多阵列矩阵( MAX) 结构为基础, 是一种高性能CMOS EEPROM 器件; 逻辑密度为 个可用编程门电路, 128 个宏单元; 引脚到引脚的逻辑延时为5.0ns, 计数器工作频率可达到178MHz; 有集电极开路选择, 可编程宏单元触发器; 具有专有的清除、 时钟、 输出使能控制; 包括一个可编程的程序加密位, 全面保护专利设计。能够很方便实现嵌入式数控的精插补、 码盘输入、 I/O控制等功能, 同时对产品能够加密保护。在本系统中, CPLD器件是挂在ARM的存储器总线上, 这样经过存储器映射, ARM能够很方便的访问CPLD器件。
2.1.3 液晶模块
液晶( LCD
展开阅读全文