久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

最新廣告
關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
工業(yè)智能邊緣計算2025年會
CAIAC 2025
2025工業(yè)安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

嵌入式Linux下基于802.11b的無線終端設(shè)計
  • 企業(yè):控制網(wǎng)    
  • 點擊數(shù):1944     發(fā)布時間:2006-05-16 16:12:03
  • 分享到:


韓冷(1977-)

       男,碩士研究生,研究方向為網(wǎng)絡(luò)控制技術(shù)。
1  引言

    過去的十年中,嵌入式系統(tǒng)的開發(fā)發(fā)生了很大的變化。以前嵌入式設(shè)備往往是一個孤立的、資源有限的系統(tǒng),它們追求的是在有限的價格上滿足一定的功能性要求。通常它們采用那些功能并不強大的CPU。而今天人們對嵌入式設(shè)備在智能化和互連性上提出了要求,這使得嵌入式設(shè)備不再是孤立的,它們要通過互聯(lián)網(wǎng)、無線或是其他的方式實現(xiàn)相互連    接,同時它們也是軟件生態(tài)系統(tǒng)(software ecosystem)的一部分。嵌入式設(shè)備今天變成了稱之為“等同PC”的系統(tǒng)。它們必須運行很多相同的應(yīng)用程序,它們需要采用相同的方式實現(xiàn)互連或是在某些情況下增強互連性。

    而近年來在國內(nèi),支持802.11b的無線網(wǎng)絡(luò)已經(jīng)日漸普及,無線網(wǎng)卡價格大幅跌落,給廣大的無線電子產(chǎn)品設(shè)計者提供了更多的選擇,極大豐富了設(shè)計和開發(fā)者的想象空間,逐漸設(shè)計出具有無線網(wǎng)絡(luò)數(shù)據(jù)共享、無線數(shù)據(jù)采集、無線告警等功能的最具競爭力的“后PC時代”產(chǎn)品。

    與此同時,配備一個優(yōu)秀的圖形用戶界面,使產(chǎn)品和用戶能進行友善可靠的交互也已成為開發(fā)工作中非常緊迫的要求。本系統(tǒng)中使用的MiniGUI就是嵌入式Linux系統(tǒng)下一個輕量級的圖形用戶界面支持系統(tǒng),目前已比較成熟,并已被用到很多項目的實際開發(fā)中。

2  無線終端的硬件系統(tǒng)設(shè)計

無線終端設(shè)備的硬件模塊如圖1所示。

•  PowerPC與Flash,RAM組成最小運行系統(tǒng),提供無線終端設(shè)備軟件運行的環(huán)境。PowerPC還提供一個以太網(wǎng)端口和一個RS-232串行口,用于程序的調(diào)試、修改、編譯及燒寫。

•  MPC823系列處理器是迄今為止摩托羅拉推出的PowerQUICC家族中,被廣泛使用的通訊處理器。它是嵌入式處理器內(nèi)核(embedded PowerPC core)和通訊處理器模塊(CPM)的雙處理器的結(jié)構(gòu),片內(nèi)的數(shù)據(jù)和指令cache,I/O腳的數(shù)目,一個實時時鐘,低功耗特性和一個增強的存儲控制器,性能遠勝于68360 QUICC。

 



圖1  無線終端的硬件模塊



3  軟件系統(tǒng)框架結(jié)構(gòu)

    用戶應(yīng)用程序是最上層的開發(fā),其交互界面直接通過MiniGUI圖形系統(tǒng)的API接口函數(shù)實現(xiàn)。MiniGUI交叉編譯安裝后一般以庫的形式存放在操作系統(tǒng)/powerpc-linux/local/lib文件目錄下。
該嵌入式系統(tǒng)的框架結(jié)構(gòu)如圖2所示。
 


圖2  無線終端設(shè)備的軟件模塊



4  Linux設(shè)備驅(qū)動

    系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核和應(yīng)用之間的接口,設(shè)備驅(qū)動程序是操作系統(tǒng)內(nèi)核和機器硬件之間的接口。Linux設(shè)備驅(qū)動程序為應(yīng)用程序屏蔽了硬件的細節(jié),在應(yīng)用程序看來,Linux硬件設(shè)備只是一個設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對硬件設(shè)備進行操作。設(shè)備驅(qū)動程序是內(nèi)核的一部分,它完成以下的功能:

•  對設(shè)備初始化和釋放;
•  把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);
•  讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請求的數(shù)據(jù);
•  檢測和處理設(shè)備出現(xiàn)的錯誤。

    Linux系統(tǒng)的設(shè)備分為三種:字符設(shè)備(Char Device)、塊設(shè)備(Block Device)和網(wǎng)絡(luò)設(shè)備(Network Device)。字符設(shè)備是指存取時沒有緩存,只能順序訪問的設(shè)備。塊設(shè)備的讀/寫都有緩存來支持,并且塊設(shè)備必須能夠隨機存取,字符設(shè)備則沒有這個要求。典型的字符設(shè)備包括鼠標、鍵盤、串行口等。塊設(shè)備主要包括硬盤、軟盤設(shè)備、CDROM等。文件系統(tǒng)必須安裝在塊設(shè)備上。塊設(shè)備主要是針對磁盤等慢速設(shè)備設(shè)計的,以免耗費過多的CPU時間來等待。

    網(wǎng)絡(luò)設(shè)備在Linux里做專門的處理。Linux的網(wǎng)絡(luò)系統(tǒng)主要是基于BSD Unix的Socket機制。在系統(tǒng)和驅(qū)動程序之間定義有專門的數(shù)據(jù)結(jié)構(gòu)(sk_buff)進行數(shù)據(jù)的傳遞。系統(tǒng)里支持對發(fā)送資料和接收資料的緩存,提供流量控制機制,提供對多協(xié)議的支持。

    Linux給每個設(shè)備都分配一個主設(shè)備號(Major Number)和次設(shè)備號(Minor Number)。主設(shè)備號一般用來定義這個設(shè)備的類型。次設(shè)備號是一個8位的數(shù)字,它是指定一個特定的設(shè)備(主設(shè)備號指定設(shè)備的類型)。Linux具有設(shè)備無關(guān)性,它把每個設(shè)備都抽象為文件系統(tǒng)的一個文件。Linux為每個設(shè)備在/dev目錄下建立一個文件。

    4.1  無線網(wǎng)絡(luò)設(shè)備驅(qū)動編程

    Linux中的網(wǎng)絡(luò)設(shè)備又被稱為網(wǎng)絡(luò)接口,作為其中的三類設(shè)備之一,它有其非常特殊的地方。網(wǎng)絡(luò)接口在Linux的文件系統(tǒng)中不存在一個對應(yīng)的文件,而是在核心中用一個net_device數(shù)據(jù)結(jié)構(gòu)表示的。Linux網(wǎng)絡(luò)驅(qū)動程序的體系結(jié)構(gòu)如圖3所示。可以劃分為四層,從上到下分別為協(xié)議接口層,網(wǎng)絡(luò)設(shè)備接口層,再就是提供實際功能的設(shè)備驅(qū)動功能層,以及網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)媒介層。在設(shè)計網(wǎng)絡(luò)驅(qū)動程序時,最主要的工作就是完成設(shè)備驅(qū)動功能層,使其滿足自己所需的功能。


圖3  網(wǎng)絡(luò)設(shè)備驅(qū)動結(jié)構(gòu)


    在Linux中所有網(wǎng)絡(luò)設(shè)備都抽象為一個接口,這個接口提供了對所有網(wǎng)絡(luò)設(shè)備的操作集合。由數(shù)據(jù)結(jié)構(gòu)struct net_device來表示網(wǎng)絡(luò)設(shè)備在內(nèi)核中的運行情況,即網(wǎng)絡(luò)設(shè)備接口。它既包括純軟件網(wǎng)絡(luò)設(shè)備接口,如環(huán)路(Loopback),也包括硬件網(wǎng)絡(luò)設(shè)備接口,如無線網(wǎng)卡。而由以dev_base為頭指針的設(shè)備鏈表來集體管理所有網(wǎng)絡(luò)設(shè)備,該設(shè)備鏈表中的每個元素代表一個網(wǎng)絡(luò)設(shè)備接口。數(shù)據(jù)結(jié)構(gòu)net_device中有很多供系統(tǒng)訪問和協(xié)議層調(diào)用的設(shè)備方法,包括初始化,打開和關(guān)閉網(wǎng)絡(luò)設(shè)備的open和stop函數(shù),處理數(shù)據(jù)包發(fā)送的hard_start_xmit函數(shù),以及中斷處理函數(shù)等。

    由于采用PCMCIA接口的無線網(wǎng)卡,首先是向內(nèi)核注冊該PCMCIA設(shè)備(register_pccard_driver),然后driver_info_t數(shù)據(jù)結(jié)構(gòu)中的attach函數(shù)指針所指向的偵測函數(shù)來初始化該PCMCIA設(shè)備,并且同時注冊和初始化該網(wǎng)絡(luò)設(shè)備。

4.2  字符設(shè)備驅(qū)動

熱點新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 亚洲 国产 日韩 欧美| 国产在线欧美日韩精品一区二区| www日韩中文字幕在线看| 亚洲大片免费观看| 免费高清毛片在线播放视频| 国产黄色大片网站| 爱爱欧美| 精品国产区一区二区三区在线观看 | 亚洲精品综合一区二区三区 | 国产精品综合一区二区三区| a4yy欧美一区二区三区| 精品亚洲永久免费精品| 青青草在线视频视频| 亚洲 欧美 日韩 在线| 免费看91| 欧美系列在线播放| 国产白拍| 国产欧美日韩另类| 制服丝袜中文字幕在线观看| 精品国产香蕉伊思人在线| 国产精品视频网站你懂得| 久久99亚洲综合精品首页| 欧美一区二区三区免费| 一区二区在线看| 不卡在线观看| 日韩一区二区视频在线观看| 亚洲欧美日韩在线不卡| 在线看免费的污| 伊人影院99| 色婷婷在线播放| 免费国产午夜在线观看| 欧美成人观看免费完全| 国内外成人免费在线视频| 国产亚洲精品久久yy5099| 国产制服 国产制服一区二区| 国产精品亚洲片夜色在线| 俄罗斯小屁孩和大人啪啪| 国产成人精品久久二区二区 | 黄a视频| 黄色小视频在线免费观看| 猫咪视频成人永久免费观看|