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

发布者:中华古风最新更新时间:2016-08-13 来源: eefocus关键字:PCI总线  四轴运动控制卡 手机看文章 扫描二维码
随时随地手机看文章
本文介绍了一种采用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.1 PCI 总线接口

  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.3 MCX314as的信号接口电路

  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这64K Bytes存储器空间。

  3.2 选取、配置EEPROM的注意事项

  1) 串接EEPROM端信号有如下几种:时钟信号( EESK) 、读数据信号(EEDO) 、写数据信号(EEDI)和片选信号(EECS)。时钟信号(EESK)是由PCI总线的时钟32分频后得到的。

  2) 对于EERPOM的选取要遵循PCI9052上推荐的EEPROM或者与之相兼容的具有连读功能的1Kbit的EEPROM。

  3) 可以采用在线热配置(通过PCI9052在线配置),软件可以选择PLX自己公司的PLXMON或者JUNGO公司的WinDriver。笔者是用WinDriver v6.02,在软件安装的Samples目录下的程序PLX 9050 Diagnostics来读写EEPROM。这种方法比较方便,但是有时会有读写数据错误的情况出现。也可以用烧录器将配置数据写入EEPROM,这种方法可靠性高,但在实验过程中要反复插拔EEPROM不太方便。

4.驱动程序的开发

  ISA总线的地址空间要映射到I/O空间或内存空间。为从PCI总线配置寄存器中获得主机动态分配的映射基址,并对映射端口进行读写,必须编写驱动程序。

  驱动的简单实现可以采用JUNGO公司的WinDriver来生成驱动,但是WinDriver生成的驱动效率不高,而且没有注册码只能使用一个月。因此,我们采用DriverStudio加WIN2000DDK的办法来开发驱动。在DriverStudio的向导下输入设备ID制造商ID、分类号和子系统ID子制造商ID,生成驱动程序的框架,然后编写需要的程序代码。关于对驱动程序的安装以及在应用程序中的调用可以参看文献[5]。

5.结论

 

  实践证明,采用PCI接口芯片和专用运动控制芯片开发的运动控制卡,开发研制周期短,实用性强,可靠性高。此运动控制卡已经完成硬件调试和驱动编写,目前已完成部分运动控制函数,正在进行应用程序开发

关键字:PCI总线  四轴运动控制卡 引用地址:PCI总线的四轴运动控制卡的研制

上一篇:CAN现场总线技术的数字交流伺服系统研究
下一篇:PROFIBUS 总线仪表与PLC通讯设置

推荐阅读最新更新时间:2024-05-03 00:35

凌华推出Low-Profile PCI总线GPIB接口控制卡
凌华科技推出 low-profile PCI 总线 GPIB 控制卡 「LPCI-3488」。凌华LPCI-3488 采用高密度的电路设计,尺寸符合 low-profile MD1 标准,并提供标准PCI与 low-profile PCI面板,为标准工业计算机与 slim-type 计算机提供符合 IEEE488.1 与 IEEE488.2 规范的仪器通讯接口。   凌华LPCI-3488 为标准 32位、33MHz low-profile PCI-bus 的 GPIB 接口控制卡。在硬件设计上,LPCI-3488 运用凌华在 PCI 适配卡多年来累积的先进技术,支持 3.3V 与 5V 的 PCI 总线。同时,LPCI-3
[新品]
基于PCI总线芯片CH365的数据密码卡设计
  引言   在信息化时代的今天,计算机技术的飞速发展,给人们的生产和生活带来了巨大便利,以前复杂的工作,现在只要单击鼠标即可完成,因此,计算机已经成为人们日常工作和生活的一部分,人们对计算机的依赖程度越来越高,没有计算机的生活简直难以想象。随着计算机在生产和生活中占剧比重的加大,信息安全问题也显得突出重要,失泄密案件时有发生。小到企业商业机密被窃取,给企业造成巨大的经济损失;大到国家安全和军事机密被窃取,给人民的生命财产安全带来严重威胁。在铁路军交管理系统中,对军列的调度是采用密码管理的,这些密码标识了重要的军事目标,同时也只有通过此密码才能访问调度软件,从而调度军列。如果这些密码失窃,重要的军事目标将暴露,同时对军列的调度将出现
[嵌入式]
ISA总线和PCI总线的比较
ISA总线 ISA总线:  (Industry  Standard  Architecture:工业标准体系结构)是IBM公司为PC/AT电脑而制定的总线标准,为16位体系结构,只能支持16位的I/O设备,数据传输率大约是8MB/S。也称为AT标准。 PCI总线 PCI技术规格简介 从1992年创立规范到如今,PCI总线已成为了计算机的一种标准总线。由PCI总线构成的标准系统结构如图一所示。    PCI总线取代了早先的ISA总线。当然与在PCI总线后面出现专门用于显卡的AGP总线,与现在PCI  Express总线,但是PCI能从1992用到现在,说明他有许多优点,比如即插即用(Plug  and  Play)、中断共享等。在这
[嵌入式]
PCI9052在多功能CAN适配卡中的应用研究
0 引言 PCI总线是一种独立于CPU的局部总线,实现PCI接口的方案一般有两种:采用可编程逻辑器件和专用总线接口器件。采用可编程逻辑器件实现PCI接口的好处是比较灵活,但其设计难度很高,因为PCI总线对负载要求、传输数据的建立时间的要求都比较苛刻,同时还需要器件内部实现用于配置的各类寄存器,以及完成逻辑校验、地址译码等工作的寄存器。此外,还需加入FIFO、用户寄存器组和后端设备接口等部分。设计这种PCI总线接口会导致将大量的人力、物力投入到复杂的逻辑验证和时序分析的工作上,开发周期较长。采用专用接口器件虽然没有采用可编程逻辑器件那么灵活,但能够有效地降低接口设计的难度,缩短开发时间。专用接口器件具有较低的成本和很高的通用性,能
[单片机]
PCI9052在多功能CAN适配卡中的应用研究
基于IP核的PCI总线接口设计与实现
嵌入式Internet是随着嵌入式系统的广泛应用和计算机网络技术的发展而产生的一种新概念和技术,嵌入式系统以应用为中心,以计算机技术为基础,且软硬件可裁剪,现已赢得了巨大的市场。随着Internet的发展,各种设备都产生了连接性的需求,从冰箱到电表,似乎所有电器需要连入互联网。通过为现有嵌入式系统增加因特网接入能力来扩展其功能,以Internet为介质实现信息交互,从而产生了嵌入式Internet技术,要实现嵌入式设备的网络化,需要实现TCP/IP网络协议栈,但由于Internet上各种通信协议对计算机存储器、运算速度等的要求比较高,使得嵌入式系统协议栈的开发实现并不顺利。 目前过两个关键因素影响网络协议栈的开发,一是性能和效率
[网络通信]
嵌入式系统中PCI总线仲裁器的设计与实现
PCI(Peripheral Component Interconnect)总线是现今最为流行的工业控制总线之一。它广泛地应用在计算机中,并且由于众多厂商对PCI的良好支持,使得目标嵌入式设备中的很多解决方案都包含了PCI总线。在多主设备的PCI系统应用中,必须对各个主设备提供仲裁授权信号。很多厂家有针对性地发布了PCI仲裁逻辑的专用芯片或者集成了PCI重载逻辑的专用芯片,但使用不够灵活,为了使PCI设备能够更方便地应用在嵌入式系统中,本文介绍了一种基于CPLD(复杂可编程逻辑器件)的PCI总线仲裁器的设计方法,此方法可以为系统量身定制适合于系统本身的PCI总线仲裁器。而不必局限于特定的芯片要求,在体积、功能、成本等诸多方面都有很
[嵌入式]
基于PCI总线CAN卡设计与实现
现场总线CAN(Controller Area Network控制器局域网络)以其高性能、高可靠性及独特的设计,越来越受到人们的重视和青睐,不但在汽车行业中应用广泛,而且在工业控制、机器人、医疗器械、传感器等领域发展迅速。为了扩展CAN总线的功能,与计算机相连,可设计具有CAN接口和PC接口的CAN适配卡,用来收集CAN总线上各个节点的信息,转发给PC机,并可将PC机的命令和数据转发给各个节点以及完成对CAN总线上的用户系统的部分监控和管理工作。 PCI总线是Intel公司推出的一种先进的高性能32/64位局部总线,可同时支持多组外围设备,不受制于处理器,数据吞吐量大 (33MHz总线频率、32位传输时峰值可高达132MB/s)。
[嵌入式]
CPLD在基于PCI总线的功率模块设计中的应用
  引言   在机电一体化控制系统中,直流电机常用于控制系统的执行器,是电机控制的重要部分,能按照处理器指令驱动电机运转实现电机控制。目前直流电机PWM(pulse width modulation,脉宽调制)驱动控制方式应用最为广泛。   2直流电动机的PWM控制原理   直流电动机具有良好的线性调速特性,控制功能简单,效率高及动态特性优异,因此是大多数调速控制电动机的最佳选择。一般直流电机的控制信号包括脉宽调制(PWM)、方向(Dir)和刹车(Brake)信号。而PWM脉宽调制可视为速度信号,通过改变PWM信号的占空比来控制电动机电压,方向信号控制电动机转向,刹车信号控制电动机启停。 由图1看出,PWM调速时,改变占空比
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved