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