一種數據更新處理方法、裝置、網關控制器及汽車與流程
2023-05-28 08:36:06
本發明涉及汽車開發測試領域,尤其涉及一種數據更新處理方法、裝置、網關控制器及汽車。
背景技術:
在汽車產業中,出於對汽車安全性、舒適性、方便性、低公害、低成本的考慮,各種各樣的電子控制系統被開發了出來。由於這些電子控制系統之間的通信對所用的數據類型及對可靠性的要求不盡相同,整車開發測試階段和售後階段均會進行車內電子控制系統數據刷寫,網關控制器連接多路can網絡,通過網關控制器實現車內控制器刷寫是控制器數據更新的有效途徑。
目前,汽車上只有obd(on-boarddiagnostic,車載診斷系統)接口,該接口可以診斷汽車信息並監測can總線網絡,但是該接口不能在進行can總線監測的同時進行程序的刷寫,測試人員和售後人員必須使用特定的診斷設備才能實現控制器數據刷寫,花費大量時間、人力和金錢。
技術實現要素:
為了解決上述技術問題,本發明提供了一種數據更新處理方法、裝置、網關控制器及汽車,解決了現有技術中網關控制器進行數據刷寫更新的方法複雜,需要花費大量時間和人工成本的問題。
依據本發明的一個方面,提供了一種數據更新處理方法,包括:
獲取合法的終端設備發送的刷寫數據;
在汽車的儀表、發動機及車身控制器滿足預設刷寫條件時,根據刷寫數據對網關控制器進行數據更新處理。
其中,獲取合法的終端設備發送的刷寫數據的步驟,包括:
接收終端設備發送的數據刷寫請求;其中,數據刷寫請求中攜帶有終端設備的身份信息;
在根據身份信息驗證終端設備合法後,接收終端設備發送的刷寫數據。
其中,接收終端設備發送的數據刷寫請求的步驟,包括:
建立與終端設備之間的藍牙數據通信鏈路;
通過藍牙數據通信鏈路,接收終端設備發送的數據刷寫請求。
其中,在接收終端設備發送的數據刷寫請求的步驟之後,還包括:
根據接收到的數據刷寫請求設置刷寫請求標誌位;
在檢測到刷寫請求標識位後,根據數據刷寫請求中攜帶的終端設備的身份信息,驗證終端設備的合法性;
若身份信息與預先存儲的合法身份信息相匹配時,確定終端設備合法。
其中,接收終端設備發送的刷寫數據的步驟,包括:
接收終端設備發送的多組分組數據;其中,分組數據中攜帶有數據序列號、數據長度、刷寫數據和校驗碼;
根據數據序列號,將多組分組數據中的刷寫數據進行重組,得到重組後的刷寫數據。
其中,得到重組後的刷寫數據的步驟之後,還包括:
根據數據長度和校驗碼,驗證重組後的刷寫數據的完整性和正確性;
若重組後的刷寫數據滿足完整性和正確性的要求,則將重組後的刷寫數據保存。
其中,數據刷寫請求中還攜帶有目標刷寫地址;將重組後的刷寫數據保存的步驟,包括:
將重組後的刷寫數據保存至目標刷寫地址對應的存儲空間內。
其中,在汽車的儀表、發動機及車身控制器滿足預設刷寫條件時,根據刷寫數據對網關控制器進行數據更新處理的步驟,包括:
根據整車電源狀態、當前車速、發動機轉速和擋位信息,確定儀表、發動機及車身控制器是否滿足預設刷寫條件;
當滿足預設刷寫條件時,根據刷寫數據對網關控制器進行數據更新處理。
其中,根據刷寫數據對網關控制器進行數據更新處理的步驟,包括:
將刷寫數據轉換為控制器可識別數據,並根據控制器可識別數據進行網關控制器的數據更新處理。
依據本發明的另一個方面,還提供了一種數據更新處理裝置,包括:
第一獲取模塊,用於獲取合法的終端設備發送的刷寫數據;
更新模塊,用於在汽車的儀表、發動機及車身控制器滿足預設刷寫條件時,根據刷寫數據對網關控制器進行數據更新處理。
依據本發明的再一個方面,還提供了一種網關控制器,包括如上所述的數據更新處理裝置。
依據本發明的再一個方面,還提供了一種汽車,包括儀表、發動機及車身控制器,以及如上所述的網關控制器,該網關控制器分別與儀表、發動機及車身控制器連接。
本發明的實施例的有益效果是:一種數據更新處理方法、裝置、網關控制器及汽車,通過驗證終端設備的合法性,在確定終端設備合法後可通過終端設備將刷寫數據發送給網關控制器,從而實現對網關控制器進行數據刷寫更新,簡化了數據刷寫更新流程,且無需測試人員和售後人員使用特定的診斷設備進行網關控制器的數據刷寫,降低了數據刷寫更新的時間成本和人工成本。
附圖說明
圖1表示本發明的數據更新處理方法的流程示意圖;
圖2表示本發明的網關控制器與其他部件的連接框圖;
圖3表示圖1中步驟11的流程示意圖;
圖4表示本發明的數據更新處理方法的具體流程示意圖;
圖5表示本發明的數據更新處理裝置的結構示意圖;
圖6表示本發明的網關控制器的結構框圖。
具體實施方式
下面將參照附圖更詳細地描述本發明的示例性實施例。雖然附圖中顯示了本發明的示例性實施例,然而應當理解,可以以各種形式實現本發明而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本發明,並且能夠將本發明的範圍完整的傳達給本領域的技術人員。
實施例一
如圖1所示,本發明的實施例提供了一種數據更新處理方法,具體包括以下步驟:
步驟11:獲取合法的終端設備發送的刷寫數據。
其中,這裡所說的終端設備可以是手機、筆記本、平板電腦等設備。合法的終端設備指的是通過合法性驗證的終端設備,例如在汽車上存儲有該終端設備的身份信息(如國際行動裝置身份碼信息、物理mac地址等),或者,該終端設備通過雲端認證流程等合法性驗證流程。刷寫數據指的是待更新至網關控制器的數據,例如各個控制系統的程序代碼等。具體地,可在終端設備上下載指定應用程式,測試人員或售後人員可通過該應用程式將刷寫數據發送至網關控制。其中,該應用程式的作用是為網關控制器提供刷寫數據的通信接口。
步驟12:在汽車的儀表、發動機及車身控制器滿足預設刷寫條件時,根據所述刷寫數據對網關控制器進行數據更新處理。
其中,如圖2所示,汽車的網關控制器通過can總線與儀表、發動機及車身控制器連接,網關控制器通過監測儀表、發動機及車身控制器是否滿足預設刷寫條件,在滿足時,根據接收到的刷寫數據對網關控制器進行數據更新處理,以實現網關控制器對各個控制系統的數據更新。
這樣,通過驗證終端設備的合法性,在確定終端設備合法後可通過終端設備將刷寫數據發送給網關控制器,從而實現對網關控制器進行數據刷寫更新,簡化了數據刷寫更新流程,且無需測試人員和售後人員使用特定的診斷設備進行網關控制器的數據刷寫,降低了數據刷寫更新的時間成本和人工成本。
其中,如圖3所示,步驟11具體包括以下步驟:
步驟31:接收終端設備發送的數據刷寫請求。
其中,該數據刷寫請求中攜帶有終端設備的身份信息。
步驟32:在根據身份信息驗證終端設備合法後,接收終端設備發送的刷寫數據。
具體地,步驟31包括:建立網關控制器與終端設備之間的藍牙數據通信鏈路;通過該藍牙數據通信鏈路,接收終端設備發送的數據刷寫請求。
進一步地,在接收終端設備發送的數據刷寫請求的步驟之後,還包括:根據接收到的數據刷寫請求設置刷寫請求標誌位;在檢測到刷寫請求標識位後,根據數據刷寫請求中攜帶的終端設備的身份信息,驗證終端設備的合法性;若該身份信息與預先存儲的合法身份信息相匹配時,確定終端設備合法。這裡是說,網關控制器通過與終端設備之間的藍牙數據通信鏈路接收到數據刷寫請求後觸發中斷程序,在中斷程序中設置刷寫請求標誌位。網關控制器主程序中周期查詢數據刷寫請求標誌位狀態,以確定是否接收到數據刷寫請求。進一步地,數據刷寫請求中攜帶的終端設備的身份信息可以是一秘鑰信息,網關控制器在檢測到刷寫請求標誌位後,驗證密鑰合法性以保證車內控制器數據刷寫的安全性,若攜帶的秘鑰與汽車預先存儲或生成的秘鑰相匹配時,確定終端設備合法。
可選地,接收終端設備發送的刷寫數據的步驟可參照以下步驟實現:接收終端設備發送的多組分組數據;其中,分組數據中攜帶有數據序列號、數據長度、刷寫數據內容和校驗碼。根據數據序列號,將多組分組數據中的刷寫數據進行重組,得到重組後的刷寫數據。為了保證刷寫數據的完整性和正確性,還可進一步包括:根據數據長度和校驗碼,驗證重組後的刷寫數據的完整性和正確性;若重組後的刷寫數據滿足完整性和正確性的要求,則將重組後的刷寫數據保存。也就是說,網關控制器在接收終端設備通過藍牙數據通信鏈路發送的串行分組數據,解析分組數據中的數據序列號、數據長度、刷寫數據和校驗碼,使用校驗碼驗證每組刷寫數據內容的正確性,通過檢測數據長度保證每組刷寫數據內容的完整性,並按照數據序列號重組控制器刷寫數據。進一步地,網關控制器還可將重組後的刷寫數據引入預定義的校驗算法進行驗證,以保證重組後的刷寫數據整體的正確性和完整性。
進一步地,在步驟31接收到的數據刷寫請求中還攜帶有刷寫數據對應的目標刷寫地址,將重組後的刷寫數據保存的步驟具體為:將重組後的刷寫數據保存至目標刷寫地址對應的存儲空間內。即網關控制器存儲驗證後的刷寫數據到指定的內部存儲空間。
可選地,步驟12具體包括:根據整車電源狀態、當前車速、發動機轉速和擋位信息,確定儀表、發動機及車身控制器是否滿足預設刷寫條件;當滿足預設刷寫條件時,根據刷寫數據對網關控制器進行數據更新處理。網關控制器判斷當前整車狀態是否滿足網關控制器刷寫條件,網關控制器刷寫條件包含整車電源狀態、轉速、車速及檔位等信息,若此時網關控制器的刷寫條件不滿足,則間隔預設時間(如5s)後再次檢測是否滿足預設刷寫條件,直至滿足預設刷寫條件對網關控制器進行數據刷寫更新,或者直到達到預設檢測次數後,放棄對網關控制器的數據刷寫更新流程。
具體地,根據刷寫數據對網關控制器進行數據更新處理的步驟包括:將刷寫數據轉換為控制器可識別數據,並根據控制器可識別數據進行網關控制器的數據更新處理。網關控制器按照刷寫流程將存儲在本地的刷寫數據轉換成診斷刷寫數據形式,並經交互層和can驅動層轉換成控制器可識別的數據完成數據下載和更新。
優選地,如圖4所示,本發明實施例的數據更新處理方法具體包括以下步驟:
步驟41:接收終端設備發送的數據刷寫請求,並驗證所述終端設備的合法性。
網關控制器接收到終端設備發送的數據刷寫請求後,觸發中斷程序,在中斷程序中設置刷寫請求標誌位和存儲該數據刷寫請求。網關控制器主程序中周期查詢數據刷寫請求標誌位狀態,檢測到標誌位置位後,網關控制器提取數據刷寫請求中的密鑰信息(例如終端設備的mac地址等),驗證密鑰合法性以保證車內控制器數據刷寫的安全性。若密鑰合法,網關控制器存儲刷寫請求中攜帶的刷寫控制器地址,並執行步驟42;若秘鑰不合法,則放棄對網關控制器的刷寫更新,結束數據刷寫更新流程。
步驟42:接收終端設備發送的多組分組數據,並進行重組得到重組後的刷寫數據。
網關控制器接收終端設備藍牙串行數據傳輸的多組分組數據,解析分組數據中的數據序列號、數據長度、刷寫數據內容和校驗碼,使用校驗碼驗證每組刷寫數據的正確性,並按照數據序列號重組控制器的刷寫數據。
步驟43:驗證重組後的刷寫數據的完整性和正確性。
為了保證刷寫數據整體的正確性和完整性,網關控制器將按照數據序列號重組後的刷寫數據引入預定義的校驗算法進行驗證,以保證重組後的刷寫數據整體的正確性和完整性。若重組後的刷寫數據符合完整性和正確性的條件,則執行步驟44,否則放棄對網關控制器的刷寫更新,結束數據刷寫更新流程。
步驟44:將重組後的刷寫數據保存至目標刷寫地址對應的存儲空間內。
網關控制器存儲驗證後的控制器刷寫數據到指定的內部存儲空間。
步驟45:檢測是否滿足網關控制器的刷寫更新條件。
根據整車電源狀態、當前車速、發動機轉速和擋位信息,確定儀表、發動機及車身控制器是否滿足預設刷寫條件,即網關控制器判斷當前整車狀態是否滿足控制器刷寫條件,控制器刷寫條件包含整車電源狀態、轉速、車速及檔位等信息。若滿足則執行步驟46,若不滿足則間隔預設時間後再次檢測是否滿足網關控制器的刷寫更新條件,直至滿足預設刷寫條件對網關控制器進行數據刷寫更新,或者直到達到預設檢測次數後,放棄對網關控制器的刷寫更新。
步驟46:將刷寫數據轉換為控制器可識別數據,並根據控制器可識別數據進行網關控制器的數據更新處理。
網關控制器按照刷寫流程將存儲在本地的控制器刷寫數據轉換成診斷刷寫數據形式,並經交互層和can驅動層轉換成控制器可識別的數據完成數據下載和刷寫更新。
本發明實施例的數據更新處理方法,通過驗證終端設備的合法性,在確定終端設備合法後可通過終端設備將刷寫數據發送給網關控制器,從而實現對網關控制器進行數據刷寫更新,簡化了數據刷寫更新流程,且無需測試人員和售後人員使用特定的診斷設備進行網關控制器的數據刷寫,降低了數據刷寫更新的時間成本和人工成本。
實施例二
如圖5所示,依據本發明的實施例中的另一個方面,還提供了一種數據更新處理裝置,包括:
獲取模塊510,用於獲取合法的終端設備發送的刷寫數據;
更新模塊520,用於在汽車的儀表、發動機及車身控制器滿足預設刷寫條件時,根據刷寫數據對網關控制器進行數據更新處理。
其中,獲取模塊510包括:
第一接收子模塊,用於接收終端設備發送的數據刷寫請求;其中,數據刷寫請求中攜帶有終端設備的身份信息;
第二接收子模塊,用於在根據身份信息驗證終端設備合法後,接收終端設備發送的刷寫數據。
其中,第二接收子模塊包括:
建立單元,用於建立與終端設備之間的藍牙數據通信鏈路;
第一接收單元,用於通過藍牙數據通信鏈路,接收終端設備發送的數據刷寫請求。
其中,獲取模塊還包括:
設置子模塊,用於根據接收到的數據刷寫請求設置刷寫請求標誌位;
驗證子模塊,用於在檢測到刷寫請求標識位後,根據數據刷寫請求中攜帶的終端設備的身份信息,驗證終端設備的合法性;
確定子模塊,用於當身份信息與預先存儲的合法身份信息相匹配時,確定終端設備合法。
其中,第二接收子模塊包括:
第二接收單元,用於接收終端設備發送的多組分組數據;其中,分組數據中攜帶有數據序列號、數據長度、刷寫數據和校驗碼;
重組單元,用於根據數據序列號,將多組分組數據中的刷寫數據進行重組,得到重組後的刷寫數據。
其中,第二接收子模塊還包括:
驗證單元,用於根據數據長度和校驗碼,驗證重組後的刷寫數據的完整性和正確性;
存儲單元,用於當重組後的刷寫數據滿足完整性和正確性的要求時,將重組後的刷寫數據保存。
其中,存儲單元包括:
存儲子單元,用於當數據刷寫請求中還攜帶有目標刷寫地址時,將重組後的刷寫數據保存至目標刷寫地址對應的存儲空間內。
其中,更新模塊包括:
確定子模塊,用於根據整車電源狀態、當前車速、發動機轉速和擋位信息,確定儀表、發動機及車身控制器是否滿足預設刷寫條件;
第一更新子模塊,用於當滿足預設刷寫條件時,根據刷寫數據對網關控制器進行數據更新處理。
其中,更新模塊還包括:
第二更新子模塊,用於將刷寫數據轉換為控制器可識別數據,並根據控制器可識別數據進行網關控制器的數據更新處理。
需要說明的是,該裝置是與上述數據更新處理方法對應的裝置,上述方法實施例中所有實現方式均適用於該裝置的實施例中,也能達到相同的技術效果。
依據本發明的再一個方面,還提供了一種網關控制器,包括如上所述的數據更新處理裝置。如圖6所示,該網關控制器包括:藍牙協議棧模塊、刷寫流程控制模塊、診斷協議棧模塊、交互層和can驅動層。其中,藍牙協議棧模塊用於網關控制器與終端設備的藍牙數據交互,包括如上所述的獲取模塊,刷寫流程控制模塊用於確定網關控制器的數據刷寫流程,包括如上所述的更新模塊,診斷協議棧模塊用於實現刷寫數據到診斷刷寫數據轉換,相當於上述更新模塊中的第二更新子模塊。
依據本發明的再一個方面,還提供了一種汽車,包括儀表、發動機及車身控制器,以及如上所述的網關控制器,其中,該網關控制器分別與儀表、發動機及車身控制器連接。
以上所述的是本發明的優選實施方式,應當指出對於本技術領域的普通人員來說,在不脫離本發明所述的原理前提下還可以作出若干改進和潤飾,這些改進和潤飾也在本發明的保護範圍內。