一種數(shù)據(jù)傳輸方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體地,涉及一種數(shù)據(jù)傳輸方法及裝置。
【背景技術(shù)】
[0002]EQJ(英文:ElectronicControlUnit,中文:電子控制單元)泛指汽車上的電子控制系統(tǒng)。舉例來說,整車中可包括發(fā)動(dòng)機(jī)ECU、轉(zhuǎn)向EOT、調(diào)速EOT、空調(diào)E⑶等等,各E⑶之間可通過CAN(英文:Controller Area Network,中文:控制器局域網(wǎng)絡(luò))總線進(jìn)行數(shù)據(jù)傳輸。
[0003]考慮到CAN總線每次最多只能傳送8字節(jié)數(shù)據(jù),故在進(jìn)行數(shù)據(jù)交互時(shí),發(fā)送方要根據(jù)預(yù)設(shè)協(xié)議,將待傳輸數(shù)據(jù)結(jié)構(gòu)體拆分為多個(gè)不超過8字節(jié)的“畸形結(jié)構(gòu)”,再通過CAN總線將“畸形結(jié)構(gòu)”傳輸至接收方。對應(yīng)于此,接收方則可根據(jù)預(yù)設(shè)協(xié)議,合并解析其接收到的“畸形結(jié)構(gòu)”,得到待傳輸數(shù)據(jù)結(jié)構(gòu)體。
[0004]舉例來說,進(jìn)行電池狀態(tài)檢測時(shí),BMS的采集板作為發(fā)送方可獲得3個(gè)電壓數(shù)據(jù):最高電壓、最低電壓和總電壓,每個(gè)電壓數(shù)據(jù)占用4字節(jié);3個(gè)溫度數(shù)據(jù):最高溫度、最低溫度和平均溫度,每個(gè)溫度數(shù)據(jù)占用1字節(jié)。為了滿足CAN總線的8字節(jié)傳輸限制,發(fā)送方將上述溫度數(shù)據(jù)和電壓數(shù)據(jù)寫入待傳輸數(shù)據(jù)結(jié)構(gòu)體后,可依據(jù)預(yù)設(shè)協(xié)議,將待傳輸數(shù)據(jù)結(jié)構(gòu)體拆分為如下兩個(gè)畸形結(jié)構(gòu):包括8字節(jié)數(shù)據(jù)的第一畸形結(jié)構(gòu),該畸形結(jié)構(gòu)用于攜帶最高電壓和最低電壓;包括7字節(jié)數(shù)據(jù)的第二畸形結(jié)構(gòu),該畸形結(jié)構(gòu)用于攜帶總電壓、最高溫度、最低溫度和平均溫度。相應(yīng)地,BMS的主控板作為接收方,接收到上述兩個(gè)畸形結(jié)構(gòu)后,可依據(jù)預(yù)設(shè)協(xié)議解析得到待傳輸數(shù)據(jù)結(jié)構(gòu)體。
[0005]上述方案中,為了滿足8字節(jié)傳輸限制,要在各數(shù)據(jù)之間相互協(xié)調(diào),做不同拆分,致使拆分獲得的畸形結(jié)構(gòu)的可讀性非常差,維護(hù)人員需要詳細(xì)閱讀說明文檔,才能知曉各個(gè)畸形結(jié)構(gòu)所攜帶數(shù)據(jù)的含義,對維護(hù)人員的技能要求較高。另外,針對不同車型或者同一車型進(jìn)行系統(tǒng)升級(jí)后,預(yù)設(shè)協(xié)議可能會(huì)隨之發(fā)生變更,這就需要對待傳輸數(shù)據(jù)結(jié)構(gòu)體進(jìn)行重新拆分,導(dǎo)致軟件部分的拆分、解析等內(nèi)容需要重寫,變更過程復(fù)雜不易實(shí)現(xiàn)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種新的數(shù)據(jù)傳輸方案,簡單便捷的實(shí)現(xiàn)發(fā)送方和接收方之間的數(shù)據(jù)交互過程。
[0007]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種數(shù)據(jù)傳輸方法,所述方法包括:發(fā)送方向接收方發(fā)送發(fā)送請求,所述發(fā)送請求包括待傳輸數(shù)據(jù)結(jié)構(gòu)體的識(shí)別符,所述識(shí)別符用于指示所述接收方將所述待傳輸數(shù)據(jù)結(jié)構(gòu)體存儲(chǔ)至指定內(nèi)存;所述發(fā)送方將待傳輸數(shù)據(jù)存儲(chǔ)至指定連續(xù)內(nèi)存,獲得所述待傳輸數(shù)據(jù)結(jié)構(gòu)體,所述待傳輸數(shù)據(jù)采用二進(jìn)制方式表示;所述發(fā)送方基于CAN總線的傳輸字節(jié)限制,按照所述待傳輸數(shù)據(jù)的存儲(chǔ)順序,依序?qū)⑺龃齻鬏敂?shù)據(jù)拆分為至少兩組子數(shù)據(jù),每組子數(shù)據(jù)用于生成一個(gè)對應(yīng)的子數(shù)據(jù)結(jié)構(gòu)體,各子數(shù)據(jù)結(jié)構(gòu)體設(shè)置有身份編號(hào),所述身份編號(hào)能夠表示各組子數(shù)據(jù)間的拆分順序;所述發(fā)送方向所述接收方發(fā)送交互數(shù)據(jù),所述交互數(shù)據(jù)包括本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體。
[0008]可選地,所述發(fā)送請求還包括交互次數(shù)信息,所述交互次數(shù)信息用于表示完成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的傳輸所需的交互次數(shù)。
[0009]可選地,所述發(fā)送方將待傳輸數(shù)據(jù)存儲(chǔ)至指定連續(xù)內(nèi)存之前,所述方法還包括:所述發(fā)送方獲得所述接收方發(fā)送的發(fā)送響應(yīng),再執(zhí)行所述將待傳輸數(shù)據(jù)存儲(chǔ)至指定連續(xù)內(nèi)存的步驟。
[0010]可選地,所述發(fā)送方向接收方發(fā)送交互數(shù)據(jù)之前,所述方法還包括:所述發(fā)送方獲得所述接收方發(fā)送的交互請求,所述交互請求包括所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體的身份編號(hào)。
[0011 ]可選地,所述發(fā)送方向接收方發(fā)送交互數(shù)據(jù)之前,所述方法還包括:確定所述發(fā)送方和所述接收方的存儲(chǔ)模式是否相同,如果不同,所述發(fā)送方按照所述接收方的存儲(chǔ)模式,調(diào)整所述交互數(shù)據(jù)的存儲(chǔ)方式。
[0012]本發(fā)明還提供一種數(shù)據(jù)傳輸方法,所述方法包括:接收方獲得發(fā)送方發(fā)送的發(fā)送請求,所述發(fā)送請求包括待傳輸數(shù)據(jù)結(jié)構(gòu)體的識(shí)別符;所述接收方獲得所述發(fā)送方發(fā)送的交互數(shù)據(jù),所述交互數(shù)據(jù)包括本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體,所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體設(shè)置有身份編號(hào),且所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體由待傳輸數(shù)據(jù)拆分形成的子數(shù)據(jù)生成,所述待傳輸數(shù)據(jù)用于生成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體,且所述待傳輸數(shù)據(jù)采用二進(jìn)制方式表示;所述接收方根據(jù)所述識(shí)別符,確定存儲(chǔ)所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的指定內(nèi)存,所述接收方保存有所述識(shí)別符與所述指定內(nèi)存的對應(yīng)關(guān)系;所述接收方根據(jù)所述身份編號(hào),確定所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體在所述指定內(nèi)存中的存儲(chǔ)位置。
[0013]可選地,所述接收方獲得所述發(fā)送方發(fā)送的交互數(shù)據(jù)之前,所述方法還包括:所述接收方向所述發(fā)送方發(fā)送發(fā)送響應(yīng),所述發(fā)送響應(yīng)用于指示所述發(fā)送方發(fā)送所述交互數(shù)據(jù)。
[0014]可選地,所述接收方獲得發(fā)送方發(fā)送的交互數(shù)據(jù)之前,所述方法還包括:所述接收方向所述發(fā)送方發(fā)送交互請求,所述交互請求包括所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體的身份編號(hào)。
[0015]可選地,所述方法還包括:確定所述發(fā)送方是否已完成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的傳輸,如果是,所述接收方解析所述指定內(nèi)存中的子數(shù)據(jù)結(jié)構(gòu)體,獲得所述待傳輸數(shù)據(jù)。
[0016]可選地,所述發(fā)送請求還包括交互次數(shù)信息,所述確定所述發(fā)送方是否已完成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的傳輸,包括:接收方判斷本次數(shù)據(jù)交互后,是否已達(dá)到所述交互次數(shù)信息表示的交互次數(shù);如果已達(dá)到,則判定已完成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的傳輸。
[0017]本發(fā)明還提供一種數(shù)據(jù)傳輸裝置,所述裝置屬于發(fā)送方,所述裝置包括:請求發(fā)送單元,用于向接收方發(fā)送發(fā)送請求,所述發(fā)送請求包括待傳輸數(shù)據(jù)結(jié)構(gòu)體的識(shí)別符,所述識(shí)別符用于指示所述接收方將所述待傳輸數(shù)據(jù)結(jié)構(gòu)體存儲(chǔ)至指定內(nèi)存;結(jié)構(gòu)體獲得單元,用于將待傳輸數(shù)據(jù)存儲(chǔ)至指定連續(xù)內(nèi)存,獲得所述待傳輸數(shù)據(jù)結(jié)構(gòu)體,所述待傳輸數(shù)據(jù)采用二進(jìn)制方式表示;結(jié)構(gòu)體拆分單元,用于基于CAN總線的傳輸字節(jié)限制,按照所述待傳輸數(shù)據(jù)的存儲(chǔ)順序,依序?qū)⑺龃齻鬏敂?shù)據(jù)拆分為至少兩組子數(shù)據(jù),每組子數(shù)據(jù)用于生成一個(gè)對應(yīng)的子數(shù)據(jù)結(jié)構(gòu)體,各子數(shù)據(jù)結(jié)構(gòu)體設(shè)置有身份編號(hào),所述身份編號(hào)能夠表示各組子數(shù)據(jù)間的拆分順序;數(shù)據(jù)發(fā)送單元,用于向所述接收方發(fā)送交互數(shù)據(jù),所述交互數(shù)據(jù)包括本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體。
[0018]可選地,所述請求發(fā)送單元向所述接收方發(fā)送的發(fā)送請求還包括交互次數(shù)信息,所述交互次數(shù)信息用于表示完成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的傳輸所需的交互次數(shù)。
[0019]可選地,所述裝置還包括:響應(yīng)獲得單元,用于獲得所述接收方發(fā)送的發(fā)送響應(yīng),并通知所述結(jié)構(gòu)體獲得單元將所述待傳輸數(shù)據(jù)存儲(chǔ)至所述指定連續(xù)內(nèi)存。
[0020]可選地,所述裝置還包括:請求接收單元,用于在所述數(shù)據(jù)發(fā)送單元發(fā)送所述交互數(shù)據(jù)之前,獲得所述接收方發(fā)送的交互請求,所述交互請求包括所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體的身份編號(hào)。
[0021 ]可選地,所述裝置還包括:模式調(diào)整單元,用于在所述數(shù)據(jù)發(fā)送單元發(fā)送所述交互數(shù)據(jù)之前,確定所述發(fā)送方和所述接收方的存儲(chǔ)模式是否相同,如果不同,則按照所述接收方的存儲(chǔ)模式,調(diào)整所述交互數(shù)據(jù)的存儲(chǔ)方式。
[0022]本發(fā)明還提供一種數(shù)據(jù)傳輸裝置,所述裝置屬于接收方,所述裝置包括:請求獲得單元,用于獲得發(fā)送方發(fā)送的發(fā)送請求,所述發(fā)送請求包括待傳輸數(shù)據(jù)結(jié)構(gòu)體的識(shí)別符;數(shù)據(jù)獲得單元,用于獲得所述發(fā)送方發(fā)送的交互數(shù)據(jù),所述交互數(shù)據(jù)包括本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體,所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體設(shè)置有身份編號(hào),且所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體由待傳輸數(shù)據(jù)拆分形成的子數(shù)據(jù)生成,所述待傳輸數(shù)據(jù)用于生成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體,且所述待傳輸數(shù)據(jù)采用二進(jìn)制方式表示;內(nèi)存確定單元,用于根據(jù)所述識(shí)別符,確定存儲(chǔ)所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的指定內(nèi)存,所述接收方保存有所述識(shí)別符與所述指定內(nèi)存的對應(yīng)關(guān)系;位置確定單元,用于根據(jù)所述身份編號(hào),確定所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體在所述指定內(nèi)存中的存儲(chǔ)位置。
[0023]可選地,響應(yīng)發(fā)送單元,用于在所述數(shù)據(jù)獲得單元獲得所述交互數(shù)據(jù)之前,向所述發(fā)送方發(fā)送發(fā)送響應(yīng),所述發(fā)送響應(yīng)用于指示所述發(fā)送方發(fā)送所述交互數(shù)據(jù)。
[0024]可選地,所述裝置還包括:請求發(fā)送單元,用于在所述數(shù)據(jù)獲得單元獲得所述交互數(shù)據(jù)之前,向所述發(fā)送方發(fā)送交互請求,所述交互請求包括所述本次傳輸?shù)淖訑?shù)據(jù)結(jié)構(gòu)體的身份編號(hào)。
[0025]可選地,所述裝置還包括:傳輸確定單元,用于確定所述發(fā)送方是否已完成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的傳輸;解析單元,用于在所述傳輸確定單元判定已完成所述待傳輸數(shù)據(jù)結(jié)構(gòu)體的傳輸,解析所述