国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

中文信息在車(chē)載網(wǎng)絡(luò)CAN總線中的傳輸研究

2019-08-27 00:40杜貴鋒王遠(yuǎn)波郭驚宇
汽車(chē)電器 2019年8期
關(guān)鍵詞:字節(jié)總線編碼

杜貴鋒,李 銳,王遠(yuǎn)波,郭驚宇,王 龍

(陜西重型汽車(chē)有限公司汽車(chē)工程研究院,陜西 西安 710200)

隨著汽車(chē)智能化、網(wǎng)聯(lián)化的發(fā)展,人與車(chē)、人與后臺(tái)之間進(jìn)行實(shí)時(shí)信息交互的應(yīng)用需求變得越來(lái)越多,這種信息交互是通過(guò)文字信息、圖形信息或音頻視頻信息進(jìn)行的,因此,研究文字信息,特別是中文文字信息在車(chē)載網(wǎng)絡(luò)中的傳輸具有非常重要的現(xiàn)實(shí)意義[1]。

中文文字信息在車(chē)載網(wǎng)絡(luò)中的傳輸,主要涉及中文文字信息編碼類型,以及大塊的文本信息 (CAN總線中指數(shù)據(jù)長(zhǎng)度大于8個(gè)字節(jié))通過(guò)傳輸協(xié)議進(jìn)行傳輸兩部分內(nèi)容。

1 中文信息文字編碼

文字信息的傳輸和存儲(chǔ)基礎(chǔ)是標(biāo)準(zhǔn)字符集,字符集也叫字庫(kù)或語(yǔ)言編碼,常用的語(yǔ)言編碼有UTF-8和GBK。UTF-8是國(guó)際編碼,俗稱萬(wàn)國(guó)碼,幾乎包含全世界所有國(guó)家需要用到的語(yǔ)言編碼 (相當(dāng)于一個(gè)大字庫(kù)),比如日文、韓文等都可以用,具有很好的通用性;GBK編碼是中國(guó)制訂的,是漢字國(guó)標(biāo)GB2312-80標(biāo)準(zhǔn)的擴(kuò)展。GBK編碼共收錄漢字和圖形符號(hào)21886個(gè),其中漢字 (包括部首和構(gòu)件)21003個(gè),圖形符號(hào)883個(gè)。

GBK與UTF-8編碼方式不同,GBK的文字編碼是用雙字節(jié)來(lái)表示的,即不論中、英文字符均使用雙字節(jié)來(lái)表示,只不過(guò)為區(qū)分中文,將其最高位都定成1,其編碼范圍:8140-FEFE;而UTF-8編碼,它對(duì)英文使用8位 (即一個(gè)字節(jié)),中文使用24位 (3個(gè)字節(jié))來(lái)編碼。對(duì)于使用中文較多的情況下使用GBK可以節(jié)省空間,而對(duì)于英文字符較多的使用場(chǎng)景則用UTF-8資源配置更加合理[2]。

主機(jī)廠可根據(jù)車(chē)輛的市場(chǎng)定位、銷(xiāo)售區(qū)域,使用不同的編碼。如果車(chē)輛為面向國(guó)際的銷(xiāo)售,采用UTF-8編碼較為合適;如果國(guó)內(nèi)是主銷(xiāo),則GKB節(jié)約資源。或者在平臺(tái)設(shè)計(jì)時(shí)兩種編碼都配備,根據(jù)車(chē)輛最終用戶情況,在車(chē)輛下線時(shí)進(jìn)行配置,選定使用文字編碼的類型。具體采用哪種方式,如何配置,應(yīng)在構(gòu)建整車(chē)電子電器EE架構(gòu)平臺(tái)時(shí)進(jìn)行規(guī)劃設(shè)定。

2 CAN總線傳輸協(xié)議

當(dāng)前車(chē)載骨干網(wǎng)絡(luò)為CAN總線,CAN采用短幀結(jié)構(gòu),適用于控制信息的傳輸,實(shí)時(shí)性強(qiáng),可靠性高。如果要傳輸超過(guò)8個(gè)字節(jié)的數(shù)據(jù)信息,則需要通過(guò)傳輸協(xié)議進(jìn)行。傳輸協(xié)議的主要功能就是在發(fā)送端將大塊數(shù)據(jù)拆分成若干小段,從而滿足CAN總線每幀只能傳輸8個(gè)字節(jié)的要求,一般稱為拆包;接收端收到數(shù)據(jù)后,按傳輸協(xié)議將數(shù)據(jù)組合還原,也稱為組包。

常用的CAN總線傳輸協(xié)議,主要有兩種:一是SEA J1939標(biāo)準(zhǔn)中在數(shù)據(jù)鏈路層J1939-21定義了多包傳輸協(xié)議,另一個(gè)是UDS標(biāo)準(zhǔn)中在網(wǎng)絡(luò)層ISO15765-2中實(shí)現(xiàn)多包傳輸?shù)墓δ?。SEA J1939用于常規(guī)數(shù)據(jù)通信,也用于SEA J1939診斷,ISO 15765-2主要用于UDS診斷。

2.1 J1939傳輸協(xié)議

SEA J1939協(xié)議定義了一個(gè)專用的PGN參數(shù)組 (60610(00EB0016))來(lái)傳輸拆分后的數(shù)據(jù),數(shù)據(jù)傳送報(bào)文TP.DT的參數(shù)組中,數(shù)據(jù)域的第1個(gè)字節(jié)用作消息幀的序號(hào),后7個(gè)字節(jié)用來(lái)存放有效數(shù)據(jù)。單次可以發(fā)送255×7=1785個(gè)字節(jié)的數(shù)據(jù)。協(xié)議定義了點(diǎn)對(duì)點(diǎn)傳輸和廣播傳輸兩種形式。

1)點(diǎn)對(duì)點(diǎn)傳輸。發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)之間虛擬連接的建立與關(guān)閉,傳輸協(xié)議包含的幀格式大致分為2類:TP.CM和TP.DT。在TP.CM中定義了5種幀格式:發(fā)送請(qǐng)求幀 (TP.CM_RTS),準(zhǔn)備發(fā)送幀 (TP.CM_CTS),結(jié)束應(yīng)答幀 (TP.EndofMsgACK),連接失敗幀 (TP.Conn_Abort)以及用來(lái)全局接收的廣播幀 (TP.CM_BAM)。TP.DT用于具體數(shù)據(jù)傳送。發(fā)送請(qǐng)求幀 (TP.CM_RTS)用于發(fā)送節(jié)點(diǎn) (A節(jié)點(diǎn))向目的節(jié)點(diǎn) (B節(jié)點(diǎn))發(fā)送請(qǐng)求與之建立通信連接,準(zhǔn)備發(fā)送幀(TP.CM_CTS)是B節(jié)點(diǎn)向A節(jié)點(diǎn)表示已答應(yīng)其請(qǐng)求并做好了數(shù)據(jù)接收準(zhǔn)備,至此A、B節(jié)點(diǎn)之間的通信連接建立完畢,接下來(lái)A節(jié)點(diǎn)就通過(guò)數(shù)據(jù)幀TP.DT向B節(jié)點(diǎn)持續(xù)發(fā)送數(shù)據(jù)幀,在最后一幀信息發(fā)送完畢后,A節(jié)點(diǎn)會(huì)發(fā)送一個(gè)消息結(jié)束應(yīng)答信息 (TP.EndofMsgACK),然后在一定時(shí)間后A、B節(jié)點(diǎn)會(huì)斷開(kāi)連接;若發(fā)送雙方在傳輸過(guò)程中任一方出現(xiàn)故障(超時(shí)、故障、資源不足等)均可發(fā)送連接失敗幀 (TP.Conn_Abort)來(lái)斷開(kāi)連接。

2)廣播傳輸。如果消息是發(fā)送到多個(gè)節(jié)點(diǎn)或者是全局,則不需要數(shù)據(jù)流控制和關(guān)閉的管理功能,只需要通過(guò)廣播消息來(lái)通知消息的發(fā)送即可。SEA J1939-21定義了一個(gè)專用的PGN參數(shù)組 (60416(00EC0016))用于多包傳輸?shù)倪B接管理。該報(bào)文中,數(shù)據(jù)域的首字節(jié)為控制字節(jié),通過(guò)改變控制字節(jié)的數(shù)據(jù)可以實(shí)現(xiàn)不同的控制功能,完成數(shù)據(jù)傳輸過(guò)程的連接管理。發(fā)送節(jié)點(diǎn)首先要發(fā)送一條廣播公告消息TP.CM_BAM,向其他節(jié)點(diǎn)申明自己要發(fā)送多包消息,之后直接開(kāi)始發(fā)送數(shù)據(jù),而不必等待接收節(jié)點(diǎn)的響應(yīng),數(shù)據(jù)發(fā)送完畢后也不關(guān)閉連接[3]。J1939多幀傳輸如圖1所示。

圖1 J1939多幀傳輸

2.2 ISO 15765傳輸協(xié)議

通過(guò)ISO 15765的網(wǎng)絡(luò)傳輸協(xié)議也可實(shí)現(xiàn)對(duì)大塊數(shù)據(jù)的傳輸。該協(xié)議是通過(guò)一個(gè)控制信息PCI(Protocol control information傳輸控制協(xié)議)來(lái)完成大塊數(shù)據(jù)的拆分、組裝的,通過(guò)PCI將數(shù)據(jù)分為單幀 (SF)、第1幀 (FF)、連續(xù)幀 (CF)和流控制幀 (FC)4種類型的消息幀,通過(guò)數(shù)據(jù)域的PCI區(qū)別幀功能類型,其數(shù)據(jù)結(jié)構(gòu)見(jiàn)表1。

表1中:如果CAN消息的數(shù)據(jù)域的第1個(gè)字節(jié)的7-4位為0,即N_PCItype=0,則為單幀 (SF);如果CAN消息的數(shù)據(jù)域的第1個(gè)字節(jié)的7-4位為1,即N_PCItype=1,則為首幀(FF);如果CAN消息的數(shù)據(jù)域的第1個(gè)字節(jié)的7-4位為2,即N_PCItype=2,則為連續(xù)幀 (CF);如果CAN消息的數(shù)據(jù)域的第1個(gè)字節(jié)的7-4位為3,即N_PCItype=3,則為流控幀 (FC)。

流控幀就是告訴發(fā)送節(jié)點(diǎn)如何發(fā)送剩下的數(shù)據(jù),F(xiàn)S為數(shù)據(jù)流傳輸?shù)臓顟B(tài)信息,當(dāng)FS=0時(shí),代表接收方已經(jīng)準(zhǔn)備就緒,發(fā)送方可以發(fā)送序列幀;當(dāng)FS=1時(shí),發(fā)送方繼續(xù)等待流控幀且復(fù)位N_BS的超時(shí)定時(shí)器;當(dāng)FS=2時(shí),代表接收方的內(nèi)存不夠,發(fā)送方須結(jié)束數(shù)據(jù)傳輸。BS為接收方發(fā)送一個(gè)流控幀后可以接收連續(xù)幀的數(shù)量,當(dāng)BS=0時(shí),接收方不再發(fā)送流控幀,發(fā)送方可以持續(xù)發(fā)送直到數(shù)據(jù)傳輸完成。ST為連續(xù)發(fā)送連續(xù)幀的最小時(shí)間間隔[4]。ISO 15765單幀傳輸與多幀傳輸如圖2所示。

圖2 15765單幀傳輸與多幀傳輸

3 中文信息在CAN總線系統(tǒng)中傳輸

一般來(lái)講,人機(jī)、人與后臺(tái)之間的信息交互,大段的文字信息數(shù)量較少,類似短信、微信量級(jí)的居多。大段中文文字傳輸應(yīng)用場(chǎng)景,一般在FOTA時(shí)升級(jí)或后臺(tái)進(jìn)行資訊推送時(shí)可以用到,在FOTA升級(jí)中,特別是在商用車(chē)中,F(xiàn)OTA還是個(gè)新鮮事物,車(chē)主們難免會(huì)對(duì)遠(yuǎn)程升級(jí)FOTA心存顧慮,因此,F(xiàn)OTA升級(jí)前需要將升級(jí)原因等相關(guān)資訊的信息全面、完整地推送給車(chē)主,有利于駕駛員進(jìn)行積極配合,獲取升級(jí)授權(quán),使得FOTA升級(jí)得以順利進(jìn)行。全面、完整的升級(jí)資訊傳輸,勢(shì)必需要大段的文字信息來(lái)進(jìn)行表述[5]。

3.1 車(chē)載網(wǎng)絡(luò)CAN總線中文信息傳輸時(shí)間以及對(duì)總線負(fù)載的影響

信息傳輸時(shí)間,按GBK編碼,每個(gè)漢字占2個(gè)字節(jié),按推送500字提示信息計(jì),傳輸總數(shù)據(jù)量為1 000字節(jié),按每幀傳輸7個(gè)字節(jié)計(jì),需要傳輸?shù)膸瑪?shù)=1 000/7+1=144幀,如果定義連續(xù)幀之間的傳輸時(shí)間間隔為50 ms,所需的傳輸時(shí)間為:144×50=7 200 ms=7.5 s,傳輸1 000字的提示信息需要15 s。CAN總線波特率按照500k計(jì),傳輸時(shí)總線的負(fù)載約增加0.6%左右,對(duì)于250 k的波特率,負(fù)載增加也不會(huì)超過(guò)1.5%,對(duì)總線負(fù)載影響很小。如果選擇在整車(chē)15下電后,車(chē)載終端啟動(dòng)對(duì)多媒體進(jìn)行傳輸,相當(dāng)于將整車(chē)的休眠時(shí)間推遲15 s。

3.2 傳輸協(xié)議選擇

兩種多包傳輸協(xié)議雖然在實(shí)現(xiàn)方式、最大傳輸數(shù)據(jù)量、超時(shí)、錯(cuò)誤處理等方面存在著較大的差異,但是二者基于對(duì)數(shù)據(jù)拆包、組包及連接控制的核心思想都是相通的,都是為了實(shí)現(xiàn)多包傳輸功能。ISO 15765-2一般應(yīng)用在乘用車(chē)領(lǐng)域;而SEA J1939-21主要應(yīng)用于中大型貨車(chē)和客車(chē)。SEA J1939-21傳輸協(xié)議在傳輸模式、實(shí)現(xiàn)策略上更為復(fù)雜,對(duì)于主機(jī)廠、供應(yīng)商等開(kāi)發(fā)應(yīng)用者來(lái)說(shuō)更難于理解、應(yīng)用。ISO 15765-2定義的數(shù)據(jù)結(jié)構(gòu)相比更為緊湊,對(duì)數(shù)據(jù)域的利用率也更高,在傳輸同等數(shù)據(jù)量的情況下,傳輸效率更高。ISO 15765-2支持的最大數(shù)據(jù)長(zhǎng)度為4095B,優(yōu)于SEA J1939-21的1785B。從技術(shù)角度分析,ISO 15765-2的傳輸協(xié)議優(yōu)于SEA J1939-21定義的傳輸協(xié)議[6]。

對(duì)于乘用車(chē),一般較少使用SEA J1939協(xié)議,因此采用ISO 15765-2網(wǎng)絡(luò)層傳輸協(xié)議進(jìn)行文字的傳輸是最經(jīng)濟(jì)的選擇。

對(duì)于商用車(chē),基本采用的是SEA J1939協(xié)議,UDS用于離線診斷,因此,中文信息的傳輸可以采用SEA J1939-21傳輸協(xié)議,也可以采用ISO 15765-2協(xié)議進(jìn)行。一般對(duì)于類似短信、微信級(jí)別的文字信息傳輸,可以用SEA J1939協(xié)議進(jìn)行傳輸。對(duì)大塊的文字傳輸,如FOTA前的信息交互提示,因?yàn)閭鬏數(shù)臅r(shí)間等因素,建議采用ISO 15765-2協(xié)議,在車(chē)輛下電情況下進(jìn)行傳輸。

4 結(jié)束語(yǔ)

中文信息傳輸?shù)膶?shí)現(xiàn),可顯著提高車(chē)輛人機(jī)交互的主觀感受,提升車(chē)輛的智能化水平。文中就傳統(tǒng)汽車(chē)網(wǎng)絡(luò)CAN總線上實(shí)現(xiàn)中文信息的傳輸,特別是大塊的中文信息,在E-E架構(gòu)設(shè)計(jì)時(shí),所涉及的傳輸協(xié)議、文字編碼、傳輸時(shí)機(jī)的選擇以及對(duì)總線負(fù)載的影響進(jìn)行了分析。研究表明,大塊的中文信息在車(chē)載網(wǎng)絡(luò)CAN總線中傳輸是切實(shí)可行的。

猜你喜歡
字節(jié)總線編碼
HEVC對(duì)偶編碼單元?jiǎng)澐謨?yōu)化算法
No.11 字節(jié)跳動(dòng)計(jì)劃自研芯片:僅供內(nèi)部使用
住院病案首頁(yè)ICD編碼質(zhì)量在DRG付費(fèi)中的應(yīng)用
生活中的編碼
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
關(guān)于CAN總線的地鐵屏蔽門(mén)控制思路論述
論紀(jì)錄片影像中的組合編碼運(yùn)用
人類進(jìn)入“澤它時(shí)代”
Q&A熱線
PCI9030及其PCI總線接口電路設(shè)計(jì)