基于PCI 总线的四轴运动控制卡的研制
1.引言
本项目是用于华南理工与广东风华集团合作的动臂式贴片机(也称拱架型贴片机)的拾取/贴装头的四轴控制,X,Y轴为水平面方向运动,Z轴为拾取/贴装头拾取、贴装芯片方向运动,U轴为调整芯片角度方向旋转运动[7]。
根据项目要求,采用MCX314as为运动控制核心,上位机只需将运动参数写入MCX314as的寄存器,各种复杂的运动控制,插补计算均由 MCX314as完成,极大地提高了运算和控制速度,通过PCI9052为PCI桥接口与计算机通信,完成了4轴伺服/步进电机控制,实现位置,速度,加速度控制和直线、圆弧插补的功能。
2.运动控制卡的硬件结构
运动控制卡的硬件结构主要是由PCI接口芯片PCI9052、运动控制芯片MCX314as以及相应的光耦隔离、差动传输等电路组成,如图1。其中,DB代表数据总线,AB代表地址总线,CB代表控制总线,轴输出为四个轴的输出脉冲,I/O为输入输出控制信号等。
2.1PCI总线接口
PCI局部总线是一种独立于处理器的高性能、低成本、开放型总线,它的这些优点,使其得到迅速普及和发展,并成为事实上的微型机的总线标准,而且在嵌入式计算机和工业控制计算机方面得到广泛的应用。它可分为32位数据/地址复用总线和64位数据/地址复用总线两种,总线的速度分为最高达33MHz和 66MHz两种。数据传送速度最高可达528MB/s[2]。我们采用的是32位总线,33MHz的速度。
目前实现PCI接口的方案可分为使用CPLD和使用专用芯片两种。使用CPLD实现PCI接口比较灵活,但实现起来复杂。采用专用芯片可以降低设计难度,缩短开发时间。因此,我们采用PLX公司的PCI9052专用芯片来实现PCI总线接口。总线接口见文献[1](21页)。
图1:PCI卡总体设计
PCI9052是PLX公司为扩展适配板卡推出的一款高性能、低价位的PCI总线从模式接口芯片。芯片引脚可直接与适配板卡金手指相连,它的各个引脚的名称和功能可参考它的DATASHEET[1]。局部总线与MCX314as的数据线、地址线、控制线等相连。
PCI9052芯片的主要特点如下:
(1)符合PCI2.1规范,支持简单的ISA到PCI的桥接转换;
(2)支持局部总线到内存和I/O映射;
(3)PCI中断信号由局部总线的两个中断信号LINTI1、LINTI2产生;
(4)局部总线与PCI总线的时钟相互独立运行,兼容高低速设备。局部总线的运行时钟频率范围0~40MHz;PCI的运行时钟频率范围0~33MHz。
(5)可通过EEPROM的配置改变局部总线的操作,支持多路复用作和非多路复用8位、16位和32位通用局部总线;
(6)串行EEPROM接口,连接的串行EEPROM用于存放设备ID和局部总线配置等重要信息;[1]
2.2局部总线接口电路
PCI9052与MCX314as连接的电路如图2所示:
图2:PCI9052与MCX314as连接
MCX314as是一个用于实现4轴运动控制的集成电路。通过它可以控制由步进电机驱动器或由脉冲型伺服电机驱动的4轴位置、速度和插补[3]。它的所有功能都是由特定的寄存器控制的。通过对寄存器的设置,可以实现运动控制。它的电平与PCI9052相兼容,可以直接连接。
根据MCX314as本身的特性,PCI9052的局部总线采用非复用的16位数据总线的ISA模式,将PCI9052的MODE(68脚)接地,为非复用模式,ISA模式的寄存器配置在章节3中详细说明。PCI9052的ISA模式下,LRESET为正逻辑,而MCX314as的复位信号为反逻辑,所以两者要通过反向器连接。BUSY#和INTN#应加电阻后拉高,以加快数据传输中的等待和中断后的恢复。
2.3MCX314as的信号接口电路
MCX314as是运动控制卡的核心,通过对它的八个控制寄存器和八个状态寄存器的操作可实现四轴的速度、位置、插补控制。如图3所示是单轴驱动系统的连接图。4轴系统于它相类似,每个轴采用相同的设计既可。
图3:MCX314as驱动系统
MCX314as输出驱动脉冲有两种形式:一种是正、负脉冲形式,以X轴为例,既XPP输出脉冲时,X轴正向旋转,XPM输出脉冲时,X轴反向旋转,四轴与此相同;另外一种是脉冲、方向形式,以X轴为例,XPP管脚在此复用为PLS,作为脉冲输出管脚,XPM在此复用为DIR,作为方向信号输出。可通过设置寄存器WR2的D6位来选择输出的形式,为了和我们的电机驱动器相配套,我们选用的是正、负脉冲(CCW)形式,采用差动输出,提高传输距离。
反馈的编码器信号经差动传输、高速光耦隔离后连接在各轴的编码器输入口。编码器的输入信号也可分为两相脉冲输入(nECA,nECB)和上下脉冲输入(PPIN,PMIN),设置WR2的D9位可选择与编码器相兼容的脉冲计数方式。
MCX314as每个轴有8位的I/O信号,其中每个轴的输出有4位(OUT4-7)可作为驱动状态的指示,也可作为通用输出,寄存器WR3的D7用来设定它是否作为通用输出。8位输入中可作为正、负限位,到位、报警等输入信号。I/O为电平信号,可通过光耦与电机驱动器隔离输入、输出。
3.基于PCI9052的板卡的配置
通过对PCI9052的配置寄存器的设置,它可工作在多种模式之下,如C模式、J模式、ISA模式等,每一种模式主要是对应着局部总线的不同工作方式和遵循的不同的总线规范。PCI9052的配置信息存放在所连接的EEPROM中,配置是否正确决定运动控制卡能否正常工作,所以非常重要,对9052的配置也是本次设计的一个重点。
- 用双端口RAM实现与PCI总线接口的数据通讯(05-06)
- 基于PCI总线和DSP芯片的图像处理平台的硬件设计(07-06)
- 基于DSP和PCI总线的通用数字信号处理系统(11-13)
- 一种基于PCI总线和DSP技术的虚拟仪器设计(03-16)
- 基于Linux平台的天气雷达高速数据采集系统设计(03-13)
- 基于DSP与PC机的PCI总线高速数据传输 (07-08)