0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈ARM+DSP的嵌入式四轴运动控制器设计

电子工程师 来源:eefocus 作者:eefocus 2021-04-27 16:31 次阅读

导读:动控制系统已被广泛应用于工业控制领域。近年来,工业控制对运动控制系统的要求越来越高。传统的基于PC及低端微控制器日渐暴露出高成本、高消耗、低可靠等问题,已经不能满足现代制造的要求 。随着嵌入式技术的日益成熟,嵌人式运动控制器已经初露锋芒。

运动控制系统已被广泛应用于工业控制领域。近年来,工业控制对运动控制系统的要求越来越高。传统的基于PC及低端微控制器日渐暴露出高成本、高消耗、低可靠等问题,已经不能满足现代制造的要求 。随着嵌入式技术的日益成熟,嵌人式运动控制器已经初露锋芒。基于ARM技术的微处理器具有体积小、低成本、低功耗的特点,决定其在运动控制领域具有良好的发展前景。

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

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

1 系统总体设计

嵌入式四轴运动控制器主要由硬件部分和软件部分构成。

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

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

pIYBAGCHy0SAKl0lAAB5oSpQTbw875.png

图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运动控制芯片发出脉冲以达到使伺服电机高速运行。

2 系统硬件设计

2.1 系统硬件平台设计

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

pIYBAGCHyzGARrBgAAB8v-4gcbQ852.png

图2 系统硬件

S3C2440是一款16/32位ARM920T RISC处理器,它实现了MMU、AMBA总线和独立的16 KB指令和16 KB数据哈佛结构的缓存,每个缓存均为8个字长度的流水线。S3C2440提供全面的、通用的片上外设,不需要配置额外的部件。

PCL6045BL运动控制芯片,由NPM公司生产,是一种通过总线接收CPU命令、并产生脉冲控制步进电机或脉冲驱动型伺服电机的CMOS大规模集成芯片,可提供多种输出运动控制功能,包括连续、定长、回原点等输出方式。PCL6045BL可以实现2~4轴线性插补及任意两轴圆弧插补。

在这种主从结构框架基础上,主CPU S3C2440主要负责数据的存储、人机界面的显示、网络通信等管理工作。从CPU PCL6045BL输出的脉冲发送给4个轴的伺服驱动器。S3C2440只需要通过发送简单的指令给PCL6045BL,便可实现各种控制功能。

2.2 ARM 与PCL6045BL的连接

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

o4YBAGCHyx-AJQk1AAB7aetJH2Y226.png

图3 PCL6045BL与S3C2440的接口电路

2.3 I/O接口电路

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

3 软件设计

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

3.1 Boot Loader的设计

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

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

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

3.2 μC/OS-II在S3132440的移植

嵌入式实时操作系统μC/OS-II是一个源代码公开的多任务实时操作系统内核,它简化了应用软件的设计,使控制系统的实时性得到保障。良好的多任务设计,有助于提高控制系统的稳定性和可靠性。所谓移植,就是通过修改操作系统内核与处理器相关部分的源代码,使一个实时内核能在微处理器或微控制器上运行。

μC/OS-II的文件系统结构包括核心代码部分,配置代码部分,处理器相关代码部分,如图4所示。其中处理器相关代码部分包括OS_CPU.H,OS_CPU.A.ASM,OS_CPU.C.C 3个文件。将μC/OS-II移植到S3C2440只需要修改与处理器相关的代码即可。

o4YBAGCHyxGAbNHbAADI6L_JfBA025.png

图4 μC/OS-II的文件系统结构

3.3 系统应用程序设计

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

o4YBAGCHywGAOLKbAAEoiAZschk993.png

图5 用户程序流程

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

3.4 NC代码解释

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

o4YBAGCHyu6Ab71kAAC5JPM-x6Q700.png

图6 程序处理流程

4 实例分析

上位机通过RS485总线与S3C2440连接,把NC指令文件输入到ARM 中,经过NC

代码解释器,变成PCL6045BL能够识别的代码,从而完成规定的运动控制功能。用NC代码编写如下加工程序:

N001 COO X15 Y25//起始点选定

N002 G18//XY平面选择

N003 G90 G01 X15 Y5//准备直线插补

N004 X30 Y5//(15,5)到(30,5)

N005 X30 Y15//前行至点(30,15)

N006 X45 Y15//前行至点(45,15)

N007 X45 Y5//前行至点(45,5)

N008 X60 Y5//前行至点(60,5)

N009 X60 Y25//前行至点(60,25)

N010 X15 Y25//回到始点(15,25)

根据上面所给的代码可以完成如图7所示的多点之间直线插补的功能。

pIYBAGCHyuCAekBFAABAo1qzrlU577.png

图7 多线段直线插补运动轨迹

5 结语

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 运动控制器
    +关注

    关注

    2

    文章

    393

    浏览量

    24636
  • 微处理器
    +关注

    关注

    11

    文章

    2246

    浏览量

    82283
  • 伺服电机
    +关注

    关注

    85

    文章

    2021

    浏览量

    57661
收藏 人收藏

    评论

    相关推荐

    嵌入式系统中微控制器与微处理的区别

    嵌入式微控制器已成为我们日常接触的众多设备背后的无声指挥者。从用于烹饪食物的微波炉到监测健康的智能手表,微控制器确保这些设备能够精准、可靠地运作。本文的目的是揭示嵌入式微控制器的世界,帮助读者理解
    的头像 发表于 10-14 11:02 289次阅读
    <b class='flag-5'>嵌入式</b>系统中微<b class='flag-5'>控制器</b>与微处理<b class='flag-5'>器</b>的区别

    为何嵌入式控制器首选ARMxy?深度解析

    嵌入式ARM控制器是一种基于ARM架构的嵌入式系统控制器,广泛应用于各种
    的头像 发表于 09-21 10:09 261次阅读
    为何<b class='flag-5'>嵌入式</b><b class='flag-5'>控制器</b>首选ARMxy?深度解析

    【「ARM MCU嵌入式开发 | 基于国产GD32F10x芯片」阅读体验】+书籍整体概况

    案例为按键控制LED亮灭;第章介绍了中断和事件,中断包含嵌套向量中断控制器NVIC,EXTI外部中断/事件控制器以及EXTI外部中断处理的常用库函数简介,中断
    发表于 08-25 22:48

    嵌入式微控制器嵌入式微处理器的联系

    嵌入式微控制器嵌入式微处理器嵌入式系统领域中都扮演着至关重要的角色,它们之间存在着紧密的联系,同时也各具特色。以下是对两者联系及特点的详细探讨。
    的头像 发表于 08-22 10:50 570次阅读

    嵌入式系统怎么学?

    、C++或者Python。这些语言在嵌入式系统开发中都被广泛应用。 3、微处理/微控制器架构:学习常见的微处理和微控制器架构,如
    发表于 07-02 10:10

    基于飞凌嵌入式RK3568J核心板的工业机器人控制器应用方案

    的主要作用是完成多运动的计算与控制,因此机器人控制器的主控就需要拥有高性能的CPU、内置实时操作系统、支持EtherCAT工业总线以及丰富的功能接口。 机器人
    发表于 05-11 09:40

    基于S3C2440和专用DSP嵌入式运动控制器

     PCL6045BL是一种新型专用DSP运动控制芯片,它具有强大的数据处理能力和较高的运行速度,可以实现高精度的多伺服控制。为解决精密制造
    发表于 05-03 10:44 464次阅读
    基于S3C2440和专用<b class='flag-5'>DSP</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>四</b><b class='flag-5'>轴</b><b class='flag-5'>运动</b><b class='flag-5'>控制器</b>

    高性能EtherCAT总线运动控制器ZMC408CE硬件介绍

    ZMC408CE是正运动推出的一款多高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列
    发表于 04-28 12:40 657次阅读
    多<b class='flag-5'>轴</b>高性能EtherCAT总线<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>ZMC408CE硬件介绍

    dsp嵌入式微处理器的一种设备吗 ARM嵌入式微处理器有何特点?

    DSP(Digital Signal Processor)不是一种嵌入式微处理器的设备。DSP是一种专门用于数字信号处理的微处理,它具有高性能和高效率的特点。而
    的头像 发表于 04-21 09:37 893次阅读

    基于飞凌嵌入式RK3568J核心板的工业机器人控制器应用方案

    飞凌嵌入式作为一家专注嵌入式核心控制系统研发与制造的高新技术企业,经过多年的研发与积累,产品已广泛应用于机器人控制系统当中。那么今天,我们就通过多
    的头像 发表于 04-19 15:24 1706次阅读
    基于飞凌<b class='flag-5'>嵌入式</b>RK3568J核心板的工业机器人<b class='flag-5'>控制器</b>应用方案

    嵌入式微处理器嵌入式微控制器的区别

    嵌入式微处理器嵌入式微控制器在多个方面存在显著的区别。
    的头像 发表于 03-29 11:44 1438次阅读

    智能集成:整合模拟元件和ARM控制器内核,解决棘手嵌入式系统问题

    智能集成:整合模拟元件和ARM控制器内核,解决棘手嵌入式系统问题
    的头像 发表于 01-05 18:18 659次阅读
    智能集成:整合模拟元件和<b class='flag-5'>ARM</b>微<b class='flag-5'>控制器</b>内核,解决棘手<b class='flag-5'>嵌入式</b>系统问题

    基于ARM嵌入式电机控制处理构建的模型设计平台

    电子发烧友网站提供《基于ARM嵌入式电机控制处理构建的模型设计平台.pdf》资料免费下载
    发表于 11-24 14:39 0次下载
    基于<b class='flag-5'>ARM</b>的<b class='flag-5'>嵌入式</b>电机<b class='flag-5'>控制</b>处理<b class='flag-5'>器</b>构建的模型设计平台

    79元国产ARM+DSP平台FFT实测分享

    主频高达600MHz。HiFi4 DSP是属于VLIW架构的高性能嵌入式数字信号处理,支持功能丰富且强大,包括在特定条件下每个周期支持8个32 x 16-bit MAC(Multiply Accumulate,表示一个周期完成
    的头像 发表于 11-20 17:23 660次阅读
    79元国产<b class='flag-5'>ARM+DSP</b>平台FFT实测分享