基于云控制的运动控制卡硬件设计与实现*
2016-10-14黄德天顾培婷黄炜钦柳培忠
黄德天 顾培婷 黄炜钦 柳培忠
基于云控制的运动控制卡硬件设计与实现*
黄德天1顾培婷2黄炜钦2柳培忠1
1.华侨大学工学院物联网工程系 2.华侨大学工学院
该文针对现有运动控制卡价格高、操作不够便捷等缺点,设计了基于云控制的运动控制卡硬件平台。该设计采用DSP+ARM双处理器架构,DSP主要负责运动控制算法的实现,ARM充当管理者的角色,主要负责硬件资源的调度;引入以太网技术,通过以太网传输取代传统运动控制卡基于PCI总线或ISA总线传输。该设计能够实现多个运动控制卡共享一台PC主机,从而降低成本;同时由于以太网技术的引入,使运动控制系统范围扩大,实现多个运动控制卡构成一个多层次的运动控制系统,也便于实现远程诊断功能。
云控制 运动控制卡 DSP ARM 以太网
1 概述
我国的工业产业正在升级换代,低端的设备制造已无法满足高速发展的需求。随着科技的不断进步,自动化产业也在不断进步,使得运动控制在产业中占有极其重要的作用,其发展前景不可估量[1-3]。运动控制卡是一种基于PC主机、通过控制步进电机或伺服电机负责运动控制领域的所有细节(包括位移、速度、加速度等)的控制单元[3]。运动控制卡是运动控制系统的重要构成部件,主要完成实时性要求较高的工作,例如精插补算法、可编程I/O的响应、反馈信号的接收与处理、与上位机的数据通讯以及上位机命令代码的解析等。运动控制卡通过输出脉冲的个数来控制设备的角位移,通过输出脉冲的频率来控制设备的转速。
运动控制卡的发展由早期的专用控制器,到开放式、积木式结构控制器,再到现在的通用运动控制卡。国外著名的运动控制器公司包括美国GALIL公司、美国Delta Tau Data System 公司、英国Trio公司等。这些公司研制的运动控制卡设备较为先进,并且样式繁多,包含了从低端到高端多种档次的产品,形成了一套较为完整的产品体系。这些运动控制卡的价格通常较高,而且使用过程中需要设置众多的参数,要求用户具备一定的数控专业知识,从而增加了使用的难度[4-8]。在运动控制卡的发展中,我国落后于国外,但发展速度较快,产品质量也逐步提高,目前国内运动控制器公司发展较好的有雷赛智能、固高科技、众为兴、上海维宏等。国内设计的大部分板卡是基于PCI总线或ISA总线,导致需要为每个运动控制卡配备一台PC主机,不但增加了系统研发成本,而且不利于整个系统的轻便化、网络化[9-12]。
随着网络技术的迅猛发展和普及,市场对配备网络接口的运动控制卡需求不断增大,采用以太网传输来替代传统的现场总线传输已经成为电机控制产品的主流技术,同时也逐渐成为运动控制发展的总体趋势,然而现有的国内拥有网络功能的运动控制卡设备较少。本文通过设计基于DSP+ARM架构的网络型运动控制卡,并引入以太网(Ethernet)技术,能够实现多个运动控制卡共享一台PC主机,从而降低研发成本,扩展运动控制系统范围。
2 运动控制卡硬件平台总体介绍和系统框架
随着微电子技术和嵌入式技术的发展,运动控制卡从早期基于模拟电路的设计、基于专用运动控制芯片的设计,过渡到当今世面上较为流行的基于微控制器或微处理器的设计。基于微控制器/微处理器的运动控制卡设计思想,借助了微处理器较高的数据处理能力,多样的外设接口,以及较强的执行事件能力和数据并行处理能力。微处理器主要负责数据的处理,微控制器主要负责多轴联动的并行插补。这种方案具有扩展性能强,兼容性好、通用性高,易于研发更多的系统功能,且节省研发周期和系统成本。
随着网络的普及化,运动控制系统网络化是产业转型的重要方向。为此,本文基于云控制的可编程运动控制卡,采用DSP+ARM的架构,引入以太网控制器DP83848作为物理层收发器与ARM内部连接。通过以太网构建分布式的运动控制系统,实现几个运动控制卡共享同一个主机,达到降低成本的目的。通过网络技术的支撑,极大地扩大运动控制系统规模;同时可以达到使用多个运动控制卡构造多层次运动控制系统的功能,达到运动控制卡统一管理的便捷性,实现远程诊断等功能更为丰富的运动控制系统。
运动控制卡硬件平台的DSP选用TI公司推出的一款高性能浮点DSP控制器TMS320F28335(简称F28335)。它具有150MHz的高速执行能力,且执行单元可处理32位float类型数据,有多达18路的PWM输出,其中有6路为该公司独具一格的更高准确度的PWM输出 (HRPWM),12位16通道ADC。与以往的定点DSP相比,该器件具有精度高、成本低、功耗小、性能高、A/D转换更精确快速等优点。运动控制卡系统中,F28335主要执行DDA插补算法工作。而ARM选用基于Cotex-M4内核的高性能微处理器STM32F407(简称STM32)。采用带有FPU的32位Cortex™-M4内核,主频高达168MHz,片上集成1MFlash存储器并带有存储器保护单元。STM32F407可通过两种标准接口实现与PHY模块通信,一种是独立于介质的接口(MII),另一种是简化的独立于接口的接口(RMII)。系统中,由于STM32具有较强的事件管理以及控制能力,主要充当整个系统平台管理者的角色。
运动控制卡通过以太网接口对PC机通讯,使用DP83848作为以太网数据收发芯片连接到ARM芯片内部的以太网控制器接口。DP83848是美国国家半导体公司推出的一款支持单路10/100Mb/s的以太网收发器。此外,电机驱动接口包括四组轴方向控制信号、脉冲输出接口、电机控制接口(驱动器报警,错误清除,使能接口),每个轴有正负限位及原点输入接口和16个可编程输入/输出接口。并且,增加了1个调试输出串口,该串口也可以提供给研发人员进行编程研发。图1是硬件系统的结构框图。
图1 硬件系统的结构框图
3 运动控制卡系统设计的关键模块
3.1 以太网接口
STM32F407的以太网控制器内部结构如图2,包括一个带有专用DMA控制器的MAC 802.3。DMA与内核和存储器通信采用AHB的主从接口,其中AHB 主接口控制Data传输,AHB 从接口访问控制和状态寄存器空间。在通过MAC内核传输信息之前,将DMA系统从存储器中获取的数据存储在输出FIFO中,接收FIFO缓存接收到的数据,直到通过DMA传输到系统存储器中。
如图2所示,STM32F407内部含有一个以太网外设,只需外接一片PHY就具有了以太网收发数据的功能。该控制器可为物理层芯片支持MII和RMII接口,支持10/100Mbit/s数据传输速率。设计中的PHY芯片选择DP83848芯片,并通过MII方式连接,如图3所示。
图2 STM32F407以太网控制器的内部结构
图3 STM32与DP83848连接框图
3.2 存储器接口
在一些生产环境中,如皮革制造中,由于产品轮廓样式几乎不变,通常使用设计好的模板,为了节省加工成本和加快加工程序,可以使用一个存储器来存储这些模板和系统参数信息。该运动控制卡采用的存储器是2MB的SPI接口的Flash芯片SST25VF106B。当轨迹信息存入存储器后,用户可以根据需要调用访问这些数据,同时也支持离线使用存储器中的模板库。
3.3 控制卡接口部分设计
控制卡的接口主要有以下几种:
(1) 与电机驱动器连接的电机驱动接口。包括电机驱动器使能信号输入接口、电机错误报警信号输出接口、电机驱动器错误清除信号输出接口、电机的脉冲方向信号接口。
(2) 与限位开关连接的正负限位/原点信号输入接口。每个轴都包含正负限位输入信号接口和一个原点信号输入接口。当有限位信号输入的时候,对应轴将会停止运动,直到限位信号撤销为止。
(3)可编程IO接口。一般的CNC系统中,运动控制卡不仅负责运动控制的任务,这些系统中都存在一些如按钮开关、状态显示灯,或者一些执行机构如冷却泵、电磁阀、激光控制器等需要运动控制卡对其进行控制,这一类控制往往比较简单,只需要在特定的时间给出一个电平信号或者脉冲信号来触发这些外围设备,但是这些控制也会随着应用场合的不同而不同。为了使得该运动控制卡能够具有较强的通用性,该设计将这些可编程输入引脚的控制挂接在中断引脚上,当对应事件产生触发信号时,执行对应的中断服务程序。可编程输出引脚也可以通过调用已经封装好的库函数以电平方式,以单个边缘触发信号或者周期信号的方式输出控制信号。
3.4 控制卡接口重要组件
3.4.1 信号的处理部分
为了解决夹杂在输入信号中的干扰信号进入运动控制卡,使控制卡产生不正确的判断,从而产生不正确的相应信号输出到外界的执行机构,导致不规范的操作被执行,有必要对输入、输出信号做相应的处理。该部分包括单端信号转化为差分信号、输入端与输出端的光电隔离、信号的进一步整形三部分。
干扰源信号具有较强的抗干扰性,其对差分信号的每个端产生同等程度的作用。在系统信号处理部分,采用了两片AM26L31差分驱动芯片,将DSP输出的单端脉冲方向信号变为差分信号。该芯片集成有4路通道,具有有效传输距离远、响应快速的特性,有效传输距离大于1000m,响应时间小于50ns。
3.4.2 光电耦合器
当运动控制卡与其他控制系统外围设备连接时,由于电压和电流不匹配,会受到外围设备高压大电流信号的破坏影响,可能对系统产生干扰,造成误导性判断,或是损坏控制卡设备,使得设备不能正常使用。为了避免因外设高压大电流的输入引起设备损坏,该系统在信号两端口均采用光电耦合器进行隔离。光电耦合器是通过发光二极管发光使得半导体产生电流,其输入端和输出端在电气上是处于隔绝状态的,这就导致了加载在输入信号的各种干扰信号被阻隔在输入端,从而避免了这些干扰源的影响。由于光电耦合器输入端和输出端之间的耐压值很高,还能很好地保护运动控制卡的完整性。
本设计使用的是6N137高速光耦,最高速度可达10Mbit/s,引脚2和引脚3均可以作为信号的输入引脚,如果信号从2引脚输入,同时3引脚接地,那么相当于非门,如果信号从3引脚输入,2引脚接高电平,那么信号在传输过程中的逻辑状态不变。
3.4.3 信号整形部分
由于脉冲在传输中仍会因干扰造成波形不正常,使得上升沿和下降沿不够准确并且信号不够平滑,导致有毛刺产生。为了解决信号质量不理想问题,系统在重要信号的后端增加了整形电路,即采用带有施密特触发功能的74HC14门电路,进一步改善信号的质量,从而获得更为可靠的波形。图4为信号整形部分的原理图。
图4 信号整形部分的原理图
4 结束语
本文设计了基于云控制的可编程运动控制卡,采用DSP+ARM双处理器架构,引入以太网技术,能够实现多个控制卡共享1台PC主机,可以解决PC机资源浪费、生产成本高、系统不利于小型化等问题。通过以太网技术构建分布式的运动控制系统,将数据通过以太网进行传输和控制,可以不受空间约束,实现远程诊断,极大提高系统的操作与管理便捷性。本文设计的网络型运动控制卡具有比基于PCI总线或ISA总线的运动控制卡具有更好的控制性能,促进了网络传输替代现场总线成为电机控制产品主流技术的发展。
参考文献:
[1] 张从鹏,刘同,赵康康.基于DSC和FPGA的运动控制卡设计[J].机床与液压,2016,44(2):156-158.
[2] 张清勇,张丹红,姜文.基于PC机和运动控制卡的运动控制系统设计[J].武汉理工大学学报(信息与管理工程版),2015,37(6):837-840.
[3]郭梅,张立新,黄庆林,等.基于 GTS-400 运动控制卡钻铣平台结构与控制系统的设计[J].石河子大学学报(自然科学版),2015,33(2): 252-257.
[4] 王阳.基于云模型的交通信号自适应控制系统研究[D].北京: 北京交通大学,2007:9-20.
[5] 王鹏,贺健琪,宋敏.基于单片机+FPGA的多轴运动控制卡设计[J].电子设计工程,2015,23(21): 61-64.
[6] 劳奇成,王义智,李武.基于DSP和CPLD的运动控制卡插补器设计[J].机床与液压,2014,42(4):92-94.
[7] 杨秀增.基于FPGA的高速五轴步进电机运动控制卡设计[J].机床与液压,2012,40(4):66-71.
[8] 张义军,苟向峰,陈德道.基于MPC2810运动控制卡的数控系统研究[J].兰州交通大学学报,2012,31(3):134-136.
[9] 回立川,林辉.基于迭代学习的云控制设计研究及应用[J].计算机工程与应用,2008,44(9):220-222.
[10] 吴涛,金义富.基于云控制的自适应遗传算法[J].计算机工程,2011,37(8):189-191.
[11] 刘罗仁,罗金玲.基于云模型的单路口交通信号自适应控制方法研究[J].计算机测量与控制.2011,19(9):2157-2159, 2163.
[12] 刘冬,陈楷,任红.基于运动控制卡的数字化制造系统研究[J].自动化与仪器仪表,2015(7): 7-10.
* 泉州市科技计划项目“基于云控制的运动控制卡的设计及其在数控机床中的应用”(编号:2014Z113)的阶段性成果之一。