收稿日期:2004-10-25 修订日期:2004-11-02作者简介:金 晟(1979-),男,湖南衡阳人,硕士,研究生方向:嵌入式系统。基于ARM的嵌入式数控系统设计
金 晟,傅建中,陈子辰(浙江大学机械工程学系,浙江杭州310027)
摘 要:提出了一种新的基于ARM的嵌入式四轴数控系统的设计。该设计采用ARM处理器
为主CPU,运动控制芯片为从CPU,并采用实时的μC/OS操作系统,使得系统很好地进行多任务处
理,并保证了运动控制的实时性。
关键词:ARM;运动控制芯片;S3C44B0;PCL6045;四轴数控系统;μC/OS中图分类号:TH164;TP391.8 文献标识码:A文章编号:1001-4551(2005)02-0056-03
TheDesignofControlSystemBasedonARMandHigh2speedPulseGenerator
JINSheng,FUJian2zhong,CHENZi2chen(TheDepartmentofMechanicalEngineering,zhejianguniversity,Hangzhou310027,China)Abstract:ThispaperintroducesanewdesignforfouraxescontrolsystembasedonARMandhigh2speedPulseGenerator.Inthisdesign,ARMismainCPU,andPulseGeneratorissubordinationCPU.Byusingreal2timeoperatingsystemμC/OS,systemcanbegoodatdealingwithmultitaskandtherealtimeofsystemcontrolling.Keywords:ARM;PulseGenerator;S3C44B0;Fouraxescontrolsystem;μC/OS
1 引 言
后PC时代,嵌入式产品逐渐占领市场。高性
能,低功耗,低成本是这些嵌入式处理器的主要特
点。在这些32位嵌入式处理器市场中,ARM占有
78.6%的份额。自20世纪80年代中期以来,数字运动控制芯片伴随着半导体制造业、计算机制造业、
数控机床、工业机器人及其他产业机械的快速发展
而取得惊人的业绩,在一些工业发达国家已形成了
一种新兴的产业。许多公司已经开始采用数字运动
控制芯片生产基于工业控制计算机的控制卡或者独
立型的控制卡。
2 基于ARM与运动控制芯片的控制系统模型2.1 数控系统结构模型及优点
采用运动控器芯片具有以下好处:(1)缩短开发周期。使用运动控制芯片使我们不再需要研发运动控制部分,能够大大缩短项目的
研发时间和工作量。
(2)提高控制性能。用专业高性能运动控制芯片控制,可使电机运动更快、更平稳、更安静、更精确。(3)提高系统可靠性。成熟的运动控制芯片中各项软硬件功能均已相当成熟,比用户自己开发的
更为可靠。同时采用此芯片后,控制器的硬件器件
大为减少,软件程序大为缩短,均有助提高可靠性。
(4)降低软件研发成本。软件开发简单、快速,可以由更少的软件研发人员花更少的时间完成复杂
的运动控制编程。
因此,采用运动控制芯片能够大大减少工作量,并得到更优秀的控制性能。采用运动控制芯片由运
动控制芯片来完成复杂的运动控制,而ARM处理
器用来管理调度。图1表示了基于这种思想开发的
数控系统的结构。
图1 基于ARM与运动控制芯片的控制系统模型・65・Mechanical&ElectricalEngineeringMagazine Vol.22 No.2 2005 机电工程 2005年第22卷第2期2.2 数控系统的硬件结构
ARM处理器选用SANSUM公司的44B0处理芯片。S3C44B0是一款基于ARM7内核的32位RISC架构的处理器。其体积小、低功耗、低成本、性能高,支持Thumb(16位)/ARM(32位)双指令集,能很好
的兼容8位/16位器件。
运动控制芯片选用PCL6045。PCL6045是一种
功能十分强大的DSP运动控制芯片。芯片能够控
制四轴,并实现两轴到四轴直线差补、两轴圆弧差
补。所有插补计算由芯片完成,上位机只需写入圆
弧的参数即可,其多轴插补控制功能特别优秀。
系统硬件采用主从式双CPU结构模式。主
CPU为ARM处理器,用于键盘、显示,网络通讯等管理工作,而从CPU即为PCL6045运动控制芯片,专
门负责运动控制的处理工作。PCL6045与ARM的
通讯是靠读写总线上的几个地址来进行指令和数据
的传输。控制系统硬件结构,如图2所示。
图2 控制系统硬件结构
2.3 ARM处理器与运动控制芯片的连接通过设置管脚IF0与IF1,PCL6045芯片与下面
不同的CPU相连,如表1所示。表1 管脚与CPU连接信号
IF1
IF0CPU管脚与CPU连接信号
RDWRA0WRQ
LL68000
+5VR/WLDSDTACK
LHH8RDHWR(GND)WAIT
HL8086RDWR(GND)READY
HHZ80RDWRA0WAIT
设置IF1∶IF0=0∶1,CPU连接类型如H8。如图
3所示。图3 ARM与运动控制芯片的连接
3 控制系统软件设计
3.1 控制系统软件构架
为了最大的利用系统硬件资源,并且还要保证
实时性,所以使用了μ
C/OS这个多任务实时操作系
统。使用到μC/OSV2.0操作系统,通过它实现多任
务实时控制。程序的编程语言为C语言以及ARM汇编语言。μC/OS的所有源代码都作为本程序的一
部分,并与其它代码一起进行编译和链接。系统的
软界构架如图4所示。
图4 控制系统软件结构图
程序运行时将会先后创建如下任务:(1)TaskStart 系统运行后创建的第一个任务,完成一些初始化工作以及创建其它任务,所有工作
完成后此任务将会被删除。(2)TaskMainMenu 主任务,系统的菜单、网络下载以及测试等都在此任务中完成,进入运动控制
任务后此任务会被挂起。
(3)TaskControl 运动控制任务,负责编织过程中命令发送、运动芯片状态读取、IO口操作等控制。(4)TaskErrorControl 异常处理任务,负责运动过程中的异常处理。・75・机电工程 2005年第22卷第2期 Mechanical&ElectricalEngineeringMagazine Vol.22 No.2 2005(5)TaskStatusControl 运动状态任务,负责运动过程中的状态显示以及参数设置。(6)TaskKeyInt 按键处理任务,负责对键盘输入的接收。
(7)TaskNetHandle 网络任务,负责对网络数据包的处理。(8)TaskStatus 系统状态任务,负责显示CPU利用率、编码器值等系统状态。
3.2 运动控制芯片的控制
ARM处理器通过总线操作,把命令写入运动控制芯片,使运动控制芯片来完成运动控制。运动控
制芯片缓冲地址线4位,接口地址如表2、表3所示。表2 轴地址
A4A3轴地址11X轴10Y轴01Z轴00U轴
表3 每轴命令、buffer及IO口地址
A2A1buffer地址11COME命令地址10OTPWIO口地址01BUFWO运动参数低16位00BUFW1运动参数高16位
指令控制模式过程:(1)往缓冲参数地址写入运动参数低16位;(2)往缓冲参数地址写入运动参数高16位;(3)往缓冲命令地址写入命令(即寄存器地址);当命令写入命令地址后,芯片根据命令(即寄存
器地址),把运动参数写入相应的寄存器(如目标位
置,初始速度,运动速度寄存器等)。每个差数寄存
器赋值都需如上写一次。(4)写入开始运动命令。当所有运动参数都写入后,
往命令地址写入开
始运动命令
,芯片开始产生脉冲。
运动参数读出过程:(1)写入运动参数地址(寄存器地址);(2)读运动参数低16位;(3)读运动参数高16位。 芯片P0~P7管脚如果作为IO口,对其读写操
作,则直接对其地址读写操作。
3.3 FIFO模式的寄存器组
PCL6045内含具有FIFO(先入先出)缓冲功能的三个寄存器组,可使芯片内储存三段运动数据。完
成当前运动任务后,芯片会自动把下段运动的数据
移至当前目标位置寄存器,并在过渡脉冲外保持各
轴速度的连续性。每完成一段运动,PCL6405会设
置标志位并主动通知上位机,上位机只需在下两段
运动完成前填入数据即可,这样上位机可以同时很
好地处理其它工作又能保证各轴运动的连续性。图
5为寄存器组的工作模式。
图5 3个寄存器组工作模式
4 结 论
PCL6045是一款功能强大的运动控制芯片,具有优秀的四轴控制及差补功能,在世界同类产品中
稳居第一位。而ARM处理器具有强大的32位RISC性能,体积小、功耗低,是一款高性能的处理器。采
用运动控制芯片,及ARM处理器,能大量地减轻研
发任务,提高研发速度,能够在短时间内得到控制性
能优秀的数控系统。而μC/OS实时操作系统的加
入,使得系统很好地进行多任务处理,并保证了系统
的实时性。
参考文献:[1] 马忠梅.AT91系列ARM核微处理器结构与开发[M].北京:北京航空航天大学出版社,2003.[2] PCL6045数据手册[Z].NIPPONPULSEMOTORCO.LTD,2001.[3] um-s3c44box数据手册[Z].S
ANSUM公司,2001.[4] 郭 伟.一种基于DSP的四轴运动控制卡的研究与设计[J].电器自动化,2001,(2):18-20.[4] 李志勇,宋颖慧,侯 爽.面向数控设备的嵌入式操作系统NC2Linux[J].计算机工程,2004,(2):142-144.・85・Mechanical&ElectricalEngineeringMagazine Vol.22 No.2 2005 机电工程 2005年第22卷第2期