新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CC2430的城市車輛限行系統(tǒng)研究

        基于CC2430的城市車輛限行系統(tǒng)研究

        作者: 時間:2011-05-18 來源:網(wǎng)絡 收藏


        3 軟件設計
        軟件設計分為進行無線收發(fā)部分和單片機控制以太網(wǎng)進行數(shù)據(jù)傳輸部分。軟件設計的難點在于射頻芯片數(shù)據(jù)的收發(fā),下面主要介紹射頻數(shù)據(jù)收發(fā)控制以及以太網(wǎng)數(shù)據(jù)傳送控制,對這兩方面的操作處理做簡要分析。
        3.1 射頻數(shù)據(jù)傳輸協(xié)議
        電子標簽和采集單元之間的數(shù)據(jù)傳輸遵循ZigBee無線網(wǎng)絡傳輸協(xié)議。ZigBee協(xié)議是在IEEE 802.15.4標準基礎上建立的,工作于免授權(quán)的2.4 GHz頻段,其規(guī)定了有關(guān)組網(wǎng)、安全和應用軟件方面的技術(shù)標準。由一組子層構(gòu)成,每層為其上層提供一組特定的服務:數(shù)據(jù)實體提供數(shù)據(jù)傳輸服務,管理實體提供全部其他服務。每個服務實體通過一個服務接入點(SAP)為上層提供服務接口,并且每個SAP提供一系列的基本服務指令來完成相應的功能,ZigBee協(xié)議棧的體系結(jié)構(gòu)模型如圖6所示,IEEE 802.15.4標準定義了物理層(PHY)和介質(zhì)接入控制子層(MAC);ZigBee聯(lián)盟定義了網(wǎng)絡層和應用層(APL)框架的設計。其中應用層框架主要包括3部分:應用支持子層(APS)、ZigBee設備對象(ZDO)和由制造商制定的應用對象。

        本文引用地址:http://www.104case.com/article/172771.htm


        h.JPG
        通過對halUARTCfg_t賦值,可以設置波特率、字符數(shù)、數(shù)據(jù)位、停止位、奇偶校驗位等。其中callBackFunc是自定義設置串口回調(diào)函數(shù),即一旦出口有數(shù)據(jù)傳送,OSAL會自動轉(zhuǎn)到自定義的回調(diào)函數(shù),執(zhí)行自定義的操作。
        3.2.2 數(shù)據(jù)接收
        當有數(shù)據(jù)通過無線發(fā)送到應用層時,應用層會發(fā)送一個AF_INCOMING_MSG_CMD消息事件。
        i.JPG
        這里表示收到AF_INCOMING_MSG_CMD消息事件,然后調(diào)用收到消息事件的信息處理函數(shù)GenericApp_MessageMSGCB(MSGpkt),開始接收數(shù)據(jù)并通過調(diào)用串口HalUARTWrite(uint8 port,uint8*buf,uintl6 len)寫函數(shù)發(fā)送、接收到的數(shù)據(jù)。
        3.2.3 數(shù)據(jù)發(fā)送
        當串口回調(diào)函數(shù)中有數(shù)據(jù)輸入時,應用層會發(fā)送一個GENERICAPP_SEND_MSG_EVT消息事件。
        j.JPG
        調(diào)用GenericApp_SendTheMessage()數(shù)據(jù)發(fā)送函數(shù),具體到TI/Chipcon公司所提供的ZigBee 2006協(xié)議棧中即為AF_DataRequest()函數(shù),具體形式如下:
        k.JPG
        3.3 以太網(wǎng)數(shù)據(jù)傳送控制
        程序采用Franklin C51語言編制,可讀性強,移植性好,開發(fā)簡易。
        3.3. 1 初始化RTL8019AS
        通過C51的P3.4鏈接RTL8019AS的RESDRV來進行復位操作。RSTDRV高電平有效,只要給引腳施加一個1μs以上的高電平即可。
        初始化頁0、頁1相關(guān)寄存器,頁2的寄存器是只讀的,不可以設置,頁3的寄存器不是NE2000兼容的,不用設置。
        (1)CR=0x21,選擇頁0的寄存器;
        (2)TPSR=0x45,發(fā)送頁的起始頁地址,初始化為指向第一個發(fā)送緩沖區(qū)的頁即0x40;
        (3)PSTART=0x4c,PSTOP=0x80,構(gòu)造緩沖環(huán):0x4C~0x80;
        (4)BNBY=0x4c,設置指針;
        (5)RCR=0xcc,設置接收配置寄存器,使用按收緩沖區(qū),僅接收自己地址的數(shù)據(jù)包(以及廣播地址數(shù)據(jù)包)和多點播送地址包,小于64 B的包丟棄,校驗錯的數(shù)據(jù)包不接收;
        (6)TCR=0xe0,設置發(fā)送配置寄存器,啟用CRC自動生成和自動校驗,工作在正常模式;
        (7)DCR=0xe8,設置數(shù)據(jù)配置寄存器,使用FIFO緩存,普通模式,8位數(shù)據(jù)DMA;
        (8)IMR=0x00,設置中斷屏蔽寄存器,屏蔽所有中斷;
        (9)CR=0x61,選擇頁1的寄存器;
        (10)CURR=0x4d,CURR是RTL8019AS寫內(nèi)存的指針,指向當前正在寫的頁的下一頁,初始化時指向0x4c+1=0x4d;
        (11)設置多址寄存器MAR0~MAR5,均設置為0x00;
        (12)設置網(wǎng)卡地址寄存器PAR0~PAR5;
        (13)CR=0x22,選擇頁1的寄存器,進入正常工作狀態(tài)。
        3.3.2 發(fā)送幀
        將待發(fā)送的數(shù)據(jù)按幀格式封裝,通過遠程DMA通道送到RTL8019AS中的發(fā)送緩存區(qū),然后發(fā)出傳送命令,完成幀的發(fā)送。需要設置以太網(wǎng)目的地址、以太網(wǎng)源地址、協(xié)議類型,再按所設置的協(xié)議類型來設置數(shù)據(jù)段。之后啟動遠程DMA,數(shù)據(jù)寫入RTL8019AS的RAM,再啟動本地DMA,將數(shù)據(jù)發(fā)到網(wǎng)上。
        RTL8019AS無法將整個數(shù)據(jù)包通過DMA通道一次存入FIFO,則在構(gòu)造一個新的數(shù)據(jù)包之前必須先等待前一數(shù)據(jù)包發(fā)送完成。為提高發(fā)送效率,設計將12頁的發(fā)送緩存區(qū)分為兩個6頁的發(fā)送緩存區(qū),一個用于數(shù)據(jù)包發(fā)送,另一個用于構(gòu)造新的數(shù)據(jù)包,交替使用。
        通過調(diào)試,利用PC機接收一個構(gòu)造的ARP請求包,接收效果比較滿意。

        4 結(jié)論
        利用無線收發(fā)功能,結(jié)合單片機與以太網(wǎng)實現(xiàn)遠程通信,設計了一套應用于識別的交通限行,該利用低功耗、低成本、高性能等優(yōu)點實現(xiàn)識別。利用性能優(yōu)越、價格低廉的RTL8019AS以太網(wǎng)控制器,實現(xiàn)路邊采集單元與遠程計算機的信息交互。該主要完成識別,及車輛信息發(fā)送工作。經(jīng)測試,可準確識別車輛,完成出行天數(shù)統(tǒng)計的要求。交管部門可利用車輛車型信息進行車輛出行天數(shù)的統(tǒng)計,作為收取擁堵費的依據(jù),從而實現(xiàn)車輛限行。


        上一頁 1 2 3 4 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 中西区| 泉州市| 诸暨市| 神木县| 东兰县| 青铜峡市| 荔波县| 巴林左旗| 高陵县| 武鸣县| 永胜县| 闻喜县| 包头市| 马鞍山市| 上饶县| 剑川县| 都江堰市| 永昌县| 三河市| 屯门区| 南华县| 叙永县| 滨州市| 芜湖县| 大港区| 囊谦县| 江川县| 四平市| 平山县| 封开县| 广宗县| 高邑县| 株洲县| 南投县| 台山市| 西畴县| 阿巴嘎旗| 高唐县| 肇庆市| 梓潼县| 芒康县|