楊福寶
(武漢理工大學 馬房山校區信息學院 電子工程系,武漢 430070)
隨著微電子技術的發展,數字式控制處理芯片的運算能力和可靠性得到很大的提高,這使得以單片機為控制核心的全數字化控制系統取代以前的模擬器件控制系統成為可能。在伺服功率模塊,由于電力電子器件的不斷進步,尤其是新的可關斷器件,如雙結型晶體管(BJT)、金屬氧化物半導體場效應晶體管(MOSFET)、絕緣柵雙極型晶體管(IGBT)的實用化,使得高頻化PWM技術成為可能。在控制算法上,由于矢量控制技術的使用和現代控制理論的應用,巧妙的實現了交流電機磁通和轉矩的重構和解耦控制,從而促進了交流電機控制系統走向實用,現代控制理論的應用,如最優控制、滑模變結構控制、狀態觀測器和卡爾曼濾波器等提高了系統的動態性能,如系統的魯棒性和實時性[1,2]。新型的無機械傳感器技術的發展也為伺服控制提高了高度的精確性。EtherCAT工業以太網技術最初由德國倍福公司開發,目前由ETG(EtherCAT Technology Group)協會進行管理。EtherCAT在數據鏈路層采用了實時調度的軟件核,并采用了過程數據傳輸的獨立通道,提高了系統的實時性;該網絡具有靈活的拓撲結構,簡單的系統配置,較低的構建成本等特點,可以實現傳統的以太網無法迄及的控制理念。巨大的帶寬可以實現每個數據信息與其狀態信息同時傳輸。EtherCAT是一個完全開放的網絡,這對對EtherCAT的研究及利用該網絡開發相應的產品提供了很好的平臺。
目前基于以太網的現場控制網絡被廣泛應用于工業現場控制領域。傳統的以太網術采用CSMA/CD介質訪問方式為競爭式的共享介質技術,對間歇傳輸、突發性長報文傳輸有著很高的效率。在節點數少、負載輕的情況下,以太網具有很好的效率。當節點數增多、數據通信量增大、負載加重的情況下以太網的效率下降很多。有資料表明,以太網的有效帶寬利用率不超過40%[3~5]。所以,如何在原有的以太網基礎上加以實時性改進,使之符合工業現場數據交換要求是把傳統以太網引入工業現場的最佳途徑。目前國內外開發的工業以太網采用了不同的原理和技術,從實現方式上大體可以分為三類[4,5],下面就這三類以太網實現方式分別介紹。
A類使用標準的未改變的以太網硬件和標準的TCP/IP軟件協議棧實現工業過程數據傳輸。為了提供更高的性能,對TCP/IP協議棧做了一些改動。A類被稱為“盡力發送”的以太網網絡,由于諸如交換機等以太網互聯設備不可預知的延遲使得實時性大大降低。由于采用TCP/UDP/IP協議棧,成為提高A類網絡實時性的最大障礙。目前施耐德公司的Modbus/TCP、羅克韋爾公司的Ethemet/IP、西門子公司PROFINET(version)為采用A類實現方式的工業以太網。圖1為A類工業以太網絡從站結構圖。

圖1 A類工業以太網絡從站結構圖
B類工業以太網仍然使用的是標準的以太網控制器,但是過程數據的傳輸沒有使用TCP/IP協議,而是設計了一種專門用于過程數據的通訊協議,其數據可以直接在以太網幀里傳輸。TCP/IP協議棧仍然存在,但是被一層稱作時間層的協議控制其訪問以太網。相比A類實現方式,B類在過程數據傳輸上實時性得到很好的保證。目前Powerlink、西門子公司PROFINET(version2)網絡采用的是B類實現方式。圖2為B類以太網從站結構圖。

圖2 B類以太網從站結構圖
C類相比B類工業以太同性能有了更大的提高。它使用了專用的硬件(至少在從站側),硬件的集成是使以太月的性能提高的重要原因。過程數據通訊協議和TCP/IP協議棧可以并行運行,在數據鏈路層的時間實時軟件核提高系統的實時性。SERCOSIII、EtherCAT和 PROFINE(version3)采用的是C類實現方式。圖3為C類從站結村固。EtherCAT網絡采用C類實現方式,在數據鏈路層采用了實時調度的軟件核,并提供了過程數據傳輸的獨立通道,提高了系統的實時性;EtherCAT還具有靈括的拓撲結構,簡單的系統配置,高速高效率等特點,它還符臺甚至降低了現場總線的使用成本,得到了業內的廣泛關注。

圖3 C類以太網從站結構圖
通訊模塊是EtherCAT設計實現中DSP芯片與控制設備連接的手段,主要,包括SPI、SCI、I2C、Ecan、McBSP串口模塊,SPI是一個高速同步串口通訊模塊,它提供了數據的高速傳輸通道。在本設計中,我們通過SPI接口實現DSP控制器和從站接口芯片的數據傳輸。

圖4 SPI結構圖
SPI允許可編程長度的串行位流(1. 16bits)以一個可編程的位傳輸速率移入或移出設備。SPI一般應用于DSP控制器與外設或與另一個控制器之間的通信。SPl支持主從模式通信,即一主多從模式通信,通過從設備選擇信號,主設備可以分別與每個從設備進行通信。刑S320F28335的SPI模塊支持16級深的FIFO,這樣的結構可以在通信過程中減輕CPU的負擔。圖4為SPI結構框圖SPI有以下特點:
1)4個外部引腳:SPISOMI(從模式輸出/主模式輸入引腳);SPISIMO(從模式輸入/主模式輸出引腳);SPISTE(從模式發送使能引腳);SPICLK(串行時鐘引腳)。
2)兩種工作模式:主工作模式和從工作模式。
3)125種不同的可編程通信速率。
4)數據字長度可以為1.16個數據位。
5)4種時鐘配置方法:不帶相位延時的下降沿;帶有相位延時的下降沿;不帶相位延時的上升沿;帶有相位延時的上升沿。
SPI使用主從通信模式,使用SPI通訊的兩個控制器必須在通訊前配置為主或從控制器,通過MASTER/SLAVE控制位去選擇工作模式和SPICLK信號源。下邊分別介紹主工作模式和從工作模式的工作原理。
1)主工作模式
在主工作模式中,MASTE剛SLAⅦ=1,SPI通過SPICLK為整個通信網絡提供串行時鐘。數據從SPISIMO引腳輸出,從SPISOMI引腳輸入。SPIBRR寄存器決定整個網絡的數據發送和接收的位傳輸速率,有126種不同的位傳輸速率選擇。寫入SPIDAT或SPITXBUF的數據啟動SPISIMO引腳的數據發送,首先發送的是最高有效位,然后依次發送。接收的數據通過SPISOMI引腳移入SPIDAT的最低有效位。當選擇的位全部發送結束時,接收的數據被傳輸到SP RXBUF供CPU讀取。SPISTE引腳作為從SPI設備的使能引腳,主設備發送數據到從設備之前,要將從選擇引腳SPISTE置低,并且發送完主設備數據后將該引腳重新置高。
2)從工作模式
在從工作模式(MASTER/SLAVE_=o)中,數據在引腳SPISOMI移出且在SPISIMO移入。引腳SPICLK被用作串行移位時鐘輸入,該時鐘由主設備提供。當接收到來自主設備SPICLK信號的適當邊緣時,寫入SPIDAT或SPITXBUF的數據被發送到網絡。對于接收數據,SPI等待網絡主設備送過來的SPICLK信號,接著將數據通過引腳SPISIMO移位到SPIDAT。SPISTE信號用作選擇引腳。該引腳低有效信號允許SPI從設備向串行數據線傳送數據,高有效信號禁止SPI從設備的串行移位寄存器,并將它的串行輸出引腳置于高阻狀態。圖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的數據交換引腳、時鐘引腳和從設備選擇引腳;
SpiaRegs. SPICCR. all=0x0007;SpiaRegs. SPICTL. all=0x0015;SpiaRegs. SPIBRR. all=0x0000;
SpiaRegs. SPITXBUF. a11=0x0000;
上述配置中,設置每8個比特作為一個字符移入或移出寄存器,把DSP配置為SPI主設備,波特率為LSPCLK/4,數據在SPICLK低電平時在SPISIMO引腳輸出數據,在高電平時在SPISOMI引腳輸入數據;最后初始化輸出寄存器。在程序運行時,通過中斷讀取輸入緩沖寄存器中的值可以得到數據,通過寫輸出緩沖寄存器可以發送數據到主或從設備中去。
[1] George Ellis. Control System Design Guide(Third Edition).publishing house of electronics industry, 2006: 10-26.
[2] 施耐德電氣公司著, 自動化解決方案指南. 機械工業出版社, 2007: 10-57.
[3] 夏繼強, 刑春香. 現場總線工業控制網絡技術[M]. 北京:北京航空航天人學出版社, 2005: 27-35.