产品中心
拓展型X系列伺服电机
基于S3C2440和专用DSP的嵌入式四轴运动控制器
来源:安博    发布时间:2024-06-05 04:02:20

  日渐暴露出高成本、高消耗、低可靠等问题,已经不能够满足现代制造的要求 。随着具有体积小、低成本、低功耗的特点,决定其在运动控制领域拥有非常良好的发展前景。

  PCL6045BL是一种新型专用DSP运动控制芯片,它具有强大的数据处理能力和较高的工作速度,能轻松实现高精度的多轴伺服控制。为解决精密制造对低成本、可移植性强的通用型多轴数控系统的迫切需求,文中给出一种基于ARM 微处理器S3C2440与DSP运动控制芯片PCL6045BL构成的嵌入式四轴运动控制器。该运动控制器具有高性能、低成本、体积小、可独立运行等特点,能够完全满足运动控制管理系统高速、高精度的 要求。它可大范围的应用于雕刻机、机器人、绣花机以及数控加工等工业控制领域。

  为解决精密制造对低成本、可移植性强的通用型多轴数控系统的迫切需求,给出一种基于ARM微处理器S3C2440和专用DSP运动控制芯片PCL65045BL组合的嵌入式四轴运动控制器。硬件上该控制器采用ARM DSP的主从式双CPU结构,结合ARM在人机界面显示、通信接口方面的优势以及PCL6045BL高控制精度的优点。软件上在S3C2440上移植μC/OS-II实时操作系统来管理运动控制管理系统。该控制管理系统通用性较强,可大范围的应用于雕刻机、机器人、绣花机以及数 控加工等工业控制领域。

  硬件最重要的包含S3C2440嵌入式主控板和PCL6045BL运动控制板两个部分。S3C2440嵌入式主控板和PCL6045BL运动控制板之间通过通用的IDE进行连接。

  软件方面在硬件平台的基础上移植S3C2440实时嵌入式操作系统,设计Boot Loader、外设驱动以及运动控制管理系统的应用程序。采用上述的软硬件平台,嵌入式运动控制器能够达到开放性能好、精度高的要求。本嵌入式四轴运动控制器的结构如图1所示。

  ARM有着非常丰富的片内外围电路,如USB接口、IIS接口、LCD控制器等,在人机界面的显示、通信接口以及系统移植方面具有更强大的功能。PCL6045BL运动控制芯片速度快,可靠性高,性能好,在运动控制方面有很大的优势。

  实时操作系统μC/OS-II包含了实时内核、任务管理、时间管理、任务间通信同步和内存管理等功能,可以使各个任务独立工作,互不干涉,很容易实现准时而且无误地执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化 。将S3C2440处理器、PCL6045BL 以及μC/OS-II三者的优势应用到本嵌入式四轴运动控制器中可以使其具有强大的功能,并缩短开发时间。

  本嵌入式四轴运动控制器以S3C2440为主控平台,在ARM上移植μC/OS-II实时操作系统来进行人机界面的显示、I/O的管理、任务问的通信、指令的编译等工作。PCL6045BL运动控制模块主要负责位置控制,插补驱动,速度控制。用户的指令通过S3C2440指令编译系统的编译,通过与PCL6045BL之问的专用通信接口来控制DSP运动控制芯片发出脉冲以达到使伺服电机高速运行。

  在控制系统中,以S3C2440处理器为主控,PCL6045BL运动控制芯片为从CPU,构建的嵌入式运动控制器结构如图2所示。

  S3C2440是一款16/32位ARM920TRISC处理器,它实现了MMU、AMBA总线 KB数据哈佛结构的缓存,每个缓存均为8个字长度的流水线提供全面的、通用的片上外设,不需要配置额外的部件。PCL6045BL运动控制芯片,由NPM公司生产,是一种通过总线接收CPU命令、并产生脉冲控制步进电机或脉冲驱动型伺服电机的CMOS大规模集成芯片,可提供多种输出运动控制功能,包括连续、定长、回原点等输出方式。PCL6045BL能轻松实现2~4轴线性插补及任意两轴圆弧插补。在这种主从结构框架基础上,主CPU S3C2440主要负责数据的存储、人机界面的显示、网络通信等管理工作。从CPU PCL6045BL输出的脉冲发送给4个轴的伺服驱动器。S3C2440只需要通过发送简单的指令给PCL6045BL,便可实现各种控制功能。

  PCL6045 BL与ARM的通信是通过读写I/O总线上的几个地址来进行指令和数据的传输。PCL6045BL每个轴的内部寄存器地址由A0、A1 和A2地址线输人决定,其控制地址范围由输入端子A3和A4做出合理的选择。因此在这种主从结构的设计中,ARM与PCL6045BL的连接如图3所示。

  嵌入式四轴运动控制器与伺服电机之间是通过I/O接口电路进行连接的。I/O接口电路主要任务是完成输入信号光电隔离以及对输出脉冲的驱动。设计中采用光电耦合器将PCL6045BL芯片与后面的伺服电机驱动器以及其他控制反馈等线路隔离。由于光耦合器输入输出问互相隔离,电信号传输具有单向性等特点,因而拥有非常良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。将PCL6045BL的输出信号(如CP、CW等)和输入信号(如报警、限位等)都使用光耦器件与PCL6045BL隔离,这样能有效地防止干扰信号进入主芯片损坏PCL6045BL。

  系统软件部分由μC/OS-II实时嵌入式操作系统及相关应用软件组成。μC/OS-II实时嵌入式操作系统仅仅提供了一个任务调度的实时内核,因而需要自行开发一系列与系统运行相关的设备驱动程序、API函数及应用程序,才能将μC/OS-II扩展为一个完整、实用的实时操作系统。

  嵌入式系统中,通常并没有像BIOS那样的固件程序,因此总系统的加载启动任务就完全由Boot Loader来完成。Boot Loader是系统加电后运行的段代码,负责初始化系统并启动操纵系统,相当于PC机的程序。Boot Loader初始化硬件设备,建立内存空间的映射图,为终调用操作系统内核准备好正确的环境。

  Boot Loader分为阶段1和阶段2两个部分,与CPU核以及存储设备紧密关联的处理工作通常都放在阶段1中,且可以用汇编语言来实现;而阶段2则通常用C语言来实现一般的流程以及对板级的一些驱动支持。

  阶段1主要进行定义入口、设置中断向量、系统寄存器配置、初始化寄存器等操作。而阶段2主要完成调用初始化函数、初始化闪存设备、初始化内存分配函数等操作。Boot Loader是嵌入式系统软件开发的个环节,把实时操作系统和硬件平台紧密地结合起来,对于嵌入式系统的软件开发尤为重要。

  嵌入式实时操作系统μC/OS-II是一个源代码公开的多任务实时操作系统内核,它简化了应用软件的设计,使控制管理系统的实时性得到保障。良好的多任务设计,有助于提高控制管理系统的稳定性和可靠性。所谓移植,是通过修改操作系统内核与处理器相关部分的源代码,使一个实时内核能在微处理器或微控制器上运行。μC/OS-II的文件系统结构包括代码部分,配置代码部分,处理器相关代码部分,如图4所示。其中处理器相关代码部分包括OS_CPU.H,OS_CPU.A.ASM,OS_CPU.C.C 3个文件。将μC/OS-II移植到S3C2440只需要修改与处理器相关的代码即可。

  实时应用程序的设计过程包括如何把问题分割为多个子任务,每个子任务都是总系统的一部分,都被赋予一定的优先级,有自己的一套CPU寄存器和堆栈空间。一个任务,也叫一个线程,是一个简单的程序,该程序能认为CPU完全只属于自身个人。在本设计中将任务划分为人机界面的设计、数控指令编译解释、伺服单元采集任务、状态监视等。μC/OS-II可根据优先级启动各个任务,并通过内核来达成目标之间的调度。系统的基本流程如图5所示。

  S3C2440根据系统的应用程序对指令进行解释,调用运动控制函数,继而PCL6045BL发出脉冲控制伺服电机去控制执行机构动作,实现运动控制的结果。

  运动控制器接受来自上位机发送过来的加工文件,但加工文件指令在程序中不能直接被识别,在执行指令之前必须先对其进行解析译码。解释器的基本功能就是将用户程序以程序段为处理单位,将程序中的轮廓信息、工作速度和辅助功能信息,转换成嵌入式运动控制器能够执行的格式。解释过程最重要的包含数控文件的读入、词法分析、语法分析以及加工信息存储数据结构等过程,如图6所示。

  上位机通过RS485总线连接,把NC指令文件输入到ARM 中,经过NC代码解释器,变成PCL6045BL能够识别的代码,从而完成相关的规定的运动控制功能。用NC代码编写如下加工程序:

  该运动控制器的硬件结构是基于微处理器S3C2440和PCL6045BL运动控制芯片设计的,它较好地发挥了ARM处理器的高性能、低成本和运动控制芯片的高可靠性、开发周期短的优点;在控制器硬件平台上移植μC/OS-II实时操作系统既能使整个软件系统结构简结、层次清晰,又能很好地达到运动控制实时性的要求。

  启动地址1.为什么nand启动地址是4096?指令:ldr sp, = 4096因为

  会自动把nand flash中前4K代码数据搬到内部SRAM(0x4000,0000)中,同时还把这块

  是SOC,所以会有很多外设,一般驱动外设的办法能够分为:通过CPU访问相应的的寄存

  大概七八年前,大概是2010年,还在大学的时候就开始接触Linux,还买了一块天嵌的

  的开发板。当时热情高涨,几天内就看了很多教学视频,也用示例例程做了一些实验。短短几天内就感觉自己这艘

  是32位的,所以能寻址4GB(2^32=4GB)的空间。前1GB的地址(0x0000 0000 ~ 0x4000 0000)为外设地址空间,还有一部分为CPU内部使用的特殊功能寄存

  是System On Chip(SOC),在芯片上不仅仅有CPU还有一堆外设。至于有哪些外设,能查看参考手册。在

  主要是板卡结构,采用的总线大都为ISA、PCI。由于它们的应用依附于通用PC 计算机平台,从工业

  ,SDRAM读写细节及工程架构5、ADS集成开发环境与Keil for ARM环境的熟悉与搭建6、

  语言学习,7、外围电路设计及驱动实践8、交叉编译环境的熟悉与搭建9、基于

  )天祥开发板闲置,有需要请联系我QQ:***:,9.5成新附带全套视频教程,两张光盘原售880,现在580网址

  )天祥开发板闲置,有需要请联系我 ,手机:,9.5成新附带全套视频教程,两张光盘原售880,现在580网址

  )天祥开发板闲置,有需要请联系我。 ,手机:,9成新;附带全套视频教程,两张光盘;原售880,现在580;网址

  时钟来源于两种,可以从图的左上角找到这两种来源XTIPLL:外部晶振时钟EXTCLK:外部时钟具体ARM使用的是哪一种时钟,由寄存

  )天祥开发板闲置,有需要请联系我 ,手机:***,9.5成新附带全套视频教程,两张光盘原售880,现在580网址

  )天祥开发板闲置,有需要请联系我 ,手机:***,9.5成新附带全套视频教程,两张光盘原售880,现在580网址

  不断出现,并大范围的应用于工控、通信、PDA、安保等领域。基于ARM920t内核的

  开发板市场中占有举足轻重的地位。核心板参数基本信息参数CPUSamsung

  UCOS-II移植的上机过程准备工作移植编译链接源程序烧写、调试博客同款例程KEIL MDK

  本帖最后由 eehome 于 2013-1-5 09:46 编辑 arm9

  ,DM64xx(dm6446),am3359,dm3730可联系 或者电线C2440

  系统网络数据交换。论文在重点阐述了网络接口电路基础之上,对Windows CE系统

  ,可以直接接LCD液晶屏吗?还是需要一个LCD液晶驱动?不是很懂,大虾们帮帮忙吧

  领域的研究人员广泛关注,并在实际应用中展露出显着的优势。本文提出了一种基于DM9000AE网络接口芯片和32位三星ARM9处理

  本帖最后由 qzq378271387 于 2012-8-16 14:36 编辑 基于

  来产生符合VGA显示要求的时序逻辑,ADV7120将数字RGB信号转换成VGA显示需要的模拟彩色信号。通过TFT—LCD扫描显示的时序与VGA扫描显示时序的匹配来驱动VGA显示。测试根据结果得出,方案切实可行,达到正常显示色彩信息的要求。

  、USB存储介质较SD(Secure Digital Memory Card)卡存储速度更快、支持更大容量等优点,提出了基于

  、USB存储介质较SD(Secure Digital Memory Card)卡存储速度更快、支持更大容量等优点,提出了基于

  Linux内核设计【作者】:周润;谢永乐;【来源】:《中国仪器仪表》2010年03期【摘要】:简要介绍基于

  PC独立运行等优势,得到了快速地发展与广泛应用。本文主要研究基于OMAP平台的

  采用ALTERA公司的复杂可编程门阵列(CPLD)EPF6016实现硬件管理功能,硬件的功能能通过软件配置,而应用层的功能如

  系统中,晶振就像心脏。必须先确定晶振,设置好系统的时钟, WDT,UART,PWM,TIMER 等模块才能正常工作。 和51 系列单片机相比,

  打开MPLL(锁相环电路,用于提高系统时钟频率),把12M或者24M的时钟频率提高到100-400M(针对于

  训练神经网络算法都会头皮发麻,PC上的I7、GPU上都很吃力,大部分都要依靠服务

  . NandFlash原理分析第十一讲 ADS工具的使用,建立硬件调试环境1. 建立ADS工程2. 系统代码

  的学习面广切碎,刚开始啥都不懂,学着学着感觉很多都会了,但是有时间回过头来再细分析一些事情的时候,发现还是

  本帖最后由 一只耳朵怪 于 2018-6-26 09:56 编辑 [table][tr][td]

  . NandFlash原理分析第十一讲 ADS工具的使用,建立硬件调试环境1. 建立ADS工程2. 系统代码

  系统的实时操作系统。其模块化设计使研发人员可以根据需求定制设备。目前,国内

  . ADS集成开发环境的安装 4. HJTAG工具的使用 5. USB驱动的安装 6. 使用USB下载程序 第

  、USB存储介质较SD(SecureDigital MemoryCard)卡存储速度更快、支持更大容量等优点,提出了基于

  Linux开发过程中需要为指定设备编写和编译驱动程序,这与以往在PC机上的Linux驱动开发明显不同,本文设计了基于

  Linux开发过程中需要为指定设备编写和编译驱动程序,这与以往在PC机上的Linux驱动开发明显不同,本文设计了基 于

  系统中很重要的一个参数,它决定了系统的计算速度和精度,是系统稳定性的重要的条件


版权所有:安博   粤ICP备20005664号
友情链接:安博电竞官方下载

使用条款 | 隐私政策 | 网站地图