薛 峰, 張躍進
(1. 上海理工大學(xué) 印刷出版與藝術(shù)設(shè)計學(xué)院, 上海 200093; 2. 華東交通大學(xué) 信息工程學(xué)院, 江西 南昌 330013)
汽車是人類日常生活中最常用的代步工具。近年來我國汽車工業(yè)飛速發(fā)展,同時大眾對車載電子產(chǎn)品的需求不斷提升[1]。當(dāng)前車載設(shè)備中普遍使用8位或16位單片機,導(dǎo)致計算和圖像處理能力較弱,雖然也有使用32位中央處理器(CPU)的高端車載設(shè)備,例如導(dǎo)航儀、高密度數(shù)字視頻光盤(DVD)播放設(shè)備、地面數(shù)字電視廣播(DVB-T)播放設(shè)備、車載視頻錄像機等,但這些產(chǎn)品性能獨立,功能拓展性較差,設(shè)備集成能力弱,采集數(shù)據(jù)主要運用各類外界傳感器,安裝復(fù)雜繁瑣,可靠性較低[2]。
智能車載系統(tǒng)是汽車規(guī)劃設(shè)計中最為重要的部分,從最初的播放磁帶錄音、收聽廣播節(jié)目,發(fā)展到集各類智能服務(wù)于一身的嵌入式車載多媒體終端控制系統(tǒng),有效地解決了傳統(tǒng)車載設(shè)備的諸多問題,已經(jīng)成為汽車必不可少的設(shè)備,為駕駛?cè)伺c乘坐人提供相應(yīng)的安全保障及娛樂服務(wù),對其進行開發(fā)與研究具有廣闊的市場前景和重要意義。當(dāng)前,有學(xué)者對嵌入式多媒體控制進行了相關(guān)研究。張輝[3]提出了基于智能終端控制的嵌入式多媒體控制系統(tǒng),采用高性能Raspberry Pi開發(fā)板,并將Raspbian作為操作系統(tǒng),構(gòu)建由Python語言組成的Web應(yīng)用程序平臺,利用智能設(shè)備完成遠(yuǎn)程控制、網(wǎng)絡(luò)附加存儲以及分布式存儲等功能,有效拓展多媒體控制系統(tǒng)的應(yīng)用范圍,實現(xiàn)遠(yuǎn)程控制,整體的嵌入式多媒體控制性能較好,但該系統(tǒng)未考慮車輛定位的功能,導(dǎo)致車輛缺少導(dǎo)航等功能,難以滿足當(dāng)前的使用需求。趙凡[4]提出了基于“互聯(lián)網(wǎng)+”技術(shù)的多媒體中央控制系統(tǒng)設(shè)計方案,安裝高性能的嵌入式微處理器作為嵌入式操作系統(tǒng),運用高級語言開發(fā)應(yīng)用程序,采用無線網(wǎng)絡(luò)作為信息通道,滿足“互聯(lián)網(wǎng)+”時代下智能終端設(shè)備的遠(yuǎn)程控制功能,但該方案的響應(yīng)速度較慢,缺少數(shù)據(jù)傳輸?shù)乃俾蕛?yōu)化技術(shù),在實際應(yīng)用中會存在車輛駕駛安全隱患。林彥廷等[5]提出了以S5P6818處理器為核心的車載多媒體控制終端設(shè)計方案,具有音頻的播放控制、 訪問天氣預(yù)報、 可視倒車以及倒車距離報警等功能,實現(xiàn)了網(wǎng)絡(luò)、 安全、 娛樂一體化智能車載多媒體終端控制,但該方案未考慮系統(tǒng)定位性能。
為了進一步改善智能嵌入式多媒體終端控制系統(tǒng)在車輛中的應(yīng)用性能,提高系統(tǒng)定位準(zhǔn)確性,本文中以Windows CE 5.0操作系統(tǒng)和飛思卡爾i.MX31處理器為基礎(chǔ),設(shè)計一種基于策略推導(dǎo)的嵌入式多媒體終端控制系統(tǒng),使用嵌入式多媒體文件傳輸協(xié)議(embedded multimedia file transfer protocol,EMFTP),解決系統(tǒng)數(shù)據(jù)傳輸及時性低的問題,并通過多媒體播放、 全球定位系統(tǒng)(global positioning system,GPS)定位導(dǎo)航、 可視倒車及倒車距離實時報警、 車載藍牙通話、 調(diào)幅(AM)/調(diào)頻(FM)收音機5個板塊,構(gòu)建嵌入式車載多媒體終端控制系統(tǒng);通過對比不同系統(tǒng)測試結(jié)果,驗證所設(shè)計控制系統(tǒng)的優(yōu)越性能。
在嵌入式車載多媒體終端控制系統(tǒng)中,任何功能都需要通過信息傳輸完成任務(wù)指令,然而,隨著媒體文件的快速增加,系統(tǒng)控制速率會減慢,資源消耗也隨之增多。為了提升數(shù)據(jù)實時傳輸速率,本文中提出的EMFTP能夠使系統(tǒng)具備更優(yōu)時效性,減少資源消耗,完善系統(tǒng)全局性能。
EMFTP主要采用傳輸控制協(xié)議(transmission control protocol,TCP)和用戶數(shù)據(jù)報協(xié)議(user datagram protocol,UDP),利用應(yīng)用層控制,完成指令信息快捷傳輸。其體系架構(gòu)如圖1所示。
RTT(round-trip time):往返時延,表示從發(fā)送端發(fā)送數(shù)據(jù)開始,到發(fā)送端收到來自接收端的確認(rèn)總共經(jīng)歷的時延。
可靠的數(shù)據(jù)傳輸一般采用回退步或選擇性重傳完成?;赝瞬绞窃趤G失1個數(shù)據(jù)包后,丟棄后面全部準(zhǔn)確抵達的數(shù)據(jù)包,傳輸效率低;選擇性重傳表示發(fā)送方在定時器操控的時段中,接收源自接收方基于確認(rèn)及否定確認(rèn)的傳輸協(xié)議,并決定是否要需重新傳輸此分組。該方案需要接收方的多次回饋,增加了嵌入式終端負(fù)擔(dān),引發(fā)終端處理能力下降。本文中創(chuàng)建一種簡單的差錯修復(fù)機制,簡化嵌入式接收端工作任務(wù),節(jié)約更多資源終端接收與處理的數(shù)據(jù)包個數(shù)。
EMFTP使用的傳輸方式是使接收方記錄下丟失的數(shù)據(jù)包信息,在發(fā)送期終止時,一次性回饋給發(fā)送方,發(fā)送方在下一個發(fā)送周期重新上傳丟失的數(shù)據(jù)包,重復(fù)循環(huán)此過程,直至全部數(shù)據(jù)包被成功接收,具體過程如圖2所示。
圖2 嵌入式多媒體文件傳輸協(xié)議差錯修復(fù)時序
在A—B的傳輸周期中,傳輸方把全部文件利用UDP協(xié)議輸送至終端。UDP呈現(xiàn)的是不可靠數(shù)據(jù)傳輸,某些數(shù)據(jù)包可能會因網(wǎng)絡(luò)阻塞或接收性能較差而導(dǎo)致丟失[6]。接收方利用序列號評判數(shù)據(jù)包實時狀態(tài),同時記錄下丟失數(shù)據(jù)包的序列號。
若一次丟包事件中持續(xù)丟失了眾多數(shù)據(jù)包,標(biāo)記丟失的首個和最后一個數(shù)據(jù)包序列號,了解持續(xù)丟包范圍,減少回饋信息的數(shù)量。在傳輸期終止后,發(fā)送方采用TCP對接收方輸送傳遞完成的信令C,接收方得到信息指令,將丟包鏈表返回至發(fā)送方D。發(fā)送方重新傳輸丟失數(shù)據(jù)包,重復(fù)進行此過程,直至接收方完全接收到全部數(shù)據(jù)包。
EMFTP的目的不是盡可能地獲得網(wǎng)絡(luò)可用帶寬,而是在符合嵌入式多媒體終端接收性能條件下得到比較穩(wěn)定的傳輸速率,將數(shù)據(jù)從服務(wù)器端快速地輸送至嵌入式終端。采用速率控制策略推導(dǎo)的基本思想為:速率增量是目前發(fā)送速率的遞減函數(shù),也就是發(fā)送速率增加,速率增量會接近于0。在各個速率控制時段內(nèi),假設(shè)沒有源自接收方的否定應(yīng)答,那么發(fā)送速率增加α(x)(x為發(fā)送速率,bit/s;α(x)為傳播時延),α(x)非增且x→+∞,由此得到
x=δ+α(x)
,
(1)
式中δ為信道帶寬。
為了確保傳輸速率迅速達到平穩(wěn)并減小振蕩,α(x)的值要在x=0 bit/s時較大,同時用很快的速率逐步減小。
針對某個隨機否定應(yīng)答,傳輸速率用固定因子β的比例進行縮減:
λ=(1-β)x
,
(2)
式中λ為傳輸速率。
為了達到數(shù)據(jù)傳輸速率控制目標(biāo),應(yīng)答包內(nèi)要包括以下內(nèi)容:回饋間隔中接收的數(shù)據(jù)包全體個數(shù)r、回饋間隔遺失的數(shù)據(jù)包總體個數(shù)l和網(wǎng)絡(luò)帶寬b[7]。發(fā)送方接收到應(yīng)答包后,按照r與l推算上個回饋間隔中的數(shù)據(jù)包丟失率P,即
P=l/(r+l)
。
(3)
按照丟包率大小, 將其劃分成3種狀態(tài)。 當(dāng)P=0時, 此種狀態(tài)下無丟包現(xiàn)象發(fā)生,證明網(wǎng)絡(luò)情況較優(yōu),終端接收性能符合當(dāng)前發(fā)送速率請求,可運用式(1)進一步增強發(fā)送速率。當(dāng)0
EMFTP使用和帶寬有關(guān)的分段函數(shù)當(dāng)作提速增加量γ(x),分段函數(shù)在發(fā)送速率x變大時會迅速變小,將此過程描述為
(4)
式中:s為接收方的定期回饋間隔; 「·?為取大于等于符號內(nèi)數(shù)的最小整數(shù);R(x)為目前傳輸速率,即
R(x)=8x
。
(5)
假如網(wǎng)絡(luò)內(nèi)擁有數(shù)量較多的數(shù)據(jù)流,在同一時間探測出阻塞狀態(tài),需減小輸送速度,全部吞吐量會生成較大浮動,減少了帶寬可用量[8-9]。使用隨機降速方式防止發(fā)生此種狀況,如果在一個回饋間隔中具備m個丟包事件,n為符合1~m的均勻分布隨機數(shù),那么發(fā)送速率變化的計算公式為
σ(x)=(1-θ)nmx
,
(6)
式中:σ(x)為發(fā)送時延;θ為降速增量。假設(shè)θ較小,在網(wǎng)絡(luò)產(chǎn)生阻塞情況下無法及時減少速率,致使阻塞需要耗費很長時段才能修復(fù);若θ較大,致使發(fā)送速率過小,傳輸性能較差,使發(fā)送速率過于振蕩,穩(wěn)定性較差。
在回饋控制信令使用UDP情況下, 網(wǎng)絡(luò)阻塞時應(yīng)答包遺失概率明顯提高。 在接收方持續(xù)5個回饋限期中沒有得到應(yīng)答包的狀況下, 推導(dǎo)認(rèn)定發(fā)生丟包事件。
EMFTP采用基于接收方的包對法,預(yù)測鏈路帶寬。包對表示持續(xù)發(fā)送沒有間隔的2個數(shù)據(jù)包,發(fā)送方每隔15個數(shù)據(jù)包發(fā)送1個包對,接收方記錄包對抵達后數(shù)據(jù)包的間隔時長,利用中值過濾器剔除過大及過小數(shù)值后,用平均值預(yù)測帶寬容量。假設(shè)數(shù)據(jù)包大小為k,間隔時段均值為t,將預(yù)測獲得的網(wǎng)絡(luò)帶寬值B記作
B=k/t
。
(7)
通過推算回饋間隔中的數(shù)據(jù)包丟失率,達到數(shù)據(jù)傳輸速率控制目標(biāo),采用基于接收方的包對法,預(yù)測鏈路帶寬,實現(xiàn)多媒體終端實時傳輸策略推導(dǎo)。
利用上述實時傳輸策略推導(dǎo)方法,可保證所建系統(tǒng)控制時效性高,資源消耗較少,為用戶提供更優(yōu)操作體驗。以此為基礎(chǔ),構(gòu)建一套完整的智能嵌入式車載多媒體終端控制系統(tǒng),具備良好的集成度,運行可靠,實用性強,并使系統(tǒng)兼容性得到顯著提升,實現(xiàn)預(yù)期的設(shè)計需求[10-12]。
嵌入式車載多媒體終端控制系統(tǒng)硬件的核心是飛思卡爾i.MX31處理器,由電源板塊、儲存設(shè)備、視頻監(jiān)控板塊、收音機板塊、GPS導(dǎo)航板塊、藍牙板塊及人機交互板塊、DVD板塊等構(gòu)成,如圖3所示。
圖3 嵌入式車載多媒體終端控制系統(tǒng)硬件全局架構(gòu)
嵌入式操作系統(tǒng)的挑選要與真實工程特性相融合,全方位考慮開發(fā)周期、開發(fā)成本、體系架構(gòu)、系統(tǒng)反應(yīng)時間及可靠性等多種因素。本方案采用Windows CE 5.0作為操作系統(tǒng),系統(tǒng)軟件設(shè)計主要包括操作系統(tǒng)移植、設(shè)備驅(qū)動程序開發(fā)及應(yīng)用程序開發(fā)等部分。
在系統(tǒng)運行時,軟、硬件資源劃分、外部設(shè)備驅(qū)動、接口通信等流程均在操作系統(tǒng)層內(nèi)完成。在Windows CE 5.0開發(fā)環(huán)境下,最主要的任務(wù)有2個,即內(nèi)核性質(zhì)及應(yīng)用程序開發(fā)。工作人員能夠利用操作系統(tǒng)定制工具創(chuàng)建,以及定制內(nèi)核、使用嵌入式系統(tǒng)特征對定制內(nèi)核采取編譯及調(diào)整,系統(tǒng)軟件架構(gòu)如圖4所示。
圖4 嵌入式車載多媒體終端控制系統(tǒng)軟件架構(gòu)
多媒體音視頻軟件板塊工作過程如圖5所示。雖然Windows CE 5.0系統(tǒng)本身具備播放功能,但是系統(tǒng)內(nèi)播放軟件支持的多媒體格式較少,在完成程序設(shè)計過程中,需要安裝多媒體播放軟件Mplayer。音頻播放器規(guī)劃流程如圖5所示。通過液晶顯示器(liquid crystal display,LCD)輸出視頻,利用音箱輸出音頻。Mplayer最顯著的特征就是支持較多種類的輸出設(shè)施。
圖5 音視頻軟件板塊工作過程
衛(wèi)星持續(xù)輸送自身星歷參變量與時間數(shù)據(jù),用戶接收數(shù)據(jù)后,推算得到接收機三維方位、方向、速率與時間等車輛數(shù)據(jù),該過程即為GPS定位。
在本系統(tǒng)設(shè)計中,GPS接收機使用偽距測量定位算法,經(jīng)過推導(dǎo)衛(wèi)星信號傳播至接收機所耗費的時間,然后用時間乘以光速獲得接收機與衛(wèi)星的間距,融合三維坐標(biāo)內(nèi)的距離解析式,僅需要3顆衛(wèi)星即能構(gòu)成3個公式,并求解出觀測點方位(X,Y,Z),由于考慮到衛(wèi)星時鐘和接收機時鐘的偏差,需了解X、Y、Z與時鐘相差的4個未知數(shù),組成4個方程進行計算,獲得接收機經(jīng)緯度及高度[13]。
GPS接收機輸出均滿足NMEA-0183V20標(biāo)準(zhǔn)串行通信協(xié)議句式,數(shù)據(jù)內(nèi)容涵蓋經(jīng)緯度、 高度、 時間、 系統(tǒng)情況、 速率等信息。把定位數(shù)據(jù)融進電子地圖軟件內(nèi),完成GPS定位與導(dǎo)航,GPS接收機串口程序過程如圖6所示。
圖6 全球定位系統(tǒng)接收機串口程序過程
將GPS數(shù)據(jù)輸送到DVD中,利用總線將處理器中地理方位數(shù)據(jù)傳輸?shù)焦β史糯笃鳎瑴p少誤碼率。由于GPS系統(tǒng)接收到的信號來自太空,信號較弱,因此在系統(tǒng)設(shè)計過程中,要使元件具有良好的靈敏性,必須保證芯片組接收到高質(zhì)量的信號,同時需要考慮系統(tǒng)的時效性。
可視倒車工作流程如圖7所示。該板塊使用攝像頭收集圖像數(shù)據(jù)與超聲波測量距離,并將數(shù)據(jù)呈現(xiàn)在LCD內(nèi),對用戶進行提醒[14]。控制攝像頭與超聲波測距板塊,就要創(chuàng)建對應(yīng)的驅(qū)動程序。如果超聲波測量的距離小于初始設(shè)置距離,LCD屏?xí)@示距離信息,蜂鳴器開始發(fā)出報警信號。在驅(qū)動程序設(shè)計中包含LED驅(qū)動板塊、蜂鳴器驅(qū)動板塊、超聲波驅(qū)動板塊。以下將超聲波板塊作為例子,說明其驅(qū)動創(chuàng)建全部過程。實施應(yīng)用程序研發(fā)時,應(yīng)用程序無法直接訪問硬件,利用驅(qū)動程序作為紐帶,為用戶層搭建訪問硬件接口。
圖7 可視倒車工作流程
由于Windows CE 5.0系統(tǒng)內(nèi)擁有攝像頭驅(qū)動,因此應(yīng)用程序僅需使用系統(tǒng)調(diào)用函數(shù)就能開啟攝像頭裝備,明確攝像頭內(nèi)涵蓋的圖像信息。使用Linux視頻設(shè)備驅(qū)動V4L2管理攝像頭圖像信息,其工作原理如圖8所示。要實現(xiàn)一個隊列保存攝像頭收集的視頻數(shù)據(jù),需要申請4個或以上內(nèi)核信息緩存,將其分別安置在隊列內(nèi),緩存區(qū)運用系統(tǒng)調(diào)用函數(shù),把緩存呈現(xiàn)于用戶空間,實現(xiàn)倒車操作,攝像頭每收集一幀圖像數(shù)據(jù)就做出一個出隊動作,獲得數(shù)據(jù)后重新進入隊列。
V4L2_buffer為操作指令代碼。
藍牙板塊根據(jù)性能被分成通用異步收發(fā)傳輸器(universal asynchronous receiver/transmitter,UART)、人機界面與流程操控3個板塊。UART主要承擔(dān)串口通信任務(wù),人機用戶界面板塊用于提供接口服務(wù),流程操控板塊供應(yīng)上層應(yīng)用用戶接口,利用串口傳輸給藍牙硬件[15]。在整個系統(tǒng)流程中3個板塊不是順序調(diào)用關(guān)系,如圖9所示。將應(yīng)用程序接口(application programming interface,API)消息轉(zhuǎn)化為指令,在鏈接確定后,串口通信板塊接收的數(shù)據(jù)被傳輸至流程控制板塊,在通過流程評判執(zhí)行后,數(shù)據(jù)才會傳輸至上層處理板塊。
圖9 流程接口驅(qū)動調(diào)用原理
收音機可對電臺實施調(diào)諧, 把電臺頻率呈現(xiàn)給用戶。 AM/FM收音機包含用戶輸入、 電臺信號輸入、 調(diào)諧器操控、 電臺頻率顯示。 該板塊共有以下幾種工作模式, 即預(yù)置電臺、 調(diào)出預(yù)置電臺、 電臺微調(diào)、 自動搜索、 掃描搜索。 預(yù)置電臺是把現(xiàn)階段頻率電臺儲存于帶電可擦可編程只讀存儲器中; 調(diào)出預(yù)置電臺表示把儲存的電臺頻率讀出并播放; 微調(diào)是使用0.1 MHz的頻率遞加或遞減;自動搜索是使用0.1 MHz頻率遞加,直至獲取高質(zhì)量信號電臺;掃描搜索表示自動搜臺接收到高質(zhì)量信號,播放固定秒數(shù)后連續(xù)自動搜臺。
通過上述步驟,利用飛思卡爾i.MX31處理器以及電源板塊、儲存設(shè)備、視頻監(jiān)控板塊、收音機板塊等板塊作為系統(tǒng)硬件架構(gòu),采用Windows CE 5.0操作系統(tǒng),操作系統(tǒng)移植、設(shè)備驅(qū)動程序開發(fā)及應(yīng)用程序開發(fā)等軟件部分,實現(xiàn)智能嵌入式車載多媒體終端控制系統(tǒng)的構(gòu)建,以滿足現(xiàn)階段多媒體應(yīng)用諸多需求。
為了驗證本文中提出的控制系統(tǒng)(簡稱本文系統(tǒng))的優(yōu)越性,選擇GPS定位和可視倒車2項功能作為實驗指標(biāo)。在定位實驗中,將實際定位結(jié)果與實驗定位結(jié)果的偏差作為衡量系統(tǒng)定位準(zhǔn)確性的標(biāo)準(zhǔn),實驗定位結(jié)果與實際定位結(jié)果偏差越小,控制系統(tǒng)的定位準(zhǔn)確性越高,反之,控制系統(tǒng)的定位準(zhǔn)確性越低。采用基于智能終端控制的控制系統(tǒng)、基于“互聯(lián)網(wǎng)+”技術(shù)的控制系統(tǒng)與本文系統(tǒng)進行對比,定位偏差結(jié)果如圖10所示。
圖10 基于不同控制系統(tǒng)的全球定位系統(tǒng)定位偏差
由圖中結(jié)果可以看出,當(dāng)定位距離為150 m時,基于智能終端控制的控制系統(tǒng)的平均定位偏差為41%,基于“互聯(lián)網(wǎng)+”技術(shù)的控制系統(tǒng)的平均定位偏差為55%,本文系統(tǒng)的平均定位偏差為19%,而實際定位結(jié)果的平均定位偏差為18%,本文系統(tǒng)的定位結(jié)果與實際定位結(jié)果偏差較小,證明該系統(tǒng)的定位準(zhǔn)確性較高,穩(wěn)定性強。
為了使本文系統(tǒng)生成的圖像以實時方式展現(xiàn),需要調(diào)節(jié)可視倒車功能屏幕顯示端播放幀率,通過多次測驗,得到表1所示的系統(tǒng)屏幕顯示端的播放幀率。由表中數(shù)據(jù)可知,本文系統(tǒng)的可視倒車播放幀率均值為13.9 s-1,滿足真實播放幀率需求,系統(tǒng)的可靠性較高。中午和傍晚的幀率均值不同,說明光線強度會影響系統(tǒng)播放幀率,但幀率差值較小,不會對系統(tǒng)倒車板塊功能產(chǎn)生不良影響。
表1 可視倒車功能屏幕顯示端播放幀率實驗結(jié)果
為了改善車輛中嵌入式多媒體終端控制系統(tǒng)的應(yīng)用性能,本文中提出了一種利用速度控制策略推導(dǎo)方法的嵌入式多媒體終端控制系統(tǒng),通過實驗驗證了該系統(tǒng)控制性能的可靠性較高,平均定位偏差為19%,與實際定位結(jié)果的偏差較小,有效地提高了車輛定位的準(zhǔn)確性;不同時間段倒車影像的屏幕播放幀率均值為13.9 s-1,滿足實際車載多媒體的應(yīng)用需求;在功能方面,該系統(tǒng)添加了藍牙通話、收音機等功能。未來的工作將對車載多媒體控制系統(tǒng)的實際應(yīng)用成本進行深入研究,并且增加精準(zhǔn)遠(yuǎn)程控制等功能,為該系統(tǒng)的推廣應(yīng)用提供理論依據(jù)。