日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

基于nRF24E1的嵌入式2.4GHz無(wú)線接入系統(tǒng)( 二 )


為實(shí)現(xiàn)Internet網(wǎng)絡(luò)互聯(lián) , 使用以太網(wǎng)控制芯片RTL8019AS , 并將TCP/IP協(xié)議棧嵌入在ATmegal28的內(nèi)部 。除此之外 , ATmegal28內(nèi)部還實(shí)現(xiàn)了一個(gè)小型通用的WebServer , 而遠(yuǎn)端的PC就作為客戶端 。
數(shù)據(jù)的傳送過程是遠(yuǎn)端PC通過Internet發(fā)送數(shù)據(jù) , 由RTL8019AS接收數(shù)據(jù)包 , 再由ATmegal28對(duì)TCP/lP數(shù)據(jù)包進(jìn)行處理 , 得到PC發(fā)送的信息 , AT-megal28再將數(shù)據(jù)通過SPI接口傳送到nRF24E1主機(jī) 。nRF24E1主機(jī)根據(jù)內(nèi)部協(xié)議又將數(shù)據(jù)傳給相應(yīng)的nRF24E1從機(jī) , 再由nRF24E1從機(jī)對(duì)各自的設(shè)備進(jìn)行通信或控制 。nRF24E1從機(jī)給遠(yuǎn)端PC傳送數(shù)據(jù)為反向的過程 。

;;; 4; 接入系統(tǒng)的控制及其實(shí)現(xiàn)
4.1無(wú)線系統(tǒng)的控制方法
將所有的nRF24E1模塊都設(shè)置為同一頻率 , 通過設(shè)置不同的地址來(lái)區(qū)分各個(gè)無(wú)線模塊 。為了避免多個(gè)從機(jī)同時(shí)給主機(jī)發(fā)送數(shù)據(jù)產(chǎn)生沖突 , 主機(jī)不但要作為接入點(diǎn) , 同時(shí)要控制整個(gè)無(wú)線系統(tǒng) , 避免沖突 。
系統(tǒng)采用主機(jī)輪詢 , 從機(jī)應(yīng)答的方法 , 即主機(jī)按照一定的規(guī)則 , 給從機(jī)發(fā)送一個(gè)答應(yīng)從機(jī)發(fā)送數(shù)據(jù)的標(biāo)志 。該標(biāo)志相當(dāng)于一個(gè)令牌 , 從機(jī)若有數(shù)據(jù)發(fā)送 , 得到令牌后 , 可在令牌的有效時(shí)間內(nèi)連續(xù)地發(fā)送多幀數(shù)據(jù) 。當(dāng)然 , 也可以設(shè)置只能發(fā)送1幀數(shù)據(jù) , 數(shù)據(jù)發(fā)送完畢后必須有一個(gè)結(jié)束的信號(hào)END標(biāo)志;假如從機(jī)沒有數(shù)據(jù)發(fā)送 , 也必須給主機(jī)返回END標(biāo)志 , 從機(jī)的回應(yīng)可以讓主機(jī)判定與該從機(jī)的通信鏈路是否正常 。
主機(jī)對(duì)無(wú)線系統(tǒng)的控制主要是通過令牌來(lái)實(shí)現(xiàn)的 , 因此主機(jī)對(duì)從機(jī)的令牌是否有效的判定是其中的要害 , 而且必須考慮足夠的容錯(cuò)性能 。可以通過兩個(gè)方法來(lái)判定和控制令牌的有效時(shí)間:一是從機(jī)收到令牌到返回END標(biāo)志的時(shí)間內(nèi)令牌為有效 , 而主機(jī)根據(jù)從機(jī)返回的END標(biāo)志即可判定該從機(jī)的令牌已經(jīng)失效;二是規(guī)定令牌的最大有效時(shí)間 , 從機(jī)收到令牌后開始計(jì)時(shí) , 達(dá)到規(guī)定的最大時(shí)間后 , 令牌自動(dòng)失效 , 主機(jī)也通過計(jì)時(shí)來(lái)判定從機(jī)的令牌是否失效 。這兩個(gè)方法同時(shí)起作用 。第一個(gè)方法可以提高系統(tǒng)效率 , 避免在空閑的鏈路上消耗過多的時(shí)間 , 使系統(tǒng)的品質(zhì)得到提高;而設(shè)置最大時(shí)間是為了限制一個(gè)從機(jī)占用通信鏈路的時(shí)間 , 也可以防止丟失END標(biāo)志甚至通信鏈路不正常所產(chǎn)生的錯(cuò)誤 , 盡量減少不正常的鏈路對(duì)系統(tǒng)其他部分的影響 。
當(dāng)然 , 主機(jī)不僅可以采用輪詢的方法 , 也可以根據(jù)各個(gè)從機(jī)的通信優(yōu)先級(jí)不同來(lái)分配令牌 , 而且每個(gè)從機(jī)令牌的最大有效時(shí)間也可以不一樣 。從機(jī)必須在令牌的有效時(shí)間內(nèi)才能給主機(jī)發(fā)送數(shù)據(jù) , 每一時(shí)刻只有一個(gè)從機(jī)的令牌有效 , 以避免沖突 。主機(jī)要發(fā)送數(shù)據(jù) , 必須先查詢從機(jī)的令牌是否有效 。若令牌有效 , 還必須等從機(jī)的END標(biāo)志到來(lái)后 , 或者時(shí)間超過了令牌的最大有效時(shí)間 , 且這時(shí)所有從機(jī)的令牌都見效 , 主機(jī)才可以發(fā)送數(shù)據(jù) 。
4.2系統(tǒng)的實(shí)現(xiàn)
nRF24E1主機(jī)不但要與ATmegal28通信 , 還要與其他nRF24E1從機(jī)通信;同時(shí) , 還要控制整個(gè)無(wú)線系統(tǒng) 。因此 , nRF24E1主機(jī)是整個(gè)無(wú)線接人系統(tǒng)的要害 , 它能否高效地運(yùn)行 , 關(guān)系到整個(gè)系統(tǒng)的效率 。
圖3所示為 。nRF24E1主機(jī)在正常情況下的運(yùn)行流程 。主機(jī)在令牌發(fā)出去以后 , 就只能處于無(wú)線接收的狀態(tài) , 直到從機(jī)的令牌無(wú)效后才能進(jìn)行與ATmegal28的通信或者給從機(jī)發(fā)送數(shù)據(jù) 。
nRF24E1從機(jī)的通信任務(wù)要簡(jiǎn)單得多 , 另外還有各自的應(yīng)用 ??梢杂胣RF24E1的I/O端口直接控制設(shè)備 , 也可以連接其他MCU實(shí)現(xiàn)其他功能 。
由于nRF24E1內(nèi)置了增強(qiáng)型8051控制器 , 使nRF24E1成為一種集無(wú)線數(shù)據(jù)接收和發(fā)送于一體 , 以及對(duì)數(shù)據(jù)進(jìn)行處理的片上系統(tǒng)(SoC) , 并且有模擬輸入和PWM輸出 , 因此 , 不但可以作為無(wú)線接口實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳送 , 在一些較為簡(jiǎn)單的控制系統(tǒng)中 , 可以用它作為控制核心 , 無(wú)需另接MCU 。這使得nRF24E1的應(yīng)用系統(tǒng)更為簡(jiǎn)化 , 大大增強(qiáng)了無(wú)線系統(tǒng)的穩(wěn)定性和可靠性;同時(shí) , 也使得開發(fā)變得簡(jiǎn)單 , 成本進(jìn)一步降低 。

推薦閱讀