微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PCI总线的四轴运动控制卡的研制

PCI总线的四轴运动控制卡的研制

时间:12-12 来源:互联网 点击:

的输入信号也可分为两相脉冲输入(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接口芯片和专用运动控制芯片开发的运动控制卡,开发研制周期短,实用性强,可靠性高。此运动控制卡已经完成硬件调试和驱动编写,目前已完成部分运动控制函数,正在进行应用程序开发

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top