基于DSP的运动控制器的研究与开发_第1页
基于DSP的运动控制器的研究与开发_第2页
基于DSP的运动控制器的研究与开发_第3页
基于DSP的运动控制器的研究与开发_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于DSP的运动控制器的研究与开发文章出处: 发布时间: 2009/10/22 | 539 次阅读 | 0次推荐 |0条留言业界领先的TEMPO评估服务高分段能力,高性能贴片保险丝专为OEM设计师和工程师而设计的产品使用安捷伦电源,赢取iPad2Samtec连接器 完整的信号来源每天新产品 时刻新体验完整的15A开关模式电源摘要: 由于DSP将超强的高速实时处理能力和丰富的外设功能集于一身,目前,以DSP为核心的嵌入式运动控制器已经成为开放式运动控制器的发展主流,并获得广泛的应用。本文通过 对运动控制器基本功能的研究,在分析、消化已有的基于DSP的运动控制器硬件资源基础上,开发了运动控制器的软

2、件系统,详细介绍了运动控制器的软件设计。1 运动控制器硬件结构本运动控制器的硬件结构主要分为如下几个模块:DSP+CPLD 主控模块,包括 DSP 核心 模块和 CPLD 驱动与扩展模块;通信接口模块,包括 PCI总线、USB 总线和串口;I/O 输入输 出接口模块以及外围存储器模块,包括SRAM和FLASH。本运动控制器的硬件结构如图 1 所示。图1 运动控制器硬件结构图1.1 DSP+CPLD 主控模块本系统采用了 TI 公司的TMS320F2812DSP 为控制核心,这是工业界首批 32 位的控制 专用、内含 FLASH 以及高达 150MHz 主频的数字信号处理器,专门为工业自动化、光

3、学网络及自动化控制等应用而设计的。TMS320F2812 采用哈佛总线结构,有独立的程序和数据空间;具有很强的运算能力,能够实时地处理许多复杂的控制算法;片上内存丰富,可支持45 个外设级中断和 3 个外部中断,提取中断向量和保存现场只需 9 个时钟周期,响应迅速; 片上集成了多种先进的外设,包括两个事件管理器(EV)、12 位 A/D、两个串行通信接口(SCI)、一个串行外围接口(SPI)以及一个多通道缓冲串行接口(McBSP)等;其通用输 入/输出多路复用器(GPIO)拥有多达 56 个 I/O 口,在系统的软件开发中正是利用了这些丰富的内外设资源,才实现了系统要求的各种功能。本系统中选用

4、的 CPLD 是Altera公司 MAX3000A 系列的EPM3128,这是一款高性能、 低功耗的基于 EEPROM 的 PLD。由于本系统的控制对象是步进电机,所以设计中主要利用TMS320F2812 的 GPIO 口进行电机控制接口与 I/O 接口的输入输出,但是由于 TMS320F2812是低功耗处理器,其 GPIO 引脚的输出驱动能力有限,而且由于 DSP 是主控核心,负载比 较多,所以将所有输出信号都经过 CPLD 驱动后输出,提高信号的驱动能力。此外,CPLD还用于系统电路的译码,增加系统设计的灵活性和可扩展性。1.2 通信接口模块本系统在用作插卡式运动控制时利用 PCI 总线实

5、现 DSP 与 PC 的通信。PCI(PeripheralComponent Interconnect 外围部件互联)总线是Intel公司联合其他 100 多家公司于 1992 年推 出的基于新一代处理器的一种局部总线,是一种高性能 32/64 位数据/地址复用总线,能为CPU及外设提供高性能数据。PCI 总线具有严格的规范,目前已经发布了 PCI V1.0 和 V2.1规范,保证了其良好的兼容性;PCI 总线与 CPU 无关,与时钟频率也无关,可适用于各种平台,支持多处理器和并发工作;PCI 总线可以提供极高的数据传输速率,还具有良好的扩 展性。因此,PCI 总线在基于计算机总线的运动控制系

6、统,即“PC+运动控制器”的结构中应用十分广泛。本系统选用CYPRESS公司的CY7C68001芯片实现 PC 机和 DSP 之间的 USB 通信。CY7C68001 是通用USB2.0接口控制器,它是基于应用层编程的接口器件,相对于其它基于 链路层编程的接口器件,使用和开发都很方便。本系统采用 DSP 片上的 SCI 串行通信模块以及MAX232芯片转换成标准 RS-232 的通 信信号,实现正常的串口通信。1.3 I/O 输入输出接口模块本系统的输入/输出是通过 CPLD 的逻辑控制来实现的,以提高系统的工作可靠性和设 计柔性。考虑到运动控制器的可扩展性以及 DSP 的 GPIO 引脚的数

7、量,共设计了 16 路数字量输出通道和 16 路数字量输入通道。数字量输出通道主要用于各轴方向、脉冲信号的输出以及一些外部设备的启停控制,如主轴及冷却液的开关控制等;数字量输入通道可根据用户 具体要求来定义其用途,如作为传感器接口,用于零点、限位信号的输入等。为提高系统应用的灵活性,系统输出采用了普通输出和差分输出两种方式,具体使用可由用户自行设定。1.4 外围存储器模块TMS320F2812 芯片内部包括 128KB 的 FLASH 和 18KB 的 SARAM,其中 128KB 的FLASH 用来存储系统软件程序已经足够,但是在实际使用中,考虑到运动控制指令和加工程序需要通过 USB 总线

8、或 PCI 总线下载到运动控制器中,且 DSP 在工作过程中需要处理大 量的数据,仅依靠 DSP 芯片内部的存储空间远远不够,所以考虑外扩一片 FLASH 和一片SRAM 作为用户加工程序存储器和系统的工作存储器,它们通过 CPLD 完成与 DSP 之间的读写操作。本系统选用了 Intel 公司的E28F128FLASH 和ISSI公司的IS61LV51216SRAM。E28F128 是一种采用 CMOS 工艺制成的 8MB FLASH,其读写访问时间为 150ns,此读写周期已经 大于 DSP 对外部端口的读写周期,为了能够和 DSP 的读写周期进行匹配,在对 FLASH 进 行读写操作过程

9、中必须插入等待周期。IS61LV51216 是一种高速异步静态 512KB 的 SRAM, 其读写周期为 10ns,与 DSP 之间可以无需插入等待周期便可以进行读写操作,并可以直接映射到 DSP 外部存储接口的 Zone2 或者 Zone6 区域。2 运动控制器软件结构2.1 系统软件功能设计运动控制器通常作为一个独立的过程控制单元用于工业自动化生产中,它的功能是由硬件和软件共同实现的硬件为软件运,行提供了支撑环境,软件负责实现系统要求的所有功能。本系统软件需要完成控制和管理两大任务,图 2 表示的是其软件功能结构。图2 运动控制器软件功能结构图其中,系统的控制包括位置控制、插补、速度处理和

10、开关量 I/O 控制等,这类任务的实 时性很强,所以软件程序的优先级也较高;系统的管理包括人机界面显示、参数设置和程序 下载等,这类任务的实时性要求不高,所以软件程序的优先级也相对较低。可以说,一个运 动控制系统的基本功能均由上述功能的子程序实现,通过增加子程序可进一步增加系统的功 能。要实现这些功能,必须做好运动控制器的软件规划,划分各个功能模块,才能在 DSP 芯片上设计运行程序。本系统软件主要分为两个层次,包括 PC 层软件和 DSP 层软件,其中PC 层软件在单板式运动控制中主要实现加工程序的传输和下载等功能;在插卡式运动控制中,除此之外,还需实现加工情况显示、加工命令发送等人机交互界

11、面的功能。 运动控制器的主要功能由 DSP 层完成,本课题的主要任务也是 DSP 层软件的程序实现,具体包括:1运动控制 运动控制功能是运动控制器的主要功能,包括位置控制、插补和辅助功能的输入输出I/O 控制。本系统基本功能是实现 XYZ 三轴的运动控制,包括三轴联动的直线插补运动和任意两轴圆弧插补运动,可以实现步进电机的运动控制,提供单脉冲(即脉冲方向)和双脉 冲(即脉冲+脉冲)两种控制方式。2速度控制 速度控制即调速,利用加减速算法,实现系统的平稳运动。系统设计空行程时的运动速度不小于 100KHz,加工过程中的插补运动速度不小于 40KHz;当脉冲当量为 2.5 微米时可达到的空行程和加

12、工的最高速度分别为 15m/min 和 6m/min。3通信功能 运动控制器不是一个孤立封闭的系统,它必须和外界交换数据,主机通信主要完成两个 任务:一个是程序的下载,另一个是控制指令的发送和加工状态的反馈。根据单板式控制和插卡式控制两种不同的应用,分别有不同的通信方式。其中,在单板式控制中,通过 USB总线进行程序下载而通过串口进行控制指令的发送和加工状态的反馈;在插卡式控制中,两种任务都是由 PCI 总线来完成。本系统的多用性特点主要体现在通信方式的不同上,支持PCI 总线方式、USB 总线方式以及异步串行总线方式,供用户自由选择。4参数设置 作为开放式运动控制器,应该允许用户对控制系统的

13、各运动参数进行实时调整与修改。本系统设计将各参数存放在 FLASH 中,允许用户通过人机界面对参数进行修改,修改后的参数将在下次操作中起作用。2.2 系统软件层次设计DSP软件采用模块化和层次化的设计思路,为使结构清晰,整个系统软件按功能群分割为多个文件分别处理和完成相应的任务,主要分为三个层次:1 主控层:不涉及具体操作,只负责各个任务调度、中断安排、时间和优先级处理等, 主控层只有一个文件 main.c,包括主函数和中断函数,在主函数和中断函数中调用算法层的函数来实现系统的各个功能。2 算法层:负责具体任务执行,控制算法实现,系统的主要功能都在算法层实现,包 含的模块由系统要求的各个功能来决定,算法层主要用以实现运动控制、速度控制和系统管理等功能,各模块之间通过标志位来联系,不互相调用。3 接口层:负责与硬件的接口,所有与外设有关的操作都在该层进行处理,接口层中 包括 DSP 硬件资源的定义、系统硬件的驱动等。除接口层外,系统其它层的程序禁止直接对外设进行操作,接口层直接对外设进行操作的函数尽可能做到功能完善。 综上所述,本系统根据以上功能和层次进行软件设计并遵循以下原则:(1)全局性:尽量保证系统各模块负载均衡;(2)正确性:数学推导严密,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论