劉子英, 張 靖, 李中奇, 汪嬌嬌
(華東交通大學 電氣與自動化工程學院,江西 南昌 330013)
抬頭顯示系統(head up display,HUD)又叫平視顯示系統[1],最初是應用在戰斗機上的輔助作戰瞄準鏡[2],采用光學反射原理,將目標定位打點在駕駛艙正前方的組合玻璃上,飛行員通過這塊組合玻璃就可以知道是否瞄準了攻擊目標,后來這項技術被引入到了汽車上,輔助司機駕駛。
有研究表明,列車駕駛過程中,司機的絕大部分視覺資源都投入到前方眺望上,90 %的注視時間都用于前方路線情況和列車信號燈等視覺刺激源的觀察上[3],列車運行過程中,司機需要時刻注意車內各種儀表、顯示器、車外情況。目前在司機室操控臺前方布置有ATP顯示器、TCMS顯示器、CIR顯示器、接近預警顯示屏、雙針壓力表、控制電壓表、BP壓力表等一些主要顯示器供司機觀察列車運行的信息,然而司機需要頻繁低頭觀察顯示器和表盤上的信息,容易忽略前方的路況信息,形成安全隱患。此外,列車在運行過程中,司機的視野會隨著速度的增加而逐漸縮小并集中,產生一種視覺隧道現象[4],這也會使得司機忽略掉一些重要的信息。由于目前還沒有將抬頭顯示系統應用到列車司機駕駛室中,關于抬頭顯示系統在鐵路上的相關研究也比較少[5],而隨著鐵路不斷發展,對列車的運行安全有了更高的要求,這也給司機駕駛提出了更高的挑戰。文獻[5]中提出了一種基于平視顯示系統的高速列車操作輔助方法,HUD在不同的駕駛階段顯示當前任務所需要的輔助器件信息,并組織實施了人因實驗來驗證過分相時司機無需低頭既可查看相關的信息,但是并未對用于列車上的抬頭顯示系統結構進行設計。文獻[6]提出了采用AT89C51單片機作為車載抬頭顯示系統核心進行硬件設計[6],但是AT89C51單片機的數據處理速度相對比較慢,對于高速行駛的列車來說,無法滿足實時處理采集到的數據。文獻[7]中采用DLP投影技術來設計汽車抬頭顯示系統[7],但是數碼光路處理器DLP存在“彩虹效應”的缺陷,容易使人分心,而且成本較高。
本文針對上述問題設計了一種適用于列車的抬頭顯示系統,以STM32作為主控制器,以列車CAN總線為例,采用透射式高溫多晶硅LCD作為像源對列車抬頭顯示系統進行了設計,采用計算機上的上位機隨機生成的速度信息發送到抬頭顯示系統上顯示,驗證了本設計的可行性和實時性。
列車的抬頭顯示系統主要由信息處理及像源控制模塊、像源模塊、光學投影模塊(反射鏡、中繼面、合成器)、電源電路組成。信息處理及像源控制模塊通過列車總線獲取列車運行時的信息,并提取出列車司機需要的重要信息,然后對這些信息進行分析處理,以字符、圖像的形式發送至像源模塊上顯示,像源模塊的背光源經準直透鏡準直后照射在液晶屏上,將液晶屏上的圖像信息轉換為平行光信號投射在反射鏡上,由反射鏡將像源上的平行光信號反射到中繼成像面上進行成像,中繼成像面將反射鏡發射來的圖像進行放大并矯正像差后將圖像信息反射到合成器上,再經合成器反射進入人眼,司機透過合成器即可查看到疊加在車外環境的行車信息的虛像。列車司機在保持平視前方的狀態下就能夠同時查看列車前方的環境和列車運行時的一些重要信息。圖1為列車抬頭顯示系統的架構圖。

圖1 列車抬頭顯示系統架構
2.1.1 像源選取
現有投影顯示技術主要有陰極射線管CRT、液晶顯示器件LCD、硅基液晶LCOS、數碼光路處理器DLP等,但是陰極射線管CRT的驅動電源電壓高、鏡像尺寸大、對磁場敏感;硅基液晶LCOS的對比度底、黑色上再現性不理想;數碼光路處理器DLP的核心部件DMD數字微鏡和小體積光源集成度高、成品率底;而LCD液晶屏具有技術發展成熟、體積較小、制造工藝簡單、對比度高、色彩豐富、性能穩定的優點[8],因此,本設計采用了薄膜晶體管液晶顯示器TFT-LCD作為抬頭顯示系統的像源。
2.1.2 像源模塊設計
像源模塊主要由背光源、準直透鏡、液晶屏組成。由電源電路驅動背光源,背光源經準直透鏡組準直后均勻照射在液晶屏上,將液晶屏上的信息轉換為平行光信號,該平行光信號投影到反射鏡上。
液晶屏的選擇綜合考慮了像源要求,如色彩豐富度、尺寸大小、對比度、透光率、分辨率等方面因素,選用TFT-LCD為SONY公司的1.8寸(1 in=2.54 cm)屏 (LCX028AMT),顯示分辨率為1 280×1 024。LCX028AMT的透光率可達27 %,只需調整合適的背光源亮度即可使它的亮度達到理想狀態。
2.1.3 背光源設計
背光源是為液晶屏提供光照的光源,將其置于液晶屏的背后,通過照射液晶屏中被驅動的液晶顯示單元,將液晶屏中的圖像顯示出來。目前廣泛使用的背光源主要有發光二極管和冷陰熒光燈管,冷陰熒光燈管發光效率低,發光二極管發光效率高,因此選用發光二極管(LED)作為像源的背光源。
抬頭顯示系統的信息處理及顯示控制模塊設計主要包含主控電路設計、CAN總線解碼器設計、像源驅動電路設計。
2.2.1 主控電路設計
主控電路的任務是接收數據解碼器解析的列車運行信息,并將該信息處理后顯示在液晶屏上。本設計采用帶有CAN接口的STM32F103RCT6為主控芯片。其優點在于STM32F103RCT6采用了Cortex M3作為內核,提供了豐富的增強I/O端口和聯接到兩條APB總線的外設,自帶512 K字節 FLASH,并外擴16 M字節SPIFLASH,滿足大數據存儲需求。工作頻率可以達到72 MHz[9]。
基于STM32的主控電路原理圖如圖2所示。主要由復位電路、調試測試電路、掉電數據保存電路等組成。

圖2 主控電路原理
復位電路:用于復位STM32F103RCT6芯片,利用RC電路具有延時功能,采用了一個電阻和一個電容,當不考慮流入RESET端的電流,則該電路為一階RC電路。當RESET有兩個機器周期的時間是高電平時,系統即可被復位。
調試測試電路:STM32支持 JTAG 和 SWD 兩種調試接口。因為SWD 只需要2根線就可以下載并調試代碼,因此本設計選擇使用SWD接口進行硬件調試。
掉電數據保存電路:用于掉電數據保存。該芯片直接掛在STM32的IO口上,用于存儲重要數據。
2.2.2 CAN總線解碼器設計
本文以CAN總線為例設計抬頭顯示系統,采用CAN總線解碼器對列車總線上的信息進行提取傳輸到主控電路,主控電路控制液晶屏顯示相應的列車運行信息。
CAN總線解碼器主要由獨立的CAN控制器SJA1000[10]和CAN總線收發器組成。通過CAN總線解碼器將列車司機需要的重要信息按照CAN總線通信協議傳送至抬頭顯示系統的信息處理器進行分析處理。當STM32F103RCT6初始接收時,接口管理邏輯會使CAN核心模塊從緩沖器讀CAN報文;通過內部的可編程的濾波器能確定STM32F103RCT6要接收哪些報文;由內部的接收FIFO存儲所有收到的報文,最多能存儲32個報文。圖3為CAN總線解碼器電路原理圖。

圖3 CAN解碼器電路
CAN收發器作為數據交換的接口,連接在CAN控制器和列車CAN總線之間,其本質就是實現總線差動電平向數字邏輯電平的轉換。本設計的CAN收發器采用PCA82C250 CAN收發器。PCA82C250是CAN協議控制器和物理總線的接口[11]。為CAN控制器提供一個差動接收的能力。
收發器的IO端口CANH和CANL分別連接列車CAN總線的CANH和CANL,接收CANH和CANL上的數據,并通過發送數據端TXD將采集到的列車CAN總線上的數據傳輸給SJA1000,SJA1000將處理過的數據發送給STM32F103RCT6。當CAN收發器工作在高速模式下時,出級的晶體管快速實現打開、關閉,當它處于待機工作模式下時,發送器關閉,接收器轉至低電流,VCC和GND接電源和接地的端口之間采用電容相連。
2.2.3 像源驅動電路設計
采用2片數據驅動器CXA7004R來作為LCX028AMT的驅動器,接收STM32控制器發送來的12位數字輸入信號,CXA7004R對這12位數字信號轉化為6個相位的模擬信號輸出。CXA7004R支持點和線反轉驅動方式;最高支持SXGA信號;VCOM電壓產生電路;預充脈沖波形發生器[12]??梢栽贑XA7004R中產生預充脈沖波,但是該預充脈沖波不可以對液晶屏直接進行驅動,所以需要在液晶屏和CXA7004R之間加上一個緩沖器,采用LT1206緩沖器作為CXA7004R的緩沖;另外還將CXA7004R產生的VCOM電壓來驅動液晶屏。像源驅動電路原理圖如圖4所示。

圖4 像源驅動電路
設計所用到的電源電壓有15,5,3.3 V等不同級別的電壓,因此針對不同的電壓需求設計相應的電壓源。其中,采用15 V電源為像源驅動電路供電,5 V電源為CAN解碼器、背光源供電,3.3 V電源為主控電路供電。
由于列車上各部分電氣采用的電壓源不相同,本設計針對現有列車上常用在操控臺上的電壓進行轉換,對列車操控臺上的24 V直流電源電壓進行降壓設計處理。通過降壓斬波電路將24 V電壓降壓至15 V后,通過三端穩壓電源分別對降壓斬波電路得到的15 V電壓進行穩壓處理,并將15 V電壓降至5 V和3.3 V進行供電。圖5為抬頭顯示器系統電源電路。

圖5 抬頭顯示器系統電源電路
軟件設計主要包括系統主程序設計、CAN控制器接收數據程序設計和顯示程序設計。
系統主程序設計:系統初始化后即開始判斷接收標志位,若標志位無效,則繼續判斷接收標志位,若標志位有效時,則清除接收標志位,啟動CAN控制器接收程序,并對接收到的數據進行處理,最后將處理過的信息顯示在 LCD屏上,由于主控芯片需要實時接收CAN控制器傳來的數據信息并處理后顯示,所以系統主程序應該循環接收并處理CAN控制器傳來的數據信息。
CAN控制器接收數據程序設計:CAN控制器一開始就要讀消息對象,并對讀取到的消息對象進行錯誤中斷判斷,當有錯誤中斷時,對錯誤中斷進行處理;當沒有錯誤中斷時,將消息對象存入接收緩沖區進行預處理,然后釋放接收緩沖區,再判斷接收緩沖區狀態是否為“空”,當接收緩沖區狀態為空時,即結束該程序,否則返回到繼續讀取消息對象。
顯示程序設計:TM32控制器需要控制液晶屏顯示信息時,向CXA7004R發送12位數字輸入信號,控制LT1206緩沖器對CXA7004R進行緩沖后驅動液晶屏,同時控制CXA7004R產生的VCOM電壓直接驅動液晶屏。
為了測試列車抬頭顯示系統的可行性,采用計算機模擬列車的中央處理器隨機生成的速度信息發送到列車抬頭顯示系統上顯示,模擬司機駕駛時的動作,啟動列車時,先按下“停止按鈕Z”,不斷采集列車的速度,需要前進時,按下“前進按鈕R”,前進的速度信息傳輸到LCD上顯示“列車速度信息SP:”,同時液晶屏左上半部分的三角形隨著列車速度值在填充,填充面積越大,表明列車前進速度越高,反之越低,需要列車后退時,必須得列車停速度為0,且按下“停止按鈕Z”后,才能按“后退按鈕A”,后退的速度信息傳輸到LCD上顯示“列車速度信息SP:”,同時液晶屏左下半部分的三角形隨著列車速度值在填充,填充面積越大,表明列車后退速度越高,反之越低。結果表明列車抬頭顯示
系統所顯示的速度信息能與計算機生成的隨機速度信息同步,表明了該方案實時性較好,具有可行性。
設計了用于列車的抬頭顯示系統,將司機需要的一些重要信息投影在前擋玻璃前方,司機無需低頭查看表盤或顯示屏,即可觀察當前列車運行的一些重要信息,有效地消除了因為低頭而產生的視覺盲區。采用透射式投影顯示技術LCD作為抬頭顯示系統的投影裝置;以列車CAN總線為例,采用STM32F103RCT6為控制器內核,選用SONY公司的1.8寸屏 (LCX028AMT)作為像源,對系統進行了硬件設計和軟件設計。通過計算機仿真軟件模擬實驗向列車抬頭顯示系統發送信息,結果表明,所設計的列車抬頭顯示系統的可行性和實時性較好。