基于Linux2.6.24內(nèi)核的WSN多頻段網(wǎng)關(guān)設(shè)計(jì)
2.2 3G網(wǎng)絡(luò)接入接口部分
3G網(wǎng)絡(luò)接入部分采用USB接口的華為ET128無(wú)線網(wǎng)卡。接入接口使用USB—HUB芯片AU9254A21,它是一款單芯片USB集線器控制器。AU92 54A21采用12MHz無(wú)源晶振,為芯片工作提供獨(dú)立的時(shí)鐘。3G網(wǎng)絡(luò)接入部分接口電路如圖4所示。本文引用地址:http://m.butianyuan.cn/article/159421.htm
2.3 以太網(wǎng)接入部分
網(wǎng)關(guān)通過(guò)以太網(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)通過(guò)網(wǎng)絡(luò)變壓器轉(zhuǎn)換,然后經(jīng)RJ-45接口接入以太網(wǎng),從而完成數(shù)據(jù)發(fā)送過(guò)程。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ò)相關(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)論