本站小编为你精心准备了SERCOS主站接口设计与实现参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
本设计采用SERCON816作为接口控制芯片。运动控制器的微处理器通过数据、地址、控制总线控制SERCON816的读写,并通过中断信号响应SERCON816的处理请求。运动控制器的总体设计图如图2所示。SERCOS主站接口硬件设计的关键是SER-CON816电路设计,SERCON816关键电路原理图如图3所示,主要包括总线接口设计、中断复位时钟设计、串行接口设计。
/1.1总线接口设计总线接口的设计主要是数据、地址、控制线的连接。数据线为D[15:0],地址线为A[15:0],控制线主要是ALEL、ALEH、BHEN、MCSN0、MCSN1、PCS1、ADMUX、BUSMODE0、BUSMODE1、BUSWIDTH和BYTEDIR。本设计采用独立的地址数据总线(AD-MUX=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时访问控制寄存器。
1.2中断复位时钟设计SERCON816有2个中断输出引脚,INT0和INT1,微处理器也可以通过查询控制寄存器查询中断情况,本设计通过查询方式检查中断反馈。若使用硬件复位RSTN,需要使该引脚保持低电平至少50ns,也可通过软件复位实现复位,本设计采用软件方式实现复位。SERCON816有2个输入时钟:SCLK和MCLK。SCLK时钟频率需为64MHz,MCLK最高频率允许为32MHz,可以由SCLK进行2分频或4分频得到,SCLK的2分频或4分频分别由引脚SCLK02和SCLK04输出,可以将2个引脚的输出作为MCLK的输入,同时,为了使SCLK02和SCLK04有效,需将OUTZ引脚接地。
1.3串行接口设计SERCON816的数据传输率由引脚SBAUD和SBAUD16以及控制寄存器中的控制位决定,本设计选用4M的数据传输率,对应SBAUD设置为0,SBAUD16设置为1。串行接口关键的功能之一是中继器功能,其开闭由控制位REPON决定,该位的复位值由引脚TM0和TM1决定,本设计设置为TM0=1,TM1=1,即复位时中继器打开,但是建立通信时主站中继器应关闭,防止主从站之间来回中继。串行发送接口对应引脚为TxD1~TxD6,用于输出数据到串行发送器。串行接收接口对应引脚为RxD,作为串行接收器的输出。串行接口有几个指示引脚:错误标志引脚L_ERRN,接收标志引脚RECACTN,发送状态标志IDLE,可用于状态指示。串行接口连接的串行发送器和接收器采用收发一体的OCM3351,硬件连接方便且可靠,电路图如图4所示。
2、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,数据传输率为4M。本例有较强代表性,多个伺服控制可参考本例。在通讯阶段开始之前,要对控制寄存器和双端口RAM进行初始化。首先,设置要写入IDN的参数,如表1所示。其次,对控制寄存器进行设置。主要需要确定与通信相关的参数,如表2所示。最后,进行双端口RAM设置。RAM中包括的数据段有固定段、ATM段、MDTM段等。除了固定段用户只能配置数值外,其他段在配置数据的同时还要配置地址。关键配置如表3所示。参数均配置好后,就可以进行通讯阶段的初始化进而实现正常通信了。每个阶段的控制流程图如图5、图6、图7和图8所示,按照程序流程图依次实现通信阶段及切换,就可以正常建立SERCOS通信。
3、结语
应运动控制器发展的开放性、通用性趋势,本文提出了在独立运动控制器上集成SERCOS主站接口的开放性方案,论文详细介绍了SERCOS主站的软硬件设计及实现过程,并重点分析了开发过程中易出现问题的关键细节,给出了应用实例。测试结果表明主站实现了对从站的有效控制。SERCOS在独立运动控制器上的集成在提高开放性的同时,大大提高了控制器性能,具有较好的实际价值和应用前景。
作者:刘娜 王云宽 陆浩 郑军 谷晓华 单位:中国科学院 自动化研究所