BOA技術在車輛感知網(wǎng)絡中的應用研究
摘要:“車聯(lián)網(wǎng)技術”的興起,大量傳感技術得到應用,受無線傳輸設備與傳感器體積限制,信息只能單向傳遞,缺少與被感知設備間交互。提出一種通過BOA技術遠程感知交通設備中部件訪問的雙向交互技術,配合虛擬獨立地址技術可以達到部件分組獨立控制。這樣BOA通過CAN總線集成可以對設備整體進行全部部件監(jiān)控和更多的優(yōu)化操作,達到更大范圍內(nèi)的遠程參數(shù)獲取與監(jiān)控。最后,通過具有BOA技術的實例證明,此種技術可行。
關鍵詞:智能交通;車聯(lián)網(wǎng)技術;BOA;遠程交互
車輛感知是支持車聯(lián)網(wǎng)技術(Internet of Vehicle,IoV)的主要技術內(nèi)容之一,在文獻中車聯(lián)網(wǎng)技術被定義為:指利用先進傳感器技術、網(wǎng)絡技術、計算技術、控制技術、智能技術,對道路和交通進行全面感知,實現(xiàn)多個系統(tǒng)間大范圍、大容量數(shù)據(jù)的交互,對每一個車輛、每一個道路的狀態(tài)進行多方面、全時段的控制,以提供交通安全及交通效率。從定義中可以看出“車聯(lián)網(wǎng)”技術本質(zhì)就是無處不在的感知,這樣感知過程需要有效的傳感器及雙向信息交互。車聯(lián)網(wǎng)的研究關注的重點在于車-車、車-路的宏觀通訊技術,以及車輛自身的微觀狀態(tài)感知,大多數(shù)微小設備感知信息是單向傳遞,缺乏對部件的控制與操作回饋的雙向信息傳遞,故此需要完善,文中基于這個需求進行了研究。技術主要內(nèi)容把嵌入式的BOA技術引入到車聯(lián)網(wǎng)技術當中。此方法可以通過與CAN(Controller Area Network)總線、控制中心的智能程序集成,達到集中監(jiān)控與調(diào)整設備整體的關鍵部件參數(shù),即智能部件感知的目的。甚至通過具有獨立的虛擬地址技術對關鍵部件設置獨有地址,達到遠程感知。對此,本文做了部分研究工作,首先,介紹了基于BOA的面向車聯(lián)網(wǎng)構(gòu)架結(jié)構(gòu),其次,對關鍵技術GoAhead的Web Server遷移到VxWorks做詳細的介紹,最后,給出一個對車聯(lián)網(wǎng)中的關鍵部件進行管理的簡單例程。
1 “車聯(lián)網(wǎng)”與BOA技術
在車聯(lián)網(wǎng)系統(tǒng)中需要感知具體的關鍵部件的健康狀態(tài),運行信息等。車聯(lián)網(wǎng)技術感知模型如圖1所示,車輛感知信息通過(OBU)與路邊設備(RSU)建立無線通信,經(jīng)過網(wǎng)關接入互聯(lián)網(wǎng)。
“車聯(lián)網(wǎng)”感知模型相比來說較為宏觀,如果微觀層面上需要在“車聯(lián)網(wǎng)”內(nèi)部具有感知車輛內(nèi)部設備的數(shù)據(jù)交互,達到被感知設備與管理系統(tǒng)或數(shù)據(jù)中心建立通信關系。借助BOA技術建立關系如圖2所示,達到雙向交互目的。
[!--empirenews.page--]
2 具有虛擬地址的獨立控制
2.1 感知范圍分析
對一些具體的儀器組件是通過傳感器的方式感知獲取數(shù)據(jù),缺少對信息的交互能力。如果部件感知過細,可以看出對傳輸?shù)沫h(huán)境要求將有所提高。如圖3所示,(a)表示為感知的是目標的整體,而(b)感知的為目標的各個組成部分,(c)則是通過集中控制器與部件和控制中心聯(lián)系,通道數(shù)量減少,降低復雜程度與成本。目前,“車聯(lián)網(wǎng)”的信息交互是處于一個集中的層面上體現(xiàn),如天氣情況、健康狀態(tài)、交通沖突與否。在本項研究中,建立一個BOA連接一個被感知部件與控制中心或數(shù)據(jù)中心的機制,達到感知更加細微,實現(xiàn)整體更多有效決策。
實現(xiàn)“車聯(lián)感知”的計算模式,是依靠各類嵌入式BOA服務微系統(tǒng)的應用,集成各個部件異構(gòu)傳感數(shù)據(jù)的平臺,集收集傳感數(shù)據(jù)和指令發(fā)送于一體。目前嵌入式BOA服務器軟件中,GoAhead Web Server是一款可移植性強,免費的嵌入式WEB服務器,它是運行于嵌入式操作系統(tǒng)之上的應用層軟件。VxWorks操作系統(tǒng)是美國風河公司設計開發(fā)一種嵌入式實時操作系統(tǒng)(RTOS),因其良好的持續(xù)發(fā)展能力、高性能的內(nèi)核、友好的開發(fā)環(huán)境、卓越的可靠性和實時性,被廣泛應用于通信、航空、航天等實時性要求極高的領域中。并結(jié)合安防監(jiān)控系統(tǒng)的視頻傳感器控制器給出了應用實例。
2.2 微部件與虛擬地址
通過分析,具有局部控制器的部件感知降更具優(yōu)勢,故此需要建立虛擬地址與外圍控制的關系,達到控制中心與微部件的信息交互。如圖3中的(c)所示,c.1….c.4都集成了BOA的技術,這樣局部控制與部件見建立映射關系,如圖4所示。其中BOA0為與外界感知的總接口,而BOA1到BOA6……等分別為在BOA0下的虛擬端口地址控制的部件接口。通過這種虛擬獨立地址的技術完全可以避免由于IP地址不足帶來的弊端,并且可以便于整體管理感知微部件。當然BOA支持IPv6,那么地址分配可以采用實地址方式進行信息交互。
[!--empirenews.page--]
3 嵌入式BOA技術
BOA是單任務的HTTP服務器,與其他傳統(tǒng)的Web服務器不同的是當有連接請求到來時,它并不為每個連接單獨創(chuàng)建進程,也不通過復制自身進程來處理多鏈接,而是通過建立HTTP請求列表來處理多路HTTP連接請求,同時它只為CGI程序創(chuàng)建新的進程,這樣就在最大程度上節(jié)省了系統(tǒng)資源,這對嵌入式系統(tǒng)來說是關鍵。同時它還具有自動生成目錄、自動解壓文件等功能,因此,BOA具有很高的HTTP請求處理速度和效率,在嵌入式系統(tǒng)中具有很高的應用范圍。GoAhead就是這樣一類Web Server的工程應用軟件。目前有支持GoAhead的嵌入式操作系統(tǒng)包括Windows CE,pSOS,Embedded Linux,uCOS,VxWorks,QNX等。這種嵌入式BOA技術的Web Server支持ASP,嵌入式JavaScript,標準CGI,內(nèi)存中的CGI處理GoForms,擴展的API,每秒可處理大于50個請求。支持硬件構(gòu)架ARM7,ARM9等,并滿足VxWorks操作系統(tǒng)和GoAhead工程運行的需要。
3.1 面向車聯(lián)網(wǎng)BOA技術條件
首先關鍵部件本身能夠ARM7/ARM9硬件構(gòu)架控制,這是一個基本條件,如圖5所示。在本例中采用ARM7作為主要控制硬件平臺部分。
操作系統(tǒng)是應用軟件正常工作的平臺,BOA屬于應用軟件的類型,它具備Web Setver功能屬性。為了完成這個工作,需要借助能夠應用在VxWorks平臺上的GoAhead軟件。移植GoAhead關鍵是讓VxWorks在ARM7硬件平臺上具有很好的運行狀態(tài),故此需要開發(fā)板級支持包(BSP),用于建立操作系統(tǒng)與硬件之間的中間層。然后移植TFFS(Tme File Format System)文件系統(tǒng),這樣VxWorks操作系統(tǒng)映像文件、GoAhead的工程映像文件及Web文檔就可以運行在嵌入式系統(tǒng)硬件平臺上。
當目標板中需設計一個用于接受用戶指令的進程,加入到系統(tǒng)的多個正在運行的進程當中,系統(tǒng)采用稱為ROUND-ROBIN的調(diào)度方式進行輪轉(zhuǎn)調(diào)度。
3.2 GoAhead的移植方法
為方便程序調(diào)試和系統(tǒng)集成,分別對EOS(Embedded Operation System)環(huán)境和應用程序進行配置。首先,進行移植準備。建立一個可下載的(downloadable)的VxWorks工程,調(diào)試成功后再將VxWorks映像和GoAhead.out文件一起上傳到tffsl中,在VxWorks的usrAppInit()函數(shù)中加載goahead.out文件,然后再啟動Web Server。
UsrAppInit中的關鍵代碼如下:
對于完成的正常能夠運行的項目,在瀏覽器中輸入地址http://192.168.1.1/controltree.html即可以訪問/tffs1/webs/con troltree.html文件。[!--empirenews.page--]
3.3 BSP的移植過程
板級支持包BSP(Board Support Package)是介于嵌入式硬件和EOS之間的一層系統(tǒng)軟件,負責向VxWorks提供與硬件環(huán)境的基本接口,其移植的主要過程有:
第一步配置嵌入式處理器的CPU型號,主頻等相關參數(shù),為整個軟件系統(tǒng)提供底層硬件支持;
第二步根據(jù)硬件模塊配置相關設備驅(qū)動和系統(tǒng)中斷服務程序;
第三步定制總線及芯片引腳功能,配置存儲空間映射和存儲空間大?。?br />
第四步定制EOS功能,為軟件系統(tǒng)提供一個多任務工作環(huán)境。
BSP的配置是系統(tǒng)重中之重,合理的配置能夠保證系統(tǒng)穩(wěn)定運行。
4 代碼工作
選擇好的調(diào)試方法,可以提高學習和項目開發(fā)的效率。目前VxWorks程序開發(fā)中常用的調(diào)試方法有網(wǎng)絡和串口調(diào)試方法,在本應用系統(tǒng)中選擇網(wǎng)絡調(diào)試。正確的配置方法是在所建立的Bootable工程的VxWorks組件中選擇WDB連接和END驅(qū)動,所生成的VxWorks映像通過網(wǎng)絡加載到內(nèi)存運行。主機端還需要在Target Server配置和目標機相連,配置中BackEnd選擇wdbrpc,目標機的IP設置為192.168.1.11,核心文件指向主機FTTP下載目錄中的VxWorks映像,最選擇all symbol并選中Synchronize Target/Host Symbol Table。配置如果正確,即可啟動Tar get Server。
此時可以在當前工作空間下建立一個可下載的應用程序模塊,在該模塊下新建一個程序文件Multitasks.c經(jīng)編譯生成Multitasks.o,下載到目標機,最后在主機的wShell中輸入Mutiltasks,在超級終端中即可以看到任務的執(zhí)行情況,其中代碼如下:
在開發(fā)過程中使用應用程序模塊是非常方便的,如果要形成最終產(chǎn)品,需要將調(diào)試成功的模塊遷移到bootableVxWorks映像中,方法是將源程序加入bootable VxWorks項目,并在usrAppInit.C文件中的usrAppInit()函數(shù)下添加入口代碼Mutiltasks(),代碼如下所示。最后編譯成符合現(xiàn)場要求的VxWorks映像并完成遷移工作。
void usrAppInit(void){
#ifdefUSER_APPL_INIT
USER_APPL_INIT;
#endif
Mutihasks();}
5 結(jié)論
本文針對車聯(lián)網(wǎng)的特點介紹了目標板上移植嵌入式BOA的方法和步驟,交叉編譯環(huán)境的建立方法及控制器的設計思路。可以看出,BOA技術支持車聯(lián)網(wǎng),可以滿足細致部件的感知。
此外,針對于系統(tǒng)的“車聯(lián)網(wǎng)”技術還需要深入的研究,BOA只是在此研究上的一個基本內(nèi)容。由于感知是通過虛擬地址映射得到每一個部件的ID,故此需要一個控制中心,在工程中需要控制中心與感知部件總體考慮,文中沒有在此內(nèi)容上有過多描述。在實際應用中采用IPv6地址,還是虛擬地址這取決于成本與技術條件,這些是以后需要深入研究的內(nèi)容。