国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于Linux的EPA無(wú)線通信卡的實(shí)現(xiàn)

發(fā)布時(shí)間:2010-8-4 09:50    發(fā)布者:lavida
關(guān)鍵詞: EPA , linux , 無(wú)線通信
在工業(yè)環(huán)境中,各種現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)采集,其相互間的數(shù)據(jù)傳送、信息共享以及控制信號(hào)的收發(fā)基本上都采用電纜進(jìn)行通信。盡管現(xiàn)場(chǎng)總線技術(shù)的成熟極大地減少了現(xiàn)場(chǎng)電纜的敷設(shè)數(shù)量,正逐漸代替?zhèn)鹘y(tǒng)的DCS技術(shù)。但在某些工業(yè)現(xiàn)場(chǎng)中存在著大量移動(dòng)設(shè)備,如空中起重機(jī)使之很難在空中布線,在加固混凝土的地板下面也無(wú)法敷設(shè)電纜,貨運(yùn)通道也不便在地面布線。甚至在高溫高壓等特殊工業(yè)環(huán)境中,往往不能敷設(shè)連到計(jì)算機(jī)的電纜,現(xiàn)場(chǎng)設(shè)備間無(wú)法通過(guò)有線進(jìn)行相互間的通信,這給傳統(tǒng)的有線連接方式提出了挑戰(zhàn)。  

無(wú)線通信技術(shù)與現(xiàn)場(chǎng)總線技術(shù)有機(jī)集成,有效地解決了工業(yè)現(xiàn)場(chǎng)面臨的諸多難題。  

EPA標(biāo)準(zhǔn)概述  

EPA系統(tǒng)結(jié)構(gòu)

EPA系統(tǒng)是一種分布式系統(tǒng),有三種子網(wǎng):基于以太網(wǎng)(IEEE802.3)、無(wú)線局域網(wǎng)(IEEE802.11)和藍(lán)牙(IEEE802.15)的子網(wǎng):  

1)一個(gè)或多個(gè)基于以太網(wǎng)的EPA子網(wǎng),兼容IEEE802.3協(xié)議;
2)一個(gè)或多個(gè)基于無(wú)線局域網(wǎng)的EPA子網(wǎng),兼容IEEE802.11a、IEEE802.11b、IEEE802.11g協(xié)議;
3)一個(gè)或多個(gè)基于藍(lán)牙技術(shù)的EPA子網(wǎng),兼容IEEE802.15協(xié)議。  

EPA系統(tǒng)中的網(wǎng)段也可以是不同類(lèi)型的子網(wǎng),即兩種或三種的結(jié)合。如基于以太網(wǎng)和無(wú)線局域網(wǎng)的兩種子網(wǎng)組成的混合網(wǎng)段。其EPA系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。  


圖1EPA系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)  

基于無(wú)線局域網(wǎng)的EPA網(wǎng)絡(luò)控制系統(tǒng)

EPA標(biāo)準(zhǔn)制定工作組通過(guò)對(duì)適用于工業(yè)現(xiàn)場(chǎng)控制的無(wú)線局域網(wǎng)關(guān)鍵技術(shù)的研究,提出了支持無(wú)線局域網(wǎng)技術(shù)的實(shí)時(shí)分布式網(wǎng)絡(luò)控制系統(tǒng)體系結(jié)構(gòu)。該體系結(jié)構(gòu)結(jié)合工業(yè)現(xiàn)場(chǎng)環(huán)境的特點(diǎn),考慮了基于無(wú)線局域網(wǎng)的EPA控制網(wǎng)絡(luò)的實(shí)時(shí)性、可變傳輸率下的通信性能、無(wú)線傳輸距離、無(wú)線通訊的抗干擾性和無(wú)線通訊的安全性等方面的問(wèn)題,開(kāi)發(fā)了基于EPA的無(wú)線分散控制站。EPA無(wú)線分散控制站由IO模塊控制卡、EPA無(wú)線通信卡兩部分組成。兩塊板卡通過(guò)IO模塊控制卡上的雙端口RAM交換數(shù)據(jù),通過(guò)中斷觸發(fā)數(shù)據(jù)讀寫(xiě)操作,達(dá)到通信效果。  

基于Linux的EPA無(wú)線通信卡  

EPA無(wú)線通信卡使用AT91RM9200控制器并通過(guò)USB接口加載符合802.11b協(xié)議的無(wú)線傳輸模塊,操作系統(tǒng)為L(zhǎng)inux系統(tǒng)。  

基于Linux的EPA無(wú)線通信卡的工作原理

EPA無(wú)線通信卡運(yùn)行著EPA協(xié)議棧和功能塊(MAI、MAO、MDI、MDO)等。使用向IO模塊控制卡發(fā)中斷及響應(yīng)IO模塊控制卡中斷的方式,通過(guò)IO模塊控制卡來(lái)配置、讀取和控制現(xiàn)場(chǎng)設(shè)備。EPA無(wú)線通信卡與IO模塊控制卡之間數(shù)據(jù)傳輸是直接通過(guò)讀寫(xiě)IO模塊控制卡上的雙端口RAM實(shí)現(xiàn)的。EPA無(wú)線通信卡通過(guò)其上面的USB接口加載了符合802.11b協(xié)議的無(wú)線傳輸模塊,通過(guò)該模塊實(shí)現(xiàn)與EPA有線網(wǎng)絡(luò)相連,使其與相應(yīng)的EPA工作站通信,其結(jié)構(gòu)示意圖如圖2所示。  


圖2基于Linux的EPA無(wú)線通信卡的結(jié)構(gòu)示意圖  

基于Linux的EPA無(wú)線通信卡的軟件設(shè)計(jì)

EPA無(wú)線分散控制站中無(wú)線通信卡軟件開(kāi)發(fā)基于Linux操作系統(tǒng)。由于Linux系統(tǒng)基于802.11b協(xié)議的無(wú)線驅(qū)動(dòng)已經(jīng)很成熟了,而基于Linux操作系統(tǒng)的EPA協(xié)議棧軟件移植也比較容易。因此,選擇Linux系統(tǒng)會(huì)有效的提高EPA無(wú)線通信卡的開(kāi)發(fā)周期。  

基于Linux的EPA無(wú)線通信卡與有線的EPA通信卡在EPA協(xié)議棧和功能塊方面大致相同,僅需將應(yīng)用程序向Linux系統(tǒng)上移植即可。但由于采用了Linux系統(tǒng)在與IO模塊控制卡通信的實(shí)現(xiàn)上就相對(duì)比較復(fù)雜了。與IO模塊控制卡通信的程序流程如圖3所示。  


圖3與IO模塊控制卡通信的程序流程圖  

軟件實(shí)現(xiàn)中關(guān)鍵性問(wèn)題的解決

在Linux操作系統(tǒng)下對(duì)于中斷及其他系統(tǒng)資源的操作有特定的規(guī)范,如內(nèi)核模式操作和用戶(hù)模式操作具有不同操作權(quán)限,內(nèi)核空間與用戶(hù)空間也不能隨意互訪。導(dǎo)致如EPA協(xié)議棧無(wú)法直接對(duì)雙端口RAM進(jìn)行讀寫(xiě),也無(wú)法直接向I/O模塊控制卡收發(fā)中斷,在Linux系統(tǒng)下,只有在內(nèi)核模式下才可以做到。那么,怎么樣將數(shù)據(jù)寫(xiě)入到雙端口RAM中,然后發(fā)送中斷信號(hào)通知對(duì)方及如何響應(yīng)對(duì)方的中斷并從雙端口RAM中讀數(shù)是軟件實(shí)現(xiàn)中的關(guān)鍵性問(wèn)題。  

發(fā)中斷與注冊(cè)中斷處理程序的實(shí)現(xiàn)

由于發(fā)中斷與注冊(cè)中斷處理程序是對(duì)硬件直接操作,在Linux系統(tǒng)下用戶(hù)程序無(wú)法直接對(duì)其硬件進(jìn)行操作。因此,必須編寫(xiě)相應(yīng)的內(nèi)核模塊,在內(nèi)核模塊中完成發(fā)中斷與注冊(cè)中斷處理程序的操作。在用戶(hù)程序中動(dòng)態(tài)加載相應(yīng)內(nèi)核模塊來(lái)達(dá)到用戶(hù)程序發(fā)中斷與注冊(cè)中斷處理程序的效果。其注冊(cè)中斷處理程序的內(nèi)核模塊關(guān)鍵性代碼如下:  

intinit_module(void) //中斷注冊(cè)模塊初始化
{
… /*初始化設(shè)置*/
AT91_SYS->AIC_SMR[25]|=0X20;
//設(shè)置中斷下跳沿觸發(fā)
if(request_irq(25,epa_interrupt,SA_INTERRUPT,
"MAIN_IRQ",NULL))
//請(qǐng)求分配中斷號(hào)為25的快速中斷處理
//epa_interrupt為指向處理這個(gè)中斷的中斷處理程序的指針
{…/*進(jìn)行出錯(cuò)處理*/}
else
{printk("request_irqok!\n");
return0;}
}
voidcleanup_module(void)
{
…/*釋放資源*/
free_irq(25,NULL); //釋放中斷線25
}

在用戶(hù)程序中發(fā)中斷時(shí),通過(guò)調(diào)用system(send_riq)來(lái)動(dòng)態(tài)執(zhí)行內(nèi)核模塊程序來(lái)控制發(fā)送中斷的管腳的信號(hào),從而實(shí)現(xiàn)在用戶(hù)程序發(fā)中斷的效果。其發(fā)中斷的內(nèi)核模塊關(guān)鍵性代碼如下:  

AT91_SYS->;PIOC_PER|=AT91C_PIO_PC15;
//設(shè)置PC15IO使能
AT91_SYS->;PIOC_OER|=AT91C_PIO_PC15;
//設(shè)置PC15輸出使能
//發(fā)送一個(gè)方波中斷信號(hào)
AT91_SYS->;PIOC_CODR|=AT91C_PIO_PC15;
for(i=1;iPIOC_SODR|=AT91C_PIO_PC15;  

雙端口RAM驅(qū)動(dòng)的實(shí)現(xiàn)

由于用戶(hù)程序不能直接對(duì)雙端口RAM進(jìn)行讀寫(xiě),因此必須根據(jù)用戶(hù)程序的需要編寫(xiě)雙端口RAM的驅(qū)動(dòng),以?xún)?nèi)核模塊的形式動(dòng)態(tài)加載到系統(tǒng)中去。Linux系統(tǒng)將所有設(shè)備都看作是文件,對(duì)設(shè)備的讀寫(xiě)相當(dāng)于對(duì)文件的讀寫(xiě)。雙端口RAM驅(qū)動(dòng)模塊加載后,用戶(hù)程序就可以像讀寫(xiě)文件一樣,間接的對(duì)雙端口RAM進(jìn)行讀寫(xiě)了。其雙端口RAM驅(qū)動(dòng)模塊的主要實(shí)現(xiàn)過(guò)程如下:  

staticintwrite_dpram(structfile*file,constchar*buf,u32count,loff_t*f_pos)
{…… /*寫(xiě)初始化*/
copy_from_user(wMessage,buf,count);
…… /*進(jìn)行數(shù)據(jù)處理*/
for(i=0;i 以上為DPRAM設(shè)備驅(qū)動(dòng)的打開(kāi)、讀寫(xiě)、關(guān)閉函數(shù)的實(shí)現(xiàn),然后通過(guò)以下標(biāo)記化結(jié)構(gòu)將其驅(qū)動(dòng)的功能映射到前面的具體實(shí)現(xiàn)函數(shù)上:  
staticstructfile_operationstest_fops={
read:read_dpram,
write:write_dpram,
open:open_dpram,
release:release_dpram
};

另外,在驅(qū)動(dòng)程序初始化時(shí)必須通過(guò)register_chrdev()注冊(cè)。在加載該驅(qū)動(dòng)前要使用system("mknod/dev/設(shè)備名c主設(shè)備號(hào)次設(shè)備號(hào)")創(chuàng)建設(shè)備文件并為該設(shè)備分配設(shè)備號(hào)。  

測(cè)試系統(tǒng)  

本項(xiàng)目所搭建的測(cè)試系統(tǒng)包括EPA無(wú)線通信卡和IO模塊控制卡兩套EPA無(wú)線設(shè)備、一臺(tái)PC機(jī)及一個(gè)燈箱,如圖4所示。燈箱中的溫度傳感器與AI模塊相連,將溫度值傳遞給AI模塊,并通過(guò)設(shè)備A發(fā)送到以太網(wǎng)上。設(shè)備B接收到此溫度值后,將其與額定溫度值相比較,如果低于額定溫度值,則通過(guò)AO模塊輸出4mA~20mA電流,控制燈箱內(nèi)的可控硅模塊,進(jìn)而驅(qū)動(dòng)燈箱內(nèi)的燈泡,開(kāi)始加熱;如果高于額定溫度值,則中斷AO模塊的輸出電流,切斷燈泡的電流輸入,使燈箱內(nèi)的溫度下降,從而達(dá)到保持燈箱內(nèi)溫度恒定的目的。  

實(shí)驗(yàn)證明,EPA無(wú)線通信卡與IO模塊控制卡之間數(shù)據(jù)傳輸穩(wěn)定,這個(gè)系統(tǒng)運(yùn)行效果良好,達(dá)到了預(yù)期目標(biāo),能夠滿(mǎn)足工業(yè)現(xiàn)場(chǎng)設(shè)備的通信要求。  


圖4測(cè)試系統(tǒng)示意圖  

結(jié)語(yǔ)  

EPA系統(tǒng)是一種分布式系統(tǒng),將分布在現(xiàn)場(chǎng)的若干個(gè)設(shè)備連接起來(lái)一起運(yùn)作,共同完成工業(yè)生產(chǎn)過(guò)程和操作中的測(cè)量和控制。目前,無(wú)線局域網(wǎng)技術(shù)在工業(yè)控制中的應(yīng)用已成為當(dāng)今工業(yè)控制領(lǐng)域中的研究熱點(diǎn)。但將無(wú)線技術(shù)應(yīng)用于工業(yè)現(xiàn)場(chǎng)設(shè)備間的通信,并形成完整的分布式網(wǎng)絡(luò)控制系統(tǒng)還是空白,也沒(méi)相關(guān)的行業(yè)標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)和國(guó)際標(biāo)準(zhǔn),專(zhuān)利也很少。因此,研究開(kāi)發(fā)基于無(wú)線局域網(wǎng)的EPA通訊體系和工業(yè)現(xiàn)場(chǎng)控制設(shè)備原理樣機(jī)及相關(guān)軟件,形成基于EPA的分布式無(wú)線網(wǎng)絡(luò)控制系統(tǒng),具有很強(qiáng)的原創(chuàng)性。
本文地址:http://www.qingdxww.cn/thread-19042-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專(zhuān)區(qū)
  • 深度體驗(yàn)Microchip自動(dòng)輔助駕駛應(yīng)用方案——2025巡展開(kāi)啟報(bào)名!
  • 我們是Microchip
  • 想要避免發(fā)生災(zāi)難,就用MPLAB SiC電源仿真器!
  • 更佳設(shè)計(jì)的解決方案——Microchip模擬開(kāi)發(fā)生態(tài)系統(tǒng)
  • 貿(mào)澤電子(Mouser)專(zhuān)區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人精品一区久久久久 | 国产亚洲日本人在线观看 | 免费国产不卡午夜福在线观看 | 久久久久999 | 五月天色综合 | 2022久久国产精品免费热麻豆 | 色yeye在线观看 | 99久久精品国产高清一区二区 | 在线免费欧美 | 亚洲毛片免费看 | 免费看动漫网站 | 家庭教师 在线播放 | av手机在线播放 | 日韩特级毛片免费观看视频 | 久青青 | 国产激情在线观看 | 四虎久久精品国产 | 男女做视频网站免费观看 | 看全大色黄大色黄大片一级爽 | 麻豆免费永久网址入口网址 | 亚洲爱爱天堂 | 四虎在线网址 | 青青青国产在线观看免费网站 | 日韩精品导航 | 亚洲黄色在线观看 | 亚洲女人与黑人 | 免费国产小视频在线观看 | 好男人新视频社区 | 青青草色青伊人 | 国产精品免费精品自在线观看 | 在线免费看黄色片 | 最新69国产成人精品视频69 | 天堂在线网| 欧美高清日本三级人妇 | 99re这里只有精品66 | 亚洲高清日韩精品第一区 | 国产亚洲精品一品区99热 | 欧美三及| 花季传媒app下载v3.048 | 欧美一区二区aa大片 | 国产欧美在线播放 |