李跃华,冯习宾
(1. 南通大学 计算机科学与技术学院,南通 226019;2. 桂林电子科技大学,桂林 541004)
数控技术是当今制造业的核心技术,是发展高尖端技术和高新产业的关键。数控机床被视为战略物质和战备性工业备受高度重视。嵌入式技术的发展是近年来发展最快的技术,已经应用到生活的各个方面。目前,嵌入式技术已经开始广泛的进军工业控制领域。将嵌入式技术应用在数控机床上面,对新型的嵌入式数控系统进行研究和应用,可以与国外处于同一起跑线。对我国数控技术的发展具有十分重要的推动意义。本文提出了基于工业级ARM微处理器S3C2440和DSP专用运动控制芯片MCX314As,设计一种四轴三联动的开放式经济性数控系统。该数控系统不仅具有成本低、加工精度高、响应速度快等优点,而且具有很好的可移植性和裁剪性,是对新一代开放式经济数控系统标准的探索和研究。嵌入式数控技术在数控领域将有很好的应用前景,对我国制造业整体水平的提高有积极的推动作用。
在本设计方案中采用S3C2440作为主CPU负责数控系统各个任务的管理调度,运动控制芯片MCX314As作为从CPU完成数控加工所需要的复杂运动控制。采用专业级的运动控制芯片可以大大缩短数控系统的研发周期、提高控制系统的性能、减少研发成本和工作量等优点。嵌入式数控系统的模型如图1所示,该嵌入式数控系统模型由上到下有三部分组成,
分别是硬件层、操作系统层和运动控制软件层。底层硬件层采用Samsung公司的CPU处理器S3C2440,中间层为嵌入式数控系统的操作系统层,采用源代码开放的Linux操作系统,并根据数控系统的要求对内核进行了相应的裁剪,提高了数控系统的实时性。顶层是运动控制系统的匹配软件,主要包括编写的各种控制函数,如运动控制芯片的控制库函数等。
图1 嵌入式数控系统模型图
CPU处理器选用Samsung公司的S3C2440处理芯片。 S3C2440是一款基于ARM920T内核的32位RISC架构的处理器,其体积小、低功耗、成本低、性能高,支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件。主频最高可达533MHZ,运算速度快,片内集成度高,可以很好的对数控系统进行多任务操作。
远动控制芯片选用日本NOVA电子有限公司研制的DSP运动控制专用芯片MCX314As。MCX314As是一种功能比较强大的专业级运动控制芯片。芯片能够实现对四轴控制,可以对任意两轴进行直线和圆弧插补。在实际运用时可以把所有极其复杂的实时运动控制工作交给MCX314As芯片来处理,而主机CPU只需要向MCX314As芯片发出一系列的控制指令便能实现各种复杂的运动。
该嵌入式数控系统的硬件结构采用主从CPU结构模式。其中主CPU为ARM处理器,用于数控系统各个任务的调度和管理工作,而从CPU为MCX314As运动控制芯片,专门负责数控系统运动控制的处理工作。控制系统硬件结构如图2所示。
图 2 控制系统硬件结构
ARM处理器S3C2440与运动控制芯片MCX314As的连接电路如图3所示。
图3 S3C2440与MCX314As的接口电路
MCX314As控制器的时钟频率由外部提供,采用默认的16MHz。数据线和读/写信号直接受S3C2440芯片相应的数据线和读/写信号控制,由于我们使用的是16位数据线的传输,所以MCX314As芯片的H16L8引脚必须接上高电平。由图中可以看到,在那些互相连接的信号线之间都隔着一些写着“SN74ALVC164245”的芯片,那是因为S3C2440的I/O引脚的工作电压是3.3V的(按道理可以承受5V电压),而MCX314As的工作电压是5V,为保险起见,同时也为了增加信号之间传输的可靠性,我们在两者信号连接时加入了这“SN74ALVC164245”的芯片来实现电平的转换,同时驱动信号。
为了充分利用数控系统的硬件资源,确保数控系统的实时性,采用了Linux这个多任务实时性强的操作系统。根据数控系统的要求,对Linux内核进行了适当的“裁剪”,进一步提高了数控系统的实时性。通过Linux操作系统可以实现数控系统的实时多任务控制。控制系统的软件结构图如图4所示。
图4 数控系统软件结构图
成功的设计好MCX314As运动控制板以及在Linux操作系统下编写调试其驱动程序后,就可以对嵌入式数控系统进行仿真调试。MCX314As是寄存器控制型芯片,所有对MCX314As的控制都是通过读写其内部寄存器来实现的。S3C2440通过总线往MCX314As写入数据,再读出该寄存器的值,经过比较就可以确定MCX314As工作是否正常。当读写测试通过后,就可以往MCX314As写入简单的运动控制命令,通过示波器观察波形来确定MCX314As的运动控制是否正常。
通过编写简单的X、Y2轴直线插补程序,来验证设计的数控系统正确性。以下是编写的应用程序,其功能是实现起点为(0,0)终点为(8,4)的直线插补。
WR5←0004h;将ax1设为X轴,将ax2设为Y轴
WR6←1200h;范围:8 000 000(M=1)
WR7←007Ah;
WR0←0100h;
WR6←01F4h;初始速度:500 PPS
WR0←0104h;
WR6←03E8h;驱动速度:1 000 PPS
WR0←0105h;
WR6←0008h;X轴终点:8
WR7←0000h;
WR0←0106h;
WR6←0004h;Y轴终点:4
WR7←0000h;
WR0←0206h;
WR0←0030h;置2轴直线插补命令
把该程序下载到ARM9主控板中,运行嵌入式Linux,运行驱动,控制MCX314As运动控制板。图5为X、Y直线插补理论轨迹及脉冲波形图,图6为通过示波器测量的X、Y轴直线插补实际脉冲波形图。
根据以上例子中程序以及所得到的结果,大致可以说明设计的嵌入式数控系统是可以正常运行的。
图5 X、Y轴直线插补理论轨迹及脉冲波形图
图6 X、Y轴直线插补实际脉冲波形图
MCX314As是一款功能强大高度集成化的运动控制芯片,实现四轴三联动的位置、速度加速度控制和直线、圆弧、位元3种模式的连续插补和位置闭环控制。ARM处理器S3C2440是工业级高性能处理器,具有强大的32位RISC性能,体积小、功耗低等特点。采用专业运动控制芯片和ARM处理器能的嵌入式数控系统设计能大大减轻研发任务,加快研发速度,能够在较短时间内开发出性能优良的数控系统。而经过适当“裁剪”的Linux系统加入,使得数控系统能更好的进行多任务处理,极大的提高了系统的实时性。
[1] 叶佩青,汪劲松,MCX314运动控制芯片与数控系统的设计[M].北京航空航天大学出版社,2002.
[2] 余张国.基于ARM和MCX314A的嵌入式运动控制器,微计算机信息,2005.
[3] Zhang Jin-huan,"Research and Development of an Embedded Numerical Control System", The 1st Symposium on Digital Manufacture,2006.
[4] 金晟,傅建中,陈子辰.基于ARM的嵌入式数控系统设计[J].机电工程,2005(2):56-58.
[5] 于明.ARM9嵌入式系统设计与开发教程[M].电子工业出版社,2006.