一种伺服驱动器的控制方法及装置制造方法及图纸

技术编号:12814492 阅读:96 留言:0更新日期:2016-02-05 14:41
本申请提供了一种伺服驱动器的控制方法及装置,其中方法包括:在第一端针对输入寄存器执行写数据操作过程中,持续判断所述第一端针对所述输入寄存器是否执行完毕写操作;若所述第一端针对所述输入寄存器执行完毕写操作,将所述输入寄存器中的数据对应转存至中间寄存器;在第一端对所述输入寄存器执行完毕写操作之后,允许第二端针对输出寄存器执行读操作。本申请对于一次数据更新过程,先进行读操作再进行写操作,或者先进行写操作再进行读操作,而非读写操作交替进行。因此,可以避免一端在执行更新操作的过程中,另一端也在执行数据更新操作,从而导致两端的数据不同步的问题。

【技术实现步骤摘要】

本申请涉及电机控制
,尤其涉及一种伺服驱动器的控制方法及装置
技术介绍
随着近年来以太网技术的发展,以太网总线通讯协议已应用于伺服驱动器中。参见图1为目前伺服驱动器,图示中伺服驱动器采用FPGA+DSP的硬件架构。其中,DSP为Digital Signal Processor,即数字信号处理器,用于运行驱动器控制程序。FPGA为Field — Programmable Gate Array,即现场可编程门阵列;用于实现以太网通讯协议;并且,FPGA中包括DPRAM和以太网协议栈;DPRAM为Double-port RAM,即双端口 RAM的意思。为了实现伺服驱动器的具体功能,以太网协议栈与DSP之间需要进行数据交互。数据交互过程需要借助FPGA中的DPRAM实现。具体过程可以为:以太网协议栈可以将数据写入DPRAM,以便DSP在DPRAM中读取数据;反之,DSP可以将数据写入DPRAM,以便以太网协议栈在DPRAM中读取数据。在以太网协议栈和DSP之间交互数据具有两种类型:一种为同步数据(PD0数据),一种为异步数据(SD0数据)。针对同步数据,需要在每个以太网传输周期被DSP与以太网协议栈进行更新或读取,以实时保证以太网协议栈和DSP上的同步性。但是,由于以太网协议栈的数据更新周期与DSP的数据更新周期是不一致的,这导致在实际应用中无法保证同步数据的完整性。为此,现在需要一种方法,来借助DPRAM来保证同步数据的完整性,以满足DSP和以太网协议栈的通讯需求。
技术实现思路
参见图2,为本申请提供的DPRAM的结构,在DPRAM内部采用三级缓存与读写通道分离结构。从图2所示中可以看出:DPRAM包括两个通道:同步数据传输通道(简称PDO通道)和异步数据传输通道(简称SDO通道)。针对PDO通道具体分为第一通道和第二通道。其中,第一通道用于以太网协议栈端向DSP端写数据;第二通道用于DSP端向以太网协议栈端写数据。在PDO通道中,第一通道具体包括:DSP端的输出寄存器DR_RAM (x =0,1,...,m),中间寄存器Fl_RAM (x = 0,1,...,m),以及,以太网协议栈端的输入寄存器Pff_RAM (x = 0,1,...,m) ο第二通道包括:DSP端的输入寄存器DW_RAM (x = 0,1,...,η),中间寄存器F2_RAM (x = 0,1,...,η),以及,以太网协议栈端的输出寄存器PR_RAM (x = 0,1,...,η)。在roo通道中,当以太网协议栈需要写数据时,可以向输入寄存器PW_RAM (X =0,1,…,m)中写入数据,然后可以再将数据从输入寄存器PW_RAM (x = 0,1,...,m)中,转存至中间寄存器Fl_RAM (X = 0,1,...,m)中,以便DSP端从输出寄存器中DR_RAM(x = O, I,..., m)中读取数据。在PDO通道中,当DSP端需要写数据时,可以向输入寄存器DW_RAM(x =O, I,..., η)中写入数据,然后可以再将数据从输入寄存器DW_RAM (x = 0,1,...,η)中,转存至中间寄存器F2_RAM (X = 0,l,...,n)中,以便以太网协议栈从输出寄存器PR_RAM (x = 0,1,...,η)中读取数据。但是,DSP端进行数据更新的周期为以太网协议栈进行数据更新的周期为t2;由于两者的数据更新周期是不一致的,所以可能出现一端在写数据过程中另一端已经开始读取数据,即,由于一端数据未写完整,所以另一端读取的数据也是不完整的,这导致接收端数据帧不完整。鉴于此,本申请提供了一种伺服驱动器的控制方法及装置,通过借助DPRAM来保证同步数据的完整性,以满足DSP和以太网协议栈的通讯需求。为了实现上述目的,本申请提供了以下技术手段:一种伺服驱动器的控制方法,包括:在第一端针对输入寄存器执行写数据操作过程中,持续判断所述第一端针对所述输入寄存器是否执行完毕写操作;若所述第一端针对所述输入寄存器执行完毕写操作,将所述输入寄存器中的数据对应转存至中间寄存器;在所述第一端对所述输入寄存器执行完毕写操作之后,允许第二端针对输出寄存器执行读操作。优选的,在第一端为DSP端的情况下,所述第二端为以太网协议栈端;或者,在所述第一端为以太网协议栈端的情况下,所述第二端为DSP端。一种伺服驱动器的控制方法,包括:在第一端针对输出寄存器执行读数据操作过程中,持续判断所述第一端针对所述输出寄存器是否执行完读操作;在所述第一端对所述输出寄存器执行完毕读操作之后,将中间寄存器的更新数据转存至输出寄存器;在所述第一端针对所述输出寄存器执行完毕读操作之后,允许第二端针对输入寄存器执行写操作。优选的,在第一端为DSP端的情况下,所述第二端为以太网协议栈端;或者,在所述第一端为以太网协议栈端的情况下,所述第二端为DSP端。一种伺服驱动器的控制装置,包括:第一判断单元,用于在第一端针对输入寄存器执行写数据操作过程中,持续判断所述第一端针对所述输入寄存器是否执行完毕写操作;第一转存单元,用于若所述第一端针对所述输入寄存器执行完毕写操作,将所述输入寄存器中的数据对应转存至中间寄存器;第一允许单元,用于在第一端对所述输入寄存器执行完毕写操作之后,允许第二端针对输出寄存器执行读操作。优选的,在第一端为DSP端的情况下,所述第二端为以太网协议栈端;或者,在所述第一端为以太网协议栈端的情况下,所述第二端为DSP端。一种伺服驱动器的控制装置,包括:第二判断单元,用于在第一端针对输出寄存器执行读数据操作过程中,持续判断所述第一端针对所述输出寄存器是否执行完读操作;第二转存单元,用于在第一端对所述输出寄存器执行完毕读操作之后,将中间寄存器的更新数据转存至输出寄存器;第二允许单元,用于在所述第一端针对所述输出寄存器执行完毕读操作之后,允许第二端针对输入寄存器执行写操作。优选的,在第一端为DSP端的情况下,所述第二端为以太网协议栈端;或者,在所述第一端为以太网协议栈端的情况下,所述第二端为DSP端。由以上内容,可以看出本申请具有以下有益效果:由于第一端与第二端的数据更新周期不一致,所以,导致一端在读数据时候另一端在写数据,或者,一端在进当前第1页1 2 3 4 本文档来自技高网...
一种伺服驱动器的控制方法及装置

【技术保护点】
一种伺服驱动器的控制方法,其特征在于,包括:在第一端针对输入寄存器执行写数据操作过程中,持续判断所述第一端针对所述输入寄存器是否执行完毕写操作;若所述第一端针对所述输入寄存器执行完毕写操作,将所述输入寄存器中的数据对应转存至中间寄存器;在所述第一端对所述输入寄存器执行完毕写操作之后,允许第二端针对输出寄存器执行读操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈英华韩东桂雄斌陈友樟
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1