新聞中心

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標準基礎上建立的,工作于免授權的2.4 GHz頻段,其規(guī)定了有關組網(wǎng)、安全和應用軟件方面的技術標準。由一組子層構成,每層為其上層提供一組特定的服務:數(shù)據(jù)實體提供數(shù)據(jù)傳輸服務,管理實體提供全部其他服務。每個服務實體通過一個服務接入點(SAP)為上層提供服務接口,并且每個SAP提供一系列的基本服務指令來完成相應的功能,ZigBee協(xié)議棧的體系結構模型如圖6所示,IEEE 802.15.4標準定義了物理層(PHY)和介質(zhì)接入控制子層(MAC);ZigBee聯(lián)盟定義了網(wǎng)絡層和應用層(APL)框架的設計。其中應用層框架主要包括3部分:應用支持子層(APS)、ZigBee設備對象(ZDO)和由制造商制定的應用對象。

本文引用地址:http://2s4d.com/article/172771.htm


h.JPG
通過對halUARTCfg_t賦值,可以設置波特率、字符數(shù)、數(shù)據(jù)位、停止位、奇偶校驗位等。其中callBackFunc是自定義設置串口回調(diào)函數(shù),即一旦出口有數(shù)據(jù)傳送,OSAL會自動轉到自定義的回調(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相關寄存器,頁2的寄存器是只讀的,不可以設置,頁3的寄存器不是NE2000兼容的,不用設置。
(1)CR=0x21,選擇頁0的寄存器;
(2)TPSR=0x45,發(fā)送頁的起始頁地址,初始化為指向第一個發(fā)送緩沖區(qū)的頁即0x40;
(3)PSTART=0x4c,PSTOP=0x80,構造緩沖環(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,則在構造一個新的數(shù)據(jù)包之前必須先等待前一數(shù)據(jù)包發(fā)送完成。為提高發(fā)送效率,設計將12頁的發(fā)送緩存區(qū)分為兩個6頁的發(fā)送緩存區(qū),一個用于數(shù)據(jù)包發(fā)送,另一個用于構造新的數(shù)據(jù)包,交替使用。
通過調(diào)試,利用PC機接收一個構造的ARP請求包,接收效果比較滿意。

4 結論
利用無線收發(fā)功能,結合單片機與以太網(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 下一頁

評論


相關推薦

技術專區(qū)

關閉