本申請涉及電池管理系統(tǒng)數(shù)據(jù)傳輸及信息存儲領(lǐng)域,具體涉及一種基于c#的電池管理系統(tǒng)軟件刷寫方法、裝置及設(shè)備。
背景技術(shù):
1、隨著當(dāng)前電池管理系統(tǒng)軟件刷寫的發(fā)展,很多控制器的軟件刷寫都需要借助于inca(一種標(biāo)定工具)或者vector工具(一種汽車總線開發(fā)測試工具)來實(shí)現(xiàn)。在進(jìn)行電池管理系統(tǒng)軟件刷寫時,無論是軟件、硬件還是成本方面,均使用不便,需要軟硬件的授權(quán)才能使用。
2、同時,電池管理系統(tǒng)軟件刷寫相關(guān)軟硬件的使用都很單一,不具備通用性,界面不夠直觀,兼容性較差,數(shù)據(jù)無法自動存儲,給汽車行業(yè)中電池管理系統(tǒng)的軟件刷寫帶來了極大的不便。因此,如何高效實(shí)現(xiàn)電池管理系統(tǒng)的軟件刷寫,成為當(dāng)前亟需解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、本申請?zhí)峁┮环N基于c#的電池管理系統(tǒng)軟件刷寫方法、裝置及設(shè)備,支持多種can工具的刷寫操作,并支持多個項(xiàng)目的電池管理系統(tǒng)軟件刷寫,自動適配不同電池管理系統(tǒng)的響應(yīng)時間。
2、第一方面,本申請實(shí)施例提供一種基于c#的電池管理系統(tǒng)軟件刷寫方法,所述基于c#的電池管理系統(tǒng)軟件刷寫方法包括:
3、在c#環(huán)境中獲取各類can設(shè)備的庫函數(shù),并基于can網(wǎng)絡(luò)的收發(fā)功能建立can網(wǎng)絡(luò)與上位機(jī)間的收發(fā)通道;
4、獲取待刷寫文件數(shù)據(jù),并根據(jù)刷寫流程和uds協(xié)議,調(diào)試軟件刷寫步驟中的相關(guān)功能;
5、創(chuàng)建超時響應(yīng)功能于上位機(jī),上位機(jī)傳輸待刷寫文件數(shù)據(jù)至電池管理系統(tǒng),并待數(shù)據(jù)校驗(yàn)通過后完成軟件刷寫。
6、結(jié)合第一方面,在一種實(shí)施方式中,所述在c#環(huán)境中獲取各類can設(shè)備的庫函數(shù),并基于can網(wǎng)絡(luò)的收發(fā)功能建立can網(wǎng)絡(luò)與上位機(jī)間的收發(fā)通道,具體包括:
7、基于can設(shè)備的上位機(jī)軟件,在c#環(huán)境中調(diào)用各類can設(shè)備的庫函數(shù);
8、根據(jù)各類can設(shè)備的庫函數(shù),調(diào)試can網(wǎng)絡(luò)的報(bào)文收發(fā)功能,建立can網(wǎng)絡(luò)與上位機(jī)間的收發(fā)通道,實(shí)現(xiàn)電池管理系統(tǒng)與上位機(jī)間傳輸通道的建立。
9、結(jié)合第一方面,在一種實(shí)施方式中,所述獲取待刷寫文件數(shù)據(jù),并根據(jù)刷寫流程和uds協(xié)議,調(diào)試軟件刷寫步驟中的相關(guān)功能,具體包括:
10、獲取待刷寫文件數(shù)據(jù),根據(jù)bootloader刷寫流程和uds協(xié)議,建立hex、s19刷寫文件的數(shù)據(jù)解析函數(shù),以及crc校驗(yàn)函數(shù);
11、根據(jù)刷寫項(xiàng)目需求,調(diào)試軟件刷寫步驟中的相關(guān)功能。
12、結(jié)合第一方面,在一種實(shí)施方式中,所述軟件刷寫步驟中的相關(guān)功能包括0x10擴(kuò)展模式、0x85?dtc功能服務(wù)、0x27安全訪問解鎖服務(wù)、0x36數(shù)據(jù)傳輸服務(wù)。
13、結(jié)合第一方面,在一種實(shí)施方式中,所述創(chuàng)建超時響應(yīng)功能于上位機(jī),上位機(jī)傳輸待刷寫文件數(shù)據(jù)至電池管理系統(tǒng),并待數(shù)據(jù)校驗(yàn)通過后完成軟件刷寫,具體包括:
14、在上位機(jī)中創(chuàng)建超時響應(yīng)功能,實(shí)現(xiàn)上位機(jī)對電池管理系統(tǒng)的響應(yīng)等待;
15、上位機(jī)傳輸待刷寫文件數(shù)據(jù)至電池管理系統(tǒng),并進(jìn)行待刷寫文件數(shù)據(jù)crc校驗(yàn)碼,待校驗(yàn)通過后基于待刷寫文件數(shù)據(jù)完成電池管理系統(tǒng)軟件的刷寫。
16、結(jié)合第一方面,在一種實(shí)施方式中,所述進(jìn)行待刷寫文件數(shù)據(jù)crc校驗(yàn)碼,具體包括:
17、上位機(jī)將待刷寫文件數(shù)據(jù)傳輸至電池管理系統(tǒng)之后,將待刷寫文件數(shù)據(jù)的crc校驗(yàn)碼發(fā)送至電池管理系統(tǒng);
18、電池管理系統(tǒng)獲取接收的待刷寫文件數(shù)據(jù)的crc校驗(yàn)碼,將獲取的crc校驗(yàn)碼與上位機(jī)傳輸?shù)腸rc校驗(yàn)碼進(jìn)行比對:
19、若一致,則校驗(yàn)通過,電池管理系統(tǒng)向上位機(jī)進(jìn)行正響應(yīng);
20、若不一致,則校驗(yàn)未通過,結(jié)束。
21、結(jié)合第一方面,在一種實(shí)施方式中,所述上位機(jī)還用于對整個刷寫過程的交互數(shù)據(jù)進(jìn)行記錄,生成刷寫日志并進(jìn)行顯示和保存。
22、結(jié)合第一方面,在一種實(shí)施方式中,在生成刷寫日志之后,還包括:
23、基于canoe軟件對刷寫日志報(bào)文進(jìn)行離線分析,實(shí)現(xiàn)刷寫異常原因的獲取。
24、第二方面,本申請實(shí)施例提供一種基于c#的電池管理系統(tǒng)軟件刷寫裝置,所述基于c#的電池管理系統(tǒng)軟件刷寫裝置包括:
25、建立模塊,其用于在c#環(huán)境中獲取各類can設(shè)備的庫函數(shù),并基于can網(wǎng)絡(luò)的收發(fā)功能建立can網(wǎng)絡(luò)與上位機(jī)間的收發(fā)通道;
26、調(diào)試模塊,其用于獲取待刷寫文件數(shù)據(jù),并根據(jù)刷寫流程和uds協(xié)議,調(diào)試刷寫流程中的相關(guān)功能;
27、刷寫模塊,其用于創(chuàng)建超時響應(yīng)功能于上位機(jī),上位機(jī)傳輸待刷寫文件數(shù)據(jù)至電池管理系統(tǒng),并待數(shù)據(jù)校驗(yàn)通過后完成軟件刷寫。
28、第三方面,本申請實(shí)施例提供一種基于c#的電池管理系統(tǒng)軟件刷寫設(shè)備,所述基于c#的電池管理系統(tǒng)軟件刷寫設(shè)備包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執(zhí)行的基于c#的電池管理系統(tǒng)軟件刷寫程序,其中所述基于c#的電池管理系統(tǒng)軟件刷寫程序被所述處理器執(zhí)行時,實(shí)現(xiàn)上述所述的基于c#的電池管理系統(tǒng)軟件刷寫方法的步驟。
29、本申請實(shí)施例提供的技術(shù)方案帶來的有益效果包括:
30、通過在c#環(huán)境中獲取各類can設(shè)備的庫函數(shù),并基于can網(wǎng)絡(luò)的收發(fā)功能建立can網(wǎng)絡(luò)與上位機(jī)間的收發(fā)通道,然后獲取待刷寫文件數(shù)據(jù),并根據(jù)刷寫流程和uds協(xié)議,調(diào)試刷寫流程中的相關(guān)功能,然后創(chuàng)建超時響應(yīng)功能于上位機(jī),上位機(jī)傳輸待刷寫文件數(shù)據(jù)至電池管理系統(tǒng),并待數(shù)據(jù)校驗(yàn)通過后完成軟件刷寫,支持多種can工具的刷寫操作,并支持多個項(xiàng)目的電池管理系統(tǒng)軟件刷寫,自動適配不同電池管理系統(tǒng)的響應(yīng)時間,自動儲存刷寫can數(shù)據(jù)及日志文件信息,實(shí)現(xiàn)成本低且can數(shù)據(jù)可讀性強(qiáng)。
1.一種基于c#的電池管理系統(tǒng)軟件刷寫方法,其特征在于,所述基于c#的電池管理系統(tǒng)軟件刷寫方法包括:
2.如權(quán)利要求1所述的一種基于c#的電池管理系統(tǒng)軟件刷寫方法,其特征在于,所述在c#環(huán)境中獲取各類can設(shè)備的庫函數(shù),并基于can網(wǎng)絡(luò)的收發(fā)功能建立can網(wǎng)絡(luò)與上位機(jī)間的收發(fā)通道,具體包括:
3.如權(quán)利要求1所述的一種基于c#的電池管理系統(tǒng)軟件刷寫方法,其特征在于,所述獲取待刷寫文件數(shù)據(jù),并根據(jù)刷寫流程和uds協(xié)議,調(diào)試軟件刷寫步驟中的相關(guān)功能,具體包括:
4.如權(quán)利要求3所述的一種基于c#的電池管理系統(tǒng)軟件刷寫方法,其特征在于:所述軟件刷寫步驟中的相關(guān)功能包括0x10擴(kuò)展模式、0x85?dtc功能服務(wù)、0x27安全訪問解鎖服務(wù)、0x36數(shù)據(jù)傳輸服務(wù)。
5.如權(quán)利要求1所述的一種基于c#的電池管理系統(tǒng)軟件刷寫方法,其特征在于,所述創(chuàng)建超時響應(yīng)功能于上位機(jī),上位機(jī)傳輸待刷寫文件數(shù)據(jù)至電池管理系統(tǒng),并待數(shù)據(jù)校驗(yàn)通過后完成軟件刷寫,具體包括:
6.如權(quán)利要求5所述的一種基于c#的電池管理系統(tǒng)軟件刷寫方法,其特征在于,所述進(jìn)行待刷寫文件數(shù)據(jù)crc校驗(yàn)碼,具體包括:
7.如權(quán)利要求1所述的一種基于c#的電池管理系統(tǒng)軟件刷寫方法,其特征在于:所述上位機(jī)還用于對整個刷寫過程的交互數(shù)據(jù)進(jìn)行記錄,生成刷寫日志并進(jìn)行顯示和保存。
8.如權(quán)利要求7所述的一種基于c#的電池管理系統(tǒng)軟件刷寫方法,其特征在于,在生成刷寫日志之后,還包括:
9.一種基于c#的電池管理系統(tǒng)軟件刷寫裝置,其特征在于,所述基于c#的電池管理系統(tǒng)軟件刷寫裝置包括:
10.一種基于c#的電池管理系統(tǒng)軟件刷寫設(shè)備,其特征在于,所述基于c#的電池管理系統(tǒng)軟件刷寫設(shè)備包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執(zhí)行的基于c#的電池管理系統(tǒng)軟件刷寫程序,其中所述基于c#的電池管理系統(tǒng)軟件刷寫程序被所述處理器執(zhí)行時,實(shí)現(xiàn)如權(quán)利要求1至8中任一項(xiàng)所述的基于c#的電池管理系統(tǒng)軟件刷寫方法的步驟。