基于Linux的現場(chǎng)總線(xiàn)無(wú)線(xiàn)通信卡的實(shí)現
1.引言
本文引用地址:http://dyxdggzs.com/article/152546.htm使用無(wú)線(xiàn)連接設備的便利已經(jīng)導致了在消費電子(商業(yè))領(lǐng)域中無(wú)線(xiàn)技術(shù)被空前成功的應用。在此基礎上基于無(wú)線(xiàn)技術(shù)的應用開(kāi)始出現在各個(gè)領(lǐng)域。在工業(yè)或工廠(chǎng)底層環(huán)境中,使用無(wú)線(xiàn)技術(shù)的優(yōu)勢更是多方面的。
第一,在工業(yè)環(huán)境中往往需要大量的布線(xiàn),采用無(wú)線(xiàn)技術(shù)不僅會(huì )使安裝和維護的成本有效減少,而且會(huì )使設備的調整規劃和重新配置更加的容易。
第二,無(wú)線(xiàn)技術(shù)的引入對于解決在有化學(xué)腐蝕、震動(dòng)和移動(dòng)部件等惡劣環(huán)境中對各種線(xiàn)纜的潛在損傷等問(wèn)題顯得更加有效。
第三,考慮到工廠(chǎng)設備中適應性和靈活性,固定系統可以通過(guò)無(wú)線(xiàn)技術(shù)和現有的移動(dòng)子系統或移動(dòng)機器人連接通信。
第四,對在工廠(chǎng)設備進(jìn)行臨時(shí)訪(fǎng)問(wèn)任務(wù)(如診斷或程序設計等)使用無(wú)線(xiàn)技術(shù)會(huì )更加簡(jiǎn)化(如使用無(wú)線(xiàn)手持設備)。
在解決工業(yè)環(huán)境及過(guò)程控制環(huán)境下的許多移動(dòng)對象,如移動(dòng)機器人與自治運輸設備之間的協(xié)調;旋轉對象,如機械臂;危險環(huán)境對象的監測與控制問(wèn)題,如分布式控制等工業(yè)環(huán)境無(wú)線(xiàn)技術(shù)發(fā)揮極大的作用。將無(wú)線(xiàn)技術(shù)應用到現場(chǎng)總線(xiàn)中來(lái)解決傳統現場(chǎng)總線(xiàn)存在的問(wèn)題,正受到學(xué)術(shù)界和工業(yè)界的極大關(guān)注。
2.現場(chǎng)總線(xiàn)的無(wú)線(xiàn)接入方法
為了使無(wú)線(xiàn)技術(shù)能夠無(wú)縫而更廣泛地應用于工業(yè)現場(chǎng),使現場(chǎng)設備無(wú)線(xiàn)接入到現存的現場(chǎng)總線(xiàn),國內外相關(guān)領(lǐng)域的技術(shù)人員進(jìn)行了一定的嘗試。按在不同層上實(shí)現接入可以將接入方案分為三大類(lèi):用戶(hù)層接入、數據鏈路層接入和物理層接入。
?。?)用戶(hù)層接入:在用戶(hù)層設一個(gè)OPC服務(wù)器,通過(guò)OPC服務(wù)器進(jìn)行有線(xiàn)網(wǎng)段與無(wú)線(xiàn)網(wǎng)段之間的數據交換。該方案其優(yōu)點(diǎn)是簡(jiǎn)單易實(shí)現,雙方可保持原有結構不動(dòng),兩側的“連接”可隨時(shí)通過(guò)軟件的控制建立或分離。缺點(diǎn)是中間環(huán)節太多,實(shí)時(shí)性得不到保證。
?。?)物理層的接入:在某些站點(diǎn)的有線(xiàn)連接“下”面加裝Modem。無(wú)線(xiàn)站點(diǎn)的信號經(jīng)過(guò)此無(wú)線(xiàn)收發(fā)裝置將幀格式轉換后,聯(lián)入有線(xiàn)網(wǎng)段接口,因此遠端的無(wú)線(xiàn)站點(diǎn)被“視為”同質(zhì)站點(diǎn)。這樣,所有的有線(xiàn)、無(wú)線(xiàn)站點(diǎn)均采用原有現場(chǎng)總線(xiàn)協(xié)議,只是在最底層的某些物理連接上,無(wú)線(xiàn)連接代替了有線(xiàn)的連接。其缺點(diǎn)是此方法僅實(shí)現了點(diǎn)對點(diǎn)的連接,無(wú)線(xiàn)站點(diǎn)不具有“漫游接入”的能力。
?。?)數據鏈路層的接入:此方法源自WLAN和以太網(wǎng)的聯(lián)接方式,即在PHY層和DDL層之上加一個(gè)無(wú)線(xiàn)網(wǎng)關(guān)。該無(wú)線(xiàn)網(wǎng)關(guān)實(shí)現了無(wú)線(xiàn)網(wǎng)段數據與有線(xiàn)網(wǎng)段之間的數據格式轉換和轉發(fā)。原有的現場(chǎng)總線(xiàn)保持不動(dòng),加裝一個(gè)無(wú)線(xiàn)網(wǎng)段的AP接入點(diǎn)。當兩網(wǎng)段間有數據交換時(shí),才會(huì )通過(guò)AP點(diǎn)經(jīng)過(guò)協(xié)議轉換把數據轉發(fā)到另一端。
數據鏈路層的接入是現階段最被關(guān)注的方法。其具體實(shí)現方法較多,但大多處于理論研究階段或需要對原有的現場(chǎng)總線(xiàn)進(jìn)行改造,而工業(yè)廠(chǎng)家又不想使現正運行的現場(chǎng)總線(xiàn)暫停工作。這使得現階段的一些其無(wú)線(xiàn)接入技術(shù)在現場(chǎng)總線(xiàn)中應用變得困難。為了使無(wú)線(xiàn)現場(chǎng)設備能夠應用于工業(yè)現場(chǎng),又不改動(dòng)現有的現場(chǎng)總線(xiàn)系統,目前較成熟的技術(shù)就是使用無(wú)線(xiàn)分散控制站來(lái)與原有的現場(chǎng)總線(xiàn)連接,實(shí)現現場(chǎng)設備的無(wú)線(xiàn)接入。無(wú)線(xiàn)分散控制站一般由IO模塊控制卡、無(wú)線(xiàn)通信卡兩部分組成。兩塊板卡通過(guò)IO模塊控制卡上的雙端口RAM交換數據,通過(guò)中斷觸發(fā)數據讀寫(xiě)操作,從而達到通信效果。其關(guān)鍵技術(shù)就是如何實(shí)現無(wú)線(xiàn)通信卡的軟件設計。
在無(wú)線(xiàn)分散控制站中無(wú)線(xiàn)通信卡使用AT91RM9200控制器并通過(guò)USB接口加載符合802.11b協(xié)議的無(wú)線(xiàn)傳輸模塊,其操作系統為Linux系統。
3.1基于Linux的無(wú)線(xiàn)通信卡的工作原理
無(wú)線(xiàn)通信卡運行著(zhù)現場(chǎng)總線(xiàn)協(xié)議棧和功能塊(MAI,MAO,MDI,MDO)等。根據所接入的現場(chǎng)總線(xiàn)的不同選用相應的協(xié)議棧。使用向IO模塊控制卡發(fā)中斷及響應IO模塊控制卡中斷的方式,通過(guò)IO模塊控制卡來(lái)配置、讀取和控制現場(chǎng)設備。無(wú)線(xiàn)通信卡與IO模塊控制卡之間數據傳輸是直接通過(guò)讀寫(xiě)IO模塊控制卡上的雙端口RAM實(shí)現的。另一方面,無(wú)線(xiàn)通信卡通過(guò)其上面的USB接口加載了符合802.11b協(xié)議的無(wú)線(xiàn)傳輸模塊,能夠通過(guò)該模塊實(shí)現與有線(xiàn)網(wǎng)絡(luò )相連,使其與相應的現場(chǎng)總線(xiàn)工作站通信,其結構示意圖如圖3-1所示:
圖3-1無(wú)線(xiàn)通信卡的結構示意圖
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論