1 引言
20世纪90年代以来,随着现代微电子技术,计小闭式系统没有一个强有力的体系结构给以支足以持,在控制软件开发让缺乏持久的开发能力,并且不能进行高可靠性的软件扩展,不能满足用户对其进行二次开发的需求,因此人们提出了放开式的数控系统方案,他具有加工控制的高速化、高精度化,应用环境网络化,集成化,体系结构柔性化,开放化等特点。
现有的放开式数控系统实现方案主要采用PC机和数控系统结合的方法,PC机作为上位机实现较为复杂的网络通信,人机交互等功能,数控系统作为下位机将上位机输入的运行参数经过处理交给执行部件执行,同时将检测系统的反馈信息上传给上位机实现实时监控,各个模块之间协调工作互不干扰,给系统升级带来了方便。
放开式系统动态控制器的核心是DSP,它具有运算速度快,支持复杂运动算法的特点,可以满足高精度运动控制的要求,因此,以DSP为核心的多轴动态控制卡越来越广泛地应用在运动控制系统中,将多轴动态控制卡插在PC机扩展槽上,就可以组成高精度运动控制系统,位置反馈信号的采集、闭环控制计算及控制量的输出均由动态控制卡完成,极大的提高了运算速度和控制响应速度,将工控机的资源从烦琐的数
据采集和计算中解决出来,从而可以更好的实施整个控制系统的管理。作者经过综合调研,采用TI公司的2407系列DSP作为微处理单元,采用PCI总线作为并行总线与PC机进行通讯,同时采用现在比较流行的现场总线技术同现场设备进行通讯,所以这是一个基于现场总线和PCI总线的智能动态控制器。
2 动态控制器的系统构成
2.1 现场总线
基于PCI总线的动态控制器采用现场总线技术,解决了传统串行总线传输速率低,响应速度慢,出错率高等缺点,同时由于现场总线采用数字信号而不是传统的模拟信号作为通信手段,解决了传统数控系统中的难以解决的零漂问题,简化了系统的实现方案,同时这种总线有利于放开式系统的发展。
CAN是德国Bosch公司为解决现代汽车中众多控制与测试仪器之间的数控交换而开发的一种串行数据通信协议,他是一种多主总线,通信介质可以是双绞线、同轴电缆或光纤,通信速率可达1Mb/s,该协议由数据链路层和物理层组成,数据链路层分为逻辑链路控制子层(LIC)和媒体访问控制子层(MAC)。现在已形成该协议的国际标准(ISO1898),CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的帧处理(包括位填充、数据块编码、循环冗余校验等)、CAN总线有CAN2.0A和CAN2.0B两种协议,CAN协议的一个最大的特点是对通信数据块进行编码(取消了传统的对站地址编码),CAN协议采用CRC校验并提供相应的错误信息处理功能,保证了数据通信的可靠性。
CAN总线以其可靠性高、通信速率快、稳定性好,抗干扰能力强,开发成本低等特点, 而被工控领域普遍采用,被公认为最有前途的现场总线之一。
2.2 PCI 总线
作为目前微型计算机主流总线标准的PCI总线,原来是专门为了提高系统数据传输性能,现在作为高性能外设接口,与传统的ISA总线相比,PCI总线有以下特点:
突出的数据传输性能 总线宽度32位(可扩展到64位,)支持突发传输方式,PCI总线规范2.0版支持3MHz总线操作,32位33MHz总线在读写操作中峰值传输速率达到132MB/s(ISA最大传输速率8MB/s);
良好的兼容性能 PCI总线部件和插卡的设计独立于处理器, 定义了3.3-5V两种信号环境,5-3.3V的组件技术可以是使电平平稳过渡;
即插即用 每个PCI设备上都有配置空间能实现自动配置,使系统BIOS和操作系统的系统层软件能自动配置系统部件和插卡;
线主控和同步操作,PCI总线接口芯片可以主控总线,其同步操作可以保证CPU和总线主控同时操作;
总线仲裁机制,PCI总线仲裁能在另一个总线主设备在PCI总线上执行传输时发出,从而提供系统数据传输性能。
在PCI总线的设计上采用了PLX公司的产品PCI9052,这是一种高性能的PCI总线控制器,专门为开发PCI板卡而设计的一种PCI总线控制器,图1是放开式数控系统总体结构框图。
2.3 微处理芯片
动态控制器板卡上有一个高速DSP芯片作为运动控制模块的控制器,该设计选择IT公司生产的TMS320LF2407作为动态控制卡的控制芯片,由于TMS320xx系列DSP芯片是专门为控制电机设计的一款高性能低价位的产品,同时作为控制电机的伺服控制系统也是采用的这款DSP芯片作为伺服控
制器,所以具有良好的通讯和系统兼容性能,TMS3201LF2407内部还有一个CAN控制器模块,这样就不需要另外选择一个CAN控制器,简化了电路设计,同时提高了系统性能。由于DSP芯片和PC机都是控制器,他们对存储器编址是不同的,为了统一编码,在PCI控制器和DSP之间要加一个双口RAM来连接2个控制器。IDT7024是 IDT公司生产的一款双口RAM,他和普遍的RAM不同之处是它有2个地址4单元,1个存储单元,对于PC机来说他就对对应于一段内存单元,对于DSP来说他可以对应于一段片外存储单元,这样就解决了DSP和PC机之间的通信问题,本设计采用的是通用PC机加实时控制单元的递阶式结构。采用放开式数控系统上PC机的Windows环境形成良好的人机界面,利用PC机的资源优势,放开式结构平台(动态控制器)可以集成不同开发商提供的软件并适合连网需要,且具有与硬件无关的特性,设备层高速度、高可靠性,标准化的数字通讯,可满足用户个性化要求且保证高性能、低成本。
3 系统硬件设计原理
基于CAN总线动态控制卡的硬件结构如图2所示,从个人PC机中传入的参数如:加工参数,插补轨迹以及一些状态信
息,通过PCI总线传到PCI控制器PCI9052的高速缓存FIFO中,PCI9052作为总线主设备将PC机传来的信息经过缓存最终存储到双口 RAMIDT7024内,由于双口RAM映射为PC机的一部分内存地址,所以PC机就像操作内存一样将信息存储到双口RAM,等待DSP的读取,DSP定时从双口RAM中读取PC机传来的各种控制信息,DSP的主要功能是根据PC机送来得插补信息,通过插补算法形成伺服控制模块能够接受的动态信息,通过 CAN总线将运动信息传递到伺服控制器,通过伺服控制器来驱动伺服电机运动,从而控制数控机床的运动。
在设计中由于PCI9052,IDT7024都是5V元件,TMS2320LF2407属于3.3V器件,同时PCI插槽提供5V电源模块,所以电路只使用了电压转换电路将5V信号转变为3.3V信号,如图2,由于DSP内嵌CAN控制器,所以外部只需要一个PCAC82520T-CAN收发器就可以直接挂在CAN总线上进行通讯。
4 数控系统的软件设计
放开式CAC系统解决软件公用的最主要措施是采用通用的操作系统,本系统设计PCI动态控制卡可以在Windows90/2000/XP中文操作系统下正常工作,软件框图如图3所示。
为了使系统达到控制要求,需要解决如下几个关键问题:
(1)保证系统相应的实时性
系统对外界信息以足够快的速度进行处理,并在一定的时间内作出响应,本控制系统是利用Windows中断保证实时响应;
(2)协调的进行多任务调度
CNC系统具有多种不同优先级任务,要求系统软件能合理,有序地调度这些任务的运行,多任务意味着多个任务能并行运行,调度的关键在于按照一定的优先权,事件发生的顺序合理的切换各任务的状态;
(3)提供任务通信机制
由于CNC系统中各任务并否是孤立的,任务之间要完成信息交换和资源共享,CNC系统的通信形式有两种,互斥和同步,互斥是针对不可共享资源的访问问题,如大多数外部设备和共享的可读写数据区,同步是指任务之间的协同工作,任务之间的相对速度有不可预见性,必须由任务通信机制达到同步;
(4)提供定时和延时
定时和延时功能一般由时钟提供,CNC系统大部分任务都是依据定时或延迟条件来激活。
5 驱动程序
PCI设备的驱动程序需要解决的问题,首先是即插即用的问题,既如何获取系统分配给该设备的配置资源,然后是如何访问设备I/ O内存映射硬件,如何处理硬件中断,最后还是解决和应用程序的通讯问题。
5.1 获取系统分配的配置资源
本文关键字:动态 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术