目前,城市公交車報站方式主要有以下幾種:(1) 人工報站:車輛每到一個站點,司機都進行口頭報站提醒乘客下車。這種報站方法弊端較大,在車內乘客較多的情況下無法聽清站點名稱,而且司機大多使用方言報站,這對外來人員來說非常不方便,另外,司機報站時會分心,在人口較多的車站容易造成交通事故[1]。(2) 人機半自動報站:車輛每到一個站點,司機需要按下相應的按鈕來啟動語音報站系統。這種報站方式也需要司機進行手工操作,容易分心造成交通事,并且有時車輛到站時司機會忘記啟動報站系統或按錯鍵報出錯誤站名誤導乘客下車。(3) 采用GPS定位系統報站:該報站方式的特點是全功能自動報站,GPS車載終端根據每秒都獲得的車輛位置信息確定車輛的上下行關系以及所處的站點位置,報站非常準確,但是其制作及運行成本非常高,而且需要專業人員進行維護,在現今條件下難以普及[2,3]。本系統針對上述報站弊端,設計一種基于無線數據收發原理的公交車自動報站系統,用以改善公交車報站系統不規范的狀況。
1 系統方案論證
GPS定位系統公交報站的原理:車載終端系統根據每秒都獲得的車輛位置信息,與預存儲于終端內的線路站點位置信息進行比較,確定車輛的上下行關系以及所處的站點位置,在車輛進站、出站、轉彎點等位置自動播報語音信息提示乘客,同時還可以在多媒體廣告播放屏上顯示文字信息,全部操作由車載終端來進行控制,報站準確可靠,而且不需要駕駛員手工干預。如果將GPS的“點—面”定位方式改為“點—點”的定位方式,不但可以保持GPS的定位準確的特點,還能降低電路操作的復雜性,同時大幅度降低制作成本,結合對自動報站系統的改進思路,得出以下兩種設計方案:
方案一:采用單片機對每一個車站進行軟件編碼,然后通過無線數據發射模塊在一定空間范圍內發射該編碼數據,當汽車進入接收范圍時車載系統收到數據,進行軟件解碼,然后根據解碼后的數據確定車輛所到的站點,啟動語音報站系統報出相應的站名并進行站點顯示。
方案二:采用編碼譯碼原理,應用“接力棒”形式進行自動報站。每兩個相鄰站點之間進行相互通訊,當公交車從第一站出發時,第一個站點發出的信息傳到第二站,第二站即進行相應顯示,同時第二站發出報站信號,車到達第二站時將會接收到報站信息,實現報站,依此類推。
經過綜合分析,兩種方案的區別在于是采用數據單向通訊還是雙向通訊,通過對比試驗,方案一較為成熟,其電路設計簡單,系統功能齊全,且性能可靠,制作成本比方案二低,完全可以達到無線自動報站的要求,因此本文選用方案一設計基于無線數據收發原理的公交車自動報站系統。
2 硬件電路設計
本系統硬件電路包括車站系統和車載系統兩個電路模塊,其中車站系統和車載系統均基于無線數據收發原理設計。
2.1 編碼數據發射系統(車站系統)
車站系統主要由單片機小系統、編碼設置電路、無線數據發射模塊三部分組成。
2.1.1 單片機小系統
為保持系統的穩定,系統采用的是ATMEL公司低功耗,高性能CMOS 8位單片機AT89S51,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,設置4k Bytes Flash片內程序存儲器,256 bytes的隨機存取數據存儲器(RAM),32個外部雙向I/O口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器,完全可以滿足本設計的要求。
2.1.2 編碼設置電路
編碼設置電路負責對每一個車站點進行編碼,該編碼經過CPU處理后送入無線數據發射模塊進行發射。電路中設八位撥碼開關,(實際產品可以將該編碼固定)共能實現256種組合方式,對于一路公交車來說已經足夠。當撥動撥碼開關時,送入單片機I/O口的電平組合發生變化,單片機將此電平進行編碼后以串行數據方式送入無線數據收發模塊進行發射。
2.1.3 無線數據收發模塊
此處設計關鍵是無線數據收發模塊,在此設計中該模塊所選用工作頻率為315M,采用聲表諧振器SAW穩頻,頻率穩定度極高,當環境溫度在-25~+85度之間變化時,頻漂僅為3ppm/度。電路采用ASK方式調制,當數據信號停止時發射電流降為零,功耗很低。電路本身未設編碼集成電路,而增加了一只數據調制三極管Q1,這種結構使得它可以方便地和其它固定編碼電路、滾動碼電路及單片機接口,而不必考慮編碼電路的工作電壓和輸出幅度信號值的大小。模塊輸出功率由電壓決定,電壓變化時發射頻率基本不變,發射電壓為3V時,空曠地傳輸距離約20 ~ 50m,發射功率較小,當電壓5V時約100~200m,當電壓9V時約300~500m,當發射電壓為12V時,為最佳工作電壓,具有較好的發射效果,發射電流約60mA,空曠地傳輸距離700~800m,發射功率約500mW。綜合考慮路面狀況,通過試驗選擇了200m左右的發射距離。
2.2 數據接收、語音報站系統(車載系統)
車載系統主要由單片機小系統、無線數據接收模塊、語音錄放電路、功放電路、顯示電路組成。
2.2.1 單片機小系統
車載系統中單片機的作用是將無線數據接收模塊傳過來的信號進行解碼,并以此為標準讀取相應的地址,一方面送給語音芯片,啟動語音芯片送出聲音信號進行報站,另一方面將相應數據送數碼管顯示站名。
2.2.2 無線數據接收模塊
接收模塊的工作電壓為5伏,靜態電流4毫安,它為超再生接收電路,接收靈敏度為-105dbm ,超再生電路的優點在于:(1) 天線輸入端有選頻電路,而不依賴1/4波長天線的選頻作用,控制距離較近時可以剪短甚至去掉外接天線;(2) 輸出端的波形在沒有信號比較干凈,干擾信號為短暫的針狀脈沖,而不象其它超再生接收電路會產生密集的噪聲波形,所以抗干擾能力較強;(3) 模塊自身輻射極小,加上電路模塊背面網狀接地銅箔的屏蔽作用,可以減少自身振蕩的泄漏和外界干擾信號的侵入;(4) 采用帶骨
架的銅芯電感將頻率調整到315M后封固,這與采用可調電容調整接收頻率的電路相比,溫度、濕度穩定性及抗機械振動性能都有極大改善。
接收模塊接收到發射模塊發射出來的信號時將其解調還原出有效數據,經隔離處理后送入CPU。
2.2.3 語音錄放電路
由于系統采取自動報站方式,需要預錄取站名及提醒語句,電路中必須加入語音電路。本系統采用ISD4004-8語音錄放集成芯片。芯片采用多電平直接模擬量存貯技術,每個采樣值直接存貯在片內的閃爍存貯器中,因此能夠非常真實、自然地再現語音,避免了一般固體錄音電路固置化和壓縮造成的量化噪聲和多屬聲。
由于CPU和ISD4004 之間的連接較少,其中P2.2口接ISD4004片選引腳/SS,控制ISD4004 的選通。P2.1口接ISD4004 的串行輸入引腳MOSI,從該引腳讀入放音的地址。P2.3 和P2.5 分別接ISD4004 的串行時鐘引腳SCLK和中斷引腳/INT。對于ISD4004 芯片所需要的連接還有音頻信號輸出引腳AUDOUT,該引腳通過一個濾波電容與功放電路連接,AMCAP 為自動靜音端,使用時通過一個電容接地。此外由于ISD4004 的工作電壓為3 伏,而單片機所需供電電壓為5 伏,因此需要采用穩壓電路得到3 伏電壓供ISD4004 使用。
數據接收模塊將接收到的信號送入單片機,單片機將此信號進行解碼,信號經過校驗確認正確后,一方面轉換為BCD碼送給74LS48譯碼,然后通過數碼管顯出來;另一方面根據信號讀取相應的地址,送給語音芯片,啟動語音芯片送出聲音信號,完成語音報站。
2.2.4 功放電路
由于語音芯片輸出的音頻信號功率較小,在報站時要求比較大的聲音,這就要求對語音芯片輸出的聲音信號進行功率放大,因此電路采用的TDA2822 是雙聲道音頻功率放大電路,電源電壓范圍寬(1.8~15V),低至1.8V 仍能工作,因此,該電路適合在低電源電壓下工作;它的特點在于靜態電流小,交越失真很小,適用于單聲道橋式(BTL)和立體聲線路兩種工作狀態;本系統采用BTL連接方式,最大輸出功率可達3W,可以驅動揚聲器發出足夠大的聲音,滿足系統的要求。
2.2.5 顯示電路
單片機驅動LED數碼管有很多方法,按顯示方式可分靜態顯示和動態顯示,按譯碼方式可分硬件譯碼和軟件譯碼。靜態顯示就是顯示驅動電路具有輸出鎖存功能,單片機將所要顯示的數據送出后就不再管,直到下一次顯示數據需要更新時再傳送一次新數據,顯示數據穩定,占用很少的CPU時間。動態顯示需要CPU時刻對顯示器件進行數據刷新,顯示數據有閃爍感,占用的CPU時間多。這兩種顯示方式各有利弊:靜態顯示雖然數據穩定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅動電路,使用的硬件較多;動態顯示雖然有閃爍感,占用的CPU時間多,但使用的硬件少,能節省線路板空間。硬件譯碼就是顯示的段碼由硬件完成,CPU只要送出標準的BCD碼,硬件接線有一定標準。軟件譯碼是用軟件來完成硬件的功能,硬件簡單,接線靈活,顯示段碼由軟件來處理。本設計需要驅動兩位數碼管,采用動態掃描的方式能固然節省電路,但是考慮到無線數據收發模塊和語音芯片的工作需要一個比較好的環境,采用動態掃描時產生的頻率干擾可能會影響他們的正常工作,因此該系統選用了靜態顯示的方法,并選用硬件譯碼74LS48驅動的方法,此方法雖然增加了電路,但是完全保證了系統穩定可靠的工作。
3 軟件設計
系統軟件采用模塊化結構,根據系統功能得到車站系統和車載系統流程圖如圖1。
[align=center]

圖1 程序流程圖[/align]
從軟件流程圖可以看出,車站系統不斷循環發送屬于自己的唯一的編碼,當汽車行駛到距離某一個站點200米左右時,車載系統將接收到車站系統發射出來的具有唯一性的編碼數據,通過解碼還原出包含有站點信息的數據并根據該數據自動判斷出是否應該在該站停靠,如需要,則發出指令啟動語音芯片,進行相應的尋址以報出相應的站名,如不需要停靠,則自動忽略解碼出來的數據,并不啟動報站系統,以防誤報。
4 運行情況
為了測試系統能否達到設計要求,下面對系統進行功能測試,并將其與類似產品進行對比,結果如下。
4.1 指標測試
設計要求是當公交車距車站200米左右時自動報站,經實際測試,200米距離時接收效果較好,靈敏在度較高,顯示與站點編號符合,障礙物區距離稍有減小,靈敏度稍低。但不會影響正常使用,達到設計要求。
4.2 功能比較
將本系統與當前比較流行的報站方式進行列表比較:其系統功能比較見表1。由表1可知,本文所設計的無線自動報站系統具有較好的優勢,其成本不過百元卻能夠較好的完成站點的自動識別、顯示與語音報站等功能,避免了手動按鍵式報站的種種弊端,維護簡單,無需專業人員操縱,完全可以代替GPS等昂貴且操作復雜的報站系統,可擴展性很強,非常適合各大中小城市推廣使用。
[align=center]表1 運行功能比較

[/align]
5、結語
針對當前公交車上人工報站的弊端,設計了一種基于無線數據收發原理的公交車自動報站系統,實現了公交車的智能報站功能。通過系統測試以及與其它方式的報站,本系統具有系統價格低廉,且報站準確率高,具有較好的推廣性,不失為公交車上的一種智能裝置。
本文作者創新點:系統根據無線數據收發原理,采用單片機對每一個車站進行編碼,然后通過無線數據發射模塊在一定空間范圍內發射該編碼數據,當汽車進入接收范圍時車載系統收到數據,并對數據解碼,最后根據解碼后的數據確定車輛所到的站點,啟動語音報站系統報出相應的站名,實現了公交車的智能報站功能。