本文介绍了一种选用PCI专用接口芯片PCI9052作为PCI总线与运动操控芯片MCX314as的接口桥,完结4轴运动操控卡的硬件规划方法。首要给出了运动操控卡的整体结构,PCI总线接口标准、部分总线接口电路、MCX314as的信号接口电路。然后,给出了PCI9052板卡ISA方法下双片选的装备方法。最终,给出了用DriverStudio开发WDM驱动程序的方法。
1.导言
本项目是用于华南理工与广东风华集团协作的动臂式贴片机(也称拱架型贴片机)的拾取/贴装头的四轴操控,X,Y轴为水平面方向运动,Z轴为拾取/贴装头拾取、贴装芯片方向运动,U轴为调整芯片视点方向旋转运动。
依据项目要求,选用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:PCI卡整体规划
PCI9052是PLX公司为扩展适配板卡推出的一款高性能、低价位的PCI总线从方法接口芯片。芯片引脚可直接与适配板卡金手指相连,它的各个引脚的称号和功用可参阅它的DATASHEET。部分总线与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和部分总线装备等重要信息;
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的装备也是本次规划的一个要点。
3.1数据装备
部分总线为16位的ISA总线,与MCX314as相兼容,可直接衔接,涉及到的仅仅I/O信号,占用部分总线的片选3(CS3#)如图2。别的,还衔接一片64KB的RAM做它用,与运动操控卡无关,它涉及到的是存储器信号,占用片选2(CS2#)。在ISA方法下无实践的片选1和片选2。
本卡的EEPROM装备信息表如下:
上表中显现的是装备数据,未列出的寄存器都设置为0。PLX公司的厂商ID为10B5H,设备ID为9052H。分类号表明的是何种桥,以及当时的版别,PCI9052为02h。子体系ID和子制造商ID分别为9052H和10B5H。PCI9052仅支撑INTA#,所以PCIILR(PCI中止寄存器)D8=1或许D8=0不运用中止。PCI9052有0到3共四个部分地址空间,其间空间0有必要被装备为存储器空间规模,空间1有必要被装备为I/O 空间规模。依据PCI9052的DATASHEET参阅文献[1]的阐明,空间0装备数据为FFFF0000H,空间规模为64KB,D0=0表明装备为存储器空间规模,见表中基地址为04000000H,运用片选2(CS2#)。空间1装备数据为FFFFFFF1H,I/O的空间规模为16个字节,D0=1表明装备为I/O空间规模。ISA方法下复用出来的两个片选管脚(CS2#,CS3#)是否输出,分别由片选信号2基地址和片选信号3的基地址来确认。片选信号基地址的D0=1为片选使能,片选基地址的确认,为空间1或0的基地址加上所装备空间地址的规模,超出这个规模,片选便没有输出。部分地址空间0或1总线区域描述为00400022H和0040003AH,确认为16位部分数据总线。中止操控及状况寄存器为00001000H,不运用中止,它的D12=1确认部分总线为ISA方法。操控寄存器确认了它的各个复用管脚输入/输出功用,以及初始化操控。
用含有以上装备数据的EEPROM来发动板卡,核算机将为它分配03000000H-0300000FH这16个I/O端口和04000000H-04010000H这64KBytes存储器空间。
3.2选取、装备EEPROM的注意事项
1)串接EEPROM端信号有如下几种:时钟信号(EESK)、读数据信号(EEDO)、写数据信号(EEDI)和片选信号(EECS)。时钟信号(EESK)是由PCI总线的时钟32分频后得到的。
2)关于EERPOM的选取要遵从PCI9052上引荐的EEPROM或许与之相兼容的具有连读功用的1Kbit的EEPROM。
3)能够选用在线热装备(经过PCI9052在线装备),软件能够挑选PLX自己公司的PLXMON或许JUNGO公司的WinDriver。笔者是用WinDriverv6.02,在软件装置的Samples目录下的程序PLX9050Diagnostics来读写EEPROM。这种方法比较便利,可是有时会有读写数据过错的状况呈现。也能够用烧录器将装备数据写入EEPROM,这种方法可靠性高,但在试验过程中要重复插拔EEPROM不太便利。
4.驱动程序的开发
ISA总线的地址空间要映射到I/O空间或内存空间。为从PCI总线装备寄存器中取得主机动态分配的映射基址,并对映射端口进行读写,有必要编写驱动程序。
驱动的简略完结能够选用JUNGO公司的WinDriver来生成驱动,可是WinDriver生成的驱动功率不高,并且没有注册码只能运用一个月。因而,咱们选用DriverStudio加WIN2000DDK的方法来开发驱动。在DriverStudio的导游下输入设备ID制造商ID、分类号和子体系ID子制造商ID,生成驱动程序的结构,然后编写需求的程序代码。关于对驱动程序的装置以及在运用程序中的调用能够参看文献[5]。
5.定论
实践证明,选用PCI接口芯片和专用运动操控芯片开发的运动操控卡,开发研发周期短,实用性强,可靠性高。此运动操控卡现已完结硬件调试和驱动编写,现在已完结部分运动操控函数,正在进行运用程序开发