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

圖1 A類(lèi)工業(yè)以太網(wǎng)絡(luò)從站結(jié)構(gòu)圖
B類(lèi)工業(yè)以太網(wǎng)仍然使用的是標(biāo)準(zhǔn)的以太網(wǎng)控制器,但是過(guò)程數(shù)據(jù)的傳輸沒(méi)有使用TCP/IP協(xié)議,而是設(shè)計(jì)了一種專(zhuān)門(mén)用于過(guò)程數(shù)據(jù)的通訊協(xié)議,其數(shù)據(jù)可以直接在以太網(wǎng)幀里傳輸。TCP/IP協(xié)議棧仍然存在,但是被一層稱(chēng)作時(shí)間層的協(xié)議控制其訪(fǎng)問(wèn)以太網(wǎng)。相比A類(lèi)實(shí)現(xiàn)方式,B類(lèi)在過(guò)程數(shù)據(jù)傳輸上實(shí)時(shí)性得到很好的保證。目前Powerlink、西門(mén)子公司PROFINET(version2)網(wǎng)絡(luò)采用的是B類(lèi)實(shí)現(xiàn)方式。圖2為B類(lèi)以太網(wǎng)從站結(jié)構(gòu)圖。

圖2 B類(lèi)以太網(wǎng)從站結(jié)構(gòu)圖
C類(lèi)相比B類(lèi)工業(yè)以太同性能有了更大的提高。它使用了專(zhuān)用的硬件(至少在從站側(cè)),硬件的集成是使以太月的性能提高的重要原因。過(guò)程數(shù)據(jù)通訊協(xié)議和TCP/IP協(xié)議棧可以并行運(yùn)行,在數(shù)據(jù)鏈路層的時(shí)間實(shí)時(shí)軟件核提高系統(tǒng)的實(shí)時(shí)性。SERCOSIII、EtherCAT和 PROFINE(version3)采用的是C類(lèi)實(shí)現(xiàn)方式。圖3為C類(lèi)從站結(jié)村固。EtherCAT網(wǎng)絡(luò)采用C類(lèi)實(shí)現(xiàn)方式,在數(shù)據(jù)鏈路層采用了實(shí)時(shí)調(diào)度的軟件核,并提供了過(guò)程數(shù)據(jù)傳輸?shù)莫?dú)立通道,提高了系統(tǒng)的實(shí)時(shí)性;EtherCAT還具有靈括的拓?fù)浣Y(jié)構(gòu),簡(jiǎn)單的系統(tǒng)配置,高速高效率等特點(diǎn),它還符臺(tái)甚至降低了現(xiàn)場(chǎng)總線(xiàn)的使用成本,得到了業(yè)內(nèi)的廣泛關(guān)注。

圖3 C類(lèi)以太網(wǎng)從站結(jié)構(gòu)圖
通訊模塊是EtherCAT設(shè)計(jì)實(shí)現(xiàn)中DSP芯片與控制設(shè)備連接的手段,主要,包括SPI、SCI、I2C、Ecan、McBSP串口模塊,SPI是一個(gè)高速同步串口通訊模塊,它提供了數(shù)據(jù)的高速傳輸通道。在本設(shè)計(jì)中,我們通過(guò)SPI接口實(shí)現(xiàn)DSP控制器和從站接口芯片的數(shù)據(jù)傳輸。

圖4 SPI結(jié)構(gòu)圖
SPI允許可編程長(zhǎng)度的串行位流(1. 16bits)以一個(gè)可編程的位傳輸速率移入或移出設(shè)備。SPI一般應(yīng)用于DSP控制器與外設(shè)或與另一個(gè)控制器之間的通信。SPl支持主從模式通信,即一主多從模式通信,通過(guò)從設(shè)備選擇信號(hào),主設(shè)備可以分別與每個(gè)從設(shè)備進(jìn)行通信。刑S320F28335的SPI模塊支持16級(jí)深的FIFO,這樣的結(jié)構(gòu)可以在通信過(guò)程中減輕CPU的負(fù)擔(dān)。圖4為SPI結(jié)構(gòu)框圖SPI有以下特點(diǎn):
1)4個(gè)外部引腳:SPISOMI(從模式輸出/主模式輸入引腳);SPISIMO(從模式輸入/主模式輸出引腳);SPISTE(從模式發(fā)送使能引腳);SPICLK(串行時(shí)鐘引腳)。
2)兩種工作模式:主工作模式和從工作模式。
3)125種不同的可編程通信速率。
4)數(shù)據(jù)字長(zhǎng)度可以為1.16個(gè)數(shù)據(jù)位。
5)4種時(shí)鐘配置方法:不帶相位延時(shí)的下降沿;帶有相位延時(shí)的下降沿;不帶相位延時(shí)的上升沿;帶有相位延時(shí)的上升沿。
SPI使用主從通信模式,使用SPI通訊的兩個(gè)控制器必須在通訊前配置為主或從控制器,通過(guò)MASTER/SLAVE控制位去選擇工作模式和SPICLK信號(hào)源。下邊分別介紹主工作模式和從工作模式的工作原理。
1)主工作模式
在主工作模式中,MASTE剛SLAⅦ=1,SPI通過(guò)SPICLK為整個(gè)通信網(wǎng)絡(luò)提供串行時(shí)鐘。數(shù)據(jù)從SPISIMO引腳輸出,從SPISOMI引腳輸入。SPIBRR寄存器決定整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)發(fā)送和接收的位傳輸速率,有126種不同的位傳輸速率選擇。寫(xiě)入SPIDAT或SPITXBUF的數(shù)據(jù)啟動(dòng)SPISIMO引腳的數(shù)據(jù)發(fā)送,首先發(fā)送的是最高有效位,然后依次發(fā)送。接收的數(shù)據(jù)通過(guò)SPISOMI引腳移入SPIDAT的最低有效位。當(dāng)選擇的位全部發(fā)送結(jié)束時(shí),接收的數(shù)據(jù)被傳輸?shù)絊P RXBUF供CPU讀取。SPISTE引腳作為從SPI設(shè)備的使能引腳,主設(shè)備發(fā)送數(shù)據(jù)到從設(shè)備之前,要將從選擇引腳SPISTE置低,并且發(fā)送完主設(shè)備數(shù)據(jù)后將該引腳重新置高。
2)從工作模式
在從工作模式(MASTER/SLAVE_=o)中,數(shù)據(jù)在引腳SPISOMI移出且在SPISIMO移入。引腳SPICLK被用作串行移位時(shí)鐘輸入,該時(shí)鐘由主設(shè)備提供。當(dāng)接收到來(lái)自主設(shè)備SPICLK信號(hào)的適當(dāng)邊緣時(shí),寫(xiě)入SPIDAT或SPITXBUF的數(shù)據(jù)被發(fā)送到網(wǎng)絡(luò)。對(duì)于接收數(shù)據(jù),SPI等待網(wǎng)絡(luò)主設(shè)備送過(guò)來(lái)的SPICLK信號(hào),接著將數(shù)據(jù)通過(guò)引腳SPISIMO移位到SPIDAT。SPISTE信號(hào)用作選擇引腳。該引腳低有效信號(hào)允許SPI從設(shè)備向串行數(shù)據(jù)線(xiàn)傳送數(shù)據(jù),高有效信號(hào)禁止SPI從設(shè)備的串行移位寄存器,并將它的串行輸出引腳置于高阻狀態(tài)。圖5為主從設(shè)備通訊時(shí)的具體連接。

圖5 SPI主從連接圖
在本設(shè)計(jì)中,SPI內(nèi)部寄存器的具體配置及說(shuō)明如下:
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;
在上述寄存器設(shè)置中,分別配置GPIO16.GPIO19分別為SPI的數(shù)據(jù)交換引腳、時(shí)鐘引腳和從設(shè)備選擇引腳;
SpiaRegs. SPICCR. all=0x0007;SpiaRegs. SPICTL. all=0x0015;SpiaRegs. SPIBRR. all=0x0000;
SpiaRegs. SPITXBUF. a11=0x0000;
上述配置中,設(shè)置每8個(gè)比特作為一個(gè)字符移入或移出寄存器,把DSP配置為SPI主設(shè)備,波特率為L(zhǎng)SPCLK/4,數(shù)據(jù)在SPICLK低電平時(shí)在SPISIMO引腳輸出數(shù)據(jù),在高電平時(shí)在SPISOMI引腳輸入數(shù)據(jù);最后初始化輸出寄存器。在程序運(yùn)行時(shí),通過(guò)中斷讀取輸入緩沖寄存器中的值可以得到數(shù)據(jù),通過(guò)寫(xiě)輸出緩沖寄存器可以發(fā)送數(shù)據(jù)到主或從設(shè)備中去。
[1] George Ellis. Control System Design Guide(Third Edition).publishing house of electronics industry, 2006: 10-26.
[2] 施耐德電氣公司著, 自動(dòng)化解決方案指南. 機(jī)械工業(yè)出版社, 2007: 10-57.
[3] 夏繼強(qiáng), 刑春香. 現(xiàn)場(chǎng)總線(xiàn)工業(yè)控制網(wǎng)絡(luò)技術(shù)[M]. 北京:北京航空航天人學(xué)出版社, 2005: 27-35.