摘要:隨著車輛的增多,,城市交通擁堵越來越嚴(yán)重,,影響了市民日常出行。實(shí)行車輛限行是緩解交通擁堵的有效方法,。利用Chipcon AS公司的射頻芯片CC2430進(jìn)行車輛無線識別,,結(jié)合單片機(jī)與以太網(wǎng)實(shí)現(xiàn)遠(yuǎn)程通信,設(shè)計(jì)了一套根據(jù)車輛出行天數(shù)進(jìn)行城市車輛限行的系統(tǒng),。為了獲得車輛出行天數(shù),,對根據(jù)出行天數(shù)進(jìn)行車輛限行的方法進(jìn)行了論述,重點(diǎn)是系統(tǒng)的硬件設(shè)計(jì),,并對軟件設(shè)計(jì)中的難點(diǎn)給出了說明,。
關(guān)鍵詞:車輛限行;CC2430,;射頻識別,;8051單片機(jī)
0 引言
隨著經(jīng)濟(jì)快速發(fā)展,各個(gè)城市都面臨著不同程度的交通擁堵問題,。交通擁堵之所以成為城市公害,,是因?yàn)樗鼑?yán)重影響社會正常秩序,而且還引發(fā)城市環(huán)境的持續(xù)惡化,。交通擁堵對社會生活的影響,,首先是出行時(shí)間和出行費(fèi)用的消耗增加;其次,,隨著出行成本的增大,,可能會抑制出行,致使城市人口生活質(zhì)量下降,;就能源消耗以及城市道路交通實(shí)施的有效利用而言,,交通擁堵無疑又會導(dǎo)致資源的嚴(yán)重浪費(fèi);交通擁堵對公共交通的影響也十分嚴(yán)重,,交通擁堵極大降低公共交通的運(yùn)行效率,;交通擁堵對城市環(huán)境質(zhì)量的危害是另一個(gè)不可忽視的問題,交通擁堵會導(dǎo)致汽車尾氣污染加重,,還會使噪聲污染變得更加嚴(yán)重,。
車輛限行作為一種卓有成效的解決城市交通擁堵措施,經(jīng)過了實(shí)踐的證實(shí),,其效果也得到了社會的肯定,。大多數(shù)城市進(jìn)行車輛限行采用的是根據(jù)車牌尾號限行的方案,如單雙號限行措施,。根據(jù)車牌號進(jìn)行限行有一系列缺點(diǎn):限行號碼,、時(shí)間和路段過于混亂,,難于記憶掌握;另一方面,,限制了一些確實(shí)需要出行的車輛,,對一些市民日常生活秩序造成一定程度的影響;甚至有一些家庭通過購買第二輛車來逃避車輛限行,,使得與限行的初衷南轅北轍,。
針對以上情況,本文將單片機(jī)技術(shù)和射頻識別技術(shù)結(jié)合起來,,設(shè)計(jì)了一套統(tǒng)計(jì)車輛出行天數(shù)的裝置,。車輛加裝電子標(biāo)簽與道路上采集單元實(shí)現(xiàn)信息交互,道路采集單元識別并記錄車輛信息,。將車牌信息發(fā)送至交控中心服務(wù)器,,由出行天數(shù)計(jì)算系統(tǒng),計(jì)算出車輛的出行天數(shù),,作為收取擁堵費(fèi)依據(jù),,從而實(shí)現(xiàn)車輛限行目的。
1 城市車輛限行方法
目前城市車輛限行主要是根據(jù)車輛車牌尾號進(jìn)行限行,。如北京,,根據(jù)車牌尾號將車輛分為不同的幾組,一周內(nèi)每天分別指定一組或幾組尾號的車輛限行,。此方法采用行政手段,,強(qiáng)制性限制車輛出行,不夠人性化,。
本文提出,,根據(jù)車輛出行天數(shù)收取擁堵費(fèi),實(shí)現(xiàn)車輛限行的目的,。系統(tǒng)模擬圖如圖1所示,,該系統(tǒng)主要由車輛電子標(biāo)簽、采集單元和交控中心擁堵費(fèi)計(jì)算系統(tǒng)組成,。當(dāng)車輛經(jīng)過橫跨車道上空的龍門架時(shí),,龍門架上安裝識別單元,,激活電子標(biāo)簽工作電路,,車輛電子標(biāo)簽和識別單元進(jìn)行信息交互,將車牌信息發(fā)送至識別單元,。采集單元接收車牌信息,,存儲于內(nèi)部芯片,并定時(shí)發(fā)送所存儲數(shù)據(jù)至交控中心服務(wù)器,。車輛電子標(biāo)簽由射頻芯片和微處理器組成,。道路上方采集單元包括射頻信號接收模塊,,控制模塊和數(shù)據(jù)發(fā)送模塊。其中射頻信號接收模塊由接收天線和閱讀器組成,??刂颇K控制數(shù)據(jù)的接收、存儲和發(fā)送,。
交控中心擁堵費(fèi)計(jì)算系統(tǒng)主要功能是車輛出行天數(shù)統(tǒng)計(jì)和擁堵費(fèi)計(jì)算,。本文主要研究車輛出行天數(shù)的獲得,對于擁堵費(fèi)計(jì)算部分,,各城市可根據(jù)自身實(shí)際情況,,依據(jù)車輛的出行天數(shù),制定擁堵費(fèi)收取方案,。
系統(tǒng)功能框圖見圖2,,主要工作分為三個(gè)階段。
1.1 無線射頻信號收發(fā)階段
當(dāng)車輛通過安裝了采集單元的龍門架前方附近時(shí),,處于采集單元內(nèi)部閱讀器天線的輻射區(qū),,電子標(biāo)簽開始發(fā)送加密載波信號至閱讀器。二者之間屬于微波通信,,通信工作頻率達(dá)2.4 GHz,。對已接收車輛電子標(biāo)簽采用休眠-喚醒-休眠方式控制數(shù)據(jù)發(fā)送,避免車輛信息重復(fù)發(fā)送,,降低功耗,。
采用ALHOLA時(shí)分算法進(jìn)行多個(gè)車輛的識別,防止多個(gè)標(biāo)簽信息發(fā)送發(fā)生碰撞,。電子標(biāo)簽和閱讀器之間的數(shù)據(jù)傳送采用驗(yàn)證和加密方式保證數(shù)據(jù)傳送安全,。
閱讀器解調(diào)接收信息后,將數(shù)據(jù)送至控制模塊,。
1.2 控制模塊信息處理及數(shù)據(jù)發(fā)送
控制模塊首先根據(jù)車牌前兩位判斷是否為本市車輛(只記錄本地車輛出行數(shù)據(jù)),。若為本市車輛,則存入,,否則繼續(xù)判讀下一條信息,。將車牌信息結(jié)合當(dāng)天日期進(jìn)行編碼,存入存儲器,。
控制模塊選用微處理器作為控制芯片,,外接存儲芯片保存數(shù)據(jù)。選用以太網(wǎng)控制器芯片通過RJ45接口,,連接外部以太網(wǎng)絡(luò),。傳輸協(xié)議遵守標(biāo)準(zhǔn)TCP/IP協(xié)議,將數(shù)據(jù)發(fā)送至交控中心服務(wù)器,。
1.3 擁堵費(fèi)計(jì)算系統(tǒng)
采集單元將當(dāng)天車輛出行信息發(fā)送至交控中心服務(wù)器,。對各個(gè)單元內(nèi)車輛出行信息進(jìn)行篩選,,去除重復(fù)數(shù)據(jù),得出車輛當(dāng)天的出行信息,。
月底或年終,,對車輛出行信息進(jìn)行統(tǒng)計(jì),得出車輛每月或每年總的出行天數(shù),,然后可根據(jù)車輛出行天數(shù)進(jìn)行擁堵費(fèi)收取,。
交控中心應(yīng)對安裝采集單元的路段以及擁堵費(fèi)收取費(fèi)率作必要公示。每月以短信方式通告車主當(dāng)月出行天數(shù)以及應(yīng)繳擁堵費(fèi)數(shù)額,。年底,,交控中心匯總計(jì)算車輛當(dāng)年應(yīng)繳擁堵費(fèi),并通知車主擁堵費(fèi)繳納時(shí)間,。對于逾期不交,、拖欠等行為,交管中心可對車輛進(jìn)行適當(dāng)罰款,,以作必要警示,。對于故意人為破壞電子標(biāo)簽等逃避車輛識別行為,采取教育,、罰款等方式,,確保車輛識別率,提高城市車輛限行效果,。
2 硬件設(shè)計(jì)
系統(tǒng)硬件結(jié)構(gòu)中主要包括射頻收發(fā)芯片CC2430,、以太網(wǎng)控制器RTL8019AS、存儲芯片,、網(wǎng)絡(luò)隔離變壓器,。CC2430芯片在發(fā)送端自動(dòng)完成對數(shù)據(jù)信號的打包、編碼,、調(diào)制,,轉(zhuǎn)換為RP、信號后通過后端輸入/輸出匹配電路送入天線,,完成信號發(fā)送,。接收端將從天線接收到的有用信號通過CC2430解調(diào)、拆包,,并進(jìn)行CRC校驗(yàn),,最終存儲數(shù)據(jù)。CC2430芯片內(nèi)部的8051單片機(jī),,控制以太網(wǎng)控制器RTL8019AS進(jìn)行數(shù)據(jù)的發(fā)送,,用到的主要芯片有RTL8019AS,,CSl93C46(64×16 b的E2PROM),,74HC573(8位鎖存),,62256(32KBRAM)。為分配好地址空間,,采用CSI93C46進(jìn)行讀(或?qū)?操作來設(shè)置RTL8019AS端口的I/O基地址和以太網(wǎng)物理地址,。8051作為中央處理器,可控制射頻芯片休眠或者將其喚醒,,進(jìn)行數(shù)據(jù)的收發(fā),。8051的兩個(gè)外部中斷輸入端分別接開關(guān)K1和K2。開關(guān)K1的功能在于使用外部中斷退出單片機(jī)的掉電模式,,開關(guān)K2的功能在于實(shí)現(xiàn)單片機(jī)內(nèi)部的數(shù)據(jù)發(fā)送控制,。8051單片機(jī)作為中央處理器不僅需要控制無線信號收發(fā),同時(shí)還要對以太網(wǎng)控制器進(jìn)行控制,,在軟件設(shè)計(jì)中需要判別車牌信息是否為本市車輛,,對數(shù)據(jù)進(jìn)行存儲,按照時(shí)鐘定時(shí)發(fā)送或者接收交控中心發(fā)出的控制信號進(jìn)行數(shù)據(jù)發(fā)送操作,;射頻收發(fā)芯片主要作為該系統(tǒng)的發(fā)送,、接收設(shè)備,它用來實(shí)現(xiàn)車輛信息的給定,,主要作用在于它可以實(shí)現(xiàn)電子標(biāo)簽和采集單元的數(shù)據(jù)交互,;RTIL8019AS芯片,主要作用是實(shí)現(xiàn)單片機(jī)和遠(yuǎn)程PC通過以太網(wǎng)實(shí)現(xiàn)相互通信,,將8051的串行口改為能介入以太網(wǎng)的RJ 45接口,,數(shù)據(jù)傳輸遵循標(biāo)準(zhǔn)TCP/IP協(xié)議。
2.1 電子標(biāo)簽&閱讀器
CC2430是真正的系統(tǒng)芯片(SoC)CMOS解決方案,,能夠提高性能并滿足以ZigBee為基礎(chǔ)的2.4 GHzISM波段應(yīng)用對低成本,、低功耗的要求。它結(jié)合了高性能的2.4 GHz DSSS(直接序列擴(kuò)頻)射頻收發(fā)器核心和1顆工業(yè)級小巧高效的8051控制器,。CC2430在單個(gè)片上集成了ZigBee射頻(RF)前端,、內(nèi)存和微控制器,使用1個(gè)8位MCU(8051),,具有32 KB/64 KB/128 KB的編程閃存和8 KB的RAM,,還包含模/數(shù)轉(zhuǎn)換器(ADC)、定時(shí)器(Timer),、AES-128安全協(xié)處理器,、看門狗定時(shí)器(Watchdog Timer)、32 kHz晶振的休眠模式定時(shí)器,、上電復(fù)位電路,、掉電檢測電路以及21個(gè)可編程I/O引腳。CC2430的8051內(nèi)核的目標(biāo)代碼兼容標(biāo)準(zhǔn)8051微處理器,,可以使用標(biāo)準(zhǔn)8051的匯編器和編譯器進(jìn)行軟件開發(fā),。其21個(gè)可編程I/O引腳均可以通過軟件設(shè)定1組SFR寄存器的位和字節(jié),,使這些引腳作為通常的I/O口或者作為接ADC、定時(shí)器或USART部件的外圍設(shè)備I/O口使用,。
CC2430電路連接圖如圖3所示,。電路選用CC2430芯片作為電子標(biāo)簽以及采集單元內(nèi)閱讀器的核心部件。選用1個(gè)32.768 kHz的石英諧振器和2個(gè)電容組成32.768 kHz的晶振電路,;選用1個(gè)32 MHz的石英諧振器和2個(gè)電容組成32 MHz的晶振電路(具體晶振電路圖省略),。電壓調(diào)節(jié)器可為所有要求1.8V電壓的內(nèi)部電源供電,電容是用來作為電源濾波的去耦合電容,,以提高芯片工作的穩(wěn)定性,。電路中J2是I/O引腳JTAG仿真器接口。J1是CC2430芯片擴(kuò)展輸出口,,在擴(kuò)展輸出口上主要預(yù)留了SPI口和整個(gè)P0 I/O口,。設(shè)計(jì)了2個(gè)發(fā)光二極管指示燈,作為電路調(diào)試指示燈,。使用1個(gè)非平衡天線,,為了使天線性能更好,在天線與CC2430之間連接了1個(gè)非平衡變壓器,。非平衡變壓器由電容和三個(gè)電感以及1個(gè)PCB微波傳輸線組成,,整個(gè)結(jié)構(gòu)滿足RF輸入/輸出匹配電阻(50 Ω)的要求。
在電子標(biāo)簽中,,由微控制芯片8051對CC2430進(jìn)行控制,,并通過SPI口將所要發(fā)送的數(shù)據(jù)送入CC2430,CC2430自動(dòng)完成對數(shù)據(jù)信號的打包,、編碼,、調(diào)制,轉(zhuǎn)換為RF信號后通過后端輸入/輸出匹配電路送入天線,,完成信號發(fā)送,。采集單元閱讀器中數(shù)據(jù)接收將從天線接收到的有用信號通過CC2430解調(diào)、拆包,,并進(jìn)行CRC校驗(yàn),,然后送入微控制器芯片進(jìn)行處理,通過RS 232轉(zhuǎn)換芯片進(jìn)行輸出,。經(jīng)過上述過程,,進(jìn)行數(shù)據(jù)的收發(fā),RF收發(fā)器設(shè)計(jì)原理圖如圖4所示,,虛線部分為閱讀器部分,,通過RS 232串口送至以太網(wǎng)控制器。
2.2 以太網(wǎng)控制器
以太網(wǎng)數(shù)據(jù)傳輸部分,選用Realtek公司的RTL8019AD以太網(wǎng)控制器,,性能優(yōu)良,、價(jià)格低廉,在市場上占有相當(dāng)大的比例,。其主要性能如下:
(1)符合EthernetⅡ與IEEE 802.3(10Base5,,10Base2,,10BaseT)標(biāo)準(zhǔn),;
(2)全雙工,收發(fā)可同時(shí)達(dá)到10 Mb/s的速率,;
(3)內(nèi)置16 KB的SRAM,,用于收發(fā)緩沖,降低對主處理器的速度要求,;
(4)支持8/16位數(shù)據(jù)總線,,8個(gè)中斷申請線以及16個(gè)基地址選擇;
(5)支持UTP,,AUI,,BNC自動(dòng)檢測,還支持對10BaseT拓?fù)浣Y(jié)構(gòu)的自動(dòng)極性修正,;
(6)允許4個(gè)診斷LED腳可編程輸出,;
(7)100腳的PQFP封裝,縮小了PCB尺寸,。
圖5給出了8051單片機(jī)控制RTL8019AS的接口電路,,實(shí)現(xiàn)與以太網(wǎng)通信,網(wǎng)絡(luò)接口采用UTP RJ 45接口,。用到的主要芯片有RTL8019AS,,CSI93C46(64×16 b的E2PROM),74HC573(8位鎖存器),,62 256(32 KB的RAM),。
為分配好地址空間,采用對CSI93C46進(jìn)行讀(或?qū)?操作來設(shè)置RTL8019AS的端口I/O基地址和以太網(wǎng)物理地址,。CSI93C46是采用4線SPI串行接口的Serial E2PROM,,容量為1 Kb,主要保存RTL8019AS的配置信息,。RTL8019AS通過控制CSI93C46的CS,,SK,DI引腳,,通過ESDO接收CSI-93C46的DO引腳的狀態(tài),。RTL8019AS復(fù)位后讀取CSI93C46的內(nèi)容并設(shè)置內(nèi)部寄存器的值,如果CSI93C46中內(nèi)容不正確,就無法正常工作,。先通過編程器把配置好的數(shù)據(jù)寫入CSI93C46,,再焊入電路。
采用10BaseT布線標(biāo)注通過雙絞線進(jìn)行以太網(wǎng)通信,,而RTL8019AS內(nèi)置了10BaseT收發(fā)器,,所以網(wǎng)絡(luò)接口的電路比較簡單。外接一個(gè)隔離LPF濾波器0132,,TPIN+/-為接收線,,TPOUT+/-為發(fā)送線,經(jīng)隔離后分別與RJ 45接口的RX+/-,,TX+/-端相連,。
時(shí)鐘電路通過T1,T2接一個(gè)20 MHz晶振以及2個(gè)電容,,實(shí)現(xiàn)全雙工方式,。
LED0,LED1各接一發(fā)光二極管以反映通信狀態(tài):LED0表示LED_COL,,即通信有沖突,;LED2表示LED_RX,即接收到網(wǎng)上的信息包,。
2. 3 硬件傳輸性能及功耗
自由空間傳播距離與發(fā)射功率,、接收靈敏度以及所使用的載波頻率有關(guān),其數(shù)學(xué)表達(dá)式為:
式中:d為傳播距離,;Lp為自由空間損耗,;c為光速;f為載波頻率,。由理論計(jì)算可知,,CC2430最遠(yuǎn)識別距離可達(dá)1 500 m。實(shí)際中,,由于外接干擾,、障礙物遮擋和空氣質(zhì)量等因素影響,識別距離無法達(dá)理論長度,。表1給出了利用CC2430實(shí)現(xiàn)遠(yuǎn)距離收發(fā)數(shù)據(jù)的測試結(jié)果,。設(shè)數(shù)據(jù)包大小為32 B,數(shù)據(jù)速率為1 MHz,。由電子標(biāo)簽到采集單元,、和從采集單元到電子標(biāo)簽分別發(fā)送100個(gè)數(shù)據(jù)包,記錄接收到正確數(shù)據(jù)包的數(shù)量,??梢?,在40 m以內(nèi)的范圍內(nèi),采集單元可以實(shí)現(xiàn)對車輛全部的識別,,不會發(fā)生丟包現(xiàn)象,。在實(shí)際使用中可能會遇到其他種種干擾,抗干擾能力是系統(tǒng)需要考慮的問題之一,。
系統(tǒng)均選用較低功耗器件,,電子標(biāo)簽中有源器件包括電壓轉(zhuǎn)換芯片、CC2430,,它們的工作電流分別為3.5μA,,27 mA(接收)/25 mA(發(fā)送)。且采用休眠-喚醒-休眠的工作方式,,休眠時(shí)功耗更低,。只需加裝電池,,即可滿足3~5年的使用,。實(shí)現(xiàn)低成本、低功耗,、高性能的系統(tǒng)需求,。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)分為CC2430進(jìn)行無線收發(fā)部分和單片機(jī)控制以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸部分。軟件設(shè)計(jì)的難點(diǎn)在于射頻芯片數(shù)據(jù)的收發(fā),,下面主要介紹射頻數(shù)據(jù)收發(fā)控制以及以太網(wǎng)數(shù)據(jù)傳送控制,,對這兩方面的操作處理做簡要分析。
3.1 射頻數(shù)據(jù)傳輸協(xié)議
電子標(biāo)簽和采集單元之間的數(shù)據(jù)傳輸遵循ZigBee無線網(wǎng)絡(luò)傳輸協(xié)議,。ZigBee協(xié)議是在IEEE 802.15.4標(biāo)準(zhǔn)基礎(chǔ)上建立的,,工作于免授權(quán)的2.4 GHz頻段,其規(guī)定了有關(guān)組網(wǎng),、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn),。由一組子層構(gòu)成,每層為其上層提供一組特定的服務(wù):數(shù)據(jù)實(shí)體提供數(shù)據(jù)傳輸服務(wù),,管理實(shí)體提供全部其他服務(wù),。每個(gè)服務(wù)實(shí)體通過一個(gè)服務(wù)接入點(diǎn)(SAP)為上層提供服務(wù)接口,并且每個(gè)SAP提供一系列的基本服務(wù)指令來完成相應(yīng)的功能,,ZigBee協(xié)議棧的體系結(jié)構(gòu)模型如圖6所示,,IEEE 802.15.4標(biāo)準(zhǔn)定義了物理層(PHY)和介質(zhì)接入控制子層(MAC);ZigBee聯(lián)盟定義了網(wǎng)絡(luò)層和應(yīng)用層(APL)框架的設(shè)計(jì),。其中應(yīng)用層框架主要包括3部分:應(yīng)用支持子層(APS),、ZigBee設(shè)備對象(ZDO)和由制造商制定的應(yīng)用對象。
ZigBee協(xié)議棧很好地解決了網(wǎng)絡(luò)組網(wǎng)問題,,整個(gè)協(xié)議棧的安全性好,,層次性強(qiáng),,功耗低,可以實(shí)現(xiàn)網(wǎng)狀網(wǎng)絡(luò),。在ZigBee 2006協(xié)議棧中已經(jīng)將CC2430的底層驅(qū)動(dòng)全部固化在協(xié)議棧中,,可以直接調(diào)用。選用CC2430芯片作為無線通信模塊硬件核心芯片,,軟件部分選用ZigBee 2006協(xié)議棧來實(shí)現(xiàn)無線模塊之間的通信功能,。
3.2 射頻數(shù)據(jù)收發(fā)處理程序
利用軟件IAR 7.30B進(jìn)行程序的開發(fā)。系統(tǒng)軟件基于TIChipcon公司免費(fèi)提供的ZigBee 2006協(xié)議棧,,以Zstack-1.4.3-1.2.1版本中GenericApp例程為基礎(chǔ),。下面給出串口部分和數(shù)據(jù)接收、發(fā)送部分程序,。
3.2.1 串口初始化
主要是設(shè)置halUARTCfg_t結(jié)構(gòu)體成員值:
通過對halUARTCfg_t賦值,,可以設(shè)置波特率、字符數(shù),、數(shù)據(jù)位,、停止位、奇偶校驗(yàn)位等,。其中callBackFunc是自定義設(shè)置串口回調(diào)函數(shù),,即一旦出口有數(shù)據(jù)傳送,OSAL會自動(dòng)轉(zhuǎn)到自定義的回調(diào)函數(shù),,執(zhí)行自定義的操作,。
3.2.2 數(shù)據(jù)接收
當(dāng)有數(shù)據(jù)通過無線發(fā)送到應(yīng)用層時(shí),應(yīng)用層會發(fā)送一個(gè)AF_INCOMING_MSG_CMD消息事件,。
這里表示收到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ā)送
當(dāng)串口回調(diào)函數(shù)中有數(shù)據(jù)輸入時(shí),,應(yīng)用層會發(fā)送一個(gè)GENERICAPP_SEND_MSG_EVT消息事件。
調(diào)用GenericApp_SendTheMessage()數(shù)據(jù)發(fā)送函數(shù),,具體到TI/Chipcon公司所提供的ZigBee 2006協(xié)議棧中即為AF_DataRequest()函數(shù),,具體形式如下:
3.3 以太網(wǎng)數(shù)據(jù)傳送控制
程序采用Franklin C51語言編制,可讀性強(qiáng),,移植性好,,開發(fā)簡易。
3.3. 1 初始化RTL8019AS
通過C51的P3.4鏈接RTL8019AS的RESDRV來進(jìn)行復(fù)位操作,。RSTDRV高電平有效,,只要給引腳施加一個(gè)1μs以上的高電平即可,。
初始化頁0、頁1相關(guān)寄存器,,頁2的寄存器是只讀的,,不可以設(shè)置,頁3的寄存器不是NE2000兼容的,,不用設(shè)置,。
(1)CR=0x21,選擇頁0的寄存器,;
(2)TPSR=0x45,,發(fā)送頁的起始頁地址,初始化為指向第一個(gè)發(fā)送緩沖區(qū)的頁即0x40,;
(3)PSTART=0x4c,,PSTOP=0x80,構(gòu)造緩沖環(huán):0x4C~0x80,;
(4)BNBY=0x4c,,設(shè)置指針;
(5)RCR=0xcc,,設(shè)置接收配置寄存器,,使用按收緩沖區(qū),,僅接收自己地址的數(shù)據(jù)包(以及廣播地址數(shù)據(jù)包)和多點(diǎn)播送地址包,,小于64 B的包丟棄,校驗(yàn)錯(cuò)的數(shù)據(jù)包不接收,;
(6)TCR=0xe0,,設(shè)置發(fā)送配置寄存器,啟用CRC自動(dòng)生成和自動(dòng)校驗(yàn),,工作在正常模式,;
(7)DCR=0xe8,設(shè)置數(shù)據(jù)配置寄存器,,使用FIFO緩存,,普通模式,8位數(shù)據(jù)DMA,;
(8)IMR=0x00,,設(shè)置中斷屏蔽寄存器,屏蔽所有中斷,;
(9)CR=0x61,,選擇頁1的寄存器;
(10)CURR=0x4d,,CURR是RTL8019AS寫內(nèi)存的指針,,指向當(dāng)前正在寫的頁的下一頁,,初始化時(shí)指向0x4c+1=0x4d;
(11)設(shè)置多址寄存器MAR0~MAR5,,均設(shè)置為0x00,;
(12)設(shè)置網(wǎng)卡地址寄存器PAR0~PAR5;
(13)CR=0x22,,選擇頁1的寄存器,,進(jìn)入正常工作狀態(tài)。
3.3.2 發(fā)送幀
將待發(fā)送的數(shù)據(jù)按幀格式封裝,,通過遠(yuǎn)程DMA通道送到RTL8019AS中的發(fā)送緩存區(qū),,然后發(fā)出傳送命令,完成幀的發(fā)送,。需要設(shè)置以太網(wǎng)目的地址,、以太網(wǎng)源地址、協(xié)議類型,,再按所設(shè)置的協(xié)議類型來設(shè)置數(shù)據(jù)段,。之后啟動(dòng)遠(yuǎn)程DMA,數(shù)據(jù)寫入RTL8019AS的RAM,,再啟動(dòng)本地DMA,,將數(shù)據(jù)發(fā)到網(wǎng)上。
RTL8019AS無法將整個(gè)數(shù)據(jù)包通過DMA通道一次存入FIFO,,則在構(gòu)造一個(gè)新的數(shù)據(jù)包之前必須先等待前一數(shù)據(jù)包發(fā)送完成,。為提高發(fā)送效率,設(shè)計(jì)將12頁的發(fā)送緩存區(qū)分為兩個(gè)6頁的發(fā)送緩存區(qū),,一個(gè)用于數(shù)據(jù)包發(fā)送,,另一個(gè)用于構(gòu)造新的數(shù)據(jù)包,交替使用,。
通過調(diào)試,,利用PC機(jī)接收一個(gè)構(gòu)造的ARP請求包,接收效果比較滿意,。
4 結(jié)論
利用CC2430無線收發(fā)功能,,結(jié)合單片機(jī)與以太網(wǎng)實(shí)現(xiàn)遠(yuǎn)程通信,設(shè)計(jì)了一套應(yīng)用于車輛識別的城市交通限行系統(tǒng),,該系統(tǒng)利用CC2430低功耗,、低成本、高性能等優(yōu)點(diǎn)實(shí)現(xiàn)車輛識別,。利用性能優(yōu)越,、價(jià)格低廉的RTL8019AS以太網(wǎng)控制器,實(shí)現(xiàn)路邊采集單元與遠(yuǎn)程計(jì)算機(jī)的信息交互,。該系統(tǒng)主要完成車輛識別,,及車輛信息發(fā)送工作,。經(jīng)測試,可準(zhǔn)確識別車輛,,完成出行天數(shù)統(tǒng)計(jì)的要求,。交管部門可利用車輛車型信息進(jìn)行車輛出行天數(shù)的統(tǒng)計(jì),作為收取擁堵費(fèi)的依據(jù),,從而實(shí)現(xiàn)車輛限行,。