国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于車載網(wǎng)絡(luò)嵌入式瀏覽器的設(shè)計(jì)

發(fā)布時(shí)間:2010-7-22 14:48    發(fā)布者:vinda
現(xiàn)在,車輛的控制向高精度、高安全性發(fā)展,汽車行業(yè)正走向智能化、網(wǎng)絡(luò)化。在此過程中,汽車網(wǎng)絡(luò)起著重要的作用,CAN總線和LIN總線就是重要的汽車網(wǎng)絡(luò)總線。  

但是,在汽車逐漸發(fā)展成為一個(gè)信息終端時(shí),卻存在著網(wǎng)絡(luò)體系結(jié)構(gòu)滯后的情況,在互聯(lián)網(wǎng)絡(luò)普遍采用B/S(瀏覽器/服務(wù)器模式)三層網(wǎng)絡(luò)結(jié)構(gòu)的同時(shí),車載網(wǎng)絡(luò)還處在簡單的C/S(客戶端/服務(wù)器模式)兩層網(wǎng)絡(luò)結(jié)構(gòu)的階段。針對汽車網(wǎng)絡(luò)標(biāo)準(zhǔn)不統(tǒng)一、接口混亂、管理困難、網(wǎng)絡(luò)體系滯后的狀況,可以引入當(dāng)前互聯(lián)網(wǎng)絡(luò)中廣泛使用的標(biāo)記語言(ML Markup Language)和B/S網(wǎng)絡(luò)結(jié)構(gòu)。標(biāo)記語言是一種跨平臺的信息交換方式,在汽車網(wǎng)絡(luò)中采用標(biāo)記語言,可以解決不同智能節(jié)點(diǎn)之間標(biāo)準(zhǔn)不統(tǒng)一、接口不同和跨層信息交換的問題。B/S網(wǎng)絡(luò)結(jié)構(gòu)可以很好地解決網(wǎng)絡(luò)節(jié)點(diǎn)信息處理能力不足的狀況,把大部分的信息處理通過網(wǎng)絡(luò)提交到處理能力強(qiáng)大的主設(shè)備,甚至通過互聯(lián)網(wǎng)絡(luò)連接到大型主機(jī),而從設(shè)備僅僅需要通過瀏覽器軟件解析主機(jī)處理的結(jié)果。  

但是目前使用標(biāo)記語言和B/S網(wǎng)絡(luò)結(jié)構(gòu)最大的問題是缺乏針對車載網(wǎng)絡(luò)的嵌入式瀏覽器系統(tǒng)。通用的嵌入式瀏覽器使用HTML語言作為信息的載體,而HTML語言存在著內(nèi)容和顯示信息不分、描述結(jié)構(gòu)數(shù)據(jù)能力差等缺點(diǎn)。此外,通用的嵌入式瀏覽器對實(shí)時(shí)數(shù)據(jù)的處理和顯示的能力不足等,也是需要解決的問題。因此,設(shè)計(jì)一款面向多層汽車局域網(wǎng)絡(luò),針對車載網(wǎng)絡(luò)信息處理需要,使用可擴(kuò)展標(biāo)記語言(XML)為信息載體,可以同時(shí)顯示汽車內(nèi)部實(shí)時(shí)信息和互聯(lián)網(wǎng)絡(luò)信息的專用嵌入式瀏覽器,具有非常重要的意義。  

嵌入式瀏覽器總體設(shè)計(jì)  

根據(jù)汽車網(wǎng)絡(luò)自身的特點(diǎn)、車載網(wǎng)絡(luò)瀏覽器的特殊要求,以及模塊內(nèi)高內(nèi)聚和模塊間低耦合的要求,將車載網(wǎng)絡(luò)瀏覽器的設(shè)計(jì)和實(shí)現(xiàn)劃分5個(gè)模塊,分別為擴(kuò)展標(biāo)記語言模塊、網(wǎng)絡(luò)接入和信息緩存模塊、標(biāo)記語言解析模塊、布局模塊、用戶界面模塊。  

擴(kuò)展標(biāo)記語言模塊主要根據(jù)車載網(wǎng)絡(luò)的特點(diǎn),在保持與HTML語言兼容性的同時(shí),使用XML技術(shù)對HTML語言進(jìn)行擴(kuò)展,定義一種基于車載網(wǎng)絡(luò)的標(biāo)記語言EXML,擴(kuò)展標(biāo)記語言模塊以模塊的方式定義。網(wǎng)絡(luò)接口與緩沖模塊主要用于同時(shí)連接汽車局域網(wǎng)絡(luò)和互聯(lián)網(wǎng)絡(luò),以獲取汽車實(shí)時(shí)信息和廣泛的互聯(lián)網(wǎng)信息;文檔解析模塊是在基于車載網(wǎng)絡(luò)的嵌入式瀏覽器中使用的標(biāo)記語言,有兩種,分別為HTML和EXML,其中包括HTML語言的基本標(biāo)簽。因此,在語言解析模塊中使用同一個(gè)解析器,對兩種標(biāo)記語言進(jìn)行解析,并將解析的結(jié)果存在內(nèi)存中;文檔布局模塊主要用于確定每個(gè)頁面元素的大小,頁面元素分為文本、圖像和圖形兩類,其中圖像和圖像的大小可以直接獲取,文本的大小則受標(biāo)簽和屬性的影響;用戶界面顯示模塊的作用是顯示用戶界面,其中包括:工作區(qū)、標(biāo)題欄、標(biāo)簽欄、實(shí)時(shí)標(biāo)簽顯示區(qū)等。他們之間的關(guān)系如圖1所示。



基于車載網(wǎng)絡(luò)的嵌入式瀏覽器的模塊設(shè)計(jì)  

網(wǎng)絡(luò)接口設(shè)計(jì)  

網(wǎng)絡(luò)結(jié)構(gòu)模塊分為兩部分,即互聯(lián)網(wǎng)絡(luò)接口與實(shí)時(shí)網(wǎng)絡(luò)接口。  

互聯(lián)網(wǎng)絡(luò)接口主要負(fù)責(zé)互聯(lián)網(wǎng)絡(luò)接入功能。首先是通過網(wǎng)絡(luò)協(xié)議建立到服務(wù)器的連接,然后向服務(wù)器發(fā)送請求,服務(wù)器確認(rèn)請求,并負(fù)責(zé)把瀏覽器請求的文件通過網(wǎng)絡(luò)協(xié)議傳送給瀏覽器。具體的過程如圖2所示。  


圖2 互聯(lián)網(wǎng)絡(luò)接口的工作模型  

車載局域網(wǎng)絡(luò)接口主要實(shí)現(xiàn)瀏覽器對汽車實(shí)時(shí)信息的獲取。瀏覽器和汽車網(wǎng)絡(luò)節(jié)點(diǎn)通信的方式有兩種:應(yīng)答式通信和被動(dòng)式通信。  

在應(yīng)答式通信過程中,車載網(wǎng)絡(luò)嵌入式瀏覽器對節(jié)點(diǎn)發(fā)送獲取某項(xiàng)參數(shù)的請求,網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)請求以EXML消息的形式發(fā)送實(shí)時(shí)信息。瀏覽器收到信息后通過解析模塊解析,更新數(shù)據(jù)并刷新顯示。

在被動(dòng)方式下,網(wǎng)絡(luò)節(jié)點(diǎn)按一定的時(shí)間周期發(fā)送包含實(shí)時(shí)信息的EXML消息,瀏覽器偵聽網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送來的信息。一旦有新消息傳來,瀏覽器就通知解析模塊更新數(shù)據(jù),并刷新顯示。EXML消息的格式如下:
參數(shù)值
   
解析模塊的設(shè)計(jì)  

文檔解析模塊是整個(gè)系統(tǒng)的基礎(chǔ)模塊。在基于車載網(wǎng)絡(luò)的嵌入式瀏覽器中,我們根據(jù)車載網(wǎng)絡(luò)的應(yīng)用實(shí)踐將HTML語言進(jìn)行擴(kuò)展,形成了EXML語言。EXML語言是XML語言在車載網(wǎng)絡(luò)系統(tǒng)中的一個(gè)應(yīng)用,所以對EXML語言的解析可以使用標(biāo)準(zhǔn)的XML語言解析技術(shù)。XML的解析方式又有兩種:基于事件驅(qū)動(dòng)的解析方式(SAX方式)和基于樹的解析方式(DOM方式)。SAX技術(shù)在響應(yīng)事件的同時(shí)對標(biāo)記文本進(jìn)行處理,并不保存中間數(shù)據(jù)結(jié)構(gòu)。DOM解析方式采用的是基于樹的解析方式,并使用XML Schema驗(yàn)證。這種方式在解析完XML文檔后生成一個(gè)文檔樹,應(yīng)用程序可以遍歷、搜索、編輯該文檔樹。  

在實(shí)際的車載網(wǎng)絡(luò)中,嵌入式瀏覽器不僅僅需要對靜態(tài)的超文本信息進(jìn)行瀏覽,還需要把下層節(jié)點(diǎn)發(fā)來的數(shù)據(jù)進(jìn)行實(shí)時(shí)處理、顯示和保存。這就需要在內(nèi)存中保存一個(gè)完整的解析數(shù)據(jù)結(jié)構(gòu),以方便數(shù)據(jù)的實(shí)時(shí)更新和顯示。因此使用DOM解析技術(shù)更加符合車載網(wǎng)絡(luò)的應(yīng)用要求。  

在文檔解析中,遵循先外后內(nèi)、標(biāo)簽后屬性、先到先解析的順序。首先處理處于嵌套外層的標(biāo)簽,然后處理標(biāo)簽的屬性;對于同一層次的標(biāo)簽,先解析前面的。通過一個(gè)標(biāo)簽堆棧來獲得嵌套信息,對標(biāo)簽的父標(biāo)簽指針賦值。具體的解析算法如圖3所示。  


圖3 解析模塊算法流程圖  

布局模塊的設(shè)計(jì)  

HTML語言在對標(biāo)記的定義中包括兩類信息:數(shù)據(jù)信息和顯示信息,而在XML語言定義的標(biāo)記語言文檔是對信息的結(jié)構(gòu)化表示,并不包括顯示信息。在處理對XML語言的顯示中,可以使用CSS(Cascading Style Sheets)樣式單添加額外的顯示信息,或者通過xCBL將XML文檔轉(zhuǎn)換成HTML格式的文件,然后再交付給瀏覽器,由瀏覽器顯示轉(zhuǎn)換的結(jié)果。  

EXML語言也不包括顯示信息,不能決定頁面元素的顯示位置。通過CSS和XML定義顯示的方式會照成瀏覽器的高資源占用。因此,在嵌入式瀏覽器中采用主題文件定義每個(gè)頁面元素的顯示位置。  

頁面元素的布局分為動(dòng)態(tài)布局和靜態(tài)布局兩種,因?yàn)镠TML標(biāo)記包含顯示數(shù)據(jù),在解析HTML兼容標(biāo)記時(shí)采用動(dòng)態(tài)布局算法,通過標(biāo)記的屬性和標(biāo)記本身來決定布局。在對其他標(biāo)簽布局時(shí),根據(jù)顯示分辨率和使用習(xí)慣對元素的布局進(jìn)行定義并儲存在主題文件中。瀏覽器在處理這些標(biāo)簽的布局時(shí),首先讀取主題文件獲得布局信息,然后根據(jù)標(biāo)簽內(nèi)容進(jìn)行布局。  

文檔布局模塊負(fù)責(zé)將經(jīng)過解析器處理的標(biāo)記語言文檔中元素在瀏覽器工作區(qū)中合適的位置顯示。頁面的布局分為以下3個(gè)步驟:  

(1)獲取頁面元素。頁面元素以EXML文檔中標(biāo)記的形式存儲,瀏覽器解析模塊通過對標(biāo)記語言的解析,將標(biāo)記中所包含的模塊化信息儲存在標(biāo)簽數(shù)據(jù)結(jié)構(gòu)中。布局模塊首先順次讀取標(biāo)簽信息。  

(2)調(diào)用標(biāo)簽的布局函數(shù)。布局模塊通過綁定布局函數(shù)實(shí)現(xiàn)對布局函數(shù)的調(diào)用。綁定元素的布局函數(shù)是通過查找布局函數(shù)列表來實(shí)現(xiàn)的。布局函數(shù)列表是一張儲存標(biāo)簽名字和對應(yīng)標(biāo)簽布局函數(shù)地址的二維表。布局模塊調(diào)用布局函數(shù),將元素根據(jù)布局算法布局到虛擬的顯示數(shù)據(jù)結(jié)構(gòu)中。如果標(biāo)簽的名字不在標(biāo)簽布局函數(shù)列表中,說明標(biāo)簽屬于擴(kuò)展標(biāo)記,將通過擴(kuò)展標(biāo)記函數(shù)顯示。  

(3)通過顯示窗口完成以布局標(biāo)記的顯示。由于嵌入式應(yīng)用中顯示屏的分辨率限制,有時(shí)候不能一次顯示所有的元素。布局模塊會根據(jù)顯示屏分辨率和頁面的大小決定顯示元素的數(shù)量。

交互界面的設(shè)計(jì)  

交互界面也即瀏覽器界面模塊,主要負(fù)責(zé)瀏覽器的主框架顯示,提供標(biāo)簽瀏覽、主題顯示,以及處理與用戶的交互。  

針對不同的硬件平臺甚至相同硬件平臺不同尺寸的液晶屏,交互界面也要發(fā)生改變。可移植性和可配置性也是嵌入式瀏覽器所必需的。  

為了適應(yīng)不同的硬件環(huán)境特別是不同分辨率的屏幕,在基于車載網(wǎng)絡(luò)的嵌入式瀏覽器設(shè)計(jì)過程中使用多主題,以實(shí)現(xiàn)可移植和可配置。主題方法是指使用配置文件對可視化系統(tǒng)中實(shí)現(xiàn)用戶交互界面進(jìn)行圖形效果配置的一種方式。基于車載網(wǎng)絡(luò)的嵌入式瀏覽器的主題是對可配置主題方法的擴(kuò)展,利用主題文件不僅僅可以配置界面的顏色樣式、顯示模式,還可以根據(jù)不同屏幕的分辨率,方便地調(diào)整界面元素的大小和布局。  

考慮到系統(tǒng)的可移植性、可配置性和系統(tǒng)的時(shí)間空間性能,基于車載網(wǎng)絡(luò)的嵌入式瀏覽器的圖形系統(tǒng)采用microwindows 嵌入式圖形系統(tǒng)。這是一個(gè)開放源碼嵌入式GUI軟件,目的是把現(xiàn)代圖形視窗環(huán)境引入到小型設(shè)備平臺上。
  
雙層消息機(jī)制的設(shè)計(jì)  

由于車載網(wǎng)絡(luò)的復(fù)雜性,瀏覽器所要處理的信息不僅僅來源于互聯(lián)網(wǎng)絡(luò),還可以來自底層網(wǎng)絡(luò)通過網(wǎng)關(guān)傳來的實(shí)時(shí)消息。來自互聯(lián)網(wǎng)的信息往往是靜態(tài)的,根據(jù)用戶的要求進(jìn)行更新,而來自底層網(wǎng)絡(luò)的實(shí)時(shí)消息是動(dòng)態(tài)的,對實(shí)時(shí)性要求很高。使用單層的消息循環(huán)機(jī)制會造成實(shí)時(shí)信息不能及時(shí)顯示,或者交互消息占用大量的系統(tǒng)資源,因此,在瀏覽器中采用雙層消息機(jī)制。  

在雙層消息機(jī)制是通過消息分組來實(shí)現(xiàn)的。首先把消息分為實(shí)時(shí)消息和交互消息兩組,實(shí)時(shí)消息表示消息需要實(shí)時(shí)處理,交互消息表示非實(shí)時(shí)的交互消息。其中,實(shí)時(shí)消息按照不同的優(yōu)先級排列成為一組,系統(tǒng)自動(dòng)處理優(yōu)先級較高的消息,延遲優(yōu)先級較低的消息。交互消息組的消息不分優(yōu)先級,系統(tǒng)在某一時(shí)刻首先檢查實(shí)時(shí)優(yōu)先級組消息結(jié)構(gòu)體數(shù)組是否有被占用的消息,如果有則選擇最高優(yōu)先級消息進(jìn)行響應(yīng),響應(yīng)完畢清除實(shí)時(shí)消息占用標(biāo)志。如果為空則轉(zhuǎn)入交互消息循環(huán)。具體消息循環(huán)算法示意性代碼如下所示:

 Msgloop()
{
while (1){
if (msg_select_hmsg()==-1)
//沒有實(shí)時(shí)消息到來
{
GrSelectNextMSG();
//獲取交互消息隊(duì)列中的下個(gè)消息
switch()
//根據(jù)交互消息類型選擇消息處理函數(shù)
…….}
else
{
*(Rtmsg_msgarr[msg_select_ hmsg()].func)();
//選擇最高優(yōu)先級實(shí)時(shí)消息進(jìn)行響應(yīng)。
}
}  

雙層消息循環(huán)結(jié)構(gòu)的實(shí)質(zhì)是將交互消息組作為優(yōu)先級最低的消息來處理。邏輯結(jié)構(gòu)和具體消息響應(yīng)如圖4所示。
   

圖4 實(shí)時(shí)消息優(yōu)先級判斷流程圖  

嵌入式瀏覽器在不同嵌入式硬件平臺上的應(yīng)用像其他可移植軟件一樣,嵌入式瀏覽器的開發(fā)采用分層結(jié)構(gòu),根據(jù)不同的網(wǎng)絡(luò)環(huán)境預(yù)留了標(biāo)準(zhǔn)接口,并使用標(biāo)準(zhǔn)C語言編寫。因此,瀏覽器具可以很好地適應(yīng)日益復(fù)雜的車載網(wǎng)絡(luò)環(huán)境。  

只要提供對應(yīng)操作系統(tǒng)的硬件驅(qū)動(dòng),就可以在不同的硬件平臺上使用。  

表1是通過測試的嵌入式瀏覽器所支持的操作系統(tǒng)和編譯器列表。  


結(jié)語  

基于車載網(wǎng)絡(luò)的嵌入式瀏覽器研發(fā)主要成果是設(shè)計(jì)和實(shí)現(xiàn)了一款面向多層汽車局域網(wǎng)絡(luò),針對于車載網(wǎng)絡(luò)信息處理需要,使用XML為信息載體,可以同時(shí)顯示汽車內(nèi)部實(shí)時(shí)信息和互聯(lián)網(wǎng)絡(luò)信息的專用嵌入式瀏覽器。該瀏覽器可以同時(shí)顯示汽車內(nèi)部實(shí)時(shí)信息和互聯(lián)網(wǎng)絡(luò)信息,通用性好,能夠運(yùn)行于不同的硬件平臺。
本文地址:http://m.qingdxww.cn/thread-16019-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚色图| 国产午夜小视频| 国产传媒麻豆剧精品AV| 暖暖视频免费观看视频| 亚洲国产高清视频在线观看| 亚洲伊人久久精品| 欧美亚洲国产精品久久高清 | 午夜小视频免费观看| 一级大片免费观看| 国产精品青草久久福利不卡| 欧美精品中文字幕亚洲专区| 中文字幕无码他人妻味| 欧美一卡二卡三卡四卡| 在线亚洲播放| 97久久精品人人槡人妻人| 欧美日韩第一区| 一本之道久久| 我在修仙世界朝九晚五漫画免费观看| 特级毛片免费观看视频| 爱爱好爽好大好紧视频| 跳蛋按摩棒玉势PLAY高H| 欧美日韩在线播放成人| 色视频线观看在线播放| 亚洲国产日韩欧美综合久久| 国产精品亚洲欧美| 伊人伊人影院| 青娱极品盛宴国产一区| 婷婷伊人综合亚洲综合网| 国产AV精品久久久免费看| 日韩少妇爆乳无码专区| 色avv| 亚洲精品中文字幕乱码三区一二| 怡红院日本一道日本久久| 免费观看久久| 天天草人人草| 星辰影院在线观看| 在线看成人| 青娱乐极品视觉盛宴国产视频| 午夜精品视频5000| 性xxx视频在线观看| 在线免费观看麻豆|