日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于Linux的EPA無線通信卡的實現(xiàn)

摘要:闡述了基于Linux的EPA無線通信卡的實現(xiàn)過程,成功地解決了IO模塊控制卡與其之間的通信問題,從而為實現(xiàn)了基于無線局域網(wǎng)的EPA網(wǎng)絡控制系統(tǒng)研發(fā)提供了可靠保證。同時進行了簡單測試,實驗證明測試系統(tǒng)運行效果良好,達到了預期目標。
關鍵詞:EPA通信卡;無線局域網(wǎng);Linux驅動

    引言

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

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

     EPA標準概述

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

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

     EPA系統(tǒng)中的網(wǎng)段也可以是不同類型的子網(wǎng),即兩種或三種的結合。如基于以太網(wǎng)和無線局域網(wǎng)的兩種子網(wǎng)組成的混合網(wǎng)段。其EPA系統(tǒng)的網(wǎng)絡拓撲結構如圖1所示。

   
    圖1 EPA系統(tǒng)的網(wǎng)絡拓撲結構

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

    基于Linux的EPA無線通信卡

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

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

   
    圖2 基于Linux的EPA無線通信卡的結構示意圖

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

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

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

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

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

     intinit_module(void)                    //中斷注冊模塊初始化
     {
    …                                    /*初始化設置*/
    AT91_SYS->AIC_SMR[25]|=0X20;
    //設置中斷下跳沿觸發(fā)
    if(request_irq(25,epa_interrupt,SA_INTERRUPT,
    "MAIN_IRQ",NULL))
    //請求分配中斷號為25的快速中斷處理
    //epa_interrupt為指向處理這個中斷的中斷處理程序的指針
    {…/*進行出錯處理*/}
    else
      {printk("<1>request_irqok! ");
    return0;}
   }
   voidcleanup_module(void)
   {
    …/*釋放資源*/
    free_irq(25,NULL);                   //釋放中斷線25
    }
   
     在用戶程序中發(fā)中斷時,通過調用system(send_riq)來動態(tài)執(zhí)行內核模塊程序來控制發(fā)送中斷的管腳的信號,從而實現(xiàn)在用戶程序發(fā)中斷的效果。其發(fā)中斷的內核模塊關鍵性代碼如下:

    AT91_SYS->PIOC_PER|=AT91C_PIO_PC15;
    //設置PC15IO使能
    AT91_SYS->PIOC_OER|=AT91C_PIO_PC15;
    //設置PC15輸出使能
    //發(fā)送一個方波中斷信號
    AT91_SYS->PIOC_CODR|=AT91C_PIO_PC15;
    for(i=1;i<1000;i++);
    //延時,內核中不能調用sleep()函數(shù)
    AT91_SYS->PIOC_SODR|=AT91C_PIO_PC15;

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

    staticintwrite_dpram(structfile*file,constchar*buf,u32count,loff_t*f_pos)
    {……                                                       /*寫初始化*/
    copy_from_user(wMessage,buf,count);
    ……                                                    /*進行數(shù)據(jù)處理*/
    for(i=0;i<count;i++)
    {writeb(wMessage[i],base+wadd);
      wadd++;}……                             /*向IO模塊控制卡發(fā)中斷信號*/
    }
    staticintread_dpram(structfile*file,char*buf,u32count,loff_t*f_pos)
    {……                     /*讀函數(shù)則調用相應的readb()和copy_to_user()函數(shù),與寫函數(shù)同理*/}
    staticintopen_dpram(structinode*inode,structfile*file)
   {……                                                      /*初始化*/
    if(!request_mem_region(AT91_DPRAM,
    BUF_LEN3sizeof(u8),DEVICE_NAME))
    {……                           /*未申請到該內存空間時進行相應處理*/}
    //申請使用內存空間
    base=ioremap(AT91_DPRAM,BUF_LEN3sizeof(u8));
    //為設備內存區(qū)域分配虛擬地址
    ……                                              /*設置DPRAM讀寫時序*/
    }
    staticintrelease_dpram(structinode3inode,structfile3file)
    {……/*釋放相應資iounmap()和release_mem_region();}

    以上為DPRAM設備驅動的打開、讀寫、關閉函數(shù)的實現(xiàn),然后通過以下標記化結構將其驅動的功能映射到前面的具體實現(xiàn)函數(shù)上:

    staticstructfile_operationstest_fops={
    read:read_dpram,
    write:write_dpram,
    open:open_dpram,
    release:release_dpram
    };
   
    另外,在驅動程序初始化時必須通過register_chrdev()注冊。在加載該驅動前要使用system("mknod/dev/設備名c主設備號次設備號")創(chuàng)建設備文件并為該設備分配設備號。

    測試系統(tǒng)

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

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

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

    結語

     EPA系統(tǒng)是一種分布式系統(tǒng),將分布在現(xiàn)場的若干個設備連接起來一起運作,共同完成工業(yè)生產過程和操作中的測量和控制。目前,無線局域網(wǎng)技術在工業(yè)控制中的應用已成為當今工業(yè)控制領域中的研究熱點。但將無線技術應用于工業(yè)現(xiàn)場設備間的通信,并形成完整的分布式網(wǎng)絡控制系統(tǒng)還是空白,也沒相關的行業(yè)標準、國家標準和國際標準,專利也很少。因此,研究開發(fā)基于無線局域網(wǎng)的EPA通訊體系和工業(yè)現(xiàn)場控制設備原理樣機及相關軟件,形成基于EPA的分布式無線網(wǎng)絡控制系統(tǒng),具有很強的原創(chuàng)性。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產品供給。 搭養(yǎng)老政策東風 ...

關鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...

關鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...

關鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術中心"認定。 北京市企業(yè)技...

關鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構對在華戰(zhàn)略的構想和業(yè)...

關鍵字: 數(shù)字化 BSP 供應鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關鍵字: 溫控 精密儀器 半導體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術企業(yè)云集,展出的智能產品超過140,...

關鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學者共同探討了在形勢依然嚴峻的當下,如何以科技創(chuàng)新、高端化轉型等手段,幫助...

關鍵字: LINK AI BSP 智能家電

嵌入式軟件

15715 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉