劉 娜,王云寬,陸 浩,鄭 軍,谷曉華
(中國科學(xué)院 自動(dòng)化研究所,北京 100190)
開放、通用的獨(dú)立運(yùn)動(dòng)控制器成為國內(nèi)運(yùn)動(dòng)控制器發(fā)展的趨勢(shì)。它不僅能適應(yīng)新的加工要求,而且還為與第三方技術(shù)或產(chǎn)品進(jìn)行集成提供了可能[1]。國內(nèi)開放式運(yùn)動(dòng)控制器主要依賴于計(jì)算機(jī)[2],不依賴計(jì)算機(jī)的開放式運(yùn)動(dòng)控制器,由于不同供應(yīng)商對(duì)開放性的理解不同,通常基于非標(biāo)準(zhǔn)的接口和硬件[3]。
串行實(shí)時(shí)通訊協(xié)議SERCOS(serial real-time communication specification)是國際標(biāo)準(zhǔn)化的開放式運(yùn)動(dòng)控制總線,其在運(yùn)動(dòng)控制器上的應(yīng)用將使運(yùn)動(dòng)控制器與符合SERCOS接口標(biāo)準(zhǔn)的產(chǎn)品無障礙互聯(lián),同時(shí)大大提高了運(yùn)動(dòng)控制器的性能,保證了高度實(shí)時(shí)性和同步,提高了系統(tǒng)的分布控制能力,是系統(tǒng)走向復(fù)雜化及智能化的保證[3]。目前國內(nèi)成熟的基于SERCOS的獨(dú)立運(yùn)動(dòng)控制器很少,對(duì)SERCOS的研究也多為伺服從站的研究,因此SERCOS主站接口在獨(dú)立運(yùn)動(dòng)控制器上的集成需要科研人員進(jìn)一步研究與推廣。
鑒于此,本文提出了在獨(dú)立運(yùn)動(dòng)控制器上集成SERCOS主站接口的運(yùn)動(dòng)控制器開放性方案,并從SERCOS概述、硬件模塊、軟件模塊出發(fā),詳細(xì)分析了獨(dú)立運(yùn)動(dòng)控制器上SERCOS主站接口的設(shè)計(jì)與實(shí)現(xiàn)過程,并給出了參考實(shí)例。
SERCOS協(xié)議嚴(yán)格定義了物理層、數(shù)據(jù)鏈路層以及報(bào)文結(jié)構(gòu)等內(nèi)容,不但可以傳輸周期數(shù)據(jù),如電機(jī)控制指令,還可以傳輸非周期數(shù)據(jù),如系統(tǒng)參數(shù)。所有數(shù)據(jù)都以3種數(shù)據(jù)電報(bào)的形式進(jìn)行傳輸,分別為主站數(shù)據(jù)電報(bào)MDT、伺服電報(bào)AT和主站同步電報(bào)MST[4]。
SERCOS接口通過光纖將主從站連成環(huán)形拓?fù)浣Y(jié)構(gòu),如圖1所示。一個(gè)環(huán)路上的主站理論上最多可以控制254個(gè)伺服裝置,而每個(gè)控制單元可控制多個(gè)環(huán)路,因此,使用SERCOS總線方便進(jìn)行分布式多軸控制[5]。
圖1 SERCOS接口拓?fù)浣Y(jié)構(gòu)圖Fig.1 Topological structure diagram of SERCOS interface
實(shí)際應(yīng)用表明,SERCOS接口具有如下優(yōu)點(diǎn):高度的實(shí)時(shí)性;高精度的同步;簡(jiǎn)化了控制單元和伺服裝置的連接;簡(jiǎn)化了控制硬件;數(shù)據(jù)分辨率更高,且傳輸無漂移,可用于遠(yuǎn)距離控制[6]。
實(shí)現(xiàn)協(xié)議物理層和數(shù)據(jù)鏈路層可采用SERCOS接口芯片。常用的有SERCON410A、SERCON410和SERCON816。SERCON816是在SERCON410A和SERCON410B的基礎(chǔ)上開發(fā)出來的,性能和穩(wěn)定性更好。
本設(shè)計(jì)采用SERCON816作為接口控制芯片。運(yùn)動(dòng)控制器的微處理器通過數(shù)據(jù)、地址、控制總線控制SERCON816的讀寫,并通過中斷信號(hào)響應(yīng)SERCON816的處理請(qǐng)求。運(yùn)動(dòng)控制器的總體設(shè)計(jì)圖如圖2所示。
圖2 運(yùn)動(dòng)控制器總體設(shè)計(jì)圖Fig.2 General layout scheme of motion controller
SERCOS主站接口硬件設(shè)計(jì)的關(guān)鍵是SERCON816電路設(shè)計(jì),SERCON816關(guān)鍵電路原理圖如圖3所示,主要包括總線接口設(shè)計(jì)、中斷復(fù)位時(shí)鐘設(shè)計(jì)、串行接口設(shè)計(jì)。
總線接口的設(shè)計(jì)主要是數(shù)據(jù)、地址、控制線的連接。 數(shù)據(jù)線為 D[15:0],地址線為 A[15:0],控制線主要是 ALEL、ALEH、BHEN、MCSN0、MCSN1、PCS1、ADMUX、BUSMODE0、BUSMODE1、BUSWIDTH 和BYTEDIR。本設(shè)計(jì)采用獨(dú)立的地址數(shù)據(jù)總線 (ADMUX=0,ALEL=1,ALEH=1),Intel總線模式(BUSMODE0=0,BUSMODE1=X),16 位寬數(shù)據(jù)總線(BUSWIDTH=1),D[7:0]傳輸?shù)妥止?jié)(BYTEDIR=0)。本設(shè)計(jì)只用于16位傳輸,A[0]和BHEN都接地。
SERCON816集成雙端口RAM和控制寄存器,本設(shè)計(jì)選用組合式片選方法,當(dāng)CS為低電平時(shí),選中芯片,地址線A12用于區(qū)分訪問雙端口RAM和控制寄存器,A12為0時(shí),訪問雙端口RAM,A12為1時(shí)訪問控制寄存器。
圖3 SERCON816電路圖Fig.3 Circuit diagram of SERCON816
SERCON816有 2個(gè)中斷輸出引腳,INT0和INT1,微處理器也可以通過查詢控制寄存器查詢中斷情況,本設(shè)計(jì)通過查詢方式檢查中斷反饋。
若使用硬件復(fù)位RSTN,需要使該引腳保持低電平至少50 ns,也可通過軟件復(fù)位實(shí)現(xiàn)復(fù)位,本設(shè)計(jì)采用軟件方式實(shí)現(xiàn)復(fù)位。
SERCON816有2個(gè)輸入時(shí)鐘:SCLK和MCLK。SCLK時(shí)鐘頻率需為64 MHz,MCLK最高頻率允許為32 MHz,可以由SCLK進(jìn)行2分頻或4分頻得到,SCLK的2分頻或4分頻分別由引腳SCLK02和SCLK04輸出,可以將2個(gè)引腳的輸出作為MCLK的輸入,同時(shí),為了使SCLK02和SCLK04有效,需將OUTZ引腳接地。
SERCON816的數(shù)據(jù)傳輸率由引腳SBAUD和SBAUD16以及控制寄存器中的控制位決定,本設(shè)計(jì)選用4 M的數(shù)據(jù)傳輸率,對(duì)應(yīng)SBAUD設(shè)置為0,SBAUD16設(shè)置為1。
串行接口關(guān)鍵的功能之一是中繼器功能,其開閉由控制位REPON決定,該位的復(fù)位值由引腳TM0和TM1決定,本設(shè)計(jì)設(shè)置為TM0=1,TM1=1,即復(fù)位時(shí)中繼器打開,但是建立通信時(shí)主站中繼器應(yīng)關(guān)閉,防止主從站之間來回中繼。串行發(fā)送接口對(duì)應(yīng)引腳為TxD1~TxD6,用于輸出數(shù)據(jù)到串行發(fā)送器。串行接收接口對(duì)應(yīng)引腳為RxD,作為串行接收器的輸出。串行接口有幾個(gè)指示引腳:錯(cuò)誤標(biāo)志引腳L_ERRN,接收標(biāo)志引腳RECACTN,發(fā)送狀態(tài)標(biāo)志IDLE,可用于狀態(tài)指示。
串行接口連接的串行發(fā)送器和接收器采用收發(fā)一體的OCM3351,硬件連接方便且可靠,電路圖如圖4所示。
圖4 收發(fā)器電路圖Fig.4 Circuit diagram of transceiver
上述硬件設(shè)計(jì)構(gòu)建了SERCOS協(xié)議的硬件環(huán)境,在此基礎(chǔ)上,還需要在微控制器上編寫控制驅(qū)動(dòng)程序,實(shí)現(xiàn)SERCOS應(yīng)用層協(xié)議。SERCOS接口通訊過程的建立要經(jīng)過5個(gè)階段CP0~CP4。主站寫入階段信息到MST并發(fā)送給各從站,啟動(dòng)新周期同步控制。在CP0段,主站發(fā)送MST檢查環(huán)路閉合情況,所有從站作為中繼器,若主站收到MST次數(shù)不小于10次,則表示環(huán)路閉合,可進(jìn)入CP1。在CP1段,主站分別發(fā)送MDT給每個(gè)從站用于識(shí)別對(duì)應(yīng)伺服,MDT中含有待識(shí)別伺服地址信息,控制對(duì)應(yīng)伺服的從站收到MDT后與自身控制伺服地址比較,若匹配則處理MDT,并在下一個(gè)周期發(fā)送AT應(yīng)答,沒有被尋址的伺服對(duì)應(yīng)從站作為中繼器工作,收到所有伺服的正確應(yīng)答后,可進(jìn)入CP2。在CP2段,主站配置伺服參數(shù),過程類似CP1,參數(shù)配置好后,主站發(fā)送IDN127過程命令判斷配置是否正確,從站給出正應(yīng)答后可切換到CP3。在CP3段,主站傳輸運(yùn)行參數(shù),廣播發(fā)送MDT,所有從站均會(huì)接收并處理MDT,提取屬于自己的數(shù)據(jù),并在下一個(gè)周期發(fā)送AT應(yīng)答,最后主站發(fā)送IDN128過程命令檢查配置,配置正確則可切換到CP4。在CP4段,主站將指令寫入MDT并發(fā)送,從站將運(yùn)行反饋寫入AT并發(fā)送,系統(tǒng)進(jìn)入正常運(yùn)行。
本文從實(shí)際開發(fā)經(jīng)驗(yàn)出發(fā),給出一個(gè)具體的參考:控制1個(gè)從站,帶1個(gè)伺服,地址設(shè)置為1,伺服編號(hào)為0,使用服務(wù)通道0,數(shù)據(jù)傳輸率為4 M。本例有較強(qiáng)代表性,多個(gè)伺服控制可參考本例。
在通訊階段開始之前,要對(duì)控制寄存器和雙端口RAM進(jìn)行初始化。首先,設(shè)置要寫入IDN的參數(shù),如表1所示。
表1 IDN參數(shù)Tab.1 IDN parameters
其次,對(duì)控制寄存器進(jìn)行設(shè)置。主要需要確定與通信相關(guān)的參數(shù),如表2所示。
表2 與通信相關(guān)參數(shù)Tab.2 Parameters related to communication
最后,進(jìn)行雙端口RAM設(shè)置。RAM中包括的數(shù)據(jù)段有固定段、ATM段、MDTM段等。除了固定段用戶只能配置數(shù)值外,其他段在配置數(shù)據(jù)的同時(shí)還要配置地址。關(guān)鍵配置如表3所示。
參數(shù)均配置好后,就可以進(jìn)行通訊階段的初始化進(jìn)而實(shí)現(xiàn)正常通信了。每個(gè)階段的控制流程圖如圖5、圖6、圖7和圖8所示,按照程序流程圖依次實(shí)現(xiàn)通信階段及切換,就可以正常建立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
應(yīng)運(yùn)動(dòng)控制器發(fā)展的開放性、通用性趨勢(shì),本文提出了在獨(dú)立運(yùn)動(dòng)控制器上集成SERCOS主站接口的開放性方案,論文詳細(xì)介紹了SERCOS主站的軟硬件設(shè)計(jì)及實(shí)現(xiàn)過程,并重點(diǎn)分析了開發(fā)過程中易出現(xiàn)問題的關(guān)鍵細(xì)節(jié),給出了應(yīng)用實(shí)例。測(cè)試結(jié)果表明主站實(shí)現(xiàn)了對(duì)從站的有效控制。SERCOS在獨(dú)立運(yùn)動(dòng)控制器上的集成在提高開放性的同時(shí),大大提高了控制器性能,具有較好的實(shí)際價(jià)值和應(yīng)用前景。
[1] 張晉達(dá).基于DSP的運(yùn)動(dòng)控制器的軟、硬件設(shè)計(jì)及實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2010.
[2] 徐遠(yuǎn)澤.基于DSP的運(yùn)動(dòng)控制器系統(tǒng)設(shè)計(jì)[D].成都:西南交通大學(xué),2012.
[3] 陳衛(wèi)福.開放式數(shù)控系統(tǒng)及SERCOS接口應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2003.
[4] 張劍.基于SERCOS總線的數(shù)控系統(tǒng)高速數(shù)字通信技術(shù)研究[D].南京:南京航空航天大學(xué),2008.
[5] 王強(qiáng).基于SERCOS的開放式數(shù)字運(yùn)動(dòng)控制器的研究[D].成都:電子科技大學(xué),2009.
[6] 郇極.數(shù)字伺服通訊協(xié)議SERCOS驅(qū)動(dòng)程序設(shè)計(jì)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005. ■