ARM+PCL6045B的嵌入式运动控制器设计

发布者:明理厚德最新更新时间:2011-06-18 关键字:ARM  PCL6045B  嵌入式运动控制器 手机看文章 扫描二维码
随时随地手机看文章
引 言
   
运动控制器是运动控制系统的核心部件。目前,国内的运动控制器大致可以分为3类:
    第1类是以单片机等微处理器作为控制核心的运动控制器。这类运动控制器速度较慢、精度不高、成本相对较低,只能在一些低速运行和对轨迹要求不高的轮廓运动控制场合应用。
    第2类是以专用芯片(ASIC)作为核心处理器的运动控制器,这类运动控制器结构比较简单,大多只能输出脉冲信号,工作于开环控制方式。由于这类控制器不能提供连续插补功能,也没有前馈功能,特别是对于大量的小线段连续运动的场合不能使用这类控制器。
    第3类是基于PC总线的以DSP或FPGA作为核心处理器的开放式运动控制器。这类开放式运动控制器以DSP芯片作为运动控制器的核心处理器,以PC机作为信息处理平台,运动控制器以插件形式嵌入PC机,即“PC+运动控制器”的模式。这样的运动控制器具有信息处理能力强,开放程度高,运动轨迹控制准确,通用性好的特点。但是这种方式存在以下缺点:运动控制卡需要插入计算机主板的PCI或者ISA插槽,因此每个具体应用都必须配置一台PC机作为上位机。这无疑对设备的体积、成本和运行环境都有一定的限制,难以独立运行和小型化。
    针对这些问题,设计了一种基于ARM+DSP的嵌入式运动控制器。该控制器将嵌入式CPU与专用运动控制芯片相结合,将运动控制功能以功能模块的方式嵌入到ARM主控板的架构,把不需要的设备裁减掉,既兼顾功能又节省成本。该控制器是一种可以脱离上位机单独运行的一种独立型运动控制器,具有良好的应用前景。


1 嵌入式运动控制器的硬件平台设计
   
嵌入式运动控制器的硬件主要包括两个部分:ARM主控板和DSP运动控制板。这两块控制板通过通用I/O口以总线的方式连接在一起。在设计时,可以分别对ARM主控板和DSP运动控制板进行设计,最后再调试。这种将ARM主控板和DSP运动控制板分开设计和调试的硬件方案,将设计难点分散,使设计和调试更简单。
1.1 ARM主控板部分
    本系统采用的ARM芯片为Samsung公司推出的16/32位RISC处理器S3C2440A,主频为400 MHz,最高频率可达533 MHz。ARM主控板以嵌入式处理器S3C2440A为核心,外扩存储器和通用设备接口。ARM主控板的硬件结构框图如图1所示。

    通过通用I/O接口与DSP运动控制板通信,实现ARM主控板与运动控制板之间数据的实时双向传送;外部NAND Flash存储器(64 MB),用于存储系统参数及运动指令;NOR Flash存储器(2 MB),用于存放系统运行程序;SDRAM存储器(64 MB),用于存放临时数据;通过串口、以太网接口、USB接口与上位机系统通信,实现两者之间数据的传送;通过LCD接口,实现320×240分辨率液晶屏的图形与字符显示,并具有触摸屏接口,提供友好的人机交互界面;通过I/O扩展接口,提供可编程的数字I/O通道;通过JTAG接口与PC机通信,实现系统运行程序的仿真调试及下载,软件升级接口。
1.2 DSP运动控制板部分
    本系统DSP运动控制芯片选用PCL6045B。PCL6045B是一种功能十分强大的DSP运动控制芯片。芯片能够控制四轴,并实现两轴到四轴直线差补、两轴圆弧差补。所有插补计算由芯片完成,上位机只需写入圆弧的参数即可,其多轴插补控制功能特别优秀。系统硬件采用主从式双CPU结构模式。主CPU为ARM处理器,负责键盘、显示、网络通信等管理工作;从CPU为PCL6045B运动控制芯片,专门负责运动控制的处理工作。PCL6045B与ARM的通信是靠读写I/O总线上的几个地址来进行指令和数据的传输。控制系统硬件结构框图如图2所示。

1.3 ARM处理器与运动控制芯片的连接
    通过设置引脚IF0与IF1,PCL6045B芯片与不同的CPU相连,如表1所列。

    本系统设置IF1:IF0=0:1,CPU连接如图3所示。

2 嵌入式运动控制器的软件设计
   
本系统可根据被控对象的特征设计不同的模块化用户软件,来满足不同的运动控制任务。模块化软件恰好是Linux操作系统的优点。Linux还可以根据用户的需求实现内核的裁减和定制,源码开放,网络支持功能强大,价格上也更具有竞争优势等。所以该控制器选用Linux作为片上系统(SoC)。但是,Linux并不是一个实时操作系统,因此,通过实时内核补丁RTAI(Real Time Application In-terface),在硬件平台的基础上增加一个实时内核,将Linux内核当作它的优先级最低的任务执行,从而保证运动控制系统的实时性。系统的控制软件分为两个区域:非实时域和实时域。非实时域是建立在普通Linux内核基础上的,其主要包括系统初始化和通信模块。[page]

    ①系统初始化:进行微处理器的硬件初始化,包括输入/输出接口的配置、具体总线通信方式的配置以及伺服系统相关的接口参数配置。
    ②通信模块:负责运动控制卡和上位机之间的坐标值、速度值、数控系统的I/O接口状态、报警状态以及数据链表的传输。
    实时域建立在RTAI实时内核的基础上。其实时任务通过实时进程的方式来完成,一种为周期性(peri_odic)实时进程,另一种为一次性(one shot)实时进程。实时域主要包括如下4个周期性实时线程:
    ①状态检测线程(rt_monitor_thread)。本任务对设备运行状态进行检测,负责从I/O端口读入各个连接的I/O设备值,然后将状态写入状态检测缓冲区中,对设备急停、伺服报警、限位信号进行判断,并进行相应的处理。
    ②插补线程(rt_interpolation_thread)。从译码缓冲区中顺序取得插补数据,然后根据是直线或者圆弧进行插补,插补得到下个周期应该到达的理论坐标值。
    ③位置控制线程(rt_position_thread)。读取计数器中编码器的数值,得到实际的位置,并与插补器中的理论位置坐标作比较。根据差值调节PID参数,并将具体脉冲输出数写入对应的PWM口的脉冲数寄存器中。
    ④功能控制线程(rt_function_thread)。功能控制任务利用RTAI实时管道来传递命令和状态信息的功能。通过管道的命令设置实现Linux操作系统对实时部分RTAI的访问,从而实现运动控制器的运行、暂停、给定速度等状态设置。
2.1 软件平台的建立
    软件平台是系统应用程序开发的基础。本系统软件平台主要包括:ARM-Linux的移植、串行接口驱动开发、USB接口驱动开发、LCD接口驱动开发、触摸屏接口驱动开发、以太网接口驱动开发、文件系统的移植等。这些软件的开发和移植在很多文献中有详细的说明。
2.2 运动控制函数库的设计
   
通用运动控制器的功能主要取决于运动控制函数库。要做成一个开放式的运动控制器,必须编写丰富的运动控制函数库,以满足不同的应用要求。运动控制函数库要为单轴及多轴的步进或伺服控制提供许多运动函数,如单轴驱动、两轴直线插补、3轴直线插补、圆弧插补等等。另外,为了配合运动控制系统的开发,还编写了一些辅助函数,如中断处理、编码器反馈、间隙补偿、通用开关量的输入输出等。这样,用户在开发应用程序时就不必再关心底层的东西,只需根据控制系统的要求编制人机界面,并调用运动控制函数库中的函数,就可以开发出满足要求的多轴运动控制系统。
2.3 对Ljnux进行实时化改造
   
由于Linux不是一个实时操作系统,所以,利用实时内核补丁RTAI(Real Time Application Interface)。RTAI的安装和使用详见参考文献[7]。该控制器所使用的Linux开发环境为ELDK(Embedded Linux DevelopedKit)3.0。Linux内核为Linuxp pc_2_4_devel,而RTAI的版本为24.1.12。由Linux中的init_module()和cleanup_modtde()两个函数加载和卸载实时任务模块,通过这两个函数进行实时线程及其处理函数的创建和回收。其关键程序如下:


2.4 应用软件设计
   
应用软件主要包括人机交互界面的设计、数控指令的编译解释、按键功能的实现、运动状态的监视等。通过操作系统ARM-Linux,可方便地实现上述功能,并进行多任务的调度。运动控制器根据输入的数控指令文件,将其存入NAND Flash中。ARM处理器通过对数控指令进行译码、速度预处理、粗插补计算等,调用运动控制函数,进而发出控制指令控制步进或伺服系统去控制执行部件进行动作,从而达到实现运动控制的目的。

结 语
    本文综合应用ARM嵌入式系统技术、DSP运动控制技术等多种技术开发出高性能的嵌入式运动控制器。该控制器相比传统的基于PC机的运动控制器,具有成本低、体积小、功耗低、功能丰富、运行稳定的特点和优势。以ARM微控器和PCL6045B为核心的嵌入式运动控制器,采用Linux操作系统,经过对其进行实时化改造,使系统能很好地进行多任务处理,保证了系统的实时性。该控制器能够实现高速和高精度的运动控制需求,具有良好的运动控制性能。该运动控制器的设计,为读者提供了一种良好的解决方案,在运动控制领域具有广阔的应用前景。

 

 

关键字:ARM  PCL6045B  嵌入式运动控制器 引用地址:ARM+PCL6045B的嵌入式运动控制器设计

上一篇:基于ARM9和GSM/GPRS的无线可移动红外监测报警系统
下一篇:飞思卡尔Kinetis 微控制器在行业基准测试中创记录

推荐阅读最新更新时间:2024-03-16 12:37

伊斯特:ARM未来几年的版税收入将大增
来自ARM官方微博的消息 J.P.摩根第40次科技媒体电信大会上,ARM CEO伊斯特主题演讲时表示:ARM看好未来royalty版权费的增长潜力,ARM未来几年在半导体市场(TAM)的份额从30%涨到50%,看好今年Mali图形处理器的发货量到1亿。“到2016年之前有40亿台互联网设备的屏幕需求,大部分都要用到图形处理器。这也是为什么分析家预测今年ARM Mali GPU的发货量过亿的原因之一。”伊斯特表示 伊斯特说:“近3年来ARM授权了320个处理器协议,但是目前只有不到1%产生了版权收入(从授权到产生版权还需要几年的时间)。” 伊斯特表示,他预计到2014或2015年,10%至20%的笔记本将配置由三星、高通、德州
[嵌入式]
Broadcom取得ARM Cortex M3处理器授权以开发其下一代无线应用
ARM Cortex-M3处理器降低Broadcom未来蓝牙SoC设计方案的功耗与尺寸 ARM于日前宣布,Broadcom已取得其ARM Cortex-M3处理器之授权,并将整合该技术至新一代无线与网络解决方案。此款多用途(multi-use)授权协议,将进一步协助Broadcom开发其先进的蓝牙产品。Broadcom在取得ARM Cortex-M3处理器授权后,将用来支持高阶无线SoC设计,以开发出更小、更低功耗,以及成本更低廉的平台,并针对各种新兴蓝牙应用与产品的特殊需求进行改良。 Broadcom事业群副总裁暨无线连结事业群总经理Robert A. Rango表示:“ARM Cortex-M3处理器优异的程序代码密度,不
[焦点新闻]
基于ARM和uC/OS的嵌入式SMI网络转换器设计与应用
引言 目前,随着互联网和嵌入式系统的高度发展,越来越多的工业测控设备已经将网络接入功能作为其默认配置,以实现设备的远程监控和信息分布式处理。然而,大量工业现场设备尚不具备网络接口。在IP113F光纤收发器监控系统的开发中,下位机通过单片机与光纤收发器的SMI进行通信以实现监控,上下位机通过RS-232接口传输数据。南于串口传输距离短,工作人员每天都要到现场对数据进行检查和诊断,不胜其烦。针对这种情况,有必要设计一个SMI到Internet的数据传输模块,以便对光纤收发器的运行状况作远程监测。 IP113F芯片简介 IP113F芯片是一款具有网管功能、超低功耗的光纤收发器,支持3.3V I/O,主要通过SMI(
[单片机]
基于<font color='red'>ARM</font>和uC/OS的<font color='red'>嵌入式</font>SMI网络转换器设计与应用
ARM64处理器缓存原理
1. 处理器缓存(缓存和内存之间的区别) 缓存是静态随机访问存储器(SRAM),访问速度接近于处理器的速度,但是集成度低,和内存相比,在容量相同的情况下体积大。内存是动态随机访问存储器(DARM),访问速度慢,但是集成度高,和缓存相比,在容量相同的情况下体积小。 平时我们讲多级缓存:一级缓存(集成在处理器内部,离处理器最近,容量小,访问时间是1个时钟周期);二级缓存(可能在处理器内部或者外部,容量更大,访问时间是大约10个时钟周期);高端处理器有三级甚至四级缓存。在SMP系统中,处理器每个核都有独立一级缓存,所有核共享二级缓存。 2.缓存结构 我们平时所看到32KB四路组相连缓存(32K-4-way set associa
[单片机]
<font color='red'>ARM</font>64处理器缓存原理
ARM协处理器CP15介绍
概述 在基于ARM的嵌入式应用系统中,存储系统的操作通常是由协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。而访问CP15寄存器的指令主要是MCR和MRC这两个指令。 MRC:协处理器寄存器到ARM处理器寄存器的数据传送指令(读出协处理器寄存器)。 MCR:ARM处理器寄存器到协处理器寄存器的数据传送指令(写入协处理器寄存器)。 1、指令格式 MRC{cond} p15, Opcode_1 , Rd , CRn , CRm , Opcode_2 MCR{cond} p15, Opcode_1 , Rd , CRn , CRm , Opcode_2 cond:为指令执行的条件码。当cond
[单片机]
<font color='red'>ARM</font>协处理器CP15介绍
ARM新的穿戴式参考设计选用两家公司的NFC解决方案
中国,2016年3月8日,全球领先的高性能传感器和模拟IC解决方案供应商艾迈斯半导体公司(ams AG,SIX股票代码:AMS),以及横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称:ST;纽约证券交易所代码:STM),今日宣布ARM新的穿戴式参考设计选用两家公司的NFC解决方案提供安全、高性能的NFC和微控制器功能。 由意法半导体和艾迈斯半导体共同开发的NFC解决方案包含意法半导体的ST54E,其系统级封装具有NFC控制器(NFCC)和一个符合GlobalPlatform标准v2.2的安全元件;此外还包括艾迈斯半导体具有增强型NFC技术的AS39230 NFC模拟前端。
[物联网]
<font color='red'>ARM</font>新的穿戴式参考设计选用两家公司的NFC解决方案
基于ARM芯片的网络化电能表设计
引言 目前,测量仪表正向网络化方向发展,每一个单独的嵌入式仪表都将成为Internet上的一个节点。本系统在ARM+RTOS的方式下实现了电子式电能表的网络化,硬件平台以ARM核微控制器LPC2104为核心,软件系统则是在uC/OS-II操作系统下开发的。 系统硬件设计 LPC2104是Philips公司推出的一款以ARM7TDMI-S为核心的32位微控制器。LPC2104内部集成了很多功能,包括128k字节的高速Flash存储器、双UART、多个32位定时器,以及SPI、I2C串行接口和RTC等。其中UART1带有完全的调制解调器接口,可以用于网络产品。 CS5460是Cirrus Logic公司的单相功率/电能计量芯
[单片机]
ARM标准汇编与GNU汇编
前段时间看arm的汇编,发现很多有一个小点,但是借来的书上的语法却没有,问同学也不知道,于是在网上查了一番才发现我书上看到的是arm的标准汇编,而有小点的gnu的汇编,于是将收集到的资料整理后放到这里来。 GNU汇编语言结构 主要包括三个常用的段: data 数据段 声明带有初始值的元素 bss 数据段 声明使用0或者null初始化的元素 text 正文段 包含的指令, 每个汇编程序都必须包含此段 使用.section 指令定义段, 如: .
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved