專利名稱:一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,應(yīng)用于汽車電子技術(shù)領(lǐng)域。
背景技術(shù):
隨著汽車電子技術(shù)的發(fā)展,人們對(duì)汽車安全性能的要求越來越高。越來越多汽車上的電控模塊都是由車載網(wǎng)絡(luò)連接,使得通信系統(tǒng)的復(fù)雜程度變高。FlexRay作為新一代汽車內(nèi)部網(wǎng)絡(luò)的主干網(wǎng)絡(luò),采用基于時(shí)間驅(qū)動(dòng)機(jī)制,具有高帶寬、容錯(cuò)性能好等特點(diǎn),在實(shí)時(shí)性、可靠性和靈活性方面具有一定的優(yōu)勢(shì)。然而現(xiàn)在車用主干控制網(wǎng)絡(luò)仍以CAN總線為主流,同時(shí)并存著LIN總線和MOST總線(用于車載多媒體),因此為了能夠讓FlexRay總線更快的融入到車載控制網(wǎng)絡(luò)中,作為過渡方案,需要設(shè)計(jì)一種基于FlexRay總線的適配器。目前也存在一些FlexRay總線與CAN總線或者LIN總線的協(xié)議轉(zhuǎn)換方法,但是其多為將雙方的數(shù)據(jù)內(nèi)容及相關(guān)ID信息作出解析,進(jìn)行復(fù)雜的處理后再轉(zhuǎn)換成對(duì)方協(xié)議格式內(nèi)容進(jìn)行轉(zhuǎn)發(fā),增加了用于協(xié)議轉(zhuǎn)換的適配器或者網(wǎng)關(guān)的復(fù)雜程度,同時(shí)網(wǎng)關(guān)需要保存雙方完整的協(xié)議內(nèi)容,對(duì)每一次數(shù)據(jù)轉(zhuǎn)發(fā)均需要對(duì)其有效數(shù)據(jù)進(jìn)行解析,而最終網(wǎng)絡(luò)接收節(jié)點(diǎn)同樣要進(jìn)行數(shù)據(jù)解析,無形增加了網(wǎng)絡(luò)的時(shí)延。
發(fā)明內(nèi)容
為了避免以上現(xiàn)有技術(shù)的不足,本發(fā)明提出一種基于首部添加的FlexRay協(xié)議轉(zhuǎn)換方法,用以實(shí)現(xiàn)FlexRay總線與車載CAN總線和LIN總線的協(xié)議轉(zhuǎn)換,達(dá)到雙方數(shù)據(jù)的透明傳輸,避免網(wǎng)關(guān)對(duì)全部有效數(shù)據(jù)的解析過程,降低網(wǎng)絡(luò)時(shí)延。本發(fā)明的技術(shù)方案為—種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其硬件載體為用于FlexRay與 CAN或者LIN總線協(xié)議轉(zhuǎn)換的車用總線適配器,適配器帶有FleXRay、CAN和LIN總線接口, 可以分別與FlexRay、CAN和LIN總線通信,該方法包括CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程和FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程;所述CAN或者LIN 總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程中由車用總線適配器生成模擬首部,并將模擬首部和待轉(zhuǎn)發(fā)的CAN或者LIN總線的有效數(shù)據(jù)封裝在FlexRay數(shù)據(jù)幀的數(shù)據(jù)部分;所述FlexRay 總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程中由車用總線適配器對(duì)FlexRay數(shù)據(jù)幀中已添加好的模擬首部進(jìn)行解析,并將根據(jù)解析結(jié)果將FlexRay數(shù)據(jù)幀中所含的CAN或者LIN總線的有效數(shù)據(jù)提取出來。進(jìn)一步,所述CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程的具體步驟為1. 1車用總線適配器接收CAN或者LIN總線發(fā)來的數(shù)據(jù)幀,根據(jù)當(dāng)前接收得數(shù)據(jù)幀的優(yōu)先級(jí)和時(shí)間選定其中準(zhǔn)備轉(zhuǎn)發(fā)到FlexRay總線的1至10個(gè)CAN數(shù)據(jù)幀或者1至10個(gè) LIN數(shù)據(jù)幀;
1. 2車用總線適配器提取所選定數(shù)據(jù)幀中的有效信息和有效數(shù)據(jù),所述有效信息包括CAN數(shù)據(jù)幀的ID號(hào)、有效數(shù)據(jù)的長(zhǎng)度或者LIN數(shù)據(jù)幀的源地址、目的地址、有效數(shù)據(jù)的長(zhǎng)度;1. 3車用總線適配器根據(jù)步驟1. 2提取的有效信息對(duì)步驟1. 1選定的1至10個(gè) CAN數(shù)據(jù)幀或者1至10個(gè)LIN數(shù)據(jù)幀生成模擬首部;1. 4車用總線適配器將步驟1. 3生成的模擬首部以及步驟1. 2提取的有效數(shù)據(jù)封裝在FlexRay數(shù)據(jù)幀的數(shù)據(jù)部分,生成一幀新的FlexRay數(shù)據(jù)幀;1. 5按照FlexRay總線標(biāo)準(zhǔn),車用總線適配器為步驟1. 4生成的FlexRay數(shù)據(jù)幀分配一個(gè)與現(xiàn)有FlexRay總線上發(fā)送時(shí)隙不重復(fù)的時(shí)隙,并在該時(shí)隙到來時(shí)將步驟1. 4生成的FlexRay數(shù)據(jù)幀采用廣播的方式發(fā)送出去;1. BFlexRay總線上的節(jié)點(diǎn)接收到車用總線適配器發(fā)送的FlexRay數(shù)據(jù)幀后,從其模擬首部中解析出有效信息,并根據(jù)有效信息提取數(shù)據(jù)幀中有效數(shù)據(jù),并按照需求對(duì)有效數(shù)據(jù)進(jìn)行進(jìn)一步的處理。進(jìn)一步,所述FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程的具體步驟為2. IFlexRay總線上的節(jié)點(diǎn)根據(jù)要發(fā)送的目的網(wǎng)絡(luò)、目的節(jié)點(diǎn)和有效數(shù)據(jù)長(zhǎng)度生成模擬首部,并將模擬首部和要發(fā)送的有效數(shù)據(jù)封裝在FlexRay數(shù)據(jù)幀中,在本數(shù)據(jù)幀所屬的發(fā)送時(shí)隙將該數(shù)據(jù)幀發(fā)送出去;2. 2車用總線適配器接收到FlexRay總線上發(fā)來的數(shù)據(jù)幀后,根據(jù)發(fā)送時(shí)隙判斷其是否為需向CAN或者LIN總線轉(zhuǎn)發(fā)的數(shù)據(jù)幀,如果不是則丟棄并結(jié)束本次數(shù)據(jù)轉(zhuǎn)發(fā)過程, 如果是則提取其中的模擬首部并進(jìn)入步驟2. 3 ;2. 3車用總線適配器對(duì)步驟2. 2提取的模擬首部進(jìn)行解析,根據(jù)模擬首部的格式提取其中的有效信息和有效數(shù)據(jù),所述有效信息包括CAN數(shù)據(jù)幀的ID號(hào)、有效數(shù)據(jù)的長(zhǎng)度或者LIN數(shù)據(jù)幀的源地址、目的地址、有效數(shù)據(jù)的長(zhǎng)度;2. 4車用總線適配器的應(yīng)用層根據(jù)步驟2. 3所提取的有效信息,將有效數(shù)據(jù)按照 CAN或者LIN總線標(biāo)準(zhǔn)生成新的CAN或者LIN總線數(shù)據(jù)幀;2. 5車用總線適配器將步驟2. 4生成的CAN或者LIN總線數(shù)據(jù)幀發(fā)送到CAN或者 LIN總線上;2. 6CAN或者LIN總線接收到車用總線適配器發(fā)送的數(shù)據(jù)幀后,按照各自總線的標(biāo)準(zhǔn)對(duì)數(shù)據(jù)幀進(jìn)行處理。進(jìn)一步,所述CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程和所述FlexRay 總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程中的模擬首部均設(shè)計(jì)為采用5字節(jié)對(duì)齊的方式, 分為固定部分和可變部分,其中固定部分長(zhǎng)度為5個(gè)字節(jié),可變部分長(zhǎng)度為5N個(gè)字節(jié),N 為FlexRay數(shù)據(jù)幀中所含CAN或者LIN總線的數(shù)據(jù)幀數(shù)量且1 < N < 10 ;固定部分位于 FlexRay數(shù)據(jù)幀的首部之后,可變部分位于固定部分之后,F(xiàn)lexRay數(shù)據(jù)幀的尾部位于可變部分之后。進(jìn)一步,所述模擬首部中5個(gè)字節(jié)的固定部分包括6個(gè)字段,按先后順序分別為 第0-2位為網(wǎng)絡(luò)標(biāo)識(shí)符,代表與FlexRay通信的網(wǎng)絡(luò)類型;第3-7位為對(duì)應(yīng)FlexRay幀中所帶CAN或者LIN總線數(shù)據(jù)幀的數(shù)量;第8-15位為模擬首部長(zhǎng)度,表示整個(gè)模擬首部所占用的字節(jié)數(shù);第16-23位為數(shù)據(jù)總長(zhǎng)度,表示FlexRay數(shù)據(jù)幀中模擬首部和有效數(shù)據(jù)總長(zhǎng);第24-31位為預(yù)留字段,以便后期功能擴(kuò)展;第32-39位為首部校驗(yàn)字段,用于實(shí)現(xiàn)對(duì)模擬首部的差錯(cuò)校驗(yàn)。進(jìn)一步,F(xiàn)lexRay與CAN總線進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),模擬首部的可變部分包括兩類字段IDn和Pn,其順序?yàn)镮D1J1JDyP2……IDn、Pn……IDN、PN,其中η為FlexRay數(shù)據(jù)幀中所含每個(gè)CAN數(shù)據(jù)幀的序號(hào)且1 < η < 10,N為FlexRay數(shù)據(jù)幀中所含CAN總線的數(shù)據(jù)幀數(shù)量且1彡N彡10,其中的IDn字段占4字節(jié),由32位的CAN總線ID號(hào)構(gòu)成的,可兼容CAN總線的標(biāo)準(zhǔn)幀和擴(kuò)展幀,通過對(duì)ID字段的解析推斷出當(dāng)前幀格式為標(biāo)準(zhǔn)幀還是擴(kuò)展幀,并獲得當(dāng)前幀在CAN總線中的ID號(hào);Pn占8位,表示每個(gè)CAN數(shù)據(jù)幀的偏移量,以字節(jié)為單位, 該偏移量是指每個(gè)CAN數(shù)據(jù)幀有效數(shù)據(jù)的第一個(gè)字節(jié)在整個(gè)FlexRay數(shù)據(jù)部分中的字節(jié)序號(hào)。進(jìn)一步,如果與FlexRay總線通信的網(wǎng)絡(luò)為L(zhǎng)IN總線,模擬首部的可變部分包括五
類字段IDn、LENn, SAn, DAn 和 Pn,其順序?yàn)?ID” LEN1、SA1、DA” P” ID2、LEN2、SA2、DA2、P2......
IDn、LENn、SAn、DAn、Pn……IDn、LENn、SAN、DAN、PN,其中 η 為 Flexfeiy 數(shù)據(jù)幀中所含每個(gè) LIN 數(shù)據(jù)幀的序號(hào)且1彡η彡10,Ν為FlexRay數(shù)據(jù)幀中所含LIN總線的數(shù)據(jù)幀數(shù)量且1彡N彡10, 其中IDn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的標(biāo)識(shí)符且IDn占1個(gè)字節(jié),LENn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的幀長(zhǎng)度且LENn占1個(gè)字節(jié),SAn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的源地址且SAn占1個(gè)字節(jié), DAn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的目的地址且DAn占1個(gè)字節(jié),Pn占1個(gè)字節(jié)且為Pn對(duì)應(yīng)第η 個(gè)LIN數(shù)據(jù)幀的幀首字節(jié)偏移量,該偏移量以字節(jié)為單位,是指每個(gè)LIN數(shù)據(jù)幀有效數(shù)據(jù)的第一個(gè)字節(jié)在整個(gè)FlexRay數(shù)據(jù)部分中的字節(jié)序號(hào)。本發(fā)明的優(yōu)點(diǎn)為本發(fā)明中,應(yīng)用層可以通過模擬首部?jī)?nèi)容可以對(duì)相關(guān)信息直接解析,或者通過收到CAN或LIN總線的信息直接生成模擬首部,不需要事先對(duì)適配器本身進(jìn)行配置,即可同時(shí)實(shí)現(xiàn)多個(gè)網(wǎng)絡(luò)的互聯(lián)。本發(fā)明采用隧道技術(shù)實(shí)現(xiàn)了數(shù)據(jù)的透明傳輸,例如在應(yīng)用于FlexRay與CAN通信時(shí),將CAN總線的4字節(jié)的ID內(nèi)容直接封裝在模擬首部中,不需要對(duì)其內(nèi)容進(jìn)行判斷;也不需要像其他適配器或網(wǎng)關(guān)要對(duì)具體雙方有效數(shù)據(jù)進(jìn)行解析后另行封裝,而是直接將數(shù)據(jù)字節(jié)在最終幀接收節(jié)點(diǎn)再進(jìn)行解析。
圖1 本發(fā)明基于首部添加的FlexRay協(xié)議轉(zhuǎn)換方法網(wǎng)關(guān)中的協(xié)議層次結(jié)構(gòu)及轉(zhuǎn)換流程圖;圖2 =FlexRay總線的數(shù)據(jù)幀格式;圖3 =CAN總線的數(shù)據(jù)幀格式;圖4 =LIN總線的數(shù)據(jù)幀格式;圖5 適配器的結(jié)構(gòu)示意圖;圖6 本發(fā)明實(shí)施例網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖;圖7 模擬首部和有效數(shù)據(jù)部分在整個(gè)FlexRay數(shù)據(jù)幀中的位置;圖8 =FlexRay總線與CAN總線通信時(shí)模擬首部和有效數(shù)據(jù)部分;圖9 =FlexRay總線與LIN總線通信時(shí)模擬首部和有效數(shù)據(jù)部分;
圖10 本發(fā)明應(yīng)用在混合動(dòng)力客車上的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖;圖11 應(yīng)用在混合動(dòng)力客車上電機(jī)信號(hào)在FlexRay總線中的整體幀格式圖。
具體實(shí)施例方式本發(fā)明設(shè)計(jì)原理和思路如下模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其硬件載體為用于FlexRay與CAN或者 LIN總線協(xié)議轉(zhuǎn)換的車用總線適配器,適配器帶有FleXRay、CAN和LIN總線接口,可以分別與FlexRay、CAN和LIN總線通信。以FlexRay和CAN總線為例來進(jìn)行分析。兩者均為現(xiàn)場(chǎng)總線,相對(duì)于標(biāo)準(zhǔn)IS0/0SI 的7層協(xié)議較為簡(jiǎn)單,自下向上依次包括物理層、數(shù)據(jù)鏈路層、表示層(CAN協(xié)議中稱為目標(biāo)層)和應(yīng)用層。由于應(yīng)用層之外的其他協(xié)議層均已被固化到網(wǎng)絡(luò)控制器中,本文的方案只對(duì)協(xié)議的應(yīng)用層進(jìn)行設(shè)計(jì)與改造。本文中的適配器用于FlexRay總線與其他總線通信過程中的協(xié)議轉(zhuǎn)換,設(shè)計(jì)思路是在應(yīng)用層將CAN或者LIN總線上的1個(gè)或多個(gè)數(shù)據(jù)幀整合后與FlexRay總線上的1個(gè)數(shù)據(jù)幀對(duì)應(yīng),CAN和LIN總線的有效數(shù)據(jù)全部封裝在FlexRay總線的數(shù)據(jù)部分,為了能夠?qū)⑵浣馕龀鰜?,添加了模擬首部,占用了 FlexRay數(shù)據(jù)幀中的部分?jǐn)?shù)據(jù)字節(jié)。CAN或LIN總線向FlexRay發(fā)送數(shù)據(jù)時(shí),在應(yīng)用層進(jìn)行模擬首部的添加;而相反方向即當(dāng)FlexRay向CAN或 LIN總線發(fā)送數(shù)據(jù)時(shí),此時(shí)FlexRay幀中數(shù)據(jù)部分已經(jīng)提前加入了模擬首部,適配器需要對(duì)首部?jī)?nèi)容進(jìn)行解析,并將解析后的結(jié)果發(fā)送到對(duì)應(yīng)的總線上。以FlexRay和CAN總線通信為例,網(wǎng)關(guān)中的協(xié)議層次結(jié)構(gòu)如圖1所示,其中虛線表示數(shù)據(jù)流程。LIN協(xié)議的結(jié)構(gòu)與CAN總線也基本類似,均可以按照?qǐng)D1中CAN總線的方式實(shí)現(xiàn)與 FlexRay的通信。鑒于上述的基本思路,最重要的就是要保證FlexRay總線能夠有足夠的數(shù)據(jù)場(chǎng)來保證所增加模擬首部的開銷。FleXRay、CAN、LIN總線的數(shù)據(jù)幀格式分別如圖2、圖3和圖4 所示,其中FlexRay數(shù)據(jù)場(chǎng)為0-2M字節(jié),其數(shù)據(jù)場(chǎng)前面部分可稱為FlexRay首部,后面部分可稱為FlexRay尾部,CAN的數(shù)據(jù)場(chǎng)為0_8字節(jié),LIN的數(shù)據(jù)場(chǎng)為2、4或8個(gè)字節(jié)。上述幀格式中,需要進(jìn)行轉(zhuǎn)換的主體為數(shù)據(jù)場(chǎng)部分、源地址、目的地址以及相關(guān)幀標(biāo)識(shí),在經(jīng)過適配器之后僅需提取其中的關(guān)鍵信息比如數(shù)據(jù)長(zhǎng)度等加入到模擬首部中,其余的幀信息比如校驗(yàn)信息和同步信息等不屬于應(yīng)用層的服務(wù)內(nèi)容且僅在自己的網(wǎng)絡(luò)內(nèi)部通信時(shí)起作用。而FlexRay的數(shù)據(jù)場(chǎng)最大長(zhǎng)度可達(dá)2M字節(jié),是數(shù)倍于CAN和LIN總線的,因此一個(gè)FlexRay幀在添加模擬首部后仍可以兼容多個(gè)CAN或LIN幀,完全可以滿足現(xiàn)場(chǎng)應(yīng)用的需要。根據(jù)本文添加模擬首部的思路可知,其他網(wǎng)絡(luò)發(fā)給FlexRay的數(shù)據(jù)幀都需要在本適配器應(yīng)用層解析后加上模擬首部后再行轉(zhuǎn)發(fā),而FlexRay中欲發(fā)送給其他網(wǎng)絡(luò)的數(shù)據(jù)幀也必須在源節(jié)點(diǎn)產(chǎn)生數(shù)據(jù)幀的同時(shí)產(chǎn)生模擬首部,以備本適配器在向其他網(wǎng)絡(luò)轉(zhuǎn)發(fā)時(shí)進(jìn)行解析。本發(fā)明的這種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其硬件載體為用于 FlexRay與CAN或者LIN總線協(xié)議轉(zhuǎn)換的車用總線適配器,適配器用于連接FlexRay總線和CAN總線或者LIN總線,適配器的結(jié)構(gòu)示意圖如圖5所示,主控制器采用了的MC9S12XF512芯片,芯片本身集成了 FlexRay控制器、CAN控制器以及RS232控制器,使得設(shè)計(jì)比較簡(jiǎn)單,TJA1080、TJA1020和82C250分別作為Flexfeiy、LIN和CAN總線的收發(fā)器, 對(duì)內(nèi)與主控制器連接,對(duì)外與網(wǎng)絡(luò)對(duì)應(yīng)總線連接,其中FlexRay采用了雙路冗余的方式。
本發(fā)明的這種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其具體過程可分為兩個(gè)部分一為CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程,在此過程中需要在車用總線適配器的應(yīng)用層添加模擬首部,并將1至10個(gè)CAN或者LIN的數(shù)據(jù)幀封裝在FlexRay數(shù)據(jù)幀中進(jìn)行轉(zhuǎn)發(fā);另一為FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程,在此過程中需要在車用總線適配器的應(yīng)用層對(duì)模擬首部進(jìn)行解析,并將FlexRay數(shù)據(jù)幀中所含的1至10 個(gè)CAN或者LIN的數(shù)據(jù)幀提取出來;上述兩種數(shù)據(jù)轉(zhuǎn)發(fā)過程中添加模擬首部或者對(duì)模擬首部進(jìn)行解析的過程均在車用總線適配器的應(yīng)用層實(shí)現(xiàn);上述FlexRay總線采用時(shí)分復(fù)用的工作方式; 上述FlexRay數(shù)據(jù)幀所含的CAN或者LIN的數(shù)據(jù)幀的數(shù)量也可以不限于10個(gè),理論上最大可以包含19個(gè),但是為了使FlexRay數(shù)據(jù)幀不至于過大,將其數(shù)量最大值限定為 10個(gè)。CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程的具體步驟為1. 1車用總線適配器接收CAN或者LIN總線發(fā)來的數(shù)據(jù)幀,根據(jù)當(dāng)前接收得數(shù)據(jù)幀的優(yōu)先級(jí)和時(shí)間選定其中準(zhǔn)備轉(zhuǎn)發(fā)到FlexRay總線的1至10個(gè)CAN數(shù)據(jù)幀或者1至10個(gè) LIN數(shù)據(jù)幀;1. 2車用總線適配器在其應(yīng)用層提取所選定數(shù)據(jù)幀中的有效信息和有效數(shù)據(jù),所述有效信息包括CAN數(shù)據(jù)幀的ID號(hào)、有效數(shù)據(jù)的長(zhǎng)度或者LIN數(shù)據(jù)幀的源地址、目的地址、 有效數(shù)據(jù)的長(zhǎng)度;1. 3車用總線適配器根據(jù)步驟1. 2提取的有效信息對(duì)步驟1. 1選定的1至10個(gè) CAN數(shù)據(jù)幀或者1至10個(gè)LIN數(shù)據(jù)幀生成模擬首部;1. 4車用總線適配器將步驟1. 3生成的模擬首部以及步驟1. 2提取的有效數(shù)據(jù)封裝在FlexRay數(shù)據(jù)幀的數(shù)據(jù)部分,生成一幀新的FlexRay數(shù)據(jù)幀;1. 5按照FlexRay總線標(biāo)準(zhǔn),車用總線適配器為步驟1. 4生成的FlexRay數(shù)據(jù)幀分配一個(gè)與現(xiàn)有FlexRay總線上發(fā)送時(shí)隙不重復(fù)的時(shí)隙,并在該時(shí)隙到來時(shí)將步驟1. 4生成的FlexRay數(shù)據(jù)幀采用廣播的方式發(fā)送出去;1. BFlexRay總線上的節(jié)點(diǎn)接收到車用總線適配器發(fā)送的FlexRay數(shù)據(jù)幀后,從其模擬首部中解析出有效信息,并根據(jù)有效信息提取數(shù)據(jù)幀中有效數(shù)據(jù),并按照需求對(duì)有效數(shù)據(jù)進(jìn)行進(jìn)一步的處理。FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程的具體步驟為2. IFlexRay總線上的節(jié)點(diǎn)根據(jù)要發(fā)送的目的網(wǎng)絡(luò)、目的節(jié)點(diǎn)、和有效數(shù)據(jù)長(zhǎng)度生成模擬首部,并將模擬首部和要發(fā)送的有效數(shù)據(jù)封裝在FlexRay數(shù)據(jù)幀中,在本數(shù)據(jù)幀所屬的發(fā)送時(shí)隙將該數(shù)據(jù)幀發(fā)送出去;2. 2車用總線適配器接收到FlexRay總線上發(fā)來的數(shù)據(jù)幀后,根據(jù)發(fā)送時(shí)隙判斷其是否為需向CAN或者LIN總線轉(zhuǎn)發(fā)的數(shù)據(jù)幀,如果不是則丟棄并結(jié)束本次數(shù)據(jù)轉(zhuǎn)發(fā)過程, 如果是則提取其中的模擬首部并進(jìn)入步驟2. 3 ;
2. 3車用總線適配器對(duì)步驟2. 2提取的模擬首部進(jìn)行解析,根據(jù)模擬首部的格式提取其中的有效信息和有效數(shù)據(jù),所述有效信息包括CAN數(shù)據(jù)幀的ID號(hào)、有效數(shù)據(jù)的長(zhǎng)度或者LIN數(shù)據(jù)幀的源地址、目的地址、有效數(shù)據(jù)的長(zhǎng)度;2. 4車用總線適配器的應(yīng)用層根據(jù)步驟2. 3所提取的有效信息,將有效數(shù)據(jù)按照 CAN或者LIN總線標(biāo)準(zhǔn)生成新的CAN或者LIN總線數(shù)據(jù)幀;2. 5車用總線適配器將步驟2. 4生成的CAN或者LIN總線數(shù)據(jù)幀發(fā)送到CAN或者 LIN總線上;2. 6CAN或者LIN總線接收到車用總線適配器發(fā)送的數(shù)據(jù)幀后,按照各自總線的標(biāo)準(zhǔn)對(duì)數(shù)據(jù)幀進(jìn)行處理。上述步驟中的模擬首部均設(shè)計(jì)為采用5字節(jié)對(duì)齊的方式,分為固定部分和可變部分,其中固定部分長(zhǎng)度為5個(gè)字節(jié),可變部分長(zhǎng)度為5N個(gè)字節(jié),N為FlexRay數(shù)據(jù)幀中所含 CAN或者LIN總線的數(shù)據(jù)幀數(shù)量且1 < N < 10,固定部分位于FlexRay數(shù)據(jù)幀的首部之后, 可變部分位于固定部分之后,F(xiàn)lexRay數(shù)據(jù)幀的尾部位于可變部分之后。模擬首部及有效數(shù)據(jù)部分具體格式如圖6所示。由圖6可見,首部中固定部分包括6個(gè)字段,其中A為網(wǎng)絡(luò)標(biāo)識(shí)符,占3位,其標(biāo)號(hào)代表與FlexRay通信的網(wǎng)絡(luò)類型,例如CAN總線為2,LIN總線為3,因此可識(shí)別8種不同類型的網(wǎng)絡(luò);B為對(duì)應(yīng)FlexRay幀中所帶對(duì)方網(wǎng)絡(luò)數(shù)據(jù)幀的數(shù)量,占5位,即最多可以帶32組數(shù)據(jù)幀;C為首部總長(zhǎng)度,占8位,表示整個(gè)模擬首部的長(zhǎng)度;D為數(shù)據(jù)幀總長(zhǎng)度,占8位,表示FlexRay幀中模擬首部和有效數(shù)據(jù)總長(zhǎng);E為預(yù)留字節(jié),占8位,以便后期功能擴(kuò)展;F為首部校驗(yàn)和,占8位,用于實(shí)現(xiàn)對(duì)模擬首部的差錯(cuò)校驗(yàn)。上述模擬首部和有效數(shù)據(jù)部分在整個(gè)FlexRay數(shù)據(jù)幀中的位置如圖7所示。上述模擬首部中的可變部分根據(jù)與FlexRay總線通信的網(wǎng)絡(luò)類型而不同如果與FlexRay總線通信的網(wǎng)絡(luò)為CAN總線,模擬首部的可變部分包括兩類字段 IDn和Pn,其順序?yàn)镮D” P” ID2、P2……IDn, Pn……IDn, PN,其中η為Flexfeiy數(shù)據(jù)幀中所含每個(gè)CAN數(shù)據(jù)幀的序號(hào)且1 < η < 10,N為FlexRay數(shù)據(jù)幀中所含CAN總線的數(shù)據(jù)幀數(shù)量且1彡N彡10,其中的IDn字段是由的4字節(jié)(32位)的CAN總線ID號(hào)構(gòu)成的,可兼容CAN 總線的標(biāo)準(zhǔn)幀和擴(kuò)展幀,通過對(duì)ID字段的解析可推斷出當(dāng)前幀格式為標(biāo)準(zhǔn)幀還是擴(kuò)展幀, 并獲得當(dāng)前幀在CAN總線中的ID號(hào);Pn占8位,表示每個(gè)CAN數(shù)據(jù)幀的偏移量,以字節(jié)為單位,該偏移量是指每個(gè)CAN數(shù)據(jù)幀有效數(shù)據(jù)的第一個(gè)字節(jié)在整個(gè)FlexRay數(shù)據(jù)部分中的字節(jié)序號(hào);模擬首部的可變部分后面為有效數(shù)據(jù)部分,F(xiàn)lexRay所帶的第i個(gè)CAN數(shù)據(jù)幀的起始字節(jié)和終止字節(jié)按照第i個(gè)數(shù)據(jù)幀對(duì)應(yīng)的偏移量Pi和第i+Ι個(gè)數(shù)據(jù)幀對(duì)應(yīng)的偏移量Pi+1 來計(jì)算得出。其模擬首部和有效數(shù)據(jù)部分如圖8所示。如果與FlexRay總線通信的網(wǎng)絡(luò)為L(zhǎng)IN總線,模擬首部的可變部分包括五類字段
IDn, LENn, SAn, DAn 和 Pn,其順序?yàn)?ID” LEN1, SA1, DA1, P1, ID2, LEN2, SA2, DA2, P2......IDn,
LENn, SAn、DAn、Pn……IDn, LENn, SAn, DAn, Pn,其中 η 為 FlexRay 數(shù)據(jù)幀中所含每個(gè) LIN 數(shù)據(jù)幀的序號(hào)且1彡η彡10,N為FlexRay數(shù)據(jù)幀中所含LIN總線的數(shù)據(jù)幀數(shù)量且1≤N≤10, 其中IDn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的標(biāo)識(shí)符且IDn占1個(gè)字節(jié),LENn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的幀長(zhǎng)度且LENn占1個(gè)字節(jié),SAn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的源地址且SAn占1個(gè)字節(jié),DAn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的目的地址且DAn占1個(gè)字節(jié),Pn占1個(gè)字節(jié)且為Pn對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的幀首字節(jié)偏移量,該偏移量以字節(jié)為單位,是指每個(gè)LIN數(shù)據(jù)幀有效數(shù)據(jù)的第一個(gè)字節(jié)在整個(gè)FlexRay數(shù)據(jù)部分中的字節(jié)序號(hào);模擬首部的可變部分后面為有效數(shù)據(jù)部分,F(xiàn)lexRay所帶的第i個(gè)LIN數(shù)據(jù)幀的起始字節(jié)和終止字節(jié)按照第i個(gè)數(shù)據(jù)幀對(duì)應(yīng)的偏移量Pi和第i+Ι個(gè)數(shù)據(jù)幀對(duì)應(yīng)的偏移量Pw來計(jì)算得出。其模擬首部和有效數(shù)據(jù)部分如圖9所示。下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步說明。在混合動(dòng)力客車上利用本發(fā)明這種方法進(jìn)行小規(guī)模組網(wǎng)試驗(yàn)已驗(yàn)證其功能,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖10所示。其中整車控制器作為整個(gè)組網(wǎng)的核心,采用本發(fā)明的硬件載體一車用總線適配器來實(shí)現(xiàn),電機(jī)、電池通過FlexRay總線連接到整車控制器上,發(fā)動(dòng)機(jī)、離合器和變速箱通過CAN總線連接到整車控制器上,加速度傳感器和車速傳感器通過LIN總線掛接到整車控制器上。以其中電機(jī)節(jié)點(diǎn)的一幀數(shù)據(jù)經(jīng)過整車控制器發(fā)送至CAN總線為例來說明FlexRay 總線和CAN總線的協(xié)議轉(zhuǎn)換過程,電機(jī)信號(hào)在FlexRay總線中的整體幀格式需要設(shè)計(jì)如圖 11所示,其中僅為了說明模擬首部的作用,沒有具體給出FlexRay幀中首部和尾部。當(dāng)整車控制器收到圖中數(shù)據(jù)幀后,提取如圖11所示FlexRay幀中的數(shù)據(jù)部分,可得到模擬首部和有效數(shù)據(jù)部分,其中模擬首部中字段A為2,則判斷為發(fā)往CAN總線的幀; 字段B為3則判斷其中有3個(gè)完整的CAN數(shù)據(jù)幀;根據(jù)字段ID1可判斷其第1幀的ID為 OxlSFEBFOB,為擴(kuò)展幀,根據(jù)Pl字段的0x14和P2字段的OxlC推斷出從第20字節(jié)開始 (定義模擬首部首字節(jié)為0字節(jié)),第27字節(jié)結(jié)束;根據(jù)字段1 可判斷其第2幀的ID為 0xl8FED9EF,為擴(kuò)展幀,根據(jù)P2字段的OxlC和P3字段的OxM推斷出從第觀字節(jié)開始,第 35字節(jié)結(jié)束;根據(jù)字段ID3可判斷其第3幀的ID為0xl8F00F52,為擴(kuò)展幀,根據(jù)P3字段的 0x24和D字段的0x2C推斷出從第36字節(jié)開始,第43字節(jié)結(jié)束。根據(jù)上述內(nèi)容可解析出3 個(gè)CAN總線數(shù)據(jù)幀的所有信息,然后將其按照CAN總線的格式以廣播方式發(fā)送到CAN總線上即可。從CAN總線經(jīng)過整車控制器向FlexRay總線發(fā)送數(shù)據(jù)則為上述解析過程的一個(gè)逆向組合過程。以加速度傳感器和車速傳感器的數(shù)據(jù)經(jīng)過整車控制器發(fā)送給FlexRay總線上為例來說明FlexRay總線和LIN總線的通信過程。當(dāng)整車控制器收到加速度傳感器和車速傳感器通過LIN總線各發(fā)來的1幀數(shù)據(jù)后,棄掉其中的同步間隔、同步字段,根據(jù)標(biāo)識(shí)符字段提取出各自的標(biāo)識(shí)符和數(shù)據(jù)長(zhǎng)度,根據(jù)數(shù)據(jù)字段提取出其源節(jié)點(diǎn)、目的節(jié)點(diǎn)和有效數(shù)據(jù)。將該2幀數(shù)據(jù)組合成1幀F(xiàn)lexRay數(shù)據(jù),僅需計(jì)算一下每個(gè)幀的偏移量即可。以上對(duì)本發(fā)明所提供的一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其硬件載體為用于FlexRay與 CAN或者LIN總線協(xié)議轉(zhuǎn)換的車用總線適配器,適配器帶有FleXRay、CAN和LIN總線接口, 可以分別與FlexRay、CAN和LIN總線通信,其特征在于,該方法包括CAN或者LIN總線向 FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程和FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程;所述 CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程中由車用總線適配器生成模擬首部,并將模擬首部和待轉(zhuǎn)發(fā)的CAN或者LIN總線的有效數(shù)據(jù)封裝在FlexRay數(shù)據(jù)幀的數(shù)據(jù)部分;所述FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程中由車用總線適配器對(duì)FlexRay數(shù)據(jù)幀中已添加好的模擬首部進(jìn)行解析,并將根據(jù)解析結(jié)果將FlexRay數(shù)據(jù)幀中所含的CAN或者LIN總線的有效數(shù)據(jù)提取出來。
2.根據(jù)權(quán)利要求1所述的一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其特征在于,所述CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程的具體步驟為1. 1車用總線適配器接收CAN或者LIN總線發(fā)來的數(shù)據(jù)幀,根據(jù)當(dāng)前接收得數(shù)據(jù)幀的優(yōu)先級(jí)和時(shí)間選定其中準(zhǔn)備轉(zhuǎn)發(fā)到FlexRay總線的1至10個(gè)CAN數(shù)據(jù)幀或者1至10個(gè)LIN 數(shù)據(jù)幀;1. 2車用總線適配器提取所選定數(shù)據(jù)幀中的有效信息和有效數(shù)據(jù),所述有效信息包括 CAN數(shù)據(jù)幀的ID號(hào)、有效數(shù)據(jù)的長(zhǎng)度或者LIN數(shù)據(jù)幀的源地址、目的地址、有效數(shù)據(jù)的長(zhǎng)度;1. 3車用總線適配器根據(jù)步驟1. 2提取的有效信息對(duì)步驟1. 1選定的1至10個(gè)CAN數(shù)據(jù)幀或者1至10個(gè)LIN數(shù)據(jù)幀生成模擬首部;1. 4車用總線適配器將步驟1. 3生成的模擬首部以及步驟1. 2提取的有效數(shù)據(jù)封裝在 FlexRay數(shù)據(jù)幀的數(shù)據(jù)部分,生成一幀新的FlexRay數(shù)據(jù)幀;1. 5按照FlexRay總線標(biāo)準(zhǔn),車用總線適配器為步驟1. 4生成的FlexRay數(shù)據(jù)幀分配一個(gè)與現(xiàn)有FlexRay總線上發(fā)送時(shí)隙不重復(fù)的時(shí)隙,并在該時(shí)隙到來時(shí)將步驟1. 4生成的 FlexRay數(shù)據(jù)幀采用廣播的方式發(fā)送出去;1.BFlexRay總線上的節(jié)點(diǎn)接收到車用總線適配器發(fā)送的FlexRay數(shù)據(jù)幀后,從其模擬首部中解析出有效信息,并根據(jù)有效信息提取數(shù)據(jù)幀中有效數(shù)據(jù),并按照需求對(duì)有效數(shù)據(jù)進(jìn)行進(jìn)一步的處理。
3.根據(jù)權(quán)利要求1所述的一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其特征在于,所述FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程的具體步驟為4.IFlexRay總線上的節(jié)點(diǎn)根據(jù)要發(fā)送的目的網(wǎng)絡(luò)、目的節(jié)點(diǎn)和有效數(shù)據(jù)長(zhǎng)度生成模擬首部,并將模擬首部和要發(fā)送的有效數(shù)據(jù)封裝在FlexRay數(shù)據(jù)幀中,在本數(shù)據(jù)幀所屬的發(fā)送時(shí)隙將該數(shù)據(jù)幀發(fā)送出去;4. 2車用總線適配器接收到FlexRay總線上發(fā)來的數(shù)據(jù)幀后,根據(jù)發(fā)送時(shí)隙判斷其是否為需向CAN或者LIN總線轉(zhuǎn)發(fā)的數(shù)據(jù)幀,如果不是則丟棄并結(jié)束本次數(shù)據(jù)轉(zhuǎn)發(fā)過程,如果是則提取其中的模擬首部并進(jìn)入步驟2. 3 ;4. 3車用總線適配器對(duì)步驟2. 2提取的模擬首部進(jìn)行解析,根據(jù)模擬首部的格式提取其中的有效信息和有效數(shù)據(jù),所述有效信息包括CAN數(shù)據(jù)幀的ID號(hào)、有效數(shù)據(jù)的長(zhǎng)度或者LIN數(shù)據(jù)幀的源地址、目的地址、有效數(shù)據(jù)的長(zhǎng)度;\2. 4車用總線適配器的應(yīng)用層根據(jù)步驟2. 3所提取的有效信息,將有效數(shù)據(jù)按照CAN或者LIN總線標(biāo)準(zhǔn)生成新的CAN或者LIN總線數(shù)據(jù)幀;\2. 5車用總線適配器將步驟2. 4生成的CAN或者LIN總線數(shù)據(jù)幀發(fā)送到CAN或者LIN 總線上;\2. 6CAN或者LIN總線接收到車用總線適配器發(fā)送的數(shù)據(jù)幀后,按照各自總線的標(biāo)準(zhǔn)對(duì)數(shù)據(jù)幀進(jìn)行處理。
4.根據(jù)權(quán)利要求2或3所述的一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其特征在于,所述CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程和所述FlexRay總線向CAN 或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程中的模擬首部均設(shè)計(jì)為采用5字節(jié)對(duì)齊的方式,分為固定部分和可變部分,其中固定部分長(zhǎng)度為5個(gè)字節(jié),可變部分長(zhǎng)度為5N個(gè)字節(jié),N為FlexRay數(shù)據(jù)幀中所含CAN或者LIN總線的數(shù)據(jù)幀數(shù)量且1 < N < 10 ;固定部分位于FlexRay數(shù)據(jù)幀的首部之后,可變部分位于固定部分之后,F(xiàn)lexRay數(shù)據(jù)幀的尾部位于可變部分之后。
5.根據(jù)權(quán)利要求4所述的一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其特征在于,所述模擬首部中5個(gè)字節(jié)的固定部分包括6個(gè)字段,按先后順序分別為第0-2位為網(wǎng)絡(luò)標(biāo)識(shí)符,代表與FlexRay通信的網(wǎng)絡(luò)類型;第3-7位為對(duì)應(yīng)FlexRay幀中所帶CAN或者 LIN總線數(shù)據(jù)幀的數(shù)量;第8-15位為模擬首部長(zhǎng)度,表示整個(gè)模擬首部所占用的字節(jié)數(shù);第 16-23位為數(shù)據(jù)總長(zhǎng)度,表示FlexRay數(shù)據(jù)幀中模擬首部和有效數(shù)據(jù)總長(zhǎng);第位為預(yù)留字段,以便后期功能擴(kuò)展;第32-39位為首部校驗(yàn)字段,用于實(shí)現(xiàn)對(duì)模擬首部的差錯(cuò)校驗(yàn)。
6.根據(jù)權(quán)利要求4所述的一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其特征在于,F(xiàn)lexRay與CAN總線進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),模擬首部的可變部分包括兩類字段10 和Pn,其順序?yàn)镮DpP1JDyP2……IDn、Pn……IDN、IV其中η為HexRay數(shù)據(jù)幀中所含每個(gè)CAN數(shù)據(jù)幀的序號(hào)且1彡η彡10,N為FlexRay數(shù)據(jù)幀中所含CAN總線的數(shù)據(jù)幀數(shù)量且1彡N彡10, 其中的IDn字段占4字節(jié),由32位的CAN總線ID號(hào)構(gòu)成的,可兼容CAN總線的標(biāo)準(zhǔn)幀和擴(kuò)展幀,通過對(duì)ID字段的解析推斷出當(dāng)前幀格式為標(biāo)準(zhǔn)幀還是擴(kuò)展幀,并獲得當(dāng)前幀在CAN 總線中的ID號(hào);Pn占8位,表示每個(gè)CAN數(shù)據(jù)幀的偏移量,以字節(jié)為單位,該偏移量是指每個(gè)CAN數(shù)據(jù)幀有效數(shù)據(jù)的第一個(gè)字節(jié)在整個(gè)FlexRay數(shù)據(jù)部分中的字節(jié)序號(hào)。
7.根據(jù)權(quán)利要求4所述的一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,其特征在于,如果與FlexRay總線通信的網(wǎng)絡(luò)為L(zhǎng)IN總線,模擬首部的可變部分包括五類字段IDn、LENn, SAn, DAn 和 Pn,其順序?yàn)?ID1、LEN1、SA1、DA1、P1、ID2、LEN2、SA2、DA2、P2......IDn、LENn, SAn,DAn、Pn……IDn、LE&、SAn、DAn、IV其中η為FlexRay數(shù)據(jù)幀中所含每個(gè)LIN數(shù)據(jù)幀的序號(hào)且 1彡η彡10,N為FlexRay數(shù)據(jù)幀中所含LIN總線的數(shù)據(jù)幀數(shù)量且1彡N彡10,其中IDn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的標(biāo)識(shí)符且IDn占1個(gè)字節(jié),LENn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的幀長(zhǎng)度且LENn占1個(gè)字節(jié),SAn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的源地址且SAn占1個(gè)字節(jié),DAn為對(duì)應(yīng)第η個(gè)LIN數(shù)據(jù)幀的目的地址且DAn占1個(gè)字節(jié),Pn占1個(gè)字節(jié)且為Pn對(duì)應(yīng)第η個(gè)LIN 數(shù)據(jù)幀的幀首字節(jié)偏移量,該偏移量以字節(jié)為單位,是指每個(gè)LIN數(shù)據(jù)幀有效數(shù)據(jù)的第一個(gè)字節(jié)在整個(gè)FlexRay數(shù)據(jù)部分中的字節(jié)序號(hào)。
全文摘要
本發(fā)明涉及一種基于模擬首部添加的車用總線協(xié)議轉(zhuǎn)換方法,該方法包括CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程和FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程;所述CAN或者LIN總線向FlexRay總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程中在車用總線適配器的應(yīng)用層添加模擬首部,并將1至10個(gè)CAN或者LIN的數(shù)據(jù)幀封裝在FlexRay數(shù)據(jù)幀中進(jìn)行轉(zhuǎn)發(fā);所述FlexRay總線向CAN或者LIN總線的數(shù)據(jù)轉(zhuǎn)發(fā)過程中在車用總線適配器的應(yīng)用層對(duì)模擬首部進(jìn)行解析,并將FlexRay數(shù)據(jù)幀中所含的1至10個(gè)CAN或者LIN的數(shù)據(jù)幀提取出來。本發(fā)明這種方法能實(shí)現(xiàn)FlexRay總線與車載CAN總線和LIN總線的協(xié)議轉(zhuǎn)換,達(dá)到雙方數(shù)據(jù)的透明傳輸,避免網(wǎng)關(guān)對(duì)全部有效數(shù)據(jù)的解析過程,降低網(wǎng)絡(luò)時(shí)延。
文檔編號(hào)H04L29/06GK102571784SQ201110451359
公開日2012年7月11日 申請(qǐng)日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者劉彪, 莊江麗, 王立德 申請(qǐng)人:北京交通大學(xué)