基于射頻識別技術(shù)的車(chē)輛路口
0. 引言
本文引用地址:http://dyxdggzs.com/article/196679.htm日常生活中經(jīng)??梢钥匆?jiàn)某些特殊用途的車(chē)輛,這些車(chē)輛通過(guò)交叉路口時(shí),往往是通過(guò)交警臨時(shí)操作交通信號控制機改變信號燈的顏色或是通過(guò)相關(guān)人員直接上路指揮等方式以獲得在交叉路口的優(yōu)先通行權。這樣的做法實(shí)時(shí)性和安全性都不是很好。射頻識別是一種非接觸式的自動(dòng)識別技術(shù),它通過(guò)射頻信號自動(dòng)識別目標對象并獲取相關(guān)數據,在無(wú)須人工干預的前提下工作,并可識別高速運動(dòng)物體且操作快捷方便,同時(shí)可工作于各種惡劣環(huán)境。本系統可以針對特種車(chē)輛發(fā)出的申請,對其進(jìn)行有效地識別,通過(guò)位于路口的交通信號控制機或遠程監控中心的控制,決定其是否獲得路口的優(yōu)先通行權。監控中心也可以根據車(chē)輛反饋的信息獲得特定路口及其周邊一定范圍內的道路交通通行狀況,從而為道路交通的區域協(xié)調控制和決策提供有力依據。
1. 系統設計要求及總體設計
圖1 系統示意圖
本系統的硬件平臺主體主要包括射頻識別(RFID)電子標簽模塊和射頻識別讀卡器模塊兩部分。電子標簽模塊安裝于車(chē)輛上,一般位于方便駕駛員操作的適當位置??紤]到性?xún)r(jià)比和開(kāi)發(fā)周期的因素,電子標簽部分的微控制器采用美國ATMEL公司的基于51核的單片機AT89C51[1]。RFID標簽按供電方式可以分為有源和無(wú)源兩種,有源是指標簽內有電池提供電源,其作用距離較遠,但壽命有限、體積較大、成本高,且不適合在惡劣環(huán)境下工作;無(wú)源標簽內無(wú)電池,利用波束供電技術(shù)將接收到的射頻能量轉化為直流電源為卡內電路供電,其作用距離相對有源卡短,但壽命長(cháng)且對工作環(huán)境要求不高[2]??紤]到標簽的工作環(huán)境為車(chē)內,且為了提高信號質(zhì)量和作用距離,本系統的電子標簽模塊采用有源標簽。電子標簽模塊由車(chē)載電源供電。讀卡器模塊位于路口,采用韓國SAMSUNG公司的基于A(yíng)RM7TDMI-S核的32位微處理器S3C44B0X,將識別的信息通過(guò)RS-485總線(xiàn)傳給位于路口的交通信號控制機,或是通過(guò)網(wǎng)口將信息直接傳給監控中心的上位計算機,再由交通信號控制機或監控中心決定是否改變信號燈的狀態(tài)。每一個(gè)十字路口安裝四臺讀卡器,均位于道路右側,為了防止出現讀卡器誤讀,將四臺讀卡器放置于彼此距離較遠的安全位置上。
2. 硬件設計
圖2 電子標簽結構框圖
電子標簽采用nrf2401+AT89C51架構。nrf2401是NORDIC semiconductor的RFID芯片,采用全球開(kāi)放的2.4GHz頻段,有125個(gè)頻道,可滿(mǎn)足多頻及跳頻需要,具有較高的數據吞吐量,速率可達1Mbps,外圍元件較少,只需一個(gè)晶振和一個(gè)電阻即可設計射頻電路,發(fā)射功率和工作頻率等所有工作參數可全部通過(guò)軟件設置,電源電壓范圍為1.9V~3.6V,功耗很低,電流消耗很小,-5dBm輸出功率時(shí)典型峰值電流為10.5mA,芯片內部設置有專(zhuān)門(mén)的穩壓電路,因此,使用任何電源(包括DC/DC開(kāi)關(guān)電源)均有良好的通信效果,每個(gè)芯片均可以通過(guò)軟件設置最多40bit地址,而且只有收到本機地址時(shí)才會(huì )輸出數據,內置CRC糾檢錯硬件電路和協(xié)議。AT89C51是一種低功耗高性能的8位單片機,片內帶有一個(gè)4K字節的Flash可編擦除只讀存儲器,它采用了CMOS工蟻和高密度非易失性存儲器技術(shù),其中央處理器由ALU,專(zhuān)用寄存器組,定時(shí)控制部件等組成,具有較強的調用、跳轉、判斷、豐富的數據傳輸功能,以及提供存放中間結果、常用參數寄存器等功能。電子標簽安裝于車(chē)輛上,操作面板由5個(gè)按鍵組成,分別是開(kāi)關(guān),復位,左轉請求,右轉請求和直行請求。其中請求鍵采用中斷方式,用于在車(chē)輛接近路口需要優(yōu)先通過(guò)時(shí)向讀卡器發(fā)送優(yōu)先通行請求。標簽中還存儲有關(guān)于該車(chē)輛的信息數據,如車(chē)種,車(chē)牌,型號和用途等。
圖3 讀卡器系統框圖
讀卡器系統仍然采用nrf2401作為接收節點(diǎn)。讀卡器部分主要實(shí)現信息識別和通信功能。采用SAMSUNG公司的基于A(yíng)RM7TDMI-S核的高性能32位微處理器S3C44B0X[3]。它的工作電壓僅為2.5V,大大降低了芯片的功耗,可以外擴SDRAM,FLASH,內置的LCD控制器最大可以支持256色STN的LCD[4],71個(gè)通用I/O,包括8個(gè)外部中斷源。本系統中擴展了10Mbps以太網(wǎng)接口芯片Realtek公司的RTL8019,該芯片具有16位數據線(xiàn)接口和20位的地址線(xiàn)接口,可以在發(fā)送的物理幀上自動(dòng)添加幀頭,幀起始定界符和校驗和。讀卡器將接收到的信息通過(guò)RS-485總線(xiàn)傳輸到現場(chǎng)的交通信號控制機上,直接改變交通燈狀態(tài),如果路口中有相同或更高的申請級別,則將請求信息通過(guò)網(wǎng)口送到監控中心仲裁,然后由監控中心直接向信號機發(fā)送指令[5]。
3. 軟件設計
為了實(shí)現TCP/IP通信,同時(shí)使系統盡可能地輕量和簡(jiǎn)潔,本系統通過(guò)在uC/OS-II操作系統上移植LwIP協(xié)議棧加以實(shí)現。lwIP是瑞士計算機科學(xué)院的一個(gè)開(kāi)源的TCP/IP協(xié)議棧實(shí)現,它是一套專(zhuān)門(mén)為嵌入式系統設計的源碼開(kāi)放的輕型協(xié)議棧。LwIP在保持TCP/IP協(xié)議基本要求的前提下,通過(guò)層與層之間共享內存,避免了許多繁瑣的復制處理,這樣做大幅度地節省了代碼和數據存儲空間,因此非常適合嵌入式應用。與其他輕型協(xié)議棧不同的是,LwIP不僅支持一般的網(wǎng)絡(luò )協(xié)議,比如UDP協(xié)議、DHCP協(xié)議、PPP協(xié)議等,而且還支持多網(wǎng)絡(luò )接口、IPv6和標準API。
3.1 LwIP在uC/OS-II上的移植
針對uC/OS-II[6]和ARM的ADS編譯器,LwIP的移植只需要編寫(xiě)arch文件夾下的3個(gè)文件——cc.h、sys_arch.h和sys_arch.c。其中cc.h中有與CPU和編譯器有關(guān)的定義,包括數據結構和大小端存儲方式等。為了增強移植性,LwIP專(zhuān)門(mén)把和操作系統有關(guān)的數據結構和函數放在一起組成操作系統封裝層,為諸如定時(shí)、進(jìn)程同步和消息傳遞等操作系統服務(wù)提供統一的接口,移植時(shí)需針對不同的操作系統來(lái)實(shí)現特定的操作系統封裝層,這些是由sys_arch.h和sys_arch.c實(shí)現的。其中sys_arch.h主要定義與操作系統相關(guān)的數據結構——信號量、郵箱和進(jìn)程號,這些在uC/OS-II中都有對應的實(shí)體,LwIP中的郵箱對應于uC/OS-II中的消息隊列。sys_arch.c中要實(shí)現和操作系統有關(guān)函數的定義,包括系統的初始化以及信號和郵箱的操作——創(chuàng )建、刪除、投遞和等待,這些功能需要用uC/OS-II中相應的函數進(jìn)行重新封裝。另外,TCP/IP協(xié)議棧中需要許多定時(shí)器的功能,在LwIP中是用sys_timeout結構體隊列和相應的函數實(shí)現的。每個(gè)sys_timeout結構體包括本線(xiàn)程的timeout時(shí)間長(cháng)度,以及超時(shí)后的回調處理函數sys_arch.c中sys_arch_timeouts()函數的功能就是返回當前進(jìn)程所對應的sys_timeout結構體隊列的頭指針。本系統用的方法是在系統初始化的時(shí)候根據最大的LwIP進(jìn)程數創(chuàng )建一個(gè)sys_timeout結構體指針的數組,以后每創(chuàng )建一個(gè)LwIP進(jìn)程其優(yōu)先級都從一個(gè)連續的已知區間進(jìn)行分配,sys_arch_timeouts()函數通過(guò)調用OSTaskQuery()函數獲得進(jìn)程的優(yōu)先級進(jìn)而獲得對應的sys_timeout結構體隊列的頭指針。
評論