楊福寶
(武漢理工大學 馬房山校區(qū)信息學院 電子工程系,武漢 430070)
隨著微電子技術的發(fā)展,數(shù)字式控制處理芯片的運算能力和可靠性得到很大的提高,這使得以單片機為控制核心的全數(shù)字化控制系統(tǒng)取代以前的模擬器件控制系統(tǒng)成為可能。在伺服功率模塊,由于電力電子器件的不斷進步,尤其是新的可關斷器件,如雙結型晶體管(BJT)、金屬氧化物半導體場效應晶體管(MOSFET)、絕緣柵雙極型晶體管(IGBT)的實用化,使得高頻化PWM技術成為可能。在控制算法上,由于矢量控制技術的使用和現(xiàn)代控制理論的應用,巧妙的實現(xiàn)了交流電機磁通和轉矩的重構和解耦控制,從而促進了交流電機控制系統(tǒng)走向實用,現(xiàn)代控制理論的應用,如最優(yōu)控制、滑模變結構控制、狀態(tài)觀測器和卡爾曼濾波器等提高了系統(tǒng)的動態(tài)性能,如系統(tǒng)的魯棒性和實時性[1,2]。新型的無機械傳感器技術的發(fā)展也為伺服控制提高了高度的精確性。EtherCAT工業(yè)以太網(wǎng)技術最初由德國倍福公司開發(fā),目前由ETG(EtherCAT Technology Group)協(xié)會進行管理。EtherCAT在數(shù)據(jù)鏈路層采用了實時調度的軟件核,并采用了過程數(shù)據(jù)傳輸?shù)莫毩⑼ǖ?,提高了系統(tǒng)的實時性;該網(wǎng)絡具有靈活的拓撲結構,簡單的系統(tǒng)配置,較低的構建成本等特點,可以實現(xiàn)傳統(tǒng)的以太網(wǎng)無法迄及的控制理念。巨大的帶寬可以實現(xiàn)每個數(shù)據(jù)信息與其狀態(tài)信息同時傳輸。EtherCAT是一個完全開放的網(wǎng)絡,這對對EtherCAT的研究及利用該網(wǎng)絡開發(fā)相應的產(chǎn)品提供了很好的平臺。
目前基于以太網(wǎng)的現(xiàn)場控制網(wǎng)絡被廣泛應用于工業(yè)現(xiàn)場控制領域。傳統(tǒng)的以太網(wǎng)術采用CSMA/CD介質訪問方式為競爭式的共享介質技術,對間歇傳輸、突發(fā)性長報文傳輸有著很高的效率。在節(jié)點數(shù)少、負載輕的情況下,以太網(wǎng)具有很好的效率。當節(jié)點數(shù)增多、數(shù)據(jù)通信量增大、負載加重的情況下以太網(wǎng)的效率下降很多。有資料表明,以太網(wǎng)的有效帶寬利用率不超過40%[3~5]。所以,如何在原有的以太網(wǎng)基礎上加以實時性改進,使之符合工業(yè)現(xiàn)場數(shù)據(jù)交換要求是把傳統(tǒng)以太網(wǎng)引入工業(yè)現(xiàn)場的最佳途徑。目前國內外開發(fā)的工業(yè)以太網(wǎng)采用了不同的原理和技術,從實現(xiàn)方式上大體可以分為三類[4,5],下面就這三類以太網(wǎng)實現(xiàn)方式分別介紹。
A類使用標準的未改變的以太網(wǎng)硬件和標準的TCP/IP軟件協(xié)議棧實現(xiàn)工業(yè)過程數(shù)據(jù)傳輸。為了提供更高的性能,對TCP/IP協(xié)議棧做了一些改動。A類被稱為“盡力發(fā)送”的以太網(wǎng)網(wǎng)絡,由于諸如交換機等以太網(wǎng)互聯(lián)設備不可預知的延遲使得實時性大大降低。由于采用TCP/UDP/IP協(xié)議棧,成為提高A類網(wǎng)絡實時性的最大障礙。目前施耐德公司的Modbus/TCP、羅克韋爾公司的Ethemet/IP、西門子公司PROFINET(version)為采用A類實現(xiàn)方式的工業(yè)以太網(wǎng)。圖1為A類工業(yè)以太網(wǎng)絡從站結構圖。
圖1 A類工業(yè)以太網(wǎng)絡從站結構圖
B類工業(yè)以太網(wǎng)仍然使用的是標準的以太網(wǎng)控制器,但是過程數(shù)據(jù)的傳輸沒有使用TCP/IP協(xié)議,而是設計了一種專門用于過程數(shù)據(jù)的通訊協(xié)議,其數(shù)據(jù)可以直接在以太網(wǎng)幀里傳輸。TCP/IP協(xié)議棧仍然存在,但是被一層稱作時間層的協(xié)議控制其訪問以太網(wǎng)。相比A類實現(xiàn)方式,B類在過程數(shù)據(jù)傳輸上實時性得到很好的保證。目前Powerlink、西門子公司PROFINET(version2)網(wǎng)絡采用的是B類實現(xiàn)方式。圖2為B類以太網(wǎng)從站結構圖。
圖2 B類以太網(wǎng)從站結構圖
C類相比B類工業(yè)以太同性能有了更大的提高。它使用了專用的硬件(至少在從站側),硬件的集成是使以太月的性能提高的重要原因。過程數(shù)據(jù)通訊協(xié)議和TCP/IP協(xié)議??梢圆⑿羞\行,在數(shù)據(jù)鏈路層的時間實時軟件核提高系統(tǒng)的實時性。SERCOSIII、EtherCAT和 PROFINE(version3)采用的是C類實現(xiàn)方式。圖3為C類從站結村固。EtherCAT網(wǎng)絡采用C類實現(xiàn)方式,在數(shù)據(jù)鏈路層采用了實時調度的軟件核,并提供了過程數(shù)據(jù)傳輸?shù)莫毩⑼ǖ?,提高了系統(tǒng)的實時性;EtherCAT還具有靈括的拓撲結構,簡單的系統(tǒng)配置,高速高效率等特點,它還符臺甚至降低了現(xiàn)場總線的使用成本,得到了業(yè)內的廣泛關注。
圖3 C類以太網(wǎng)從站結構圖
通訊模塊是EtherCAT設計實現(xiàn)中DSP芯片與控制設備連接的手段,主要,包括SPI、SCI、I2C、Ecan、McBSP串口模塊,SPI是一個高速同步串口通訊模塊,它提供了數(shù)據(jù)的高速傳輸通道。在本設計中,我們通過SPI接口實現(xiàn)DSP控制器和從站接口芯片的數(shù)據(jù)傳輸。
圖4 SPI結構圖
SPI允許可編程長度的串行位流(1. 16bits)以一個可編程的位傳輸速率移入或移出設備。SPI一般應用于DSP控制器與外設或與另一個控制器之間的通信。SPl支持主從模式通信,即一主多從模式通信,通過從設備選擇信號,主設備可以分別與每個從設備進行通信。刑S320F28335的SPI模塊支持16級深的FIFO,這樣的結構可以在通信過程中減輕CPU的負擔。圖4為SPI結構框圖SPI有以下特點:
1)4個外部引腳:SPISOMI(從模式輸出/主模式輸入引腳);SPISIMO(從模式輸入/主模式輸出引腳);SPISTE(從模式發(fā)送使能引腳);SPICLK(串行時鐘引腳)。
2)兩種工作模式:主工作模式和從工作模式。
3)125種不同的可編程通信速率。
4)數(shù)據(jù)字長度可以為1.16個數(shù)據(jù)位。
5)4種時鐘配置方法:不帶相位延時的下降沿;帶有相位延時的下降沿;不帶相位延時的上升沿;帶有相位延時的上升沿。
SPI使用主從通信模式,使用SPI通訊的兩個控制器必須在通訊前配置為主或從控制器,通過MASTER/SLAVE控制位去選擇工作模式和SPICLK信號源。下邊分別介紹主工作模式和從工作模式的工作原理。
1)主工作模式
在主工作模式中,MASTE剛SLAⅦ=1,SPI通過SPICLK為整個通信網(wǎng)絡提供串行時鐘。數(shù)據(jù)從SPISIMO引腳輸出,從SPISOMI引腳輸入。SPIBRR寄存器決定整個網(wǎng)絡的數(shù)據(jù)發(fā)送和接收的位傳輸速率,有126種不同的位傳輸速率選擇。寫入SPIDAT或SPITXBUF的數(shù)據(jù)啟動SPISIMO引腳的數(shù)據(jù)發(fā)送,首先發(fā)送的是最高有效位,然后依次發(fā)送。接收的數(shù)據(jù)通過SPISOMI引腳移入SPIDAT的最低有效位。當選擇的位全部發(fā)送結束時,接收的數(shù)據(jù)被傳輸?shù)絊P RXBUF供CPU讀取。SPISTE引腳作為從SPI設備的使能引腳,主設備發(fā)送數(shù)據(jù)到從設備之前,要將從選擇引腳SPISTE置低,并且發(fā)送完主設備數(shù)據(jù)后將該引腳重新置高。
2)從工作模式
在從工作模式(MASTER/SLAVE_=o)中,數(shù)據(jù)在引腳SPISOMI移出且在SPISIMO移入。引腳SPICLK被用作串行移位時鐘輸入,該時鐘由主設備提供。當接收到來自主設備SPICLK信號的適當邊緣時,寫入SPIDAT或SPITXBUF的數(shù)據(jù)被發(fā)送到網(wǎng)絡。對于接收數(shù)據(jù),SPI等待網(wǎng)絡主設備送過來的SPICLK信號,接著將數(shù)據(jù)通過引腳SPISIMO移位到SPIDAT。SPISTE信號用作選擇引腳。該引腳低有效信號允許SPI從設備向串行數(shù)據(jù)線傳送數(shù)據(jù),高有效信號禁止SPI從設備的串行移位寄存器,并將它的串行輸出引腳置于高阻狀態(tài)。圖5為主從設備通訊時的具體連接。
圖5 SPI主從連接圖
在本設計中,SPI內部寄存器的具體配置及說明如下:
EALLOW;
GpioCtrlRegs. GPAMUX2. bit. GPIO16=1;//GPIO20 is SPISIMOA
GpioCtrlRegs. GPAMUX2. bit. GPlO17=1;//GPIO21 is SPISOMIA
GpioCtrlRegs. GPAMUX2. bit. GPIO18=1;//GPIO23 is SPICLKA
GpioCtrlRegs. GPAMUX2. bit. GPIO19=1;//GPIO23 is SPISTEA
EDIS;
在上述寄存器設置中,分別配置GPIO16.GPIO19分別為SPI的數(shù)據(jù)交換引腳、時鐘引腳和從設備選擇引腳;
SpiaRegs. SPICCR. all=0x0007;SpiaRegs. SPICTL. all=0x0015;SpiaRegs. SPIBRR. all=0x0000;
SpiaRegs. SPITXBUF. a11=0x0000;
上述配置中,設置每8個比特作為一個字符移入或移出寄存器,把DSP配置為SPI主設備,波特率為LSPCLK/4,數(shù)據(jù)在SPICLK低電平時在SPISIMO引腳輸出數(shù)據(jù),在高電平時在SPISOMI引腳輸入數(shù)據(jù);最后初始化輸出寄存器。在程序運行時,通過中斷讀取輸入緩沖寄存器中的值可以得到數(shù)據(jù),通過寫輸出緩沖寄存器可以發(fā)送數(shù)據(jù)到主或從設備中去。
[1] George Ellis. Control System Design Guide(Third Edition).publishing house of electronics industry, 2006: 10-26.
[2] 施耐德電氣公司著, 自動化解決方案指南. 機械工業(yè)出版社, 2007: 10-57.
[3] 夏繼強, 刑春香. 現(xiàn)場總線工業(yè)控制網(wǎng)絡技術[M]. 北京:北京航空航天人學出版社, 2005: 27-35.