《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于PXA270的分布式地鐵車載系統開發
基于PXA270的分布式地鐵車載系統開發
來源:微型機與應用2012年第11期
李樹江1,2,韓 丹1,2,王向東1,2,孔麗新1
(1.沈陽工業大學 信息科學與工程學院,遼寧 沈陽 110870; 2.沈陽工業大學 遼寧省教育廳嵌
摘要: 基于PXA270硬件平臺與WinCE嵌入式操作系統,采用媒體文件的IP組播傳輸、DirectShow數據解碼播放、報站信息的無線射頻自動觸發技術,實現列車終端報站、多媒體播放和信息提示等功能,同時可以實現車頭與車廂間的車載廣播中心和車載播放終端功能互換,增加了車載系統的可靠性和靈活性。
Abstract:
Key words :

摘  要: 基于PXA270硬件平臺與WinCE嵌入式操作系統,采用媒體文件的IP組播傳輸、DirectShow數據解碼播放、報站信息的無線射頻自動觸發技術,實現列車終端報站、多媒體播放和信息提示等功能,同時可以實現車頭與車廂間的車載廣播中心和車載播放終端功能互換,增加了車載系統的可靠性和靈活性。
關鍵詞: 多媒體;嵌入式系統;車載系統;地鐵

 車載信息娛樂系統與報站系統作為地鐵列車必不可少的配置顯得尤為重要,可以使乘客準確地確定到站站點、緩解乏味的旅途,也可以輕松地獲得各站點的換乘路線、乘車指南等有意義的信息。
 早期車載多媒體播放器多是傳統的磁帶收音機、CD播放器、DVD播放器等,磁帶機的缺點是音質不好且由于傳動機械的故障會出現卡帶的現象,現基本已淘汰。車載CD播放器最近幾年才應用于車載系統,在音質方面有了很大的提高,但只能讀取CD光盤不能下載網絡媒體,具有歌曲更換不便的缺點,同時缺少可視效果[1]。DVD是采用MPEG2標準壓縮的全數字影音光盤,它的特點是音質高、畫質高、容量大,但成本相對較高,同時也具有CD播放器媒體文件更換不便的缺點[2]。現階段的車載媒體播放系統多采用嵌入式技術,如以三星S3C2440A處理器為核心的車載信息服務系統,可實現信息提示、導航定位、多媒體播放等功能[3]。其中媒體播放多基于嵌入式流媒體技術,如通過GStreamer和RTP/RTCP流媒體協議設計流媒體播放器[4]。但此方式對于列車這種單一源多接收端拓撲結構,其帶寬占用高,易造成堵塞。
 現有公交報站系統僅是音頻廣播報站,地鐵的報站提示是通過三色LED的顏色變化與音頻廣播來實現的,報站形式單一,且缺少換乘路線、乘車指南等信息的提示,同時與媒體播放系統相分離。例如通過在站臺與列車上分別放置RF無線節點來實現自動報站。其系統使用射頻與接收芯片CC1100、語音播放芯片VS1003和單片機控制,通過對每一個車站進行ID編碼,利用身份識別技術實現自動報站功能[5]。此外,也有基于ZigBee技術的定位解決方案,通過放置無線節點組成ZigBee網絡,根據射頻接收信號強度指示計算出所需定位的位置[6],此方法對于實現報站功能成本過高。由于地鐵運行于地下,乘客沒有可參考的建筑物標識來判斷即將到達的站點,因此其報站系統十分重要。而實現地鐵的自動報站并非易事,它不能像地面公交系統那樣通過GPS定位系統[7]來實現車輛的定位與報站。
 針對以上問題,本文開發了一種基于PXA270硬件平臺與WinCE嵌入式操作系統的車載媒體報站系統。此系統集媒體播放、站點信息播報與換乘信息提示于一體,媒體文件更換方便快捷。系統采用分布式布局,各車載播放終端通過軟件升級后,完全可以作為車載廣播中心使用,因此進一步增加了系統的穩定性。系統采用嵌入式技術,專用性強、特色功能易實現,如可根據站點的具體布局提示乘客換乘路線等。同時采用WinCE嵌入式操作系統,具有實時性好的特點。
1 系統硬件平臺設計
 系統采用Xscale PXA270芯片為核心處理器,主頻為520 MHz,SDRAM為64 MB,Flash為32 MB[8-9]。由于報站同步性的需要,通過IP組播的方式將站點信息與媒體文件傳輸至各節車廂,這樣既方便了多媒體文件的更新,同時也減少了系統的成本。系統主體框圖如圖1所示,采用分布式布局,即在列車的車頭放置車載廣播中心,實現站點的接收、媒體文件的存儲、通過IP組播將到站離站信息與媒體文件傳輸至各節車廂。在各節車廂放置車載播放終端,負責接收站點信息與媒體文件,并完成多媒體播放與站點信息的廣播報站功能。同時各節車廂的車載播放終端也可以作為車載廣播中心進行工作,這樣系統更加穩定可靠。

1.1 車載廣播中心
 車載廣播中心放置在車頭,負責站點信息與媒體文件的廣播,其框圖如圖2所示。U盤負責存儲媒體文件,觸摸屏用于播放列表的制作與更換,按鍵則用于離站的信號觸發,網絡控制器則負責將站點信息與媒體文件傳輸至各車載播放終端。


1.2 車載播放終端
 車載播放終端負責媒體文件與報站信息的接收和播放,其框圖如圖3所示。網絡控制器用于接收報站信息與媒體文件,U盤用于存儲各站點的報站音頻與信息提示文件,LCD則用于視頻與站點信息的顯示,喇叭用于音頻的播放。
1.3 站臺節點與車載節點
 站臺節點采用STC89C52單片機為微處理器,通過其P0口連接8位撥碼開關,實現對各站點的編碼標識。NRF905模塊與STC89C52單片機之間通過SPI串行外設接口通信,STC89C52 P1.4~P1.7引腳分別與NRF905模塊的MISO、MOSI、SCK和CSN引腳相連,通過C程序模擬SPI時序完成數據的傳輸。站點的標識通過NRF905模塊發送。站臺節點原理圖如圖4所示。

 車載節點上的NRF905模塊負責接收站點標識,并通過串口將站點標識數據傳輸至車載廣播中心。NRF905模塊的連接方式同站臺節點。車載節點原理圖如圖5所示。

2 系統軟件構建
2.1 操作系統的選擇與定制

 WinCE是微軟公司嵌入式、移動計算平臺的基礎,它是一個開放的、可升級的嵌入式操作系統[10]。WinCE是從整體上為有限資源平臺設計的多線程、完整優先權、多任務的操作系統,模塊化的設計使WinCE系統可大可小,具有很好的穩定性與移植性;支持多種外圍硬件與設備,圖形界面出色,其強大的圖形界面開發能力是其他嵌入式操作系統所不具備的,因此很適合作為車載平臺的操作系統。
利用WinCE進行嵌入式系統開發的首要工作是操作系統的定制,即根據實際需要進行裁剪、添加所需的組件與驅動,以及配置文件的修改。系統定制[11]的主要步驟如下:
 (1)創建新工程
 通過微軟提供的Platform Builder5.0新建工程,在選擇BSP包時,選擇開發板提供的XSBASE270:ARMV4I。由于此系統的主要功能是多媒體的解碼播放,因此設計模板選擇為Digital Media Receiver。之后根據實際需要選擇相應的組件完成工程的創建。
 (2)配置平臺
 此過程主要是添加相關組件,是整個定制車載多媒體系統過程中的重點。其中主要有Usb Activesync(File Sync)、USB Mass Storage、中文字體(Chinese[Simplifiled])、Fat File System、鍵盤驅動(用于按鍵觸發)、網卡驅動(用于網絡傳輸)、觸摸屏驅動(用于多功能操作)、DirectShow組件以及mp3、MPEG-1的解碼Filter(用于媒體播放)等。通過Platform Builder 5.0編譯生成的NK.bin文件下載至開發平臺。
 (3)導出SDK
 導出的車載多媒體系統SDK用于在PC宿主機上通過Visual Studio 2005開發車載廣播中心端MyNetSend以及車載播放終端MyNetPlayer應用程序。首先Configure SDK對SDK進行相應的配置,之后Build SDK等待完成后將生成的SDK安裝于PC宿主機。
2.2 軟件工作流程
 車載廣播中心完成媒體文件的IP組播發送、播放列表制作、站點信息接收和按鍵觸發報站功能。具體流程如圖6所示。

 

 


 MyNetSend發送端程序啟動后首先進行頁面的初始化、播放列表的加載,之后啟動發送線程,將列表中的文件依次組播發送。當接收到到站信號后將發送線程掛起,之后調用進站信息發送函數,等待報站音頻播放結束后恢復發送線程。當有按鍵按下時產生WM_KEYDOWN消息,再將發送線程掛起,之后調用離站信息發送函數,等待報站音頻播放結束后恢復發送線程。如此往復循環。
 車載播放終端負責媒體文件的接收與播放、語音報站以及到站與換乘信息提示。具體流程如圖7所示。MyNetPlayer接收端程序啟動后創建DirectShow的濾波器鏈表FilterGraph,啟動接收線程,解析接收到的組播報的報頭,如果是DATA_MEDIA則將數據報通過DirectShow技術解碼播放;如果是ARRIVE**則向窗口類發送WM_ARRIVE**消息,窗口類接收到對應的到站消息后則調用對應的到站處理函數,即播放到站提示音頻與顯示到站與換乘提示信息;如果是LEAVE**則向窗口類發送WM_LEAVE**消息,窗口類接收到對應的出站消息后則調用相應的出站處理函數,即播放出站提示音頻與下一站的換乘提示信息。

2.3 功能實現
2.3.1 媒體文件的IP組播與接收

 IP組播是通過使用特定的IP組播地址,將IP數據報傳輸到一個組播群組,所有加入該組的網絡接收者均可以收到這份數據,這樣極大地減小了網絡負載。媒體文件的組播是通過CMulticastAdmin類來實現的,具體過程如下:
 (1)發送端
 ①創建組播組
 mMulticaster->CreateMulticaster();
 ②獲取媒體路徑名
 SourceFile=mProgramListCtrl.GetItemText(NowListNum,1);
 ③打開媒體文件
 m_objFile.Open(m_strSourceFile,CFile::modeRead|CFile::typeBinary)
 ④讀取媒體文件數據
 nRead=m_objFile.Read(pBuf+sizeof(MSG_HEADER),MPEG1_PACK);
 ⑤設置數據報報頭
 pMsg->nMsgType=DATA_MEDIA;
 ⑥組播
 Multicast(pBuf,nMsgSize);
 (2)接收端
 ①開啟接收線程
 m_pReceiver->StartReceiving();
 ②接收數據
 nret=Receive(buff,nMsgSize);
 ③解析報頭
 PMSG_HEADER pMsg=(PMSG_HEADER)buff;
 nMsgType=pMsg->nMsgType;
2.3.2 DirectShow解碼播放
 DirectShow是微軟公司在ActiveMovie和Video for Windows的基礎上推出的新一代基于COM的流媒體處理的開發包[12]。DirectShow使用Filter Graph的模型來管理整個數據流的處理過程,各個Filter在Filter Graph中按一定的順序連接成一條“流水線”協同工作。按照功能劃分,Filter大致分為三類:Source Filters、Transform Filters和Rendering Filters。首先通過Source Filters負責取得網絡組播數據,然后將數據往下傳輸,之后經Transform Filters進行數據的格式轉換、傳輸,最后Rendering Filters將數據傳送給顯示與音頻設備進行多媒體的演示。接收端MyNetPlayer進行解碼播放的過程如下:
 (1)創建濾波器鏈表管理器m_pGB
 HRESULT hr=CoCreateInstance(CLSID_FilterGraph,
 NULL,
 CLSCTX_INPROC,
 IID_IGraphBuilder,
 (void**)&m_pGB);
 (2)查詢媒體控制接口
 hr=m_pGB->QueryInterface(IID_IMediaControl,(void**)&m_pMC);
 (3)添加自己制作的接收網絡數據的SourceFilter
 hr=m_pGB->AddFilter(m_pSourceReader, NULL);
 (4)構建濾波器鏈表,渲染媒體文件
 HRESULT hr=m_pGB->Render(m_pSourceReader->GetPin(0));
 (5)進行播放
 hr=m_pMC->Run();
2.3.3 自動報站
 自動報站是通過向窗口類發送自定義的到站與離站消息來實現的。當窗口類接收到到站或離站消息后再調用相應的消息處理函數,從而實現自動報站。下面是WM_MESSAGE_ARRIVE1站點1的到站消息處理函數,其他消息處理函數與其類似。
LONG CMyNetPlayerDlg::OnMessageARRIVE1(WPARAM wParam, LPARAM lParam)
{
    m_pGraph->m_pVW->put_Visible(OAFALSE);
//將視頻畫面屏蔽
    InitMyGraph();
//初始化用于播放mp3音頻文件的GraphFilter
bmp.LoadBitmap(IDB_BITMAP1);//加載到站位圖
drawbitmap();//顯示位圖
        m_StaText.SetWindowText(L"十三號街站到了");
//顯示到站信息
        HRESULT hr;
        long evCode;
        hr=pGraph->RenderFile(L"/硬盤/stationin/1.mp3",NULL);//構建濾波器鏈表,渲染報站音頻文件
        hr=pControl->Run();//播放
        pEvent->WaitForCompletion(INFINITE,&evCode);
//等待音頻播放完畢
        pControl->Release();//釋放資源
        pEvent->Release();
        pGraph->Release();
        CoUninitialize();
        bmp.DeleteObject();
        m_pGraph->m_pVW->put_Visible(OATRUE);
//顯示原視頻畫面
        return 0;
}
3 系統測試實驗
 在實驗室內模擬列車運行流程進行測試,通過三個開發平臺完成實驗,其中之一運行MyNetSend程序作為車載廣播中心,其余兩個運行MyNetPlayer程序,模擬為車載播放終端。
3.1 車載廣播中心的媒體文件發送
 車載廣播中心通過車載節點接收站臺信息實現到站與離站信息的提示。發送終端軟件界面如圖8所示,可通過添加與刪除按鈕進行媒體文件的添加刪除,從而完成媒體文件列表的制作,車載廣播中心軟件則根據該文件列表順序循環廣播。其主要特點是根據站臺節點發送的站臺信息報站,報站準確無誤,且當有多次按鍵觸發時不亂報。

3.2 車載播放終端的媒體播放與自動報站
 車載播放終端完成了將接收的媒體文件解碼播放,到站與離站信息的播報。圖9為模擬列車運行中(無偶次按鍵觸發、無站臺節點信息)播放媒體文件時的顯示界面,此時終端界面底部循環顯示日期、時間、下一站信息和換乘信息,上部播放接收到的媒體文件,界面簡潔人性化。

 本文提出了基于PXA270微處理器與WinCE嵌入式操作系統的地鐵媒體報站系統實現方案,系統能夠充分完成媒體文件的傳輸播放與到站、離站信息的準確提示。車載廣播中心可通過更改播放列表完成媒體文件的更新,既方便快捷又經濟。車載播放終端界面簡潔人性化。同時通過軟件升級可支持更多種媒體文件的播放。
參考文獻
[1] AIGNER M, BEHRENDS E, STERN M. Von pythagoras zum CD player[J]. The Mathematical Intelligencer, 2003,25(3):60-62.
[2] WALKER K, MARTENS W L. Perception of audio-gennerated and custom motion programs in multimedia display of action-oriented DVD films[J]. Lecture Notes in Computer Science, 2006,4129:1-11.
[3] 田仲富,吳連香,黃興,等.基于ARM9的車載信息服務系統設計[J].計算機應用,2011,30(8):26-29.
[4] 孟凡飛,劉金海,吳宗澤.基于GStreamer的嵌入式流媒體播放器的設計[J].微計算機信息,2010,26(7-2):31-32.
[5] 李會聰.基于有源RFID的自動報站系統研究[J].現代電子技術,2010,23:155-157.
[6] BOE J. Zigbee localization solution[J]. Electronic Design & Application Word-Nikkei Electronics China, 2008(1):85-86.
[7] ALLA A N A, RAUF M, FAKHARUDDIN A. A novel identification and monitoring technique of multi ID public transport for station reporting[J]. Scientific Research and Essays, 2011,6(10):2129-2136.
[8] 羅嶸,何苦.H.264軟件解碼器在PXA270平臺上的優化[J].電子技術應用,2008,34(12):45-49.
[9] Intel Corporation. Intel PXA27x processor family developer′s manual. 2005.
[10] 楊會麗,龐志峰,高貴龍.基于WINCE的嵌入式圖像處理系統[J].微計算機信息,2010,26(5-2):196-198.
[11] 張晶,李心廣.基于Intel PXA270的WinCE操作系統移植[J].微計算機信息,2008,24(5-2):39-41.
[12] Visual C++音頻/視頻處理技術及工程實踐[M].北京:電子工業出版社,2009:234-252.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久操视频免费看 | 国产免费播放一区二区 | 故意坐公交忘穿内裤被挺进小说 | 国产91精品系列在线观看 | 五月激情视频 | 成年做羞羞免费观看视频网站 | 日韩一二 | 欧美一级美片在线观看免费 | 午夜院线 | 亚洲精品国产手机 | 国产精品午夜剧场 | 欧美成人看片黄a免费看 | 日本韩国在线观看 | 男人趴在女人身上曰皮免费 | 国产精品亚洲欧美大片在线看 | 91视频网址 | 日韩第五页 | 久久亚洲欧美成人精品 | 色www免费视频 | 国产一区二区免费视频 | 午夜黄色一级片 | 夜夜做日日做夜夜爽 | 美脚肉色丝袜足j | 野花视频在线观看-高清中文 | 久久天天躁狠狠躁夜夜躁综合 | 日韩高清一区 | 黑丝足 | 香蕉成人在线 | 韩国黄色网 | 国产a一级毛片午夜剧院 | 国产精品第五页 | 永久免费毛片 | 亚洲人成网站色7799在线播放 | 亚洲另类电击调教在线观看 | 深夜福利91| 色综合色综合 | 日本特黄特色aaa大片免费欧 | 天天爱天天做久久天天狠狼 | 青久在线| 精品国产一区二区在线观看 | 日日人人|