摘要: 本文介绍了基于ARM的嵌入式数控系统。该系统为主从式结构,上位机以ARM9为,实现人机交互,下位机以ARM7为,结合FpGA实现机床的运动控制,上下住机通过CAN总线进行通信。
传统的数控系统通常是在通用计算机或工控机的基础上加装运动控制卡,使用Windows操作系统,并安装昂贵的数控软件构成的。此类系统成本高,功耗大,不太适合中小规模的应用场合。而嵌入式产品具有系统结构精简、功耗低等特点,能弥补传统数控系统的不足。
如今,嵌入式系统开发人员和片上系统设计人员越来越多地选择特定的处理器内核和配套的工具、库及现成的组件来快速开发基于微处理器的新产品。ARM在这一方面表现尤为突出。在过去的10年中,ARM体系结构已成为世界上的32位体系结构,在本书完成时,基于ARM的处理器已发售了超过20亿片。ARM处理器已被嵌入到各种产品——从移动电话到汽车刹车系统。的ARM合作伙伴和第三方供应商,在半导体和产品设计公司中迅速发展壮大,包括硬件工程师、系统设计人员和软件开发人员。但至今还没有一本书能够较好地满足基于ARM的嵌入式系统及软件开发的需要。
数控技术是当今制造业的技术,是发展高技术和高新产业的关键。数控机床被视为战略物质和战备性工业备受高度重视。嵌入式技术的发展是近年来发展快的技术,已经应用到生活的各个方面。目前,嵌入式技术已经开始广泛的进军工业控制领域。将嵌入式技术应用在数控机床上面,对新型的嵌入式数控系统进行研究和应用,可以与国外处于同一起跑线。对我国数控技术的发展具有十分重要的推动意义。本文提出了基于工业级ARM微处理器S3C2440和DSP专用运动控制芯片MCX314As,设计一种四轴三联动的开放式经济性数控系统。该数控系统不仅具有成本低、加工高、响应速度快等优点,而且具有很好的可移植性和裁剪性,是对新一代开放式经济数控系统标准的探索和研究。嵌入式数控技术在数控领域将有很好的应用前景,对我国制造业整体水平的提高有积极的推动作用。
目前,嵌入式数控系统主要有两种形式:完全依靠嵌人式处理器控制的系统以及嵌入式处理器和运动控制芯片相结合的系统。与前者相比,后者南于采用了的运动控制芯片,在实时性和等方面的表现更好,因而成为未来的一个发展方向。本文介绍了一种基于ARM控制器和FPGA运动控制芯片的主从式数控系统,希望能为AR M在嵌入式数控系统中的应用提供一些参考。
1 总体设计
本系统为主从式结构。上位机以S3C2410 ARM9控制器为,移植Linux系统和QT/Embedded图形库,主要实现G代码文件处理、加工位置的显示、手动控制等人机交互功能。下位机以$3C44B0 ARM7控制器为,斯迈迪的SM5004 FPGA芯片为运动控制器,实现电机驱动、冷却液开关、紧急停止等机床控制功能。上下位机通过CAN总线通信。
2 硬件设计
2.1CAN接口设计
由于S3C2410和S3C44B0不带CAN接口,所以必须对其进行扩展。S3C2410的CAN 扩展接El如图1所示,S3CA4B0的CAN接口与其相似。
系统的CAN控制器使用MCP2510芯片。MCP2510的复位引脚RESET与$3C2410的复位引脚nRESET相连,片选引脚CS与S3C2410的GPH0相连。OSC1和OSC2引脚连接一个16M 的晶振作为时钟源。SI、SO和SCK分别与S3C2410的SPI El MOSIO、MISO0和SPICLKO相连。如果SPI口被其它设备占用,也可用其它的I/O El代替,但要编写软件算法来模拟SPI的读写操作。系统采用中断方式读写MCP2510,因此它的INT引脚与S3C2410的外部中断引脚EINT4相连。在外部中断引脚资源比较紧张的情况下,也可使用查询方式读写MCP2510,此时INT可以悬空。
系统的CAN 收发器使用TJA105O芯片,该芯片的TXD和RXD与MCP2510的TXCAN和RXCAN相连,Rs引脚连接的斜率电阻为1K。
TJAlOS0输出CANH、CANL差分信号,通过J1001插口接人物理线路。
2.2输入输出接口设计
S3C44B0 ARM 和SM5004 FPGA芯片提供了很多通用输入输出接口,为了有效的防止干扰进入系统,这里采用了光耦隔离。
在低速开关量中,可以看出,这里采用贴片低速光耦MOCD217一M。它是Motorola公司的产品,是具有低输入电流的双路光耦。之所以这里在接人输入口之前加入电阻R3,是因为ARM 中的部分I/0 口是开漏式的,防止在输入输出过程中电流过大,将相应口烧坏。在高速开关量中,采用HC—PL0661双路光耦进行扩展,它是Agilent Technologies公司的产品,其开关速率可达到1O M左右,可应用于各种高速脉冲输入输出的场合。
3 软件设计
31人机交互与G代码解释
人机交互界面。陔界面是用QT/Embedded嵌人式罔形库设计的。QTEmbedded 是由-rroll—tech公司的嵌入式GUI开发T具,控件丰富,并且支持虚拟帧缓冲。通过该界面可以实现编辑G代码,语法检查、预览加1 轨迹、与下位机通信等功能。
G代码解释的原理如同4所示。程序中定义了两个数据结构PreGCode和GCode分别用来保存语法检查后的中间结果和数据分析后生成的G代码类型、节点坐标、圆弧半径等数据,供仿真和加工使用。
3.2CAN通信
本系统使用CAN控制器MCP2510完成CAN总线帧的发送和接收任务。通信数据分为命令帧和数据帧两种。通信协议利用了CAN总线的29位扩展标识符保存了一些协议中必要的信息,如表1所示。由于CAN支持多主机和多从机模式,所以为源设备和目的设备地址分配了ID,以区分数据的来源和目的地。数据帧的数据量较大,必须分批传送,所以标识符里还包含了数据包分组号,用来排序。
系统使用中断模式传输数据,共开启4项中断,分别为错误消极中断、错误报警中断以及发送中断和接收中断。如果为前两种中断,程序将复位MCP2510芯片。如果为发送中断,则表示发送完毕,程序将置位发送中断标志位以通知主程序。如果为接收中断,程序将检查标识符的ID28一ID21,判断该帧的类型,然后根据帧的类型分别进行处理。
3.3插补算法
SM5004芯片是斯迈迪公司的一款高性能运动控制FPGA芯片,能够实现4轴联动,驱动脉冲频率高达5MPPS,插补高达0.5I SB,单次输出脉冲数高达2G,支持4种插补模式:直线插补、圆弧插补、连续插补和位模式插补。
对于直线和圆弧,SM5004有自己的插补算法,只要提供终点坐标、速度等插补所需的参数,SM5004就能自动完成插补。
位模式插补是把高位CPU计算的插补数据以数据包的方式接收后,以指定的驱动速度连续输出插补脉冲。位模式插补的原理是在每个寄存器上2轴或3轴的+/一方向驱动脉冲设定为1位1脉冲,输出驱动脉冲时设定为1,不输出脉冲时设定为0。位模式插补提供了一种灵活的插补机制,用户可以自己编写直线、圆弧、样条曲线、函数曲线等各种曲线的插补算法。程序使用数字积分的方法实现了直线和二次曲线的插补。数字积分插补(又称DDA插补)的原理如图5所示。通过将积分区间[a,b]分割成足够小的区间△f,将函数y=f(t)的积分运算变为变量的求和运算,即
数字运算时,At一般取单位“1”,即一个脉冲当量,则: 数字积分法插补器的关键部件是累加器和被积函数寄存器,每一个坐标方向就需要一个累加器和一个被积函数寄存器。一般情况下,插补开始前,累加器清零,被积函数寄存器分别寄存X和Y ;插补开始后,每来一个累加脉冲△£,被积函数寄存器里的内容在相应的累加器中相加,相加后的溢出作为驱动相应坐标轴的进给脉冲Ax(或Ay),而余数仍寄存在累加器中;当脉冲源发出的累加脉冲数m恰好等于被积函数寄存器的容量2 时,溢出的脉冲数等于以脉冲当量为单位的终点坐标,刀具运行到终点。数字积分法插补第1象限直线的程序流程图如图6所示,插补轨迹如图7所示。
4 结束语
ARM是一家英国公司,它的文字含义是Advanced RISC Microprocessor(RISC微处理器)。ARM为客户提供16/32位嵌入式RISC微控制器方案,将其RISC处理器授权给电子公司使用,在便携式通讯,手持计算设备,消费类和数字化多媒体方案中,ARM正有一种成为标准的趋势。
ARM 结合FPGA 运动控制芯片的方式,既能发挥ARM 运算速度快、硬件资源丰富的优势,又能利用FPGA出色的运动控制功能。相比与传统的纯ARM 控制的数控系统,在实时性、控制等方面更具优势,是未来嵌入式数控系统的一个发展方向。
采用运动控制芯片和ARM处理器能的嵌入式数控系统设计能大大减轻研发任务,加快研发速度,能够在较短时间内开发出性能优良的数控系统。而经过适当“裁剪”的Linux系统加入,使得数控系统能更好的进行多任务处理,极大的提高了系统的实时性。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。