當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]目前,物聯(lián)網(wǎng)(Internet of Things,IOT)正呈現(xiàn)飛速發(fā)展的態(tài)勢(shì)。本文介紹一種無線多頻段WSN網(wǎng)關(guān),可通過以太網(wǎng)或者移動(dòng)通信網(wǎng)絡(luò),監(jiān)控多個(gè)頻段的無線傳感器子網(wǎng)節(jié)點(diǎn)的運(yùn)行情況。

目前,物聯(lián)網(wǎng)(Internet of Things,IOT)正呈現(xiàn)飛速發(fā)展的態(tài)勢(shì)。本文介紹一種無線多頻段WSN網(wǎng)關(guān),可通過以太網(wǎng)或者移動(dòng)通信網(wǎng)絡(luò),監(jiān)控多個(gè)頻段的無線傳感器子網(wǎng)節(jié)點(diǎn)的運(yùn)行情況。

1系統(tǒng)總體結(jié)構(gòu)

本文設(shè)計(jì)的系統(tǒng)在感知層采用4個(gè)頻段的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。各頻段子網(wǎng)通過一個(gè)多頻段網(wǎng)關(guān)裝置接入到網(wǎng)絡(luò)層。用戶可以通過監(jiān)控終端監(jiān)控現(xiàn)場(chǎng)數(shù)據(jù),監(jiān)控終端既可以是固定的PC機(jī),也可以是移動(dòng)的3G設(shè)備。同時(shí),網(wǎng)關(guān)還具備良好的擴(kuò)展性,網(wǎng)關(guān)可以同時(shí)接入多個(gè)頻段的WSN網(wǎng)絡(luò)。多頻段WSN網(wǎng)關(guān)系統(tǒng)結(jié)構(gòu)框圖如圖1所示。



圖1多頻段WSN網(wǎng)關(guān)系統(tǒng)結(jié)構(gòu)框圖

2網(wǎng)關(guān)硬件系統(tǒng)設(shè)計(jì)

網(wǎng)關(guān)的主控制單元采用ARM9芯片S3C2440A,主頻400 MHz,外擴(kuò)64 MB SDRAM、64 MB NAND Flash.微處理器的外設(shè)數(shù)據(jù)控制器(PDC)向串行外設(shè)提供DMA通道,使其與片內(nèi)以及片外存儲(chǔ)器讀寫傳輸數(shù)據(jù)時(shí)不經(jīng)過處理器。

網(wǎng)關(guān)3G網(wǎng)絡(luò)接入端采用USB接口,實(shí)現(xiàn)與3G網(wǎng)絡(luò)的通信;無線傳感器網(wǎng)絡(luò)子網(wǎng)接入端分別是2.4 GHz子網(wǎng)接入模塊、780 MHz子網(wǎng)接入模塊、470 MHz子網(wǎng)接入模塊和433 MHz子網(wǎng)接入模塊,各子網(wǎng)模塊都是通過串口實(shí)現(xiàn)與網(wǎng)關(guān)主控制單元的通信。以太網(wǎng)控制部分整個(gè)網(wǎng)關(guān)的結(jié)構(gòu)框圖如圖2所示。



圖2以太網(wǎng)控制部分整個(gè)網(wǎng)關(guān)的結(jié)構(gòu)框圖

2.1多頻段無線傳感網(wǎng)子網(wǎng)接入部分

由于S3C2440A芯片自身只有3通道的串口。而4個(gè)頻段的子網(wǎng)接入模塊都是采用串行通信接口,ARM9芯片本身不能滿足本系統(tǒng)需求,所以需要利用外圍擴(kuò)展芯片,設(shè)計(jì)串口擴(kuò)展電路來滿足系統(tǒng)的需求。本設(shè)計(jì)采用TI公司的TL16C554A芯片,通過并行數(shù)據(jù)線和地址線擴(kuò)展出來4路全功能串口。

TL16C554A芯片是8位數(shù)據(jù)寬度,TL16C554A的D0~D7引腳與ARM9芯片直接相連,讀寫信號(hào)是直接連接的。TL16C554A的引腳INA、INTB、INTC、INTD分別接在主控制芯片的引腳INT0、INT2、INT3、INT4,這樣擴(kuò)展的各通道串口就能通過中斷獨(dú)立地工作。

將S3C2440A的地址線A0~A3與TL16C554A的A0~A3直接相連,S3C2440A的nGCS2作為譯碼器74LS139的片選信號(hào)。74LS139的輸入端分別接地址線A4~A5.根據(jù)譯碼器譯碼,實(shí)現(xiàn)地址分配,再通過ARM芯片地址映射。外擴(kuò)的4通道串口的物理地址為

通道A——0x10000000~0x10000008

通道B——0x10000010~0x10000018

通道C——0x10000020~0x100000028

通道D——0x10000030~0x10000038.

主控制芯片通過訪問這些地址就能訪問外部寄存器,即TL16C554A芯片片內(nèi)寄存器地址。多頻段子網(wǎng)接入部分接口電路如圖3所示。



圖3多頻段子網(wǎng)接入部分接口電路

2.2 3G網(wǎng)絡(luò)接入接口部分

3G網(wǎng)絡(luò)接入部分采用USB接口的華為ET128無線網(wǎng)卡。接入接口使用USB—HUB芯片AU9254A21,它是一款單芯片USB集線器控制器。AU92 54A21采用12MHz無源晶振,為芯片工作提供獨(dú)立的時(shí)鐘。3G網(wǎng)絡(luò)接入部分接口電路如圖4所示。



圖4 3G網(wǎng)絡(luò)接入部分接口電路

2.3以太網(wǎng)接入部分

網(wǎng)關(guān)通過以太網(wǎng)口發(fā)送數(shù)據(jù)包的原理是:處理器先將待發(fā)送的數(shù)據(jù)存入到內(nèi)部存儲(chǔ)器,提供發(fā)送緩沖區(qū)的首地址和數(shù)據(jù)長(zhǎng)度,然后執(zhí)行發(fā)送命令,由DM9000A將數(shù)據(jù)按TCP/IP協(xié)議格式發(fā)送到物理鏈路上。

因以太網(wǎng)信號(hào)電平與以太網(wǎng)控制器信號(hào)電平不同,所以在硬件電路實(shí)現(xiàn)上需要在控制器與RJ-45接口間增加一個(gè)網(wǎng)絡(luò)變壓器,網(wǎng)絡(luò)變壓器采用TRC9016.電信號(hào)通過網(wǎng)絡(luò)變壓器轉(zhuǎn)換,然后經(jīng)RJ-45接口接入以太網(wǎng),從而完成數(shù)據(jù)發(fā)送過程。DM9000A主要完成數(shù)據(jù)包和數(shù)字電信號(hào)之間的相互轉(zhuǎn)換。

3網(wǎng)關(guān)軟件系統(tǒng)設(shè)計(jì)

網(wǎng)關(guān)的軟件環(huán)境采用的是嵌入式Linux系統(tǒng)。移植好的Linux2.6.24源碼已經(jīng)包含了以太網(wǎng)控制器DM9000A、USB接口芯片等芯片的驅(qū)動(dòng)。因此,軟件部分只需要設(shè)計(jì)串口擴(kuò)展芯片TL1 6C554A的驅(qū)動(dòng)程序以及Linux環(huán)境下的應(yīng)用程序即可。

3.1串口擴(kuò)展芯片TL16C554A驅(qū)動(dòng)的實(shí)現(xiàn)

Linux2.6.24內(nèi)核提供了統(tǒng)一的設(shè)備驅(qū)動(dòng)模型。多串口設(shè)備驅(qū)動(dòng)的注冊(cè),流程如圖5所示。


3.2 Linux下PPP的管理和配置

根據(jù)網(wǎng)關(guān)硬件接口的情況修改、移植通用驅(qū)動(dòng)代碼后,通過相關(guān)的配置,定制和編譯網(wǎng)關(guān)所需的內(nèi)核映像文件。內(nèi)核編譯采用的交叉編譯器版本為arm- linux-gcc3.4.1,使用makemenuconfig ARCH=arm命令進(jìn)入內(nèi)核配置圖形化界面,選擇和PPP(Point-to-Point,點(diǎn)對(duì)點(diǎn)協(xié)議)有關(guān)的選項(xiàng),添加系統(tǒng)對(duì)PPP功能的支持。界面如圖6所示。配置完成以后,保存設(shè)置,退出內(nèi)核配置圖形化界面。使用命令:makeuImage ARCH=arm CROSS_COMPILE=arm-linux-.編譯完成以后,會(huì)在源碼包的arch/arm/boot路徑下生成內(nèi)核映像文件uImage,如圖7所示。



3.3嵌入式Linux網(wǎng)絡(luò)編程

本設(shè)計(jì)中通過TD—SCDMA網(wǎng)絡(luò)接入Internet.WSN子網(wǎng)的某一節(jié)點(diǎn)在上電后,網(wǎng)關(guān)分配給其一個(gè)1 6位的短地址,使其在子網(wǎng)中標(biāo)識(shí)自己,然后周期性地發(fā)送其采集到的數(shù)據(jù)。網(wǎng)關(guān)收到傳感器節(jié)點(diǎn)傳送過來的數(shù)據(jù)之后,進(jìn)行IEEE 802.15.4協(xié)議與以太網(wǎng)協(xié)議的轉(zhuǎn)換,為了向網(wǎng)絡(luò)設(shè)備提供透明的接口和區(qū)分串口數(shù)據(jù)的來源,需要制定統(tǒng)一的數(shù)據(jù)幀格式,所以協(xié)議轉(zhuǎn)換后加上slip的幀頭,通過串口設(shè)備發(fā)送給ARM.

ARM在解析了slip幀頭之后交給上層以及MAC層,解析以太網(wǎng)頭,然后上交給適配層,適配層將對(duì)完整的IPv6數(shù)據(jù)進(jìn)行壓縮或者分片。數(shù)據(jù)在IPv6層根據(jù)鄰居發(fā)現(xiàn),找到要發(fā)送的網(wǎng)絡(luò),并且進(jìn)行路由轉(zhuǎn)發(fā),經(jīng)過在MAC層加上相應(yīng)的MAC頭后,經(jīng)TD模塊發(fā)送到TD—SCDMA通信網(wǎng)。這樣,從子網(wǎng)到TD網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)結(jié)束。

3.3.1 PPP協(xié)議簡(jiǎn)介

PPP是一種提供兩個(gè)實(shí)體之間數(shù)據(jù)包傳輸?shù)逆溌愤B接設(shè)計(jì)的鏈路層協(xié)議。這種鏈路具有全雙工操作、實(shí)現(xiàn)流量和差錯(cuò)控制等功能,并按照順序傳遞數(shù)據(jù)包??梢酝ㄟ^撥號(hào)或者專線方式,讓客戶端和服務(wù)端建立起一種點(diǎn)對(duì)點(diǎn)的連接,傳遞數(shù)據(jù)。

3.3.2建立撥號(hào)連接

在Linux系統(tǒng)中,通過PPP可以將主機(jī)與一個(gè)PPP服務(wù)器連接并進(jìn)入該服務(wù)器所連接的網(wǎng)絡(luò)資源,就好像直接連上那個(gè)網(wǎng)絡(luò)一樣。建立一個(gè)PPP連接上網(wǎng)主要有以下步驟:第一步是調(diào)用會(huì)話程序。然后會(huì)話程序通過發(fā)送AT指令給3G模塊,完成撥號(hào)、身份驗(yàn)證、配置等工作。最后,客戶端的pppd程序與服務(wù)器端的pppd程序進(jìn)行握手,建立好連接,相互傳遞數(shù)據(jù)。多頻段網(wǎng)關(guān)建立網(wǎng)絡(luò)連接流程圖如圖8所示。



3.4應(yīng)用程序的設(shè)計(jì)

由于數(shù)據(jù)來源于4個(gè)頻段子網(wǎng)匯聚節(jié)點(diǎn)的串口,因此網(wǎng)關(guān)的應(yīng)用程序采集多頻段子網(wǎng)匯聚節(jié)點(diǎn)數(shù)據(jù)部分設(shè)計(jì)上采用Linux系統(tǒng)中的多設(shè)備讀取機(jī)制select(I/O多工機(jī)制)來實(shí)現(xiàn)對(duì)多個(gè)串口的監(jiān)聽。多串口采集數(shù)據(jù)的流程如圖9所示。



圖9多串口采集數(shù)據(jù)的流程圖


4實(shí)例測(cè)試

圖10為PPP撥號(hào)成功后超級(jí)終端顯示的Linux系統(tǒng)信息截圖,撥號(hào)目標(biāo)上位機(jī)地址是222.182.101.220,從圖中可以看出,PPP撥號(hào)成功,并且獲得了TD網(wǎng)絡(luò)分配的IPv4地址10.81.185.15,遠(yuǎn)程服務(wù)器IP為192.200.1.21.



圖10 PPP撥號(hào)成功后超級(jí)終端顯示的Linux系統(tǒng)信息截圖

結(jié)語

隨著物聯(lián)網(wǎng)時(shí)代,TD—SCDMA將促進(jìn)物聯(lián)網(wǎng)有效發(fā)揮無縫通信的巨大威力,該方案充分利用了互聯(lián)網(wǎng)和無線通信公用網(wǎng)絡(luò)資源,將無線傳感網(wǎng)技術(shù)、嵌入式技術(shù)、TD—SCDMA通信有機(jī)地結(jié)合起來,成功設(shè)計(jì)了WSN/TD網(wǎng)關(guān),實(shí)現(xiàn)了無線傳感網(wǎng)與TD—SCDMA網(wǎng)絡(luò)的融合,在實(shí)際應(yīng)用當(dāng)中取得了良好的效果。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉