《基于ARM+DSP的嵌入式四轴运动控制器设计.docx》由会员分享,可在线阅读,更多相关《基于ARM+DSP的嵌入式四轴运动控制器设计.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于ARM+DSP的嵌入式四轴运动控制器设计网络转载导语:随着嵌入式技术的日益成熟,嵌人式运动控制器已经初露锋芒。基于ARM技术的微处理用具有体积小、低本钱、低功耗的特点,决定其在运动控制领域具有良好的开展前景。系统已被广泛应用于工业控制领域。近年来,工业控制对运动控制系统的要求越来越高。传统的基于PC及低端微控制器日渐暴露出高本钱、高消耗、低可靠等问题,已经不能知足当代制造的要求。随着嵌入式技术的日益成熟,嵌人式运动控制器已经初露锋芒。基于ARM技术的微处理用具有体积小、低本钱、低功耗的特点,决定其在运动控制领域具有良好的开展前景。PCL6045BL是一种新型专用DSP芯片,它具有强大的数据
2、处理才能和较高的运行速度,可以实现高精度的多轴伺服控制。为解决精细制造对低本钱、可移植性强的通用型多轴数控系统的迫切需求,文中给出一种基于ARM微处理器S3C2440与DSP专业运动控制芯片PCL6045BL构成的嵌入式四轴运动控制器。该运动控制用具有高性能、低本钱、体积小、可独立运行等特点,可以知足运动控制系统高速、高精度的要求。它可广泛应用于雕刻机、机器人、绣花机以及数控加工等工业控制领域。为解决精细制造对低本钱、可移植性强的通用型多轴数控系统的迫切需求,给出一种基于ARM微处理器S3C2440和专用DSP芯片PCL65045BL组合的嵌入式四轴运动控制器。硬件上该控制器采用ARM+DSP
3、的主从式双CPU构造,结合ARM在人机界面显示、通讯接口方面的上风以及PCL6045BL高控制精度的优点。软件上在S3C2440上移植C/OS-II实时操纵系统来治理运动控制系统。该控制系统通用性较强,可广泛应用于雕刻机、机器人、绣花机以及数控加工等工业控制领域。1系统总体设计嵌入式四轴器主要由硬件局部和软件局部构成。硬件主要包括S3C2440嵌入式主控板和PCL6045BL板两个局部。S3C2440嵌入式主控板和PCL6045BL运动控制板之间通过通用的IDE通讯接口进展连接。软件方面在硬件平台的根底上移植S3C2440实时嵌入式操纵系统,设计BootLoader、外设驱动以及运动控制系统的
4、应用程序。采用上述的软硬件平台,嵌入式运动控制器可以到达开放性能好、精度高的要求。本嵌入式四轴运动控制器的构造如图1所示。图1嵌入式四轴运动控制器的构成ARM具有丰富的片内外围电路,如USB接口、IIS接口、LCD控制器等,在人机界面的显示、通讯接口以及系统移植方面具有更强大的功能。PCL6045BL运动控制芯片速度快,可靠性高,性能好,在运动控制方面有很大的上风。实时操纵系统C/OS-II包含了实时内核、任务治理、时间治理、任务间通讯同步和内存治理等功能,可以使各个任务独立工作,互不干预,很轻易实现准时而且无误地执行,使实时应用程序的设计和扩展变得轻易,使应用程序的设计经过大为减化。将S3C
5、2440处理器、PCL6045BL以及C/OS-II三者的上风应用到本嵌入式四轴运动控制器中可以使其具有强大的功能,并缩短开发时间。本嵌入式四轴运动控制器以S3C2440为主控平台,在ARM上移植C/OS-II实时操纵系统来进展人机界面的显示、I/O的治理、任务问的通讯、指令的编译等工作。PCL6045BL运动控制模块主要负责位置控制,插补驱动,速度控制。用户的指令通过S3C2440指令编译系统的编译,通过与PCL6045BL之问的专用通讯接口来控制DSP运动控制芯片发出脉冲以到达使伺服电机高速运行。2系统硬件设计21系统硬件平台设计在控制系统中,以S3C2440处理器为主控核心,PCL604
6、5BL运动控制芯片为从CPU,构建的嵌入式运动控制器构造如图2所示。图2系统硬件S3C2440是一款16/32位ARM920TRISC处理器,它实现了MMU、AMBA总线和独立的16KB指令和16KB数据哈佛构造的缓存,每个缓存均为8个字长度的流水线。S3C2440提供全面的、通用的片上外设,不需要配置额外的部件。PCL6045BL运动控制芯片,由NPM公司消费,是一种通过总线接收CPU命令、并产生脉冲控制步进电机或者脉冲驱动型伺服电机的CMOS大规模集成芯片,可提供多种输出运动控制功能,包括连续、定长、回原点等输出方式。PCL6045BL可以实现24轴线性插补及任意两轴圆弧插补。在这种主从构
7、造框架根底上,主CPUS3C2440主要负责数据的存储、人机界面的显示、网络通讯等治理工作。从CPUPCL6045BL输出的脉冲发送给4个轴的伺服驱动器。S3C2440只需要通过发送简单的指令给PCL6045BL,便可实现各种控制功能。22ARM与PCL6045BL的连接PCL6045BL与ARM的通讯是通过读写I/O总线上的几个地址来进展指令和数据的传输。PCL6045BL每个轴的内部存放器地址由A0、A1和A2地址线输人决定,其控制地址范围由输入端子A3和A4进展选择。因此在这种主从构造的设计中,ARM与PCL6045BL的连接如图3所示。图3PCL6045BL与S3C2440的接口电路2
8、3I/O接口电路嵌入式四轴运动控制器与伺服电机之间是通过I/O接口电路进展连接的。I/O接口电路主要任务是完成输入信号的光电隔离以及对输出脉冲的驱动。设计中采用光电耦合器将PCL6045BL芯片与后面的伺服电机驱动器以及其他控制反应等线路隔离。由于光耦合器输入输出问相互隔离,电信号传输具有单向性等特点,因此具有良好的电绝缘才能和抗干扰才能。又由于光耦合器的输入端属于电流型工作的低阻元件,因此具有很强的共模抑制才能。将PCL6045BL的输出信号(如CP、CW等)和输入信号(如报警、限位等)都使用光耦器件与PCL6045BL隔离,这样能有效地防止干扰信号进入主芯片损坏PCL6045BL。3软件设
9、计系统软件局部由C/OS-II实时嵌入式操纵系统及相关应用软件组成。C/OS-II实时嵌入式操纵系统仅仅提供了一个任务调度的实时内核,因此需要自行开发一系列与系统运行相关的设备驱动程序、API函数及应用程序,才能将C/OS-II扩展为一个完好、实用的实时操纵系统。31BootLoader的设计嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由BootLoader来完成。BootLoader是系统加电后运行的第一段代码,负责初始化系统并启动操纵系统,相当于PC机的程序。BootLoader初始化硬件设备,建立内存空间的映射图,为最终调用操纵系统内核预备好正确的环
10、境。BootLoader分为阶段1和阶段2两个局部,与CPU核以及存储设备亲密相关的处理工作通常都放在阶段1中,且可以用汇编语言来实现;而阶段2那么通常用C语言来实现一般的流程以及对板级的一些驱动支持。阶段1主要进展定义入口、设置中断向量、系统存放器配置、初始化存放器等操纵。而阶段2主要完成调用初始化函数、初始化闪存设备、初始化内存分配函数等操纵。BootLoader是嵌入式系统软件开发的第一个环节,把实时操纵系统和硬件平台严密地结合起来,对于嵌入式系统的软件开发尤为重要。32C/OS-II在S3132440的移植嵌入式实时操纵系统C/OS-II是一个源代码公开的多任务实时操纵系统内核,它简化
11、了应用软件的设计,使控制系统的实时性得到保障。良好的多任务设计,有助于进步控制系统的稳定性和可靠性。所谓移植,就是通过修改操纵系统内核与处理器相关局部的源代码,使一个实时内核能在微处理器或者微控制器上运行。C/OS-II的文件系统构造包括核心代码局部,配置代码局部,处理器相关代码局部,如图4所示。其中处理器相关代码局部包括OS_CPU.H,OS_CPU.A.ASM,OS_CPU.C.C3个文件。将C/OS-II移植到S3C2440只需要修改与处理器相关的代码即可。图4C/OS-II的文件系统构造33系统应用程序设计实时应用程序的设计经过包括怎样把问题分割为多个子任务,每个子任务都是整个系统的一
12、局部,都被赋予一定的优先级,有自己的一套CPU存放器和堆栈空间。一个任务,也叫一个线程,是一个简单的程序,该程序可以以为CPU完全只属于自己。在本设计中将任务划分为人机界面的设计、数控指令编译解释、伺服单元收集任务、状态监视等。C/OS-II可以按照优先级启动各个任务,并通过内核来完成任务之间的调度。系统的根本流程如图5所示。图5用户程序流程S3C2440根据系统的应用程序对指令进展解释,调用运动控制函数,继而PCL6045BL发出脉冲控制伺服电机去控制执行机构动作,实现运动控制的结果。34NC代码解释运动控制器承受来自上位机发送过来的加工文件,但加工文件指令在程序中不能直接被识别,在执行指令
13、之前必须先对其进展解析译码。解释器的主要功能就是将用户程序以程序段为处理单位,将程序中的轮廓信息、运行速度和辅助功能信息,转换成嵌入式运动控制器可以执行的格式。解释经过主要包括数控文件的读入、词法分析、语法分析以及加工信息存储数据构造等经过,如图6所示。图6程序处理流程4实例分析上位机通过RS485总线与S3C2440连接,把NC指令文件输入到ARM中,经过NC代码解释器,变成PCL6045BL可以识别的代码,进而完成规定的运动控制功能。用NC代码编写如下加工程序:N001COOX15Y25/起始点选定N002G18/XY平面选择N003G90G01X15Y5/预备直线插补N004X30Y5/
14、(15,5)到(30,5)N005X30Y15/前行至点(30,15)N006X45Y15/前行至点(45,15)N007X45Y5/前行至点(45,5)N008X60Y5/前行至点(60,5)N009X60Y25/前行至点(60,25)N010X15Y25回到始点(15,25)根据上面所给的代码可以完成如图7所示的多点之间直线插补的功能。图7多线段直线插补运动轨迹5结语该运动控制器的硬件构造是基于微处理器S3C2440和PCL6045BL运动控制芯片设计的,它较好地发挥了ARM处理器的高性能、低本钱和运动控制芯片的高可靠性、开发周期短的优点;在控制器硬件平台上移植C/OS-II实时操纵系统既能使整个软件系统构造简结、层次明晰,又能很好地到达运动控制实时性的要求。