劉全利,賀 莉
(大連理工大學 控制科學與工程學院,遼寧 大連 116024)
隨著我國城市化進程的不斷加快,地下鐵路交通已成為解決城市地面交通緊張的最佳交通方式.而今,城市地下鐵路交通采用以乘客為中心的運營模式,為乘客提供了更高質量的服務[1].目前地鐵中顯示信息技術分為兩部分:一是LED 動態地圖指示;二是LCD 廣告屏顯示.LED 動態地圖采用固定路線上LED 燈閃爍的方式指示站點,形式單一,提示信息有限;而LCD 廣告屏采用OSD(on-screen display)方式在其下側顯示部分站點信息,其視頻信號采用模擬傳輸,分辨率低,清晰度差,并不能滿足站點信息的高清需求[2-3].
在國外地鐵發展比較成熟的城市,如倫敦,LCD 動態地圖系統早已投入使用;而國內一些地鐵發展相對較快的地區,如上海,也已經將LCD動態地圖系統的開發應用提上了日程[4-5].雖然LCD 動態地圖系統的傳輸架構類似于傳統的列車乘客信息系統,但是在高清晰度方面提出了更高要求.大多數的列車乘客信息系統媒體發布方式為在司機室與車廂之間采用壓縮編碼方式進行數字傳輸,而在車廂內部采用分屏器以VGA、差分VGA 或SDI方式將信號分配到車廂內的各個LCD 屏[6-7].VGA和差分VGA方式本質上是模擬信號,容易受干擾,SDI方式一般分辨率較低.上述兩種方式均不能在傳輸視頻信號的同時很方便地用同一根電纜傳輸對LCD 屏的控制信號和讀取LCD 屏的狀態信息,且要求LCD 屏與分屏器間必須是星形布線方式,電纜鋪設較多.為解決此類問題,本文設計全數字信號傳輸方式的LCD動態地圖系統,并對其進行功能描述;基于系統的功能需求,重點描述該系統主控單元的實現,即主控單元模塊基于Windows CE 操作系統開發,集成VGA 顯示接口、RS-232控制端口和RJ45 維護接口,以實現動態地圖系統的主要功能.
為了適應動態地圖系統的數字化要求,設計了如圖1所示的系統總體框圖,系統中的各個模塊均處于同一局域網內.
動態地圖系統主控單元是動態地圖系統的核心模塊,主要用于顯示系統的場景生成和相關信息的管理.該模塊采用Intel主板,基于Windows CE操作系統來實現.
列車主控提供列車當前運行狀態信號,通過RS-232接口發送消息,通知動態地圖系統主控單元進行場景切換和數據管理等操作.

圖1 動態地圖系統框圖Fig.1 Diagram of dynamic map system
視頻編碼器模塊接收到主控單元發來的VGA 信號,采用XVID 編碼算法,將視頻信號壓縮為MPEG4碼流,以滿足帶寬要求[8],并將該碼流發送到以太網上.本文中采用的壓縮方式符合MPEG4Part10要求,占用帶寬小于1.5 Mbps.
視頻解碼器模塊通過以太網接收MPEG4視頻碼流,并進行解碼,將解碼后的視頻信號輸出到LCD 屏,以供顯示.
交換機模塊主要用于管理局域網內各模塊和它們之間的數據傳輸.
綜上所述,該系統正常工作時,有一個主控單元和一個視頻編碼器來生成和發送視頻信號,而局域網內可以有任意多個視頻解碼器獲得視頻信號,以支持多個LCD 屏的顯示.
根據前文可知,主控單元與其他模塊之間需要RS-232控制接口、VGA 視頻接 口和RJ45 網絡接口,另外考慮到系統運行和維護的需要,主控單元的設計框圖如圖2所示.圖中,左側3個接口用于與動態地圖系統其他模塊連接,右側3個接口用于支持系統的正常運行和維護.

圖2 主控單元框圖Fig.2 Diagram of main control unit
視頻輸出采用VGA 接口、1 280pixel×720 pixel的分辨率,用于將動態地圖顯示界面的圖像信號輸出到視頻編碼器.該界面可以根據不同的控制信號顯示不同的信息,其中包括時間提示、整體路線圖、局部路線圖、線路及站點換乘信息、到站提示、開門提示和關門提示.相對于單一的LED 路線指示,本系統采用的LCD 顯示方案更加人性化,能夠滿足乘客對路線、站點信息的更多需求,也能為乘客提供列車動作的必要提示.
控制接口采用RS-232 接口,將主控單元連接到列車主控.列車主控可以實時獲得列車運行的狀態,因此,主控單元需要通過控制接口獲得這些狀態,據此改變當前顯示的線路或提示信息.
以太網接口連接到交換機.動態地圖顯示系統中的各個模塊處于同一個局域網,因此每個模塊需要維護自己的IP地址;而同類設備出廠時均采用默認配置,因此系統正常運行前,需要通過以太網來設定每個設備的IP 地址.另外,該接口還有其他功能,如響應網絡點名、上傳設備狀態等.
硬盤接口采用IDE 接口,用于與CF 卡進行通信.CF卡中定制了主控單元模塊的Windows CE操作系統,保存了支持系統正常運行的應用程序以及相關固件,是本模塊的主要存儲設備.
USB接口為系統調試和維護的擴展接口,用于連接其他支持USB通信的設備.
用戶輸入接口采用PS/2 接口,用于連接鍵盤和鼠標.
本系統基于Windows CE 操作系統開發.Windows CE是一種實時嵌入式操作系統,支持多種常見的處理器架構,如x86、ARM 等.它支持常見的硬件外設,如鼠標、鍵盤、串口、以太網口、通用串行總線(USB)設備等[9].系統采用Visual Studio開發環境,通過Activesync工具同步主控單元,對其進行遠程調試.主控單元采用如圖3所示的軟件框架.

圖3 動態地圖系統主控單元軟件框圖Fig.3 Diagram of main control unit′s software of dynamic map system
軟件框架由上而下由三大部分組成:系統的初始化、系統功能具體實現和系統的結束.
系統的初始化過程包括串口通信、網絡通信、顯示界面和數據管理鏈表的初始化.系統的結束過程包括以上四部分的內存空間釋放和各線程的退出.系統功能的具體實現部分包括以下幾個模塊:
(1)網絡通信模塊
動態地圖系統主控單元作為局域網內的一個設備,需要與列車主控以及維護設備進行網絡通信,而網絡通信模塊主要完成以下幾個功能:一是修改并維護IP地址;二是響應網絡狀態點名;三是上傳設備狀態.
(2)串口通信模塊
串口通信模塊主要處理列車主控和動態地圖系統主控單元之間的數據通信,并根據兩者間的協議管理串口數據.模塊主要響應以下幾個消息:一是串口點名;二是場景切換;三是系統時間調整.串口通信的數據包包括消息類型、列車主控傳遞給動態地圖系統主控單元的參數及校驗碼等信息.
(3)系統時間修改模塊
串口通信模塊收到系統時間調整的消息時,通知系統時間修改模塊;消息數據包中存有列車主控希望動態地圖系統主控單元設置的時間值,系統時間修改模塊將依此對主控單元系統時間進行修改并保存.
(4)串口點名響應模塊
串口通信模塊收到串口點名的消息時,通知串口點名響應模塊進行處理.
(5)場景控制模塊
串口通信模塊接收到場景切換的消息時,將通知場景控制模塊.此時,場景控制模塊根據接收到的命令,判斷當前需要顯示的場景;如果當前場景需要更新路線或站點信息,則通知路線站點管理模塊,依照數據包中的信息,更新全局路線站點信息和當前站點信息,以確保顯示的正確性.
(6)場景元素管理模塊
場景元素管理模塊主要用于管理當前場景中不同類型元素的屬性.
(7)場景實現模塊
場景實現模塊負責所有元素的具體實現過程.模塊基于MFC微軟基礎類庫,通過調用GDI圖形接口來完成.當前場景的所有元素都更新結束后,模塊根據場景元素的列表依次創建不同的子窗口、顯示相應的信息以及實現動畫功能.
列車主控與動態地圖系統主控單元間采用一位滑動窗口協議進行數據通信.當主控單元收到列車主控發送的消息數據后應該以相同消息類型的數據進行回應.為此,本文設計了一種帶有校驗可兼容多種消息類型的數據打包方式.當信息需要多字節表示時,采用小開端格式.串口數據包的幀格式如圖4所示.

圖4 串口幀格式Fig.4 Frame format of serial port
0xFC和0xFE 分別用來表示消息幀的開始和結束,0xFD 用作轉義字符.消息幀中,如果有這3個值(不包括消息的開始和結束),則分別在它們前面加上0xFD.
消息狀態用于區分當前消息的狀態,包括初始消息(列車主控發送給主控單元)、正確應答消息(主控單元發送給列車主控)和錯誤應答消息(主控單元發送給列車主控)3種.
消息類型用于區分本模塊管理的3種消息,包括串口點名、場景切換和系統時間調整.每種消息有自己的消息類型值,在通信的過程中,列車主控與動態地圖系統主控單元之間的同一類型的初始化消息和應答消息采用同一消息類型.
消息數據區域保存列車主控發送給動態地圖系統主控單元的各個類型消息的具體數據,長度靈活可變.
校驗和從起始字節到消息數據的最后一個字節,按字節異或得到,其中不包括轉義字符0xFD.
串口通信模塊需要同列車主控和動態地圖系統主控單元內部其他模塊進行交互,模塊框架如圖5所示.
串口通信模塊是動態地圖系統主控單元和列車主控之間主要的通信模塊,采用RS-232接口.當接收到列車主控發來的消息時,串口通信模塊將數據保存到臨時存儲區;本次消息接收完畢后,判斷該消息是否有效;若消息無效,則丟棄此次接收的數據,繼續阻塞等待串口數據;若消息有效,則按照消息類型通知主控單元內部的不同模塊(以場景控制模塊為例),并等待其應答;最后,根據場景控制模塊的應答狀態,向列車主控回復相應的串口消息數據包.

圖5 串口通信模塊框圖Fig.5 Diagram of serial communication module
場景控制模塊是主控單元控制場景之間切換的核心模塊,需要判斷當前的場景;另外,主控單元中場景的切換需要對應串口場景切換消息的不同命令.因此,場景控制模塊主要有兩個功能:一是管理所有場景信息;二是將場景切換消息中的命令與具體的場景對應起來.圖6所示為場景切換狀態機.

圖6 場景切換狀態機Fig.6 Scenes switching state machine
場景控制模塊共需要管理7種場景,分別為啟動場景、靜態全局路線場景、動態全局路線場景、局部路線場景、預開門信息場景、預開門站點場景和開門場景;而串口場景切換消息有5個不同的命令(CMD)需要響應,分別為初始化(INIT)、下一站(NEXTSTA)、開門(OPENDOOR)、到站(ARRIVESTA)、關門(CLOSEDOOR).場景切換流程如下:
(1)當系統剛啟動時,所有路線信息尚未初始化,此時顯示啟動場景,顯示系統時間.
(2)若收到INIT 命令,則對路線信息進行初始化,場景切換到靜態全局路線,此時正式啟動了所有場景的相互切換過程.
(3)若收到NEXTSTA 命令,場景切換到動態全局路線,并啟動與局部路線場景的定時自動切換過程.
(4)在(3)的過程當中,若收到OPENDOOR命令,則停止(3)中的自動切換過程,將場景切換到預開門信息,并啟動與預開門信息場景的定時自動切換過程.
(5)在(4)的過程當中,若收到ARRIVESTA命令,則停止(4)中的自動切換過程,將場景切換到開門場景.
(6)若收到CLOSEDOOR 命令,場景切換到靜態全局路線,之后重復以上(3)~(6)的過程.
動態地圖顯示模塊需要實現高質量的信息顯示,經過場景控制模塊確定了當前顯示場景后,需要對當前場景中不同的元素進行分類和存儲.
通過對顯示要求的分析,將場景中所有元素分為三類:時間元素、文字元素和圖片元素.三類元素有相同的屬性,例如元素位置、元素當前使用狀態等;也有各自的不同屬性,例如時間元素有時間屬性,文字元素有文字的內容和字體等屬性、圖片元素有前景和背景圖片屬性.因此,本文對它們進行分類管理.
本文中每一類元素的個體之間沒有明確的先后關系;但是為了節省存儲資源,每一類元素個體的存儲空間需要在使用前臨時分配.考慮到以上兩點,本文對元素的管理有以下幾點原則:
(1)選擇鏈表作為基本的存儲類型,因為鏈表能夠實時地對節點進行內存分配和釋放.
(2)每一類元素創建一個鏈表,鏈表的節點即表示該類元素的個體.
(3)采用單獨分配、統一釋放的原則來管理鏈表.即添加當前場景元素時,若鏈表中沒有可用的節點,那么臨時分配一個節點空間并插入到相應鏈表;否則,使用鏈表中第一個可用的節點.到系統退出時,統一釋放所有鏈表的節點空間.
目前,動態地圖系統已經開發完成并應用于深圳某地鐵列車內,運行、顯示效果良好.該線路列車采用六節編組,列車內動態地圖系統連接示意圖如圖7所示.
由圖7可見,動態地圖系統主控單元以及視頻編碼器位于司機室,負責生成和發送視頻信號;從車廂1到車廂6 中各有一套視頻接收顯示裝置,即視頻解碼器和LCD 屏.每個車廂中,通過視頻解碼器接收到視頻信號并進行解碼,將解碼后的視頻信號分別通過兩個通路發送到車廂兩側的LCD屏;LCD 屏接收其上級LCD 屏的視頻信號,顯示并將信號轉發到下一級LCD 屏.
該線路的LCD 列車動態地圖系統采用多場景切換,如圖8所示為具體場景示例.
LED 動態地圖系統只能單一地顯示整條路線,而本文設計的LCD 動態地圖系統可以顯示更加豐富、人性化的路線站點信息,如圖8(a)中顯示的啟動場景,可顯示時間提示;圖8(b)中顯示的局部路線場景,可顯示下一站換乘信息;圖8(c)中顯示的預開門信息場景,可提示下一站出口信息.

圖7 動態地圖系統連接示意圖Fig.7 Connection diagram of dynamic map system

圖8 場景示例Fig.8 Examples of scenes
本文介紹了LCD 列車動態地圖系統的設計方案及其功能,著重描述了該系統主控單元的實現.該單元模塊采用Intel主板作為硬件平臺,基于Windows CE 操作系統開發實現.模塊通過RS-232接口,接收列車主控的命令,以此作為依據切換不同的動態地圖場景,更加人性化地為乘客提供列車信息.系統具有內容豐富、界面布局合理、畫面清晰等優點,已經成功應用于深圳某地鐵,它的應用將會為乘客的出行帶來極大的便捷.
[1]闞庭明.城市軌道交通乘客信息系統技術發展趨勢探討[J].鐵路計算機應用,2009,18(1):37-39.KAN Ting-ming.Research on technology development trends to urban rail transit passenger information system [J].Railway Computer Application,2009,18(1):37-39.(in Chinese)
[2]嚴嬋琳.數字視頻傳輸技術在城市軌道交通中的應用[J].城市軌道交通研究,2002,5(3):66-70.YAN Chan-lin.The application of digital video transmission technique to urban mass transit[J].Urban Mass Transit,2002,5(3):66-70.(in Chinese)
[3]劉鎮濤.地鐵視頻圖像系統的建設[J].中國安防,2009,4(4):70-73.LIU Zhen-tao.The construction of metro video and image system [J].China Security & Protection,2009,4(4):70-73.(in Chinese)
[4]馬 沖,鄧紅元.地鐵PIS系統中的視頻技術[J].鐵路通信信號工程技術,2008,5(1):44-46.MA Chong,DENG Hong-yuan.The video technique for metro PIS system [J].Railway Signalling & Communication Engineering,2008,5(1):44-46.(in Chinese)
[5]李 瑛,趙 紅.天津地鐵1號線車站乘客向導系統的設計與實現[J].鐵路通信信號,2009,45(11):21-22.LI Ying,ZHAO Hong.The design and implementation of the passenger guide system for No.1 line of Tianjin subway [J].Railway Signalling &Communication,2009,45(11):21-22.(in Chinese)
[6]馬麗英.廣州地鐵二、八號線延長線車輛乘客信息系統[J].電力機車與城軌車輛,2009,32(4):23-25.MA Li-ying.Passenger information system of metro rolling stock for Guangzhou metro line 2&8 extension[J].Electric Locomotives & Mass Transit Vehicles,2009,32(4):23-25.(in Chinese)
[7]劉 璠.上海市軌道交通車載乘客信息系統設計[J].鐵路通信信號工程技術,2010,7(2):51-52,59.LIU Fan.Design of on-board passenger information system for Shanghai urban mass transit [J].Railway Signalling & Communication Engineering,2010,7(2):51-52,59.(in Chinese)
[8]劉榮科,胡 偉,高 楊,等.基于DSP平臺的機載高清視頻編碼器設計與實現[J].航空學報,2011,32(3):507-514.LIU Rong-ke,HU Wei,GAO Yang,etal.Design and implementation of airborne high definition video encoder based on DSP platform [J].Acta Aeronautica et Astronautica Sinica,2011,32(3):507-514.(in Chinese)
[9]何頂新,葉 剛,徐金榜.基于WINCE 的CAN 總線設備驅動研究[J].華中科技大學學報:自然科學版,2007,35(9):104-106.HE Ding-xin,YE Gang,XU Jin-bang.Research of CAN bus device driver by using WINCE [J].Journal of Huazhong University of Science &Technology:Nature Science Edition,2007,35(9):104-106.(in Chinese)