《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > CAN應(yīng)用層MWCPro協(xié)議在微波控制系統(tǒng)中的應(yīng)用研究
CAN應(yīng)用層MWCPro協(xié)議在微波控制系統(tǒng)中的應(yīng)用研究
來源:電子技術(shù)應(yīng)用2011年第4期
徐 超1,2,胡 安2,楊正新2,曾 锃1,劉文國1,2等
1.湖南大學(xué) 計算機(jī)與通信學(xué)院,湖南 長沙410082; 2.長沙隆泰微波熱工有限公司,湖南 長沙410013
摘要: 針對現(xiàn)階段大陣列磁控管控制系統(tǒng)存在的結(jié)構(gòu)復(fù)雜、成本高等問題,提出了一種基于CAN總線的解決方案。該方案中自定義了CAN總線應(yīng)用層協(xié)議MWCPro,該協(xié)議綜合了國際上廣泛采用的CANOpen、DeviceNet以及iCAN等應(yīng)用層協(xié)議的優(yōu)點(diǎn),針對微波控制系統(tǒng)的特點(diǎn)所創(chuàng)建。闡述了MWCPro協(xié)議的報文結(jié)構(gòu)、軟硬件實(shí)現(xiàn)及其在大陣列磁控管控制系統(tǒng)中的應(yīng)用前景。
中圖分類號: TP336
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2011)04-0045-03
The application study of the MWCPro application layer protocol of CAN bus in the microwave control system
Xu Chao1,2,Hu An2,Yang Zhengxin2,Zeng Zeng1,Liu Wenguo1,2,Xu Zhuyao2
1.School of Computer & Communication, Hunan University, Changsha 410082,China; 2.Synotherm Corporation, Changsha 410013,China
Abstract: Nowadays, the configuration of the huge array magnetrons control system is too complex, and its cost is too much. So we propose the CAN bus solution. The customized CAN bus application layer protocol in this solution is MWCPro, it is created for the characteristics of the microwave control system. MWCPro has many advantages of CANOpen, DeviceNet and iCAN. This paper expatiates the frame of the protocol message and how the hardware and software of the protocol come true in the huge array magnetrons control system.
Key words : CAN bus;MWCPro application protocol;microwave;control system


    微波作為一種新能源,因其環(huán)保和高效得到蓬勃發(fā)展,其中微波加熱技術(shù)被廣泛采用。一般的微波加熱設(shè)備控制系統(tǒng)采用PLC+觸摸屏[1],如果是集中控制方案,在小型工業(yè)微波控制系統(tǒng)中使用良好,但是在大陣列磁控管控制系統(tǒng)中就會出現(xiàn)線束過多、安裝及調(diào)試或檢修困難的情況;如果是分布式控制方案,則PLC的成本就會大大提高。而CAN總線成本低、效率高、抗干擾能力強(qiáng)、便于擴(kuò)展等優(yōu)點(diǎn)可以彌補(bǔ)PLC+觸摸屏的控制方式下大陣列磁控管控制系統(tǒng)的不足。
    CAN總線是國際上廣泛應(yīng)用的現(xiàn)場總線之一,其模型結(jié)構(gòu)[2]相對于國際標(biāo)準(zhǔn)化組織開放系統(tǒng)互連模型(OSI)只有三層:物理層、數(shù)據(jù)鏈路層和應(yīng)用層。為了使其應(yīng)用更加廣泛靈活,CAN的國際標(biāo)準(zhǔn)ISO 11898中只規(guī)定了物理層和數(shù)據(jù)鏈路層標(biāo)準(zhǔn),沒有定義應(yīng)用層,用戶需要根據(jù)需求制定具體的應(yīng)用層協(xié)議。目前在多種已成國際標(biāo)準(zhǔn)的應(yīng)用層協(xié)議中CANOpen[3]和DeviceNet[4]使用最為廣泛。CANOpen的協(xié)議原型是Bosch公司在1993年提出的,它一般用于機(jī)械的嵌入式網(wǎng)絡(luò)中;DeviceNet由Allen-Bradley公司開發(fā),目前在美國和亞洲的工業(yè)自動化市場上處于領(lǐng)導(dǎo)地位;國內(nèi)工控領(lǐng)域使用較為廣泛的是周立功公司推出的iCAN[5]。這三種協(xié)議標(biāo)準(zhǔn)應(yīng)用廣泛,且便于和其他設(shè)備互聯(lián),但是對于一些相對簡單和獨(dú)立的控制系統(tǒng),它們并不適用且過于復(fù)雜,某些協(xié)議還需要付費(fèi)使用。
    因此針對微波控制領(lǐng)域,定義了一種新的CAN總線應(yīng)用協(xié)議——微波控制協(xié)議MWCPro(MicroWave Control Protocol)。
1 MWCPro協(xié)議在大陣列磁控管控制系統(tǒng)中的設(shè)計
    制定CAN總線應(yīng)用層協(xié)議時,需要考慮以下幾個方面:報文標(biāo)識符的設(shè)計、多主或主從結(jié)構(gòu)、數(shù)據(jù)的交換方式以及網(wǎng)絡(luò)的管理等。
    在大陣列磁控管控制系統(tǒng)中,有整體控制、分組控制和單個控制的要求,因此每個磁控管都要有唯一的地址。采用主從式結(jié)構(gòu),數(shù)據(jù)的交換方式為主機(jī)向從機(jī)發(fā)送命令,從機(jī)返回數(shù)據(jù)以響應(yīng)主機(jī)命令,從機(jī)只可以主動報警。在整個系統(tǒng)中,固定一定數(shù)目的從機(jī)為一組,屬于分布式控制。系統(tǒng)結(jié)構(gòu)如圖1所示。

其中G0代表第0組,Gn代表第n組;S0代表第0個從機(jī),Sm代表第m個從機(jī)。
1.1 協(xié)議介紹
    報文ID的設(shè)定是應(yīng)用層協(xié)議最主要的部分,它涉及報文的優(yōu)先權(quán)、延時、報文濾波的使用、可能形成的通信結(jié)構(gòu)和標(biāo)識符使用的效率等。該系統(tǒng)相對簡單獨(dú)立,因此采用CAN 2.0A標(biāo)準(zhǔn)的11位標(biāo)識符外加兩個數(shù)據(jù)字節(jié)作為每幀的ID,如表1所示。

    組別號和從機(jī)號的組合除去廣播所用,共有105種,即整個系統(tǒng)可以有105個節(jié)點(diǎn)(主機(jī)或從機(jī))。若選擇常用的Philips 82C250作為總線收發(fā)器,CAN節(jié)點(diǎn)數(shù)目已基本接近其極限110個。如果需要進(jìn)一步擴(kuò)大網(wǎng)絡(luò)規(guī)模,以掛接更多的節(jié)點(diǎn),則可以把標(biāo)準(zhǔn)標(biāo)志符改為29位的擴(kuò)展標(biāo)志符,并利用網(wǎng)控器進(jìn)行擴(kuò)展[6]。
1.2 協(xié)議設(shè)計
    磁控管控制系統(tǒng)的功能需求包括:首先確定通信和工作都正常的微波源的個數(shù)以及控制終端之間有無地址沖突;選擇全部、分組或者單個微波源啟動或停止;實(shí)時監(jiān)測每個微波源的各項(xiàng)參數(shù)值,如電流、電壓、溫度、反射功率以及微波泄漏功率等;運(yùn)行途中各微波源的值若超出設(shè)定的閾值(該閾值可修改),或者微波源本身出現(xiàn)故障(偶然故障或永久性故障),則實(shí)時報警,并且系統(tǒng)要采取相應(yīng)的措施停止相關(guān)功能的繼續(xù)運(yùn)行。
    根據(jù)以上功能要求設(shè)計了8種命令碼:
    ORD0:報警幀(數(shù)據(jù)幀),無廣播形式,從機(jī)發(fā)送主機(jī)讀取,優(yōu)先權(quán)最高。為實(shí)現(xiàn)同時報警,功能碼和子功能碼中的每一位代表一種報警,即16種報警。
    ORD1:輪詢在線(遠(yuǎn)程幀),主機(jī)依次發(fā)送ORD1命令給各個從機(jī),從機(jī)接收后返回一個確認(rèn)幀,以便主機(jī)確認(rèn)該從機(jī)依舊在線。
    ORD2:計算通信往返時間(遠(yuǎn)程幀),在確定所有從機(jī)都在線時,計算主機(jī)與從機(jī)之間一幀數(shù)據(jù)平均的往返時間。該往返時間將作為判斷從機(jī)響應(yīng)是否超時的標(biāo)準(zhǔn)。
    ORD3:索要從機(jī)數(shù)據(jù)(數(shù)據(jù)幀),無廣播形式,從機(jī)發(fā)送主機(jī)讀取。
    ORD4:從機(jī)地址沖突檢測(遠(yuǎn)程幀),每個從機(jī)都向其所在組的其他從機(jī)發(fā)送ORD4,其他從機(jī)接收到ORD4后將所接收ID中的地址位與自身地址進(jìn)行比較,若相同則以O(shè)RD0命令向主機(jī)報告地址沖突,否則無需響應(yīng)此消息;主機(jī)本身不對ORD4進(jìn)行處理。
    ORD5:廣播命令(遠(yuǎn)程幀),開從機(jī)。
    ORD6:廣播命令(遠(yuǎn)程幀),關(guān)從機(jī)。
    ORD7:修改從機(jī)參數(shù)(數(shù)據(jù)幀),無廣播形式,主機(jī)發(fā)送從機(jī)執(zhí)行。
    ORD8~ORDF為預(yù)留命令碼。
2 MWCPro協(xié)議在大陣列磁控管控制系統(tǒng)中的實(shí)現(xiàn)
2.1 硬件實(shí)現(xiàn)

    通過對比目前市場上常見的各種芯片,最終選擇意法半導(dǎo)體公司的STM32F103VBT6作為主芯片,該芯片為基于ARM Cortex-M3核心的32位控制器,它的突出優(yōu)點(diǎn)是:內(nèi)核結(jié)構(gòu)先進(jìn)、功耗控制優(yōu)秀、接口豐富、處理速度高、全系列軟件與封裝高度兼容、性價比高等。
2.2 軟件實(shí)現(xiàn)
    整個系統(tǒng)屬于主從控制,除了主動報警,從機(jī)只能被動地按主機(jī)的要求進(jìn)行操作。軟件部分實(shí)現(xiàn)流程如圖2。

3 協(xié)議應(yīng)用
    實(shí)際應(yīng)用中,共有9個微波發(fā)射終端,分為三組,每組三個從機(jī),上位機(jī)采用運(yùn)行WinCE系統(tǒng)的觸摸屏。人機(jī)界面如圖3所示。主要頁面有微波控制、實(shí)時曲線、溫度曲線設(shè)置、選項(xiàng)參數(shù)、溫度記錄以及事件記錄共六項(xiàng)。在微波監(jiān)控界面可以看到系統(tǒng)分為手動模式和自動模式,手動模式下可以自主選擇需要開啟的從機(jī),通過手動開關(guān)微波發(fā)射終端控制各段爐溫;自動模式下默認(rèn)啟動所有處于啟用狀態(tài)的從機(jī),自動啟動和停止相關(guān)微波發(fā)射終端來控制各段爐溫處于設(shè)定溫度范圍內(nèi)。該系統(tǒng)根據(jù)材料燒結(jié)工藝將爐身分為四個溫區(qū):預(yù)熱段、燒結(jié)段1、燒結(jié)段2和緩冷段。圖3所示系統(tǒng)當(dāng)前工作在手動模式,啟動了預(yù)熱段A組的1和2號、燒結(jié)段I以及燒結(jié)段II的所有從機(jī)(緩冷段不需要加熱)。通過此界面可顯示以下6項(xiàng)報警:地址沖突、爐門、冷卻水、過流、欠流及超溫。

    該系統(tǒng)具有以下特點(diǎn):
    (1)采用時間觸發(fā)與事件觸發(fā)相結(jié)合的方式,將周期的數(shù)據(jù)請求幀與非周期的報警信息幀分別進(jìn)行處理,大大提高了系統(tǒng)的靈活性和實(shí)時性。在該協(xié)議運(yùn)行過程中,數(shù)據(jù)傳送穩(wěn)定、報警及時,基本達(dá)到設(shè)計要求,系統(tǒng)實(shí)用可靠。
    (2)相比之前的PLC+觸摸屏的控制系統(tǒng),CAN總線的控制方法不僅簡單高效,還大大降低了控制系統(tǒng)的成本。
    該控制系統(tǒng)采用觸摸屏作為上位機(jī),但觸摸屏本身不具備CAN接口,這時就需要轉(zhuǎn)換。根據(jù)系統(tǒng)需求及低成本、通用性等因素的綜合考慮,最終選擇利用STM32-
F103VBT6內(nèi)部的串口作為與觸摸屏通信的接口,采用Modbus協(xié)議,即在芯片內(nèi)部實(shí)現(xiàn)CAN/RS232的轉(zhuǎn)換,它既能滿足系統(tǒng)需求,又不會增加額外的成本,并且大多數(shù)單片機(jī)都有RS232接口,通用性較強(qiáng)。使用過程中CAN/RS232的內(nèi)部轉(zhuǎn)換能夠滿足系統(tǒng)對實(shí)時性的要求。
    上述觸摸屏控制系統(tǒng)在從機(jī)數(shù)目較多或者單機(jī)信息交換量較大的情況下,限于RS232的速率,有可能會造成數(shù)據(jù)堵塞。解決這個問題可以采用以下途徑:采用PC機(jī)加CAN/USB或CAN/PCI轉(zhuǎn)換接口代替觸摸屏加CAN/RS232,因?yàn)镽S232的最大傳輸速率只有115.2 kb/s,而USB2.0的傳輸速率為480 Mb/s,為RS232的4 266倍;PCI的速率更是可以達(dá)到1 064 Mb/s,為RS232的9 457倍。因此這兩種途徑可以很好地解決數(shù)據(jù)堵塞問題。同時由于PC機(jī)可以直連的從機(jī)為110個(CAN總線本身性質(zhì)的限制),如果要繼續(xù)擴(kuò)展,加網(wǎng)控器[6]就可以使掛接的從機(jī)數(shù)成倍增加。即使是超大矩陣終端系統(tǒng),采用以上兩種方案也完全可以實(shí)現(xiàn)實(shí)時控制。
    基于MWCPro應(yīng)用層協(xié)議的CAN總線控制系統(tǒng)在實(shí)際應(yīng)用中數(shù)據(jù)傳輸速度快、配置靈活,整個系統(tǒng)運(yùn)行穩(wěn)定。雖然MWCPro協(xié)議是針對微波控制領(lǐng)域設(shè)計的,但是它的命令碼和功能碼便于修改,系統(tǒng)容易擴(kuò)展,所以該協(xié)議也可以在其他較為簡單獨(dú)立的控制系統(tǒng)中使用,具有較強(qiáng)的實(shí)用性與通用性。
參考文獻(xiàn)
[1] 劉文國,胡安,楊正新,等.基于Windows CE的大功率微 波嵌入式控制系統(tǒng)的研究[J].電子技術(shù)應(yīng)用,2010,36 (8):41-43.
[2] Robert Bosch GmbH. Bosch CAN Specification Version 2.0. 1991.
[3] CiA CANOpen DS301_V04000201.2002.
[4] 廣州周立功單片機(jī)發(fā)展有限公司.DeviceNetTM規(guī)范簡介. 2004.
[5] 廣州致遠(yuǎn)有限公司.iCAN協(xié)議規(guī)范 Rev1.01.2007.
[6] 徐超,曾锃,楊正新,等.工業(yè)應(yīng)用領(lǐng)域CAN/RS232接口的現(xiàn)狀與未來[J].機(jī)電一體化,2010,16(4):18-20.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。