在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式ARM-Linux無(wú)線ZigBee協(xié)調(diào)器驅(qū)動(dòng)設(shè)計(jì)

            基于嵌入式ARM-Linux無(wú)線ZigBee協(xié)調(diào)器驅(qū)動(dòng)設(shè)計(jì)

            作者: 時(shí)間:2011-12-14 來(lái)源:網(wǎng)絡(luò) 收藏

             農(nóng)田中大范圍的環(huán)境信息監(jiān)測(cè)已成為網(wǎng)絡(luò)應(yīng)用范圍重點(diǎn)之一。針對(duì)農(nóng)田布線不便的特點(diǎn),ZigBee無(wú)線節(jié)點(diǎn)網(wǎng)絡(luò)成為農(nóng)田信息采集系統(tǒng)的首選,可對(duì)其所分布區(qū)域內(nèi)的各種環(huán)境和檢測(cè)對(duì)象的信息進(jìn)行實(shí)時(shí)的監(jiān)控[1]。然而,控制下層整個(gè)網(wǎng)絡(luò)狀態(tài)的核心是上位機(jī)ARM處理器,而且上位機(jī)與下位機(jī)通信大多以串口模式來(lái)實(shí)現(xiàn)[2-3]。但串口通信模式存在串口傳輸速率低(波特率雙方一致)、傳送距離短[4]、數(shù)據(jù)冗余差(數(shù)據(jù)校驗(yàn))以及設(shè)計(jì)串口協(xié)議繁瑣(幀格式)等不足。因此本文研究了ZigBee在ARM9內(nèi)核中的協(xié)調(diào)器字符驅(qū)動(dòng),利用I/O傳輸數(shù)據(jù),控制具有的設(shè)備在農(nóng)田任何位置即可組網(wǎng),以減少協(xié)調(diào)器的布局,實(shí)現(xiàn)方便快捷的動(dòng)態(tài)數(shù)據(jù)監(jiān)測(cè)。
            1 田間監(jiān)測(cè)系統(tǒng)的要求
             因監(jiān)測(cè)節(jié)點(diǎn)需要零散分布在田間,以監(jiān)測(cè)田間的空氣和地表的溫度,因此,田間監(jiān)測(cè)系統(tǒng)所需要的技術(shù)指標(biāo)應(yīng)滿足:(1)低功耗。田間采電受到布線限制,因此節(jié)點(diǎn)模塊的耗電量應(yīng)盡可能低。(2)低成本。田間需要大量布局節(jié)點(diǎn),投資成本成為廣泛實(shí)施的制約因素。(3)低復(fù)雜度和高可靠性。田間節(jié)點(diǎn)開(kāi)發(fā)設(shè)備應(yīng)采用結(jié)構(gòu)簡(jiǎn)單、采集數(shù)據(jù)盡可能精確又廉價(jià)的設(shè)計(jì)。綜合上述特點(diǎn),ZigBee可以作為田間無(wú)線協(xié)議首選。
             ZigBee協(xié)議是基于IEEE802.15.4標(biāo)準(zhǔn)的低功耗、低速率、低復(fù)雜度的雙向通信技術(shù)。它可工作在國(guó)際上免授權(quán)的2.4 GHz,具有250 Kb/s的最高數(shù)據(jù)傳輸速率和10~75 m的可靠傳輸距離。ZigBee支持星型、樹型、對(duì)等和混合型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)中的從設(shè)備高達(dá)254個(gè)。根據(jù)如圖1所示的節(jié)點(diǎn)在網(wǎng)絡(luò)分布的特點(diǎn),節(jié)點(diǎn)在網(wǎng)絡(luò)中可實(shí)現(xiàn)多條數(shù)據(jù)鏈路通信,以選擇最佳的路徑進(jìn)行傳輸,提高了網(wǎng)絡(luò)通信的可靠性。

            基于嵌入式ARM-Linux無(wú)線ZigBee協(xié)調(diào)器驅(qū)動(dòng)設(shè)計(jì)

             協(xié)調(diào)器是整個(gè)網(wǎng)絡(luò)的核心部分,負(fù)責(zé)完成整個(gè)網(wǎng)絡(luò)的無(wú)線接入和組建,是維持路由器和終端節(jié)點(diǎn)之間的數(shù)據(jù)通信的關(guān)鍵。在田間固定放置協(xié)調(diào)器節(jié)點(diǎn)會(huì)浪費(fèi)大量的資源,若動(dòng)態(tài)地測(cè)量田間任意位置的數(shù)據(jù),把協(xié)調(diào)器作為移動(dòng)設(shè)備動(dòng)態(tài)地測(cè)量數(shù)據(jù)則是最好的選擇,并且可以減少田間協(xié)調(diào)器的放置,降低設(shè)計(jì)難度的成本。
            2 嵌入式Linux驅(qū)動(dòng)開(kāi)發(fā)環(huán)境的搭建
             Linux操作系統(tǒng)環(huán)境的搭建如圖2所示。

            基于嵌入式ARM-Linux無(wú)線ZigBee協(xié)調(diào)器驅(qū)動(dòng)設(shè)計(jì)

            2.1 Bootloader的移植
             Bootloader是操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一小段程序,它為加載內(nèi)核提供合適的硬件環(huán)境。Bootloader分成Stage1和Stage2兩個(gè)階段,具體實(shí)現(xiàn)框圖如圖3所示。

            基于嵌入式ARM-Linux無(wú)線ZigBee協(xié)調(diào)器驅(qū)動(dòng)設(shè)計(jì)

             Stage1:主要由匯編實(shí)現(xiàn),包括GPIO驅(qū)動(dòng)、使開(kāi)發(fā)板上電LED閃爍、關(guān)閉所有中斷、設(shè)置系統(tǒng)時(shí)鐘、關(guān)閉看門狗、SDRAM初始化、實(shí)現(xiàn)相應(yīng)驅(qū)動(dòng)(提供更大的執(zhí)行空間)、NAND Flash初始化(驅(qū)動(dòng)開(kāi)發(fā)板上唯一的固態(tài)存儲(chǔ)掉電不消失設(shè)備)以及設(shè)置SP棧指針為Stage2中的C語(yǔ)言代碼執(zhí)行做好準(zhǔn)備。
            Stage2:實(shí)現(xiàn)加電自搬移過(guò)程、串口調(diào)試信息、函數(shù)庫(kù)、shell命令等擴(kuò)展功能。
            2.2 內(nèi)核的編譯和移植
             本硬件移植2.6.27版本的Linux內(nèi)核:(1)解壓縮tar xf linux-2.6.27.tar.bz2,進(jìn)入該目錄。(2)移植平臺(tái)為ARM體系結(jié)構(gòu),修改Makefile中的ARCH?=arm CORSS_COMPILE?=arm-linux-(交叉編譯器的前綴)。(3)配置內(nèi)核:make deconfig(清除原來(lái)編譯的config,如果是第一次配置可省略);make menuconfig進(jìn)入配置菜單,選擇硬件所需的驅(qū)動(dòng)。大部分可選擇默認(rèn)選項(xiàng),但注意網(wǎng)卡驅(qū)動(dòng)一定必選,硬件類型也要匹配。(4)編譯內(nèi)核make bzImage在~/linux-2.6.27/arch/arm/boot/bzImage生成內(nèi)核映像,通過(guò)tftp把bzImage燒到地址為0x30008000內(nèi)存上,然后用nand erase kernel擦除kernel分區(qū)上的數(shù)據(jù),最后用nand write 0x30008000把內(nèi)存上的數(shù)據(jù)燒到Flash對(duì)應(yīng)的kernel分區(qū)上。
            2.3 根文件系統(tǒng)的移植
             運(yùn)行Linux操作系統(tǒng),除了內(nèi)核外還需要根文件系統(tǒng)。用mkdir創(chuàng)建rootfs文件夾,在其中創(chuàng)建根文件系統(tǒng)目錄并安裝busybox。busybox是專門為嵌入式系統(tǒng)設(shè)計(jì)的,它把大多數(shù)常用的命令(如ls,cp,cd,tar等)拼接在一起,在根文件系統(tǒng)中只有一個(gè)可執(zhí)行文件/bin/busybox,其余都是busybox的鏈接。安裝busybox與安裝內(nèi)核類似,在~$tar xf busybox-1.9.1.tar.bz2、cd busybox-1.9.1/下修改ARCH?=arm CROSS_COMPILE?=arm-linux-;make defconfig、make menuconfig設(shè)置busybox安裝路徑rootfs文件夾。將make、make install、busybox文件與一系列鏈接文件安裝在rootfs下。其他鏈接文件在/bin、/sbin、/usr/bin、/usr/sbin中,配置Linuxrc啟動(dòng)文件、安裝glibc共享庫(kù),在/dev目錄下創(chuàng)建設(shè)備文件,將主機(jī)系統(tǒng)時(shí)鐘拷貝到根文件系統(tǒng)中去,并配置網(wǎng)路和http相關(guān)配置文件。最后將文件系統(tǒng)配置成YAFFS文件系統(tǒng),可直接對(duì)文件系統(tǒng)進(jìn)行讀寫。設(shè)置開(kāi)發(fā)板為NFS方式,啟用可以直接在主機(jī)上操作開(kāi)發(fā)板的根文件系統(tǒng)并進(jìn)行調(diào)試。
            3 硬件設(shè)計(jì)及驅(qū)動(dòng)實(shí)現(xiàn)
            3.1 系統(tǒng)硬件設(shè)計(jì)

             本系統(tǒng)平臺(tái)是采用ARM體系結(jié)構(gòu)的S3C2410作為處理器,通過(guò)移植的字符設(shè)備驅(qū)動(dòng)與ZigBee CC2430無(wú)線收發(fā)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的傳輸。系統(tǒng)硬件框架圖如圖4所示。

            基于嵌入式ARM-Linux無(wú)線ZigBee協(xié)調(diào)器驅(qū)動(dòng)設(shè)計(jì)

             CC2430是一個(gè)真正的片上系統(tǒng)(SoC),以高性能和低功耗的8051為內(nèi)核,專門針對(duì)IEEE802.15.4和ZigBee應(yīng)用,它可以用很低的費(fèi)用構(gòu)成ZigBee節(jié)點(diǎn)。
            現(xiàn)有的硬件是通過(guò)串口實(shí)現(xiàn)數(shù)據(jù)傳輸,數(shù)據(jù)傳輸?shù)母袷揭凑沾谕ㄐ艆f(xié)議的格式封裝,大量數(shù)據(jù)的傳輸還需要在串口通信格式的基礎(chǔ)上再進(jìn)行設(shè)計(jì)封裝,不僅數(shù)據(jù)傳輸速度慢,而且容錯(cuò)能力低。如果在內(nèi)核中加入ZigBee的字符驅(qū)動(dòng)則可省去數(shù)據(jù)發(fā)送時(shí)的封裝以及接收時(shí)需要解析的麻煩。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            上一頁(yè) 1 2 下一頁(yè)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉