0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用PCI总线h和MCX312运动控制芯片实现数控系统的设计

电子设计 来源:今日电子 作者:吴常玉,程凯 2021-01-13 10:30 次阅读

运动控制芯片

PCI总线是一种先进的高性能32/64位地址数据复用局部总线,可以同时支持多组外围设备。实现PCI总线接口的方法主要有两种:一是采用CPLDFPGA设计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总线h和MCX312运动控制芯片实现数控系统的设计

图 PCI总线运动控制卡硬件结构图

电路设计时应考虑一下几点:

(1)根据PCI协议规定,PCI总线的CLK信号线的长度为2500mil,其他信号线的长度以1500mil以内为宜;

(2)因系统中多为开关量输入输出,在实际工作中,应尽量避免外界信号的干扰,为达到这个目的,在系统中采用光电耦合器件,其输入端配置发光器件,输出端为受光器,开关量输入接入电路中,会被挡在光电耦合器以外,从而将干扰隔离;

(3)数字电路信号电平转换过程中会产生很大的冲击电流,并在传输线和电源内阻上产生较大的压降,形成严重的干扰。为了抑止这种干扰,在芯片的电源和地之间连接高频特性好的0.1μF左右的去耦电容;

(4)总线信号PRSNT1#的PRSNT2#中必须有一个接地,它们表明板卡的存在并提供该板对电源要求的有关信息。

函数库及驱动设计

运动控制卡给用户提供了一个软硬件的使用平台,用户可以根据自己的需要选择使用自己需要的功能,而对于功能实现,函数库的编制是必须的。函数库用于运动控制系统的二次开发,编程人员可以使用高级语言,通过对库函数的调用,来实现对运动控制系统的控制。该系统的库函数包括5类。

(1)基本参数设置,包括卡的初始化与释放、脉冲输出方式、软

硬件限位设定、脉冲输出方式及编码器输入的工作方式、加/减速方式设定及输入信号滤波功能设置等;

(2)运动参数的设定与读取,包括范围设定、加/减速度的设定与读取、驱动速度的设定与读取、初始速度的设定与读取、逻辑/实际位置计数器的设定与读取、COMP+/COMP-寄存器的设定等;

(3)驱动状态检查,包括获取各轴的驱动状态及插补驱动状态;

(4)脉冲驱动输出及设定,包括两轴直线插补、顺时针/逆时针圆弧插补、定量驱动、连续驱动及驱动的减速停止与立即停止;

(5)开关量输入输出,包括所有开关量的输入输出及单个输入输出的控制。

开发Windows下的应用程序应考虑系统的限制,Windows系统为保护系统对用户的访问权限进行了划分,用户所处的级别由系统对硬件资源进行了屏蔽,用户不能直接访问硬件资源。为了达到与硬件通信的目的,必须编写驱动程序。

用于Windows驱动开发的工具包括Windriver,DriverStudio以及DDK(Driver Develop Kit)。Windriver使用简单,不需要专门的关于系统驱动的知识,开发时间短,但效率低,且不易发布;DDK效率及可靠性高,但使用烦琐,开发周期长;DriverStudio包括DriverWorks,SoftICE,DirverAgent等工具,具有开发调试的强大功能,把DDK用类的形式进行了封装,使用简单。本文就是利用DriveStudio进行驱动开发的。

DriverWorks提供了DriverWizard向导,利用它可以生成驱动程序的框架,其中最为关键的一步添加相应的I/O端口、内存资源、DMA、中断等相应得硬件资源,并在相应的处理程序中添加代码。

结论

本系统采用PCI总线接口及MCX312运动控制芯片,支持即插即用,可用于多种操作系统,具有输出脉冲频率高、控制准确、易向多轴扩展等特点,可广泛应用于机器人、基于PC的数控系统中。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2121

    浏览量

    92947
  • 总线
    +关注

    关注

    10

    文章

    2704

    浏览量

    87205
  • 数控系统
    +关注

    关注

    5

    文章

    231

    浏览量

    23894
收藏 人收藏

    评论

    相关推荐

    一种五轴伺服数控冲床数控系统

    五轴伺服数控冲床的数控系统说明 本数控系统提供了一种集成度高,编程简单,成本低,易于控制,应用方便,速度快,精度高的五轴伺服数控冲床的
    发表于 06-29 09:52

    基于ARMS和FPGA的嵌入式数控系统该怎么设计?

    现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动
    发表于 08-28 08:20

    基于PCI总线运动控制卡WDM驱动程序设计

    本文给出了一种使用 DriverStudio 设计WDM 驱动程序的方法,用以实现数控系统应用程序对运动控制卡的访问。文中以基于PCI
    发表于 10-12 18:28 39次下载

    CAN总线在开放式数控系统的应用

    在详细研究了数控系统及CAN 总线的基础上,根据特定的系统需求,提出并成功开发了以微型计算机为上位机、以CAN 总线为现场设备通信平台的开放式数控系
    发表于 12-14 15:51 10次下载

    基于ARM数控系统的PC104总线设计

    根据基于ARM 处理器的数控系统的需要,通过对EP9315 开发板的研究与实验,提出一种在ARM 数控系统实现PC/104 总线的方案,用于读写
    发表于 01-07 14:03 30次下载

    利用RCS库实现数控系统模块间的通信

    采用层次化的设计思想,对数控系统进行模块划分,数控系统对实时性要求很高,尤其是运动控制模块,因此如何实现
    发表于 01-11 14:27 14次下载

    CAN总线在开放式数控系统的应用

    在详细研究了数控系统及CAN总线的基础上,根据特定的系统需求,提出并成功开发了以微型计算机为上位机、以CAN总线为现场设备通信平台的开放式数控系统
    发表于 07-13 15:27 26次下载

    利用RCS库实现数控系统模块间的通信

    采用层次化的设计思想,对数控系统进行模块划分,数控系统对实时性要求很高,尤其是运动控制模块,因此如何实现
    发表于 07-13 15:30 21次下载

    基于单片机的3轴数控系统设计

    3 轴数控系统采用适合实时控制的MCS - 51 系列单片机为控制器,实现了对3 个坐标轴机械系统
    发表于 08-25 15:50 204次下载
    基于单片机的3轴<b class='flag-5'>数控系统</b>设计

    高性能数控系统运动控制算法的研究

    高性能数控系统运动控制算法的研究,下来看看
    发表于 05-03 13:52 15次下载

    采用MCX314as和PCI9052芯片实现4轴伺服/步进电机控制系统的设计

    根据项目要求,采用MCX314as为运动控制核心,上位机只需将运动参数写入MCX314as的寄存
    的头像 发表于 03-18 08:06 2630次阅读
    <b class='flag-5'>采用</b><b class='flag-5'>MCX</b>314as和<b class='flag-5'>PCI</b>9052<b class='flag-5'>芯片</b><b class='flag-5'>实现</b>4轴伺服/步进电机<b class='flag-5'>控制系统</b>的设计

    基于TMS320LF2407A和CY09449芯片实现运动控制卡的设计

    当今,开放式数控系统正在工业领域得到广泛应用。其中,工控机通过PCI总线连接专用运动控制卡的数控系统
    的头像 发表于 06-11 08:01 1884次阅读
    基于TMS320LF2407A和CY09449<b class='flag-5'>芯片</b><b class='flag-5'>实现</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b>卡的设计

    基于运动控制芯片MCX314的数控系统设计

    基于运动控制芯片MCX314的数控系统设计免费下载。
    发表于 05-19 15:14 21次下载

    MCX314运动控制芯片数控系统设计

    MCX314运动控制芯片数控系统设计分享。
    发表于 05-19 15:49 23次下载

    4轴芯片运动控制芯片MCX514运动控制器设计方案

    的IC。 MCX514是一款既能与8/16位、16位数据总线接口也能与I2C串行数据总线接口的带插补功能的4轴运动控制
    的头像 发表于 03-24 14:34 1w次阅读