基于Linux內(nèi)核的無線多頻段WSN網(wǎng)關(guān)設(shè)計(jì)
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 所示。
物聯(lián)網(wǎng)相關(guān)文章:物聯(lián)網(wǎng)是什么
評(píng)論