采用PCI9052设计PCI总线运动控制卡
运动控制芯片
PCI总线是一种先进的高性能32/64位地址数据复用局部总线,可以同时支持多组外围设备。实现PCI总线接口的方法主要有两种:一是采用CPLD或FPGA设计PCI接口,这种方法比较灵活,但是其难度较大,设计周期也较长。二是采用专用的PCI接口芯片,可以大大减少设计者的工作量,从而缩短开发周期,降低开发成本。本运动控制卡采用PLX公司的PCI9052接口芯片进行设计,该芯片符合PCI2.1规范。
与ISA总线相比,PCI总线支持三个物理空间:存储器地址空间、I/O地址空间和配置空间。配置空间是PCI特有的一个空间,所有的PCI设备都必须提供配置空间。PCI9052包含一个用于加载配置信息的串行EEPROM接口,用于装载一个特定适配设备信息。串行EEPROM中存储了PCI9052的重要的配置信息,如设备号、制造商号、设备类型号、局部空间基地址以及局部空间描述符等信息。PCI9052对EEPROM型号的要求是比较严格的,可以使用的包括HolTek的HT93LC46,MicroChip的93LC46B等。
在ISA模式下,EEPROM的使用是必需的,为使PCI9052正常工作在ISA模式下,首先应确保EEPEOM能被找到,并且将PCI9052的第68管脚接低电平。EEPROM的内容非常重要,它直接关系到整个板卡能否正常工作,在设计时要特别注意。
运动控制芯片
传统的运动控制器多采用嵌入式高性能单片机或DSP来实现,但系统集成度不够高,电路复杂,且软、硬件研制周期长。采用专用运动控制器可以提高系统集成度、插补速度及可靠性,同时简化电路,缩短开发周期。
目前市场上有多种运动控制器,如美国的PMD公司以及日本的NOVA、KYOPAL、SEEK公司的产品。本设计采用NOVA公司的MCX312,它能同时控制独立两个伺服电机或步进电机的运动控制芯片。以脉冲串的形式输出,能对伺服电机和步进电机进行位置控制、插补驱动、速度控制等。
● 独立二轴驱动
一个芯片可分别控制2个电机驱动轴的运动。每个轴都可以进行定速驱动,直线加/减速驱动,S曲线驱动等,2轴的性质相同;输出驱动脉冲的范围为1PPS~4MPPS,使用16MHz时钟时,输出脉冲频率精度小于±0.1%。
● 定量驱动和连续驱动
定量驱动是指以固定速度或加/减速度输出制定数量的脉冲,用以移动到确定位置或进行确定的动作,连续驱动连续输出驱动脉冲直至高位的停止命令或外部的停止信号有效,用以原点搜寻、扫描操作、及电机旋转速度控制。
● 插补驱动
可进行相对于当前位置范围-8 388 607~+8 388 607内的2轴直线插补及圆弧插补,插补精度为±0.5LSB,速度范围为1PPS~4MPPS,并可以连续地运用2轴直线及圆弧插补在每个插补节点不停的驱动,其最大速度可达2MHz。
● 位置控制
每轴都有两个32位位置计数器,一个是芯片内部管理驱动脉冲输出的逻辑位置计数器,另一个是管理从外部编码器来的脉冲的实际位置计数器,并可通过内部寄存器的设定,使得当位置计数器同比较寄存器的大小关系有变化时,产生中断。
● 实时监控
在驱动过程中,可以通过实时读取片内部寄存器得到逻辑位置、实际位置、驱动速度、加速度以及加/减速状态(加速中,定速中,减速中)等信息。
● 其他功能
MCX312还具有许多其他重要功能:由外部信号控制进行定量驱动、连续驱动;硬件限制;紧急停止;驱动状态输出;脉冲输出方式选择;输入信号滤波等。
系统设计
在硬件系统中,PCI9052作为连接CPU与运动控制芯片的桥梁,完成了从PCI总线到ISA总线的过渡。CPU通过编程对运动控制芯片进行控制,以实现对两轴运动的控制。
该设计硬件结构如下图所示,PCI9052与PCI总线相连,AD[31:0]、CBE[3:0]、PAR、TRDYN、IDSEL、STOPN、PERRN、SERRN、CLK、RST0、INTA0、LOCKN等是必须实现的信号,EESK、EEDO、EEDI、DDCS与串行EEPROM相连;CPU以16位数据对MCX312进行控制,使其向外发出X及Y方向脉冲信号,以控制两个方向轴上的运动。
数控系统通过位置传感器返回其包括nLMTP、nLMTM、nINPOS、nALARM等系统位置信息,进而实现左右方向限位,伺服到位及报警等功能。编码器输入信号引起MCX312的实际位置计数器的变化,可以得到两轴相对于原点的实际移动位置。通用输入输出扩展了系统功能,在应用中可根据实际情况用作不同的用途。
图 PCI总线运动控制卡硬件结构图
在电路设计时应考虑一下几点:
(1)根据PCI协议规定,PCI总线的CLK信号线的长度为2500mil,其他信号线的长度以1500mil以内为宜;
(2)因系统中多为开关量输入输出,在实际工作中,应尽量避免外界信号的干扰,为达到这个目的,在系统中采用光电耦合器件,其输入端配置发光器件,输出端为受光器,开关量输入接入电路中,会被挡在光电耦合器以外,从而将干扰隔离;
(3)数字电路信号电平转换过程中会产生很大的冲击电流,并在传输线和电源内阻上产生较大的压降,形成严重的干扰。为了抑止这种干扰,在芯片的电源和地之间连接高频特性好的0.1μF左右的去耦电容;
(4)总线信号PRSNT1#的PRSNT2#中必须有一个接地,它们表明板卡的存在并提供该板对电源要求的有关信息。
- 基于PCI总线的双DSP系统及WDM驱动程序设计(01-26)
- ARM922T核ZCP320A处理器PCI总线操作(01-26)
- 1553B总线在嵌入式系统中的应用(01-29)
- 基于DSP的PCI总线数据采集系统的研究(03-02)
- 采用8位单片机驱动PCI总线网卡的设计方案(03-02)
- 基于cPCI总线的嵌入式遥测前端处理器系统设计(04-27)