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

文档序号:9546392阅读:495来源:国知局
一种伺服驱动器的控制方法及装置的制造方法
【技术领域】
[0001]本申请涉及电机控制技术领域,尤其涉及一种伺服驱动器的控制方法及装置。
【背景技术】
[0002]随着近年来以太网技术的发展,以太网总线通讯协议已应用于伺服驱动器中。参见图1为目前伺服驱动器,图示中伺服驱动器采用FPGA+DSP的硬件架构。其中,DSP为Digital Signal Processor,即数字信号处理器,用于运行驱动器控制程序。FPGA为Field — Programmable Gate Array,即现场可编程门阵列;用于实现以太网通讯协议;并且,FPGA中包括DPRAM和以太网协议栈;DPRAM为Double-port RAM,即双端口 RAM的意思。
[0003]为了实现伺服驱动器的具体功能,以太网协议栈与DSP之间需要进行数据交互。数据交互过程需要借助FPGA中的DPRAM实现。具体过程可以为:以太网协议栈可以将数据写入DPRAM,以便DSP在DPRAM中读取数据;反之,DSP可以将数据写入DPRAM,以便以太网协议栈在DPRAM中读取数据。
[0004]在以太网协议栈和DSP之间交互数据具有两种类型:一种为同步数据(PD0数据),一种为异步数据(SD0数据)。针对同步数据,需要在每个以太网传输周期被DSP与以太网协议栈进行更新或读取,以实时保证以太网协议栈和DSP上的同步性。
[0005]但是,由于以太网协议栈的数据更新周期与DSP的数据更新周期是不一致的,这导致在实际应用中无法保证同步数据的完整性。为此,现在需要一种方法,来借助DPRAM来保证同步数据的完整性,以满足DSP和以太网协议栈的通讯需求。

【发明内容】

[0006]参见图2,为本申请提供的DPRAM的结构,在DPRAM内部采用三级缓存与读写通道分离结构。
[0007]从图2所示中可以看出:DPRAM包括两个通道:同步数据传输通道(简称PDO通道)和异步数据传输通道(简称SDO通道)。针对PDO通道具体分为第一通道和第二通道。其中,第一通道用于以太网协议栈端向DSP端写数据;第二通道用于DSP端向以太网协议栈端写数据。
[0008]在PDO通道中,第一通道具体包括:DSP端的输出寄存器DR_RAM[x] (x =0,1,...,m),中间寄存器Fl_RAM[x] (x = 0,1,...,m),以及,以太网协议栈端的输入寄存器Pff_RAM [x] (x = 0,1,...,m) ο
[0009]第二通道包括:DSP端的输入寄存器DW_RAM[x] (x = 0,1,...,η),中间寄存器F2_RAM[x] (x = 0,1,...,η),以及,以太网协议栈端的输出寄存器PR_RAM[x] (x = 0,1,...,η)。
[0010]在roo通道中,当以太网协议栈需要写数据时,可以向输入寄存器PW_RAM[x] (X =0,1,…,m)中写入数据,然后可以再将数据从输入寄存器PW_RAM[x] (x = 0,1,...,m)中,转存至中间寄存器Fl_RAM[x] (X = 0,1,...,m)中,以便DSP端从输出寄存器中DR_RAM[x](x = O, I,..., m)中读取数据。
[0011]在PDO通道中,当DSP端需要写数据时,可以向输入寄存器DW_RAM[x](x =O, I,..., η)中写入数据,然后可以再将数据从输入寄存器DW_RAM[x] (x = 0,1,...,η)中,转存至中间寄存器F2_RAM[x] (X = 0,l,...,n)中,以便以太网协议栈从输出寄存器PR_RAM[x] (x = 0,1,...,η)中读取数据。
[0012]但是,DSP端进行数据更新的周期为以太网协议栈进行数据更新的周期为t2;由于两者的数据更新周期是不一致的,所以可能出现一端在写数据过程中另一端已经开始读取数据,即,由于一端数据未写完整,所以另一端读取的数据也是不完整的,这导致接收端数据帧不完整。
[0013]鉴于此,本申请提供了一种伺服驱动器的控制方法及装置,通过借助DPRAM来保证同步数据的完整性,以满足DSP和以太网协议栈的通讯需求。
[0014]为了实现上述目的,本申请提供了以下技术手段:
[0015]一种伺服驱动器的控制方法,包括:
[0016]在第一端针对输入寄存器执行写数据操作过程中,持续判断所述第一端针对所述输入寄存器是否执行完毕写操作;
[0017]若所述第一端针对所述输入寄存器执行完毕写操作,将所述输入寄存器中的数据对应转存至中间寄存器;
[0018]在所述第一端对所述输入寄存器执行完毕写操作之后,允许第二端针对输出寄存器执行读操作。
[0019]优选的,在第一端为DSP端的情况下,所述第二端为以太网协议栈端;或者,
[0020]在所述第一端为以太网协议栈端的情况下,所述第二端为DSP端。
[0021]一种伺服驱动器的控制方法,包括:
[0022]在第一端针对输出寄存器执行读数据操作过程中,持续判断所述第一端针对所述输出寄存器是否执行完读操作;
[0023]在所述第一端对所述输出寄存器执行完毕读操作之后,将中间寄存器的更新数据转存至输出寄存器;
[0024]在所述第一端针对所述输出寄存器执行完毕读操作之后,允许第二端针对输入寄存器执行写操作。
[0025]优选的,在第一端为DSP端的情况下,所述第二端为以太网协议栈端;或者,
[0026]在所述第一端为以太网协议栈端的情况下,所述第二端为DSP端。
[0027]一种伺服驱动器的控制装置,包括:
[0028]第一判断单元,用于在第一端针对输入寄存器执行写数据操作过程中,持续判断所述第一端针对所述输入寄存器是否执行完毕写操作;
[0029]第一转存单元,用于若所述第一端针对所述输入寄存器执行完毕写操作,将所述输入寄存器中的数据对应转存至中间寄存器;
[0030]第一允许单元,用于在第一端对所述输入寄存器执行完毕写操作之后,允许第二端针对输出寄存器执行读操作。
[0031]优选的,在第一端为DSP端的情况下,所述第二端为以太网协议栈端;或者,
[0032]在所述第一端为以太网协议栈端的情况下,所述第二端为DSP端。
[0033]一种伺服驱动器的控制装置,包括:
[0034]第二判断单元,用于在第一端针对输出寄存器执行读数据操作过程中,持续判断所述第一端针对所述输出寄存器是否执行完读操作;
[0035]第二转存单元,用于在第一端对所述输出寄存器执行完毕读操作之后,将中间寄存器的更新数据转存至输出寄存器;
[0036]第二允许单元,用于在所述第一端针对所述输出寄存器执行完毕读操作之后,允许第二端针对输入寄存器执行写操作。
[0037]优选的,在第一端为DSP端的情况下,所述第二端为以太网协议栈端;或者,
[0038]在所述第一端为以太网协议栈端的情况下,所述第二端为DSP端。
[0039]由以上内容,可以看出本申请具有以下有益效果:
[0040]由于第一端与第二端的数据更新周期不一致,所以,导致一端在读数据时候另一端在写数据,或者,一端在进
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1