針對中小城市公交系統(tǒng)的特點及實際運營環(huán)境,考慮性價比和實用性設計了基于ZigBee(紫蜂協(xié)議)技術的單片機自動報站系統(tǒng)。站臺發(fā)射部分采用CC2430芯片實現(xiàn)站址編碼信息的自動發(fā)射,外圍電路簡單,可用電池長時間供電。車載部分具有手動和自動報站模式實時切換功能,可通過U盤存儲的線路信息方便地實現(xiàn)公交線路的更換,在自動報站的同時可滾動顯示站名、日歷、時間、星期、溫度和服務用語等信息。該系統(tǒng)成本低、可擴展性強、運行可靠且易于安裝、維護,適合推廣使用。
隨著我國經濟的高速發(fā)展,人們外出旅行的機會逐漸增多,公交汽車在日常生活中的作用越來越突出,從而對城市公交系統(tǒng)安全運營方面提出了更高的要求。目前,許多中等以上城市的公交車上都實現(xiàn)了無人售票,公交司機對行車安全承擔的責任也就更大,這就迫切需要在每輛公交車上安裝自動報站器。近些年來,國內學者逐步開展了這方面的研究工作,采用單片機、嵌入式處理器、無線傳感器網(wǎng)絡和GPS等技術設計了各種公交自動報站系統(tǒng),對城市公交的發(fā)展起了很好的促進作用。但是,目前大部分中小城市的公交線路仍未全面采用自動報站系統(tǒng),急需成本低廉、運行可靠、易于維護、易于推廣的自動報站器。
針對中小城市公交系統(tǒng)的特點,將單片機與ZigBee技術相結合,設計出基于ZigBee技術的低成本自動報站器,兼有手動和自動兩種報站器的優(yōu)點,適合于大規(guī)模普及應用。
1 總體方案
在城市各主要街道的公交車站臺眾多,一個站臺可能要??慷鄠€線路的公交車輛,而且同一站臺在各個線路的命名可能不一樣,因此,站址編碼信息需要采用8位撥碼開關進行動態(tài)設置,以便各路公交車自動識別在本線路中的當前位置。圖1所示的是具有n個站臺的公交車自動報站系統(tǒng)示意圖。
圖1 公交車自動報站系統(tǒng)
由于中小城市的路面較窄,公交車在行進過程中可能會同時接收到多個站址編碼信息,如圖1中右向行駛的公交車就會同時接收到站臺1和站臺n的編碼信息,此時可以通過行駛方向自動判斷站臺1的編碼信息是有效的。車輛行駛方向可以采用預制或站址遞增(遞減)方式進行識別,如果出現(xiàn)編碼突變的情況,說明車輛行進過程中可能因為無法自動報站而采用了手動報站,這樣系統(tǒng)可以記錄下該站臺的編碼以便及時維修。
本系統(tǒng)分為車載和站臺兩部分,車載部分采用以MSP430F149單片機為核心的控制模塊;站臺部分只需要發(fā)射站址編碼信息,要求低功耗、低成本、高可靠性且易于維護,因此ZigBee發(fā)射模塊以CC2430芯片為核心構成。圖2所示的是公交車自動報站系統(tǒng)的設計框圖。
圖2 公交車自動報站系統(tǒng)設計框圖
2.1 站址編碼信息發(fā)射器NG-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 20px 0px 0px; WORD-SPACING: 0px; FONT: 14px/25px 宋體, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> 站址編碼信息發(fā)射器的硬件設計如圖3所示,主要由ZigBee發(fā)射模塊、晶振、阻抗匹配網(wǎng)絡、天線和電池組成。ZigBee選用Chipcon公司的CC2430芯片,該芯片延用了以往CC2420芯片的架構,在單個芯片上整合了ZigBee射頻前端、內存和微控制器(增強型8051內核),采用0.18 mCMOS工藝生產,在發(fā)射模式下電流損耗低于25mA,具有從休眠時間模式切換到主動模式的超短時間特性,特別適用于要求電池壽命非常長的場合,2節(jié)5號電池最長可使用2a時間。
圖3 站址發(fā)射器硬件原理圖
CC2430芯片外接32MHz的晶振,通過8位撥碼開關SW動態(tài)設置站址編碼數(shù)據(jù),經阻抗匹配網(wǎng)絡處理后通過天線發(fā)送出去,覆蓋范圍可達幾十米。該硬件設計方法具有電路簡單、信號穩(wěn)定、成本低、易安裝的特點。
2.2 車載自動報站器#p#分頁標題#e#
車載自動報站器的硬件設計如圖4所示(除鍵盤和顯示模塊外)。
圖4 車載自動報站器硬件原理圖
單片機采用TI公司的MSP430F149芯片,其功耗電流為μA級。MSP430內核是16位的CPU,具有高效的RISC指令系統(tǒng),統(tǒng)一的中斷管理,片內有精密硬件乘法器、兩個16位定時器、一個14路的12位模數(shù)轉換器、一個看門狗、六路并行口、兩路USART通信端口、一個比較器、兩個外部時鐘和60kB的閃存,其中兩路通信端口可工作于UART和SPI模式。
ZigBee接收模塊采用CC2420芯片,它具有完全集成的壓控振蕩器,只需要天線、16MHz晶振等少數(shù)外圍電路就能在2.4GHz頻段工作。CC2420只提供一個SPI接口與微處理器連接,通過這個接口完成設置和收發(fā)數(shù)據(jù)工作。MSP430F149集成了SPI控制器,可以方便地與CC2420配合使用。
時鐘芯片采用DS1302,是DALLAS公司開發(fā)的一種基于I2C總線的高性能、低功耗、帶RAM、具有閏年補償功能的串行時鐘日歷芯片,內部可自行產生年、月、日、星期、時、分、秒等時標數(shù)據(jù)并保存在相應的寄存器中,單片機可直接讀取這些數(shù)據(jù)。
溫度傳感器采用DS18B20,是DALLAS公司生產的一線制單總線智能數(shù)字溫度傳感器,具有微型化、低功耗、高性能、抗干擾能力強等優(yōu)點,測溫范圍為-55℃~+125℃,在-10℃~+80℃時測量精度為0.5℃。單片機發(fā)出溫度轉換指令后,DS18B20將測得的溫度值保存在MSB(高8位)和LSB(低8位)兩個單元中,單片機可直接讀取。
LED點陣顯示模塊的主要部分是顯示陣列和行列驅動電路。本設計顯示陣列為16行×64列單色點陣,行驅動電路由MC74HC138芯片、TC74HC04芯片和三極管NPN9013組成,列驅動電路由M 74HC595芯片組成,采用動態(tài)掃描型驅動方式,可動態(tài)、實時地顯示站點、當前溫度、日期及時間等信息。
USB接口芯片選用PDIUSBDI2,是Philips在USB1.1協(xié)議設備端使用最多的芯片之一,符合大多數(shù)器件分類的規(guī)格,可用于U盤上。PDIUSBDI2集成了許多特性,包括可編程的時鐘輸出、低頻晶振、端點寄存器、模擬收發(fā)器、電壓調整器、位時鐘復位、串行接口引擎、存儲器管理單元、SoftConnect,GoodLink和集成RAM.內部包含3個端點,每個端點又有輸入和輸出兩個端點。其中端點0的索引0和1為控制輸入和輸出端點,用于傳輸USB的控制命令,完成USB的枚舉;端點1的索引2和3為普通輸入和輸出端點,端點2的索引4和5可以配置成普通輸入輸出端點、同步輸入端點、同步輸出端點或者同步輸入輸出端點。端點0和端點1的緩沖區(qū)大小為32kB,端點2的緩沖區(qū)大小為128kB,且為雙緩沖。USB數(shù)據(jù)的傳輸就是通過這些端點進行的。
語音功放模塊包括語音芯片、功率放大器、揚聲器等。語音芯片選用ISD4003集成芯片,其語音信號的連線很少,單片錄放時間為4~8min,芯片采用多電平直接模擬量存儲技術,每個采樣值直接存貯在片內閃存中,可以真實、自然地再現(xiàn)語音信號。功放芯片選用TDA2822雙聲道音頻功率放大電路,其工作電壓范圍寬,適用于在低電源電壓下工作,交越失真小、靜態(tài)電流小,最大輸出功率可達3W.
3 軟件設計
車載部分軟件流程如圖5所示,主要包括:系統(tǒng)初始化程序、鍵盤中斷服務程序(手動報站部分)、ISD4003語音播放程序、U盤管理程序、LED顯示程序以及讀取DS1302,DS18B20,CC2420等子程序。站臺部分的軟件工作流程比較簡單,在此就不再敘述了。
圖5 車載自動報站器軟件流程
1)站臺部分的設計采用CC2430芯片實現(xiàn)站址編碼信息的自動發(fā)射,外圍電路少,可采用電池長時間供電,成本低、運行可靠且易于安裝、維護。
2)車載部分可通過U盤存儲的線路信息方便地實現(xiàn)公交線路的切換,LED點陣顯示效果好,在自動報站的同時可實時滾動顯示站名、日歷、時間、星期和溫度信息,增加了實用性,使公交服務更人性化。
3)針對中小城市公交系統(tǒng)的特點及實際運營環(huán)境,考慮性能價格比和實用性設計了基于ZigBee技術的單片機自動報站系統(tǒng),可擴展性強,成本低,非常適合大規(guī)模推廣使用。