999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

EXI編解碼在歐標電動汽車充電中的應用

2025-04-04 00:00:00呂海博張毅博劉牧華
汽車電器 2025年3期

【摘" 要】近些年,隨著歐洲新能源電動汽車領域的發展,國際標準化組織制定了ISO 15118系列通信標準,該標準對車-樁通信交互進行了定義。EXI格式作為協議底層傳輸的載體,在通信過程中,用以實現在受限線路上進行高效傳輸。文章通過描述通信標準中定義的數據結構的解析方法,獲取事件碼與元素層級結構。通過采用遞歸模型,逐步完成對復雜元素的深入,由復雜元素轉變為多個簡單元素,并通過完成簡單元素的編解碼,從而實現整個通信消息的編解碼。最后通過EXI編解碼測試驗證設計結果。

【關鍵詞】數據交換技術;新能源充電;EXI

中圖分類號:U469.72" " 文獻標識碼:A" " 文章編號:1003-8639(2025)03-0038-05

Application of EXI Codec in European Standard Electric Vehicle Charging

【Abstract】In recent years,with the development of new energy electric vehicles in Europe,the International Organization for Standardization has formulated ISO15118 series communication standards. As the carrier of the underlying transmission format,EXI is more efficiently and extensibility than traditional XML format on a restricted channel. This paper describes the design of the analytic method for the data structure defined in the communication standard to obtain the event code and element hierarchy. By adopting recursive model,the complex elements are gradually transformed into simple elements,and the codecs of simple elements are completed to realize the codecs of the whole communication message. And finally,the design results are verified by EXI codec test.

【Key words】data exchange technology;new energy charging;EXI

0" 引言

在歐洲,近年來新能源電動汽車不僅用于解決交通代步問題,而且由于其具備大容量電池的特點,可作為移動充電寶對外放電。因此,國際標準化組織參考ISO 15118中制定的通信接口標準及近些年的應用經驗,于2022年4月,發布了新一代道路車輛通信接口標準,即ISO 15118-20[1]。此標準除了完善上一代道路車輛V2G通信接口標準外,主要引入了反向充電的通信交互定義,使得新能源電動汽車作為移動充電寶向外放電成為可能。

ISO 15118標準中,EXI(Efficient XML Interchange,高效XML交換)以其優秀的高效性及可擴展性,取代了其他通信編解碼方式。ISO 15118-20發布了以XSD格式的XML Schema模式規約,制定了通信中需要使用的各項元素。本文根據ISO 15118-20中XML Schema的定義,結合W3C高效XML交換(EXI)格式1.0中描述的編解碼標準,進行了編解碼方面的研究實現及測試設計。目前,國內對于EXI編解碼的研究較少,而在新能源電動汽車領域與EXI編解碼技術結合的經驗也十分匱乏,本文為此提供一個新思路。

1" EXI編解碼技術特點

EXI編解碼稱之為高效XML交換,主要在于其可采用二進制流的形式,實現數據交互[2]。以往XML以其嚴謹的格式定義,廣受業內設計研發人員的青睞。但由于其冗余的文本格式框架,龐大的交互數據報文,降低了通信交互中的傳輸效率[3]。在需要高速交互或資源受限的場景中,需要更短小的報文交互設計[4]。

1.1" 高效性

EXI編解碼技術的高效性,表現在其可以使用二進制流來表示以往龐大的數據報文。以ISO 15118-20中定義的一條通信消息PowerDeliveryReq為例,JSON格式與EXI格式的對比見表1。

根據報文字節長度,可以得到下面公式:

ΔR=(L1-L2)/L1×100%

在傳輸同樣內容的情況下,XML格式(L1)與EXI格式(L2)對比時,L1為222字節,L2為38字節。因此可得EXI報文交互效率提升了約82.88%。JSON格式(L1)與EXI格式(L2)對比時,L1為137字節,L2為38字節,因此可得EXI報文交互效率提升了約72.26%。

1.2" 可擴展性

EXI編解碼中,根據標準設計,其可分為內置語法和模式語法。不論內置還是模式語法,在解析過程中都是可學習的。這種可學習性表現在編解碼的過程中對于元素的解析上。EXI編解碼中使用QName(Qualified Name,限定名稱)來對元素進行匹配,對于匹配的元素,可以快速分配事件碼,確定需要傳輸的數據結構。而對于無法匹配的未知元素,則提供通配符的形式匹配,并在匹配后自動學習,將新元素加入元素列表,并按照字典序進行排序以獲得新的事件碼。

2" XSD解析器設計

實現歐標電動汽車充電通信交互共需要完成兩項設計:首先是XSD文檔解析的設計,即對通信標準ISO 15118-20中發布的XSD文檔進行解析。通過解析,以獲取標準中制定的消息結構層級定義、數據類型以及事件碼。其次是編解碼的設計,即通過使用事件碼、消息結構及數據類型的層級定義,完成編碼(將數據結構轉化為EXI格式的二進制流)和解碼(將EXI格式的二進制流轉化為對應數據結構)。

在新能源電動汽車充電交互過程中,數據報文需要根據標準提供的XSD文檔進行EXI數據進行編解碼,從而完成車-樁通信交互。通過XSD文檔解析,可將ISO 15118-20標準中定義的數據元素進行構建,并確定消息事件碼。ISO 15118-20標準中,根據命名空間的不同,共計8份XSD文檔,用以針對不同充電場景應用中對交互報文數據元素的需求,見表2。

EXI編解碼的核心工作之一,就是通過這些全局元素定義,確定該元素在消息交互過程中使用的事件碼。

2.1" 事件碼確定

不論常用的XML結構,還是JSON結構,甚至其他編程中采用的數據結構,都會有一種固定的數據格式。這種數據格式決定了數據交互中需要傳輸的基本數據類型、種類、數量和層次結構。EXI編解碼也不例外。不同的是,EXI編解碼并非使用冗余的字符串進行格式劃分與表達,而是采用事件碼。

可以將事件碼簡單理解為通往終點的路徑編號。在ISO 15118-20的XSD文件中,自頂向下,可以將一條通信交互消息解析為文檔-文檔內容-消息復雜元素。消息復雜元素還可以繼續向下解析,直至簡單元素。在這個解析的過程中,會依次經過多個事件碼,每個事件碼表達了解析該層時的路徑選擇。在解析每層級的事件碼時,根據XSD中定義的層級元素下的子元素數量,按照字典序排列,并從0開始依次遞增分配事件碼,如圖1所示,括號中表示事件碼數值。可見以文檔起始,文檔內容事件碼為0,下一級PowerDeliveryReq消息事件碼為21。

2.2" 層級元素解析

在確定了事件碼后,XSD解析器的另一項核心功能就是解析消息的層級元素。解析層級消息元素的目的,就是將XSD文檔中定義的消息元素進行分解,為每項復雜元素依次標注其子元素并分配事件碼。對于子元素依然是復雜元素的,繼續向下層遞歸深入;對于子元素是簡單元素的,向后查看其兄弟元素,若兄弟元素為復雜元素,則遞歸深入,否則返回父元素。因此,消息的層級元素解析可以理解為一條消息的樹狀構成展開。以一條消息為例,如圖2所示,通過遞歸的方式進行層級元素解析。

消息的根節點為文檔,確定事件碼后,判斷其是否存在子元素,如果存在,則進入遞歸子流程,解析子元素,否則標注該元素。之后判斷其是否存在相鄰兄弟元素,如果存在,則進入遞歸子流程,解析下一相鄰兄弟元素,否則返回入口。

在遞歸過程中,XSD解析器會依次向其子節點及兄弟節點擴展,不論其為子節點還是兄弟節點。在該過程中,將整個解析遞歸路徑遇到的事件碼和元素均標注并打印。若無子元素或兄弟元素時返回上一層,直至返回到文檔根節點。

遞歸的層級根據ISO 15118-20標準發布的XSD文件決定,通常不超過10層。

通過對XSD文檔的層級元素解析,可以依次輸出并打印出自文檔開始,向下展開的每個消息及其子元素及兄弟元素的事件碼及元素名稱,以供EXI編解碼時使用。

3" EXI編解碼實現設計

EXI編解碼分為EXI編碼及EXI解碼兩種操作。EXI編碼,即將結構數據轉換為二進制流的操作;EXI解碼,即將二進制流轉換為結構數據的操作。EXI編碼和解碼可互為逆向操作。

EXI編解碼需要使用XSD解析器解析XSD文檔,解析結果包含了消息層級的樹狀展開及對應層級的事件碼。

3.1" 編解碼步驟

可參考XSD解析器對層級元素解析的步驟,進行EXI的編解碼操作。下面以PowerDeliveryReq消息的解析說明EXI編解碼的步驟。

1)首先,EXI編解碼的入口為根節點文檔。根據XSD解析器的結果,其下只包含1項子元素且為復雜元素,事件碼為0。進入遞歸處理,解析子元素。

2)其次,子元素的解析時,根據XSD解析器的結果,其中也包含多項子元素,而其中Power DeliveryReq消息的事件碼為21且為復雜元素。解析該子元素,進入遞歸處理。

3)以此類推,在遞歸處理中,當遇到簡單元素時,對簡單元素進行編解碼,之后完成結尾事件碼的編解碼后返回上一元素;如果再次遇到復雜元素,則再次深入進行遞歸處理,解析該子元素。

4)最后,在遞歸處理全部返回后,回到根節點文檔時,完成末尾補位,編解碼全部流程結束。

3.2" 復雜元素的編解碼

Schema中定義了多種復雜元素,仍以Power DeliveryReq消息為例,Schema中對其定義如圖3所示。

可知該復雜元素PowerDeliveryReqType有5個子元素,依次為Header(來自于繼承的V2GRequestType)、EVProcessing、ChargeProgress、EVPowerProfile、BPT_ChannelSelection。分別將這5個元素記錄為Element1~Element5。

并且可見EVPowerProfile與BPT_ChannelSelection的最小可能出現0次,表示可能出現或可能不出現。因此進行編解碼時,狀態如圖4所示。

對于PowerDeliveryReq消息,從StartTag(起始標識)進入。StartTag后只有1個可選元素Header,即Element1,需要經過SE(Header)通路到達。SE(StartElement,起始元素事件)表示通往Header的事件碼。

對事件碼進行編解碼。事件碼的值來自XSD解析器,使用簡易元素類型“n-bit Unsigned Integer”的編解碼方式進行編解碼。完成事件碼的編解碼后到達Element1。

對Element1判斷,若Header元素為復雜元素,則進入遞歸編解碼。

當遞歸返回后,同樣只存在一個可選元素EVProcessing,即Element2,需要經過SE(EVProcessing)通路到達。對事件碼SE(EVProcessing)編解碼。

對Element2判斷,若EVProcessing元素為復雜元素,則進入遞歸編解碼。

當遞歸返回后,同樣只存在一個可選元素ChargeProgress,即Element3,需要經過SE(ChargeProgress通路到達。對事件碼SE(ChargeProgress)編解碼。

對Element3判斷,ChargeProgress元素為簡單元素,不再進行遞歸編解碼。對簡單元素ChargeProgress編解碼后,出現兩條路徑:其一為EVPower Profile不出現時,則通過編解碼EE(End Element,終止元素)事件碼返回上層DocContent;其二為EVPowerProfile出現時,可通過SE(EVPowerProfile)事件碼到達Element4,即EVPowerProfile。

對Element4判斷,若EVPowerProfile元素為復雜元素,則進入遞歸編解碼。

當遞歸返回后,出現兩條路徑:其一為BPT_ChannelSelection不出現時,通過編解碼EE事件碼返回上層DocContent;其二為BPT_ChannelSelection出現時,可通過SE(BPT_ChannelSelection)事件碼到達Element5,即BPT_ChannelSelection。

對Element5判斷,BPT_ChannelSelection為簡單元素,不再進行遞歸編解碼,對BPT_ChannelSelection元素編解碼后,只存在1條通路,通過編解碼EE事件碼返回上層DocContent。

當返回上層DocContent時,復雜元素Power DeliveryReq的編解碼結束。

3.3" 簡單元素的編解碼

EXI標準制定了共計11種內置的簡單元素類型,如表3所示。

簡單元素的編解碼方式按照W3C于2014年2月發布的高效XML交換(EXI)格式1.0推薦標準實現編解碼。

4" EXI編解碼測試

為了證明EXI編解碼的正確性,需要通過EXI編解碼測試程序,對EXI編解碼器的編解碼處理結果進行測試。

對編碼而言,需要測試EXI編解碼器能否對ISO 15118-20制定的消息結構編碼,輸出可被其他編解碼器解析的二進制流。

對解碼而言,需要測試EXI編解碼器能否對其他編解碼器輸出的EXI數據進行解碼,并以ISO 15118-20制定的消息結構輸出為具體的數據結構。

4.1" 測試標準

使用開源社區版的編解碼器EXICodec.jar結合ISO 15118-20協議中的消息,完成編解碼標準的設計。以PowerDeliveryReq為例,使用EXICodec.jar得到其編解碼結果,作為驗證編解碼器正確性的標準,PowerDeliveryReq消息標準對照見表4。

4.2" 測試實現

EXI編解碼的測試形式以測試用例的形式完成。一項測試中,可以有多個測試用例。每個測試用例均有參數、輸入、輸出。在完成EXI編解碼后,根據測試標準比對輸出的結果。測試用例的數據結構見表5。

4.3" 測試流程

測試的執行,按照預先定義的測試用例依次進行。測試流程如圖5所示。

1)初始化。在該階段,對測試過程中需要使用的變量及流緩存進行初始化,完成變量初始值分配,清空輸出緩存中的數據。

2)類型判斷。在該階段,對測試用例的類型進行判斷,當測試類型為編碼時,使用編碼函數;當測試類型為解碼時,使用解碼函數。

3)編解碼。編碼時,對inputDoc中定義的標準結構進行編碼,生成outputString字符串用以表示編碼輸出。解碼時,對inputString中定義的標準EXI內容進行解碼,生成outputDoc結構,用以表示解碼輸出。

4)結果輸出。對編解碼結構采用不同的判斷方式,與標準輸入進行判斷,當與標準一致,則說明編解碼正確。

4.4" 判斷方法設計

1)EXI編碼的判斷方法。輸出的outputString中,以字符串的形式表示了編碼后的結果。通過將其與inputString中的EXI輸入內容進行字符串比對,可確認EXI編碼操作的正確性。

2)EXI解碼的判斷方法。輸出的outputDoc中,以結構的形式表示了解碼后的數據結構。通過將其與inputDoc中的標準結構內容進行內存比對,可確認EXI解碼操作的正確性。

4.5" 測試實例

以PowerDeliveryReq消息為例,在上位機進行測試時,分為編碼測試及解碼測試。

1)編碼測試用例。將表4中的JSON結構轉為struct類型的inputDoc結構,以此作為待編碼的數據結構進行編碼。編碼后,將輸出的outputString與輸入的inputString進行字符串自動比對,測試編碼的正確性。

2)解碼測試用例。將表4中的EXI字符串作為inputString,以此作為待解碼的數據進行解碼。解碼后,將輸出的outputDoc與輸入的inputDoc結構進行內存比對,測試解碼的正確性。測試結果如圖6所示,可見編解碼后的內容與預期的標準一致,編解碼設計成功。

5" 結語

在歐標電動汽車充電的報文交互中,采用EXI編解碼技術,極大縮小了通信交互中傳輸的報文長度,使傳輸效率得到了提升,尤其適合有限的傳輸信道。EXI的編解碼技術采用XSD解析器,完成了對通信標準中制定的元素層級結構及事件碼的解析。解析后,根據文檔層級結構采用遞歸策略,依次對層級結構中的復雜元素展開深入,最小化為簡單結構。通過完成簡單結構的編解碼,實現對整個消息的編解碼,最終通過測試用例驗證。

參考文獻

[1] ISO 15118-20:2022,Road vehicles—Vehicle to grid communication interface-Part 20:2nd generation network layer and application layer requirements[S].

[2] 何錫祺,陶文偉,莫宇,等.基于EXI的配網信息模型交換格式研究[J].電力系統保護與控制,2018,46(16):135-140.

[3] 周游,陸安江.XML與對象關系模型之間的轉換[J].通信技術,2019,52(6):1541-1548.

[4] 劉洋.基于數據交換技術的信息集成平臺開發[J].信息技術與信息化,2021(12):133-135.

主站蜘蛛池模板: 国产AV无码专区亚洲精品网站| 国产欧美日韩精品综合在线| 永久天堂网Av| 18禁黄无遮挡网站| 亚洲V日韩V无码一区二区| 欧美日韩一区二区在线播放 | 国产色网站| 毛片基地美国正在播放亚洲 | 国产中文一区a级毛片视频| 无码电影在线观看| 色视频国产| 欧美a在线视频| 精品无码日韩国产不卡av| 欧美爱爱网| 综合天天色| 日韩中文精品亚洲第三区| 欧美黄网站免费观看| 一区二区三区在线不卡免费 | 天天躁夜夜躁狠狠躁躁88| 奇米精品一区二区三区在线观看| 欧洲av毛片| 亚洲男人的天堂视频| 2020国产精品视频| 欧美亚洲国产精品第一页| 无码中文字幕精品推荐| 99er这里只有精品| 2019国产在线| 久久综合五月婷婷| 国产午夜一级毛片| 亚洲全网成人资源在线观看| 国产成人高清精品免费5388| 国内精品一区二区在线观看| 日本午夜视频在线观看| 国产高潮流白浆视频| 国产成人一二三| 国产v欧美v日韩v综合精品| 精品福利视频网| 狠狠色成人综合首页| 2021亚洲精品不卡a| 黄色福利在线| 91麻豆精品国产91久久久久| 国产乱子伦无码精品小说| 国产成人在线无码免费视频| 亚洲第一色视频| 国产精品第一区在线观看| 视频国产精品丝袜第一页| 国产波多野结衣中文在线播放 | 国产自产视频一区二区三区| 日本国产在线| 国产亚洲视频免费播放| 欧美中文字幕在线视频| 好吊色国产欧美日韩免费观看| 国产免费人成视频网| 国产菊爆视频在线观看| 午夜精品福利影院| 日本免费a视频| 无遮挡一级毛片呦女视频| 亚洲天堂久久新| 国产chinese男男gay视频网| 无码日韩精品91超碰| 色婷婷在线影院| 国产极品美女在线播放| 国产特级毛片aaaaaaa高清| 国产在线视频二区| 亚洲成人黄色在线| 久久这里只有精品23| 亚洲精品国产自在现线最新| 久久99热这里只有精品免费看 | 午夜免费小视频| 免费无码AV片在线观看国产| 成人小视频在线观看免费| 九九九精品视频| 亚洲欧美日韩动漫| 国产偷倩视频| 国产97色在线| 曰AV在线无码| 午夜精品久久久久久久无码软件| 国产精品女熟高潮视频| 69视频国产| 综合色在线| 亚洲一区国色天香| 在线免费亚洲无码视频|