一種伺服驅(qū)動器的控制方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及電機控制技術(shù)領(lǐng)域,尤其涉及一種伺服驅(qū)動器的控制方法及裝置。
【背景技術(shù)】
[0002]隨著近年來以太網(wǎng)技術(shù)的發(fā)展,以太網(wǎng)總線通訊協(xié)議已應(yīng)用于伺服驅(qū)動器中。參見圖1為目前伺服驅(qū)動器,圖示中伺服驅(qū)動器采用FPGA+DSP的硬件架構(gòu)。其中,DSP*Digital Signal Processor,即數(shù)字信號處理器,用于運行驅(qū)動器控制程序。FPGA為Field — Programmable Gate Array,即現(xiàn)場可編程門陣列;用于實現(xiàn)以太網(wǎng)通訊協(xié)議;并且,F(xiàn)PGA中包括DPRAM和以太網(wǎng)協(xié)議棧;DPRAM為Doub 1 e-port RAM,即雙端口 RAM的意思。
[0003]為了實現(xiàn)伺服驅(qū)動器的具體功能,以太網(wǎng)協(xié)議棧與DSP之間需要進行數(shù)據(jù)交互。數(shù)據(jù)交互過程需要借助FPGA中的DPRAM實現(xiàn)。具體過程可以為:以太網(wǎng)協(xié)議??梢詫?shù)據(jù)寫入DPRAM,以便DSP在DPRAM中讀取數(shù)據(jù);反之,DSP可以將數(shù)據(jù)寫入DPRAM,以便以太網(wǎng)協(xié)議棧在DPRAM中讀取數(shù)據(jù)。
[0004]在以太網(wǎng)協(xié)議棧和DSP之間交互數(shù)據(jù)具有兩種類型:一種為同步數(shù)據(jù)(PD0數(shù)據(jù)),一種為異步數(shù)據(jù)(SD0數(shù)據(jù))。針對同步數(shù)據(jù),需要在每個以太網(wǎng)傳輸周期被DSP與以太網(wǎng)協(xié)議棧進行更新或讀取,以實時保證以太網(wǎng)協(xié)議棧和DSP上的同步性。針對異步數(shù)據(jù)在需要的時候,才在DSP與以太網(wǎng)協(xié)議棧之間傳輸數(shù)據(jù)。
[0005]目前,DSP端與FPGA之間的具有32條信號線。32條信號線分別包括16條數(shù)據(jù)總線、3條控制線以及13條地址總線。但是DSP端與FPGA之間的信號線數(shù)量過多,影響了 DSP與FPGA之間的PCB布線。
[0006]因此,現(xiàn)在需要一種方法,來減少DSP與FPGA之間的信號線數(shù)量。
【發(fā)明內(nèi)容】
[0007]鑒于此,本申請?zhí)峁┝艘环N伺服驅(qū)動器的控制方法及裝置,以便可以減少DSP與FPGA之間的信號線數(shù)量。
[0008]為了實現(xiàn)上述目的,本申請?zhí)峁┝艘韵录夹g(shù)手段:
[0009]—種伺服控制器的數(shù)據(jù)傳輸方法,包括:
[0010]確定向第二端發(fā)送的第一地址;
[0011]在附加信息集合中查找與所述第一地址對應(yīng)的第一附加信息;其中,所述附加信息集合存儲有與多個地址對應(yīng)的附加信息,所述附加信息用于解釋所述控制指令;
[0012]通過DPRAM中的SD0通道向所述第二端傳輸所述第一地址和所述第一附加信息。
[0013]優(yōu)選的,所述SD0通道包括所述控制字寄存器、變量索引寄存器和數(shù)據(jù)寄存器;則所述通過DPRAM中的SD0通道向所述第二端傳輸所述第一地址和所述第一附加信息,包括:
[0014]將所述控制字寄存器中傳輸控制字更改為第一控制字;其中,所述第一控制字表示第一端向所述第二端傳輸數(shù)據(jù);
[0015]將所述第一附加信息存儲至所述變量索引寄存器中;
[0016]將所述第一地址存儲至所述數(shù)據(jù)寄存器中。
[0017]優(yōu)選的,還包括:
[0018]通過DPRAM中的SDO通道接收所述第二端傳輸所述第二地址和所述第二附加信息;其中,所述第二地址為所述第二端根據(jù)所述第一地址和所述第二附加信息生成的,所述第二附加信息為在第二端的附加信息集合中依據(jù)所述第二地址查找到;并且,所述SD0通道控制字寄存器中的傳輸控制字為第二控制字。
[0019]優(yōu)選的,在第一端為DSP端的情況下,所述第二端為以太網(wǎng)協(xié)議棧端;或者,
[0020]在所述第一端為以太網(wǎng)協(xié)議棧端的情況下,所述第二端為DSP端。
[0021 ] 一種伺服控制器的數(shù)據(jù)傳輸裝置,包括:
[0022]確定單元,用于確定向第二端發(fā)送的第一地址;
[0023]查找單元,用于在附加信息集合中查找與所述第一地址對應(yīng)的第一附加信息;其中,所述附加信息集合存儲有與多個地址對應(yīng)的附加信息,所述附加信息用于解釋所述控制指令;
[0024]傳輸單元,用于通過DPRAM中的SD0通道向所述第二端傳輸所述第一地址和所述第一附加信息。
[0025]優(yōu)選的,所述SD0通道包括所述控制字寄存器、變量索引寄存器和數(shù)據(jù)寄存器;則所述傳輸單元,包括:
[0026]更改單元,用于將所述控制字寄存器中傳輸控制字更改為第一控制字;其中,所述第一控制字表示第一端向所述第二端傳輸數(shù)據(jù);
[0027]第一存儲單元,用于將所述第一附加信息存儲至所述變量索引寄存器中;
[0028]第二存儲單元,用于將所述第一地址存儲至所述數(shù)據(jù)寄存器中。
[0029]優(yōu)選的,還包括:
[0030]接收單元,用于通過DPRAM中的SDO通道接收所述第二端傳輸所述第二地址和所述第二附加信息;其中,所述第二地址為所述第二端根據(jù)所述第一地址和所述第二附加信息生成的,所述第二附加信息為在第二端的附加信息集合中依據(jù)所述第二地址查找到,并且,所述SD0通道控制字寄存器中的傳輸控制字為第二控制字。
[0031]優(yōu)選的,在第一端為DSP端的情況下,所述第二端為以太網(wǎng)協(xié)議棧端;或者,
[0032]在所述第一端為以太網(wǎng)協(xié)議棧端的情況下,所述第二端為DSP端。
[0033]由以上內(nèi)容,可以看出本申請具有以下有益效果:
[0034]本申請中減少了一部分地址總線,將需要采用地址總線進行傳輸?shù)目刂浦噶钭儞Q為帶指令標示符的數(shù)據(jù),并通過SD0通道進行傳輸。由于減少地址總線的數(shù)量,從而方便DSP與FPGA之間的PCB布線。例如,本申請可以達到DSP與FPGA間需28條信號線(16bits數(shù)據(jù)總線,3條控制線,9bits地址總線),相較于現(xiàn)有技術(shù)的32條信號線而言,可以減少4根信號線。
【附圖說明】
[0035]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0036]圖1為本申請公開的一種伺服驅(qū)動器的結(jié)構(gòu)示意圖;
[0037]圖2為本申請實施例一種伺服驅(qū)動器中DPRAM的結(jié)構(gòu)示意圖;
[0038]圖3為本申請實施例公開的一種伺服控制器的數(shù)據(jù)傳輸方法的流程圖;
[0039]圖4為本申請實施例公開的又一伺服控制器的數(shù)據(jù)傳輸方法的流程圖;
[0040]圖5為本申請實施例公開的又一伺服控制器的數(shù)據(jù)傳輸方法的流程圖;
[0041 ]圖6為本申請實施例公開的又一伺服控制器的數(shù)據(jù)傳輸方法的流程圖;
[0042]圖7為本申請實施例公開的伺服控制器的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)圖;
[0043]圖8為本申請實施例公開的又一伺服控制器的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)圖;
[0044]圖9a和9b為本申請實施例公開的讀寫時序的示意圖;
[0045]圖10a和10b為本申請實施例公開的讀寫狀態(tài)機的示意圖。
【具體實施方式】
[0046]下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0047]本申請的數(shù)據(jù)傳輸方法應(yīng)用于FPGA中,在FPGA的一端為DSP端另一端為以太網(wǎng)協(xié)議棧端,并且在FPGA中設(shè)置有DPRAM。因此,本申請中的FPGA可以實現(xiàn)基于DPRAM來實現(xiàn)DSP端與以太網(wǎng)協(xié)議棧端之間的數(shù)據(jù)傳輸。
[0048]參見圖2,為本申請?zhí)峁┑腄PRAM的結(jié)構(gòu)。
[0049 ] 從圖2所示中可以看出:DPRAM包括兩個通道:同步數(shù)據(jù)傳輸通道(簡稱TOO通道)和異步數(shù)據(jù)傳輸通道(簡稱SDO通道)。針對roo通道具體分為第一通道和第二通道。其中,第一通道用于以太網(wǎng)協(xié)議棧端向DSP端寫數(shù)據(jù);第二通道用于DSP端向以太網(wǎng)協(xié)議棧端寫數(shù)據(jù)。
[0050]在?00通道中,第一通道具體包括:03?端的輸出寄存器01?_1^1^](1 = 0,1,...,m),中間寄存器Fl_RAM[x] (x = 0,1,...,m),以及,以太網(wǎng)協(xié)議棧端的輸入寄存器PW_RAM[x]
(X — 0,1,...,m)o
[0051]第二通道包括:05?端的輸入寄存器鼎_1^1^]& = 0,1,...,n),中間寄存器F2_RAM[x](x = 0,l,...,n),以及,以太網(wǎng)協(xié)議棧端的輸出寄存器PR_RAM[x](x = 0,l,...,n)。
[0052]在PDO通道中,當以太網(wǎng)協(xié)議棧需要寫數(shù)據(jù)時,可以向輸入寄存器PW_RAM[x](x =0,1,...,111)中寫入數(shù)據(jù),然后可以再將數(shù)據(jù)從輸入寄存器1^_1?層[4& = 0,1,...,m