独立运动控制器的SERCOS主站接口设计与实现

2014-03-08 05:46王云宽谷晓华
自动化与仪表 2014年12期
关键词:主站寄存器流程图

刘 娜,王云宽,陆 浩,郑 军,谷晓华

(中国科学院 自动化研究所,北京 100190)

开放、通用的独立运动控制器成为国内运动控制器发展的趋势。它不仅能适应新的加工要求,而且还为与第三方技术或产品进行集成提供了可能[1]。国内开放式运动控制器主要依赖于计算机[2],不依赖计算机的开放式运动控制器,由于不同供应商对开放性的理解不同,通常基于非标准的接口和硬件[3]。

串行实时通讯协议SERCOS(serial real-time communication specification)是国际标准化的开放式运动控制总线,其在运动控制器上的应用将使运动控制器与符合SERCOS接口标准的产品无障碍互联,同时大大提高了运动控制器的性能,保证了高度实时性和同步,提高了系统的分布控制能力,是系统走向复杂化及智能化的保证[3]。目前国内成熟的基于SERCOS的独立运动控制器很少,对SERCOS的研究也多为伺服从站的研究,因此SERCOS主站接口在独立运动控制器上的集成需要科研人员进一步研究与推广。

鉴于此,本文提出了在独立运动控制器上集成SERCOS主站接口的运动控制器开放性方案,并从SERCOS概述、硬件模块、软件模块出发,详细分析了独立运动控制器上SERCOS主站接口的设计与实现过程,并给出了参考实例。

1 SERCOS概述

SERCOS协议严格定义了物理层、数据链路层以及报文结构等内容,不但可以传输周期数据,如电机控制指令,还可以传输非周期数据,如系统参数。所有数据都以3种数据电报的形式进行传输,分别为主站数据电报MDT、伺服电报AT和主站同步电报MST[4]。

SERCOS接口通过光纤将主从站连成环形拓扑结构,如图1所示。一个环路上的主站理论上最多可以控制254个伺服装置,而每个控制单元可控制多个环路,因此,使用SERCOS总线方便进行分布式多轴控制[5]。

图1 SERCOS接口拓扑结构图Fig.1 Topological structure diagram of SERCOS interface

实际应用表明,SERCOS接口具有如下优点:高度的实时性;高精度的同步;简化了控制单元和伺服装置的连接;简化了控制硬件;数据分辨率更高,且传输无漂移,可用于远距离控制[6]。

实现协议物理层和数据链路层可采用SERCOS接口芯片。常用的有SERCON410A、SERCON410和SERCON816。SERCON816是在SERCON410A和SERCON410B的基础上开发出来的,性能和稳定性更好。

2 SERCOS主站接口硬件设计

本设计采用SERCON816作为接口控制芯片。运动控制器的微处理器通过数据、地址、控制总线控制SERCON816的读写,并通过中断信号响应SERCON816的处理请求。运动控制器的总体设计图如图2所示。

图2 运动控制器总体设计图Fig.2 General layout scheme of motion controller

SERCOS主站接口硬件设计的关键是SERCON816电路设计,SERCON816关键电路原理图如图3所示,主要包括总线接口设计、中断复位时钟设计、串行接口设计。

2.1 总线接口设计

总线接口的设计主要是数据、地址、控制线的连接。 数据线为 D[15:0],地址线为 A[15:0],控制线主要是 ALEL、ALEH、BHEN、MCSN0、MCSN1、PCS1、ADMUX、BUSMODE0、BUSMODE1、BUSWIDTH 和BYTEDIR。本设计采用独立的地址数据总线 (ADMUX=0,ALEL=1,ALEH=1),Intel总线模式(BUSMODE0=0,BUSMODE1=X),16 位宽数据总线(BUSWIDTH=1),D[7:0]传输低字节(BYTEDIR=0)。本设计只用于16位传输,A[0]和BHEN都接地。

SERCON816集成双端口RAM和控制寄存器,本设计选用组合式片选方法,当CS为低电平时,选中芯片,地址线A12用于区分访问双端口RAM和控制寄存器,A12为0时,访问双端口RAM,A12为1时访问控制寄存器。

图3 SERCON816电路图Fig.3 Circuit diagram of SERCON816

2.2 中断复位时钟设计

SERCON816有 2个中断输出引脚,INT0和INT1,微处理器也可以通过查询控制寄存器查询中断情况,本设计通过查询方式检查中断反馈。

若使用硬件复位RSTN,需要使该引脚保持低电平至少50 ns,也可通过软件复位实现复位,本设计采用软件方式实现复位。

SERCON816有2个输入时钟:SCLK和MCLK。SCLK时钟频率需为64 MHz,MCLK最高频率允许为32 MHz,可以由SCLK进行2分频或4分频得到,SCLK的2分频或4分频分别由引脚SCLK02和SCLK04输出,可以将2个引脚的输出作为MCLK的输入,同时,为了使SCLK02和SCLK04有效,需将OUTZ引脚接地。

2.3 串行接口设计

SERCON816的数据传输率由引脚SBAUD和SBAUD16以及控制寄存器中的控制位决定,本设计选用4 M的数据传输率,对应SBAUD设置为0,SBAUD16设置为1。

串行接口关键的功能之一是中继器功能,其开闭由控制位REPON决定,该位的复位值由引脚TM0和TM1决定,本设计设置为TM0=1,TM1=1,即复位时中继器打开,但是建立通信时主站中继器应关闭,防止主从站之间来回中继。串行发送接口对应引脚为TxD1~TxD6,用于输出数据到串行发送器。串行接收接口对应引脚为RxD,作为串行接收器的输出。串行接口有几个指示引脚:错误标志引脚L_ERRN,接收标志引脚RECACTN,发送状态标志IDLE,可用于状态指示。

串行接口连接的串行发送器和接收器采用收发一体的OCM3351,硬件连接方便且可靠,电路图如图4所示。

图4 收发器电路图Fig.4 Circuit diagram of transceiver

3 SERCOS主站接口软件设计

上述硬件设计构建了SERCOS协议的硬件环境,在此基础上,还需要在微控制器上编写控制驱动程序,实现SERCOS应用层协议。SERCOS接口通讯过程的建立要经过5个阶段CP0~CP4。主站写入阶段信息到MST并发送给各从站,启动新周期同步控制。在CP0段,主站发送MST检查环路闭合情况,所有从站作为中继器,若主站收到MST次数不小于10次,则表示环路闭合,可进入CP1。在CP1段,主站分别发送MDT给每个从站用于识别对应伺服,MDT中含有待识别伺服地址信息,控制对应伺服的从站收到MDT后与自身控制伺服地址比较,若匹配则处理MDT,并在下一个周期发送AT应答,没有被寻址的伺服对应从站作为中继器工作,收到所有伺服的正确应答后,可进入CP2。在CP2段,主站配置伺服参数,过程类似CP1,参数配置好后,主站发送IDN127过程命令判断配置是否正确,从站给出正应答后可切换到CP3。在CP3段,主站传输运行参数,广播发送MDT,所有从站均会接收并处理MDT,提取属于自己的数据,并在下一个周期发送AT应答,最后主站发送IDN128过程命令检查配置,配置正确则可切换到CP4。在CP4段,主站将指令写入MDT并发送,从站将运行反馈写入AT并发送,系统进入正常运行。

本文从实际开发经验出发,给出一个具体的参考:控制1个从站,带1个伺服,地址设置为1,伺服编号为0,使用服务通道0,数据传输率为4 M。本例有较强代表性,多个伺服控制可参考本例。

在通讯阶段开始之前,要对控制寄存器和双端口RAM进行初始化。首先,设置要写入IDN的参数,如表1所示。

表1 IDN参数Tab.1 IDN parameters

其次,对控制寄存器进行设置。主要需要确定与通信相关的参数,如表2所示。

表2 与通信相关参数Tab.2 Parameters related to communication

最后,进行双端口RAM设置。RAM中包括的数据段有固定段、ATM段、MDTM段等。除了固定段用户只能配置数值外,其他段在配置数据的同时还要配置地址。关键配置如表3所示。

参数均配置好后,就可以进行通讯阶段的初始化进而实现正常通信了。每个阶段的控制流程图如图5、图6、图7和图8所示,按照程序流程图依次实现通信阶段及切换,就可以正常建立SERCOS通信。

表3 RAM配置Tab.3 Configuration of RAM

图5 CP0~CP1阶段流程图Fig.5 Flow chart of CP0~CP1

图6 CP1~CP2阶段流程图Fig.6 Flow chart of CP1~CP2

图7 CP2~CP3阶段流程图Fig.7 Flow chart of CP2~CP3

图8 CP4阶段流程图Fig.8 Flow chart of CP4

4 结语

应运动控制器发展的开放性、通用性趋势,本文提出了在独立运动控制器上集成SERCOS主站接口的开放性方案,论文详细介绍了SERCOS主站的软硬件设计及实现过程,并重点分析了开发过程中易出现问题的关键细节,给出了应用实例。测试结果表明主站实现了对从站的有效控制。SERCOS在独立运动控制器上的集成在提高开放性的同时,大大提高了控制器性能,具有较好的实际价值和应用前景。

[1] 张晋达.基于DSP的运动控制器的软、硬件设计及实现[D].西安:西安电子科技大学,2010.

[2] 徐远泽.基于DSP的运动控制器系统设计[D].成都:西南交通大学,2012.

[3] 陈卫福.开放式数控系统及SERCOS接口应用技术[M].北京:机械工业出版社,2003.

[4] 张剑.基于SERCOS总线的数控系统高速数字通信技术研究[D].南京:南京航空航天大学,2008.

[5] 王强.基于SERCOS的开放式数字运动控制器的研究[D].成都:电子科技大学,2009.

[6] 郇极.数字伺服通讯协议SERCOS驱动程序设计及应用[M].北京:北京航空航天大学出版社,2005. ■

猜你喜欢
主站寄存器流程图
Lite寄存器模型的设计与实现
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
一种程序源代码的标准化流程图转化方法∗
二进制翻译中动静结合的寄存器分配优化方法
移位寄存器及算术运算应用
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
县级配电自动化主站系统的设计
腹腔镜手术护理流程图在腹腔镜手术围术期护理中的应用
Lx5280模拟器移植设计及实施