基于k線通信更新發(fā)動機控制器程序和數(shù)據(jù)的系統(tǒng)及方法
【專利摘要】本發(fā)明涉及一種基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng),所述的系統(tǒng)包括控制器、K線、K線適配器、上位機、電源,所述的控制器具有K線接口,并通過K線接口連接于所述的K線,通過該K線連接至所述的K線適配器,然后通過K線適配器連接至所述的上位機,所述的電源用以給所述的控制器和K線適配器供電,本發(fā)明還涉及采用該種系統(tǒng)實現(xiàn)基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法。采用該種基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng)及方法,發(fā)動機控制器利用一根信號線即可完成發(fā)動機控制器程序和標定數(shù)據(jù)的更新,結(jié)構(gòu)簡單,使用方便,減少了插件的針數(shù),并保證更新數(shù)據(jù)準確有序的從上位機傳到控制器,降低了成本,適用范圍廣泛。
【專利說明】基于K線通信更新發(fā)動機控制器程序和數(shù)據(jù)的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及發(fā)動機控制器領(lǐng)域,尤其涉及發(fā)動機控制器程序和標定數(shù)據(jù)更新領(lǐng) 域,具體是指一種基于Κ線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng)及方法。
【背景技術(shù)】
[0002] Κ線是汽車工業(yè)中廣泛采用的一種通信總線標準,在許多場合有著廣泛的應用,Κ 線通信多采用半雙工異步串行通訊,工作電壓范圍為8V?18V,支持最大電流,可以與單片 機CMOS電平無縫連接,串行通訊碼的每個單元包括10位二進制數(shù)據(jù),分別為起始位、8位數(shù) 據(jù)、停止位,每個單元發(fā)送完畢后設(shè)有空閑等待,但是還沒有應用到發(fā)動機控制器程序和標 定數(shù)據(jù)更新領(lǐng)域。
[0003] 現(xiàn)有對發(fā)動機控制器標定數(shù)據(jù)或程序更新采用的是半導體廠商提供的燒寫器將 程序和標定數(shù)據(jù)批量灌進控制器,且客戶整車后續(xù)升級程序和更新數(shù)據(jù)是采用基于CAN總 線的燒寫系統(tǒng)?,F(xiàn)有電噴摩托車發(fā)動機控制器CAN總線通信需要兩根信號線,增加了接插 件的針數(shù);同時電噴(或電控化油器)摩托車發(fā)動機控制器在整車中是孤立的一個控制器 節(jié)點,不需與其他控制器進行通信;并且?guī)AN接口的控制芯片價格比帶K線接口的控制芯 片價格高,CAN總線還需要專門的收發(fā)器芯片,增加了成本。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是克服上述現(xiàn)有技術(shù)的缺點,提供一種利用κ線作為 數(shù)據(jù)傳輸介質(zhì)、通過K線通信協(xié)議控制、結(jié)構(gòu)簡單、使用簡便、更新數(shù)據(jù)過程較快速、只需要 一根信號線、減少了插件的針數(shù)、降低了成本、保證數(shù)據(jù)準確有序的從上位機傳輸?shù)娇刂破?的基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng)及方法。
[0005] 為了實現(xiàn)上述目的,本發(fā)明的系統(tǒng)包括控制器、K線、K線適配器、上位機、電源以 及用戶程序和引導程序,所述的控制器具有K線接口,所述的K線適配器通過K線分別與所 述的控制器和上位機相連接,所述的電源用以給所述的控制器和K線適配器供電。
[0006] 所述的控制器包括內(nèi)部存儲器,所述的內(nèi)部存儲器包括引導程序區(qū)、用戶程序和 數(shù)據(jù)區(qū),所述的引導程序區(qū)用以存儲所述的控制器數(shù)據(jù)更新系統(tǒng)的通信和存儲器擦寫控制 協(xié)議,所述的用戶程序和數(shù)據(jù)區(qū)用以存儲用戶程序和控制參數(shù)(噴油脈寬和點火提前角等 標定數(shù)據(jù))。
[0007] 所述的用戶程序包括跳轉(zhuǎn)控制程序,所述的跳轉(zhuǎn)控制程序的功能是控制所述的控 制器接收請求更新程序命令、回復請求更新程序命令、更改引導程序跳轉(zhuǎn)到用戶程序條件 為所述的控制器不會由引導程序跳轉(zhuǎn)到用戶程序。
[0008] 所述的用戶程序在指定的地址空間編譯生成燒寫文件,用以保證生成的燒寫文件 所占的地址空間不與引導程序區(qū)重疊。
[0009] 所述的K線適配器通過USB接口或串口與所述的上位機相連接。
[0010] 所述的發(fā)動機控制器為電噴摩托車發(fā)動機控制器或電控化油器摩托車發(fā)動機控 制器。 toon] 實現(xiàn)基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法,包括以下步驟:
[0012] (1)所述的上位機讀取更新程序和數(shù)據(jù)至所述的上位機的內(nèi)存中;
[0013] (2)所述的上位機啟動更新程序和數(shù)據(jù);
[0014] (3)所述的控制器從用戶程序跳轉(zhuǎn)到引導程序執(zhí)行;
[0015] (4)所述的上位機通過Κ線將所述的上位機的內(nèi)存中的更新程序加載到所述的控 制器中;
[0016] (5)所述的控制器從引導程序跳轉(zhuǎn)到用戶程序執(zhí)行。
[0017] 所述的上位機讀取更新程序和數(shù)據(jù)至所述的上位機的內(nèi)存中,包括以下步驟:
[0018] (11)所述的上位機讀取更新程序和數(shù)據(jù)到所述的上位機的內(nèi)存中,并解析出所述 的更新程序和數(shù)據(jù)的地址和數(shù)據(jù)信息;
[0019] (12)所述的上位機把所述的更新程序和數(shù)據(jù)的地址數(shù)據(jù)和數(shù)據(jù)信息進行分幀。
[0020] 所述的上位機啟動更新程序和數(shù)據(jù),包括以下步驟:
[0021] (21)所述的上位機遵循多次重發(fā)機制,向所述的控制器發(fā)送更新程序和數(shù)據(jù)請 求,若成功則繼續(xù)步驟(22),否則繼續(xù)步驟(23);
[0022] (22)所述的控制器通過所述的上位機發(fā)送的更新程序和數(shù)據(jù)請求命令;
[0023] (23)所述的上位機退出更新程序和數(shù)據(jù)并結(jié)束。
[0024] 所述的控制器從用戶程序跳轉(zhuǎn)到引導程序執(zhí)行,包括以下步驟:
[0025] (31)所述的控制器執(zhí)行所述的用戶程序,并判斷所述的控制器是否接收到所述的 上位機請求更新用戶程序和數(shù)據(jù)命令,若是則繼續(xù)步驟(32);否則繼續(xù)步驟(33);
[0026] (32)所述的控制器更改引導程序跳轉(zhuǎn)到用戶程序的條件為所述的控制器在程 序和數(shù)據(jù)更新過程中不會由引導程序跳轉(zhuǎn)到用戶程序,然后跳轉(zhuǎn)到引導程序并繼續(xù)步驟 ⑷;
[0027] (33)所述的控制器繼續(xù)執(zhí)行所述的用戶程序。
[0028] 所述的上位機通過Κ線將所述的上位機的內(nèi)存中的更新程序加載到所述的控制 器中,包括以下步驟:
[0029] (41)所述的上位機遵循多次重發(fā)機制,向所述的控制器發(fā)送編程請求,若成功則 繼續(xù)步驟(42),否則繼續(xù)步驟(43);
[0030] (42)所述的控制器擦除所述的用戶程序和數(shù)據(jù)區(qū)的程序,若成功則繼續(xù)步驟 (44),否則繼續(xù)步驟(43);
[0031] (43)所述的上位機退出更新程序并結(jié)束編程;
[0032] (44)所述的上位機遵循數(shù)次重發(fā)機制,向所述的控制器發(fā)送更新數(shù)據(jù)幀,若成功 則繼續(xù)步驟(45),否則繼續(xù)步驟(43);
[0033] (45)所述的上位機向所述的控制器發(fā)送下一幀數(shù)據(jù),并檢查是否為最后一幀數(shù) 據(jù),若是則繼續(xù)步驟(46),否則繼續(xù)步驟(45);
[0034] (46)所述的上位機遵循多次重發(fā)機制,向所述的控制器發(fā)送結(jié)束編程請求;
[0035] (47)所述的控制器在接收到結(jié)束編程請求命令后向所述的內(nèi)部存儲區(qū)寫入一字 節(jié)的控制器內(nèi)部程序運行跳轉(zhuǎn)控制標志;
[0036] (48)所述的控制器判斷所述的控制器內(nèi)部程序運行跳轉(zhuǎn)控制標志是否寫入成功, 若是則繼續(xù)步驟(49),否則繼續(xù)步驟(46);
[0037] (49)所述的控制器向所述的上位機發(fā)送通過結(jié)束編程請求并跳轉(zhuǎn)到用戶程序運 行。
[0038] 所述的控制器從引導程序跳轉(zhuǎn)到用戶程序執(zhí)行,包括以下步驟:
[0039] (51)所述的控制器判斷控制器內(nèi)部程序運行跳轉(zhuǎn)控制標志是否為結(jié)束編程標志, 若是則繼續(xù)步驟(52),否則繼續(xù)步驟(53);
[0040] (52)所述的控制器從引導程序跳轉(zhuǎn)到更新的用戶程序去執(zhí)行;
[0041] (53)所述的控制器繼續(xù)執(zhí)行所述的引導程序。
[0042] 所述的方法還包括以下步驟:
[0043] (6)上位機軟件界面顯示通信端口選擇按鈕、控制器程序和數(shù)據(jù)更新進度和更新 完成的百分比對話框、控制器程序和數(shù)據(jù)更新成功對話框。
[0044] 本發(fā)明提供一種基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng)及方法, 該系統(tǒng)利用K線作為數(shù)據(jù)傳輸介質(zhì),通過K線通信協(xié)議控制,結(jié)構(gòu)簡單,使用簡便,更新數(shù)據(jù) 速度(2. 4KByte/s)較快,并且只需要一根信號線,既減少了插件的針數(shù),又降低了成本,同 時還保證數(shù)據(jù)準確有序的從上位機傳輸?shù)娇刂破鳌?br>
【專利附圖】
【附圖說明】
[0045] 圖1為本發(fā)明的基于K線通信更新發(fā)動機控制器程序和數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)示意圖。
[0046] 圖2為本發(fā)明的控制器內(nèi)部存儲區(qū)分布和程序跳轉(zhuǎn)流程圖。
[0047] 圖3為本發(fā)明的基于K線通信更新發(fā)動機控制器程序和數(shù)據(jù)的方法在實際應用中 的流程圖。
[0048] 圖4為本發(fā)明的K線通信步驟流程圖。
[0049] 圖5為本發(fā)明的程序數(shù)據(jù)更新系統(tǒng)上位機軟件更新過程界面示意圖。
[0050] 圖6為本發(fā)明的程序數(shù)據(jù)更新系統(tǒng)上位機軟件數(shù)據(jù)更新結(jié)束界面示意圖。
【具體實施方式】
[0051] 為了能夠更清楚地描述本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合具體實施例來進行進一步的 描述。
[0052] 請參閱圖1所示,為本發(fā)明的基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的 系統(tǒng)的結(jié)構(gòu)示意圖。
[0053] 在一種實施方式中,該系統(tǒng)包括控制器、K線、K線適配器、上位機、電源以及用戶 程序和引導程序(引導區(qū)中的程序),所述的控制器帶有K線接口,并通過K線接口連接于 所述的K線,通過該K線連接至所述的K線適配器,然后通過K線適配器連接至所述的上位 機的串口或USB 口,所述的控制器和適配器還連接至電源,電源給控制器和K線適配器供 電。
[0054] 請參閱圖2所示,該所述系統(tǒng)中的控制器包括內(nèi)部存儲器,所述的內(nèi)部存儲器包 括引導程序區(qū)、用戶程序和數(shù)據(jù)區(qū),所述的引導程序區(qū)用以存儲所述的控制器程序和數(shù)據(jù) 更新系統(tǒng)的通信和存儲器擦寫控制協(xié)議,所述的用戶程序和數(shù)據(jù)區(qū)用以存儲用戶程序和控 制參數(shù)(噴油脈寬和點火提前角等標定數(shù)據(jù))。
[0055] 所述的用戶程序包括跳轉(zhuǎn)控制程序,所述的跳轉(zhuǎn)控制程序的功能是控制所述的控 制器接收請求更新程序命令、回復請求更新程序命令、更改引導程序跳轉(zhuǎn)到用戶程序條件 為所述的控制器不會由引導程序跳轉(zhuǎn)到用戶程序、跳轉(zhuǎn)到引導程序。
[0056] 所述的用戶程序在指定的地址空間編譯生成燒寫文件,用以保證生成的燒寫文件 所占的地址空間不與引導程序區(qū)重疊。
[0057] 利用該系統(tǒng)實現(xiàn)基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法,如圖3 所示,包括以下步驟:
[0058] (1)所述的上位機讀取更新程序和數(shù)據(jù)(可選擇加載摩托羅拉S文件或英特爾 Hex文件)至所述的上位機內(nèi)存中;
[0059] (2)所述的上位機加載好程序或數(shù)據(jù)文件,所述的上位機的軟件界面包括通信端 口選擇按鈕、數(shù)據(jù)更新開始按鈕;
[0060] (3)所述的上位機進行程序和數(shù)據(jù)更新過程,如圖5所示,所述的上位機軟件的界 面顯示數(shù)據(jù)更新進度和更新完成的百分比;
[0061] (4)如圖6所示,所述的上位機程序和數(shù)據(jù)更新完成后,上位機軟件界面顯示更新 程序和數(shù)據(jù)成功,編程結(jié)束;
[0062] (5)所述的上位機編程結(jié)束后,所述的控制器內(nèi)運行的就是新的程序和數(shù)據(jù)。
[0063] 在一種優(yōu)化的K線通信協(xié)議中,所述的基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù) 據(jù)更新的方法中,如圖2所示,所述的步驟(1)具體包括以下步驟:
[0064] (11)所述的上位機讀取更新程序和數(shù)據(jù)至所述的上位機的內(nèi)存中;
[0065] (12)所述的上位機根據(jù)更新程序和數(shù)據(jù)的格式(摩托羅拉S文件或英特爾Hex文 件)解析出更新程序和數(shù)據(jù)的地址和數(shù)據(jù)信息;
[0066] (13)所述的上位機將所述的更新程序和數(shù)據(jù)的地址和數(shù)據(jù)信息按照地址從低到 高排好序;
[0067] (14)所述的上位機把所述的更新程序和數(shù)據(jù)的地址數(shù)據(jù)和數(shù)據(jù)信息進行分幀。
[0068] 所述的步驟(2)具體包括以下步驟:
[0069] (21)所述的上位機遵循三次重發(fā)機制,向所述的控制器發(fā)送更新程序和數(shù)據(jù)請求 命令;
[0070] (22)所述的控制器判斷是否收到請求程序和數(shù)據(jù)更新命令,若是則繼續(xù)步驟 (23),否則繼續(xù)步驟(24);
[0071] (23)所述的控制器向所述的上位機發(fā)送通過所述的程序和數(shù)據(jù)更新命令;
[0072] (24)所述的上位機退出更新流程并結(jié)束;
[0073] (25)所述的上位機判斷是否收到所述的控制器的通過請求更新程序和數(shù)據(jù)命令, 若是則繼續(xù)步驟(26),否則繼續(xù)步驟(24);
[0074] (26)所述的上位機遵循三次重發(fā)機制,向所述的控制器發(fā)送啟動編程命令;
[0075] (27)所述的控制器判斷是否收到所述的上位機發(fā)送的啟動編程命令,若是則繼續(xù) 步驟(28),否則繼續(xù)步驟(29);
[0076] (28)所述的控制器擦除所述的內(nèi)部存儲器中的用戶程序和數(shù)據(jù),并向所述的上位 機發(fā)送擦除成功命令;
[0077] (29)所述的上位機退出編程并結(jié)束;
[0078] (210)所述的上位機判斷是否收到所述的擦除成功命令,若是則繼續(xù)步驟(211), 否則繼續(xù)步驟(29);
[0079] (211)所述的上位機遵循三次重發(fā)機制,向所述的控制器發(fā)送更新數(shù)據(jù)幀,所述的 更新數(shù)據(jù)幀包括幀頭、幀長、命令、數(shù)據(jù)、校驗和;
[0080] (212)所述的控制器判斷是否收到所述的上位機發(fā)來的更新數(shù)據(jù)幀,若是則繼續(xù) 步驟(213),否則繼續(xù)步驟(29);
[0081] (213)所述的控制器根據(jù)所述的更新數(shù)據(jù)幀的構(gòu)成判斷所收到的數(shù)據(jù)幀是否正 確,若正確則繼續(xù)步驟(214),否則繼續(xù)步驟(29);
[0082] (214)所述的上位機遵循三次重發(fā)機制,繼續(xù)向所述的控制器發(fā)送下一幀更新數(shù) 據(jù)幀,并判斷該數(shù)據(jù)幀是否為最后一幀,若是則繼續(xù)步驟(215),否則繼續(xù)步驟(214);
[0083] (215)所述的上位機遵循三次重發(fā)機制,向所述的控制器發(fā)送結(jié)束編程請求命令 數(shù)據(jù)幀,所述的控制器若收到請求結(jié)束編程命令數(shù)據(jù)幀,則將一字節(jié)的控制器內(nèi)部程序運 行跳轉(zhuǎn)控制信息寫入內(nèi)部存儲區(qū),并繼續(xù)步驟(216),否則繼續(xù)步驟(29);
[0084] (216)所述的控制器判斷所述的控制器內(nèi)部程序運行跳轉(zhuǎn)控制信息寫入是否成 功,若成功則繼續(xù)步驟(217),否則繼續(xù)步驟(218);
[0085] (217)所述的控制器回復結(jié)束編程請求命令并跳轉(zhuǎn)執(zhí)行新的用戶程序,并結(jié)束編 程;
[0086] (218)所述的控制器繼續(xù)執(zhí)行引導程序,并繼續(xù)步驟(215)。
[0087] 所述的控制器跳轉(zhuǎn)執(zhí)行新的用戶程序,包括以下步驟:
[0088] (2171)所述的控制器判斷控制器內(nèi)部程序運行跳轉(zhuǎn)控制標志是否為結(jié)束編程標 志,若是則繼續(xù)步驟(2172),否則繼續(xù)步驟(2173);
[0089] (2172)所述的控制器從引導程序跳轉(zhuǎn)到更新的用戶程序去執(zhí)行;
[0090] (2173)所述的控制器繼續(xù)執(zhí)行所述的引導程序。
[0091] 控制器內(nèi)部程序運行跳轉(zhuǎn)原理包括以下兩種方法,具體為:
[0092] (a)所述的控制器內(nèi)部程序運行跳轉(zhuǎn)控制信息存放在RAM區(qū),具體為:
[0093] 所述的條件信息存放在控制器RAM區(qū)起始8個字節(jié)(不僅限8個字節(jié)和限定RAM 區(qū)的位置),所述的控制器在所述的用戶程序中指定一個8字節(jié)的數(shù)組存放所述的條件信 息,所述的數(shù)組首地址為RAM區(qū)起始地址,同時所述的控制器指定RAM區(qū)從原RAM區(qū)第9個 字節(jié)開始,并在所述的引導程序中指定RAM區(qū)從原RAM區(qū)的第9個字節(jié)開始;
[0094] (b)所述的條件信息存放在ROM區(qū),具體為:
[0095] 所述的控制器用戶程序在收到請求更新用戶程序命令的時候,所述的控制器用戶 程序?qū)⒁蛔止?jié)的所述條件信息寫入到ROM區(qū)的某個未被用戶程序占用的字節(jié)空間,所述的 控制器跳轉(zhuǎn)到引導程序后,首先讀取所述的條件信息。本發(fā)明提供一種基于K線通信實現(xiàn) 發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng)及方法,該系統(tǒng)利用K線作為數(shù)據(jù)傳輸介質(zhì),通過K線 通信協(xié)議控制,結(jié)構(gòu)簡單,使用簡便,更新數(shù)據(jù)速度(2. 4KByte/s)較快,并且只需要一根信 號線,既減少了插件的針數(shù),又降低了成本,同時還保證數(shù)據(jù)準確有序的從上位機傳輸?shù)娇?制器。
[〇〇96] 在此說明書中,本發(fā)明已參照其特定的實施例作了描述。但是,很顯然仍可以作出 各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說明書和附圖應被認為是說明性的 而非限制性的。
【權(quán)利要求】
1. 一種基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng),其特征在于,所述的 系統(tǒng)包括控制器、Κ線、Κ線適配器、上位機、電源,所述的控制器具有Κ線接口,所述的Κ線 適配器通過Κ線分別與所述的控制器和上位機相連接,所述的電源用以給所述的控制器和 Κ線適配器供電。
2. 根據(jù)權(quán)利要求1所述的基于Κ線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng),其 特征在于,所述的控制器包括內(nèi)部存儲器,所述的內(nèi)部存儲器包括引導程序區(qū)、用戶程序和 數(shù)據(jù)區(qū),所述的引導程序區(qū)用以存儲所述的控制器程序和數(shù)據(jù)更新的系統(tǒng)的通信和存儲器 擦與控制協(xié)議。
3. 根據(jù)權(quán)利要求1所述的基于Κ線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的系統(tǒng),其 特征在于,所述的Κ線適配器通過USB接口或串口與所述的上位機相連接。
4. 根據(jù)權(quán)利要求1所述的基于K線通信實現(xiàn)發(fā)動機控制器數(shù)據(jù)更新的系統(tǒng),其特征在 于,所述的發(fā)動機控制器為電噴摩托車發(fā)動機控制器或電控化油器摩托車發(fā)動機控制器。
5. -種利用權(quán)利要求2所述的系統(tǒng)基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的 方法,其特征在于,所述的方法包括以下步驟: (1) 所述的上位機讀取更新程序和數(shù)據(jù)至所述的上位機的內(nèi)存中; (2) 所述的上位機啟動更新程序和數(shù)據(jù); (3) 所述的控制器從用戶程序跳轉(zhuǎn)到引導程序執(zhí)行; (4) 所述的上位機通過K線將所述的上位機的內(nèi)存中的更新程序加載到所述的控制器 中; (5) 所述的控制器從引導程序跳轉(zhuǎn)到用戶程序執(zhí)行。
6. 根據(jù)權(quán)利要求5所述的基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法,其 特征在于,所述的上位機讀取更新程序和數(shù)據(jù)至所述的上位機的內(nèi)存中,包括以下步驟: (11) 所述的上位機讀取更新程序和數(shù)據(jù)到所述的上位機的內(nèi)存中,并解析出所述的更 新程序和數(shù)據(jù)的地址和數(shù)據(jù)信息; (12) 所述的上位機把所述的更新程序和數(shù)據(jù)的地址數(shù)據(jù)和數(shù)據(jù)信息進行分幀。
7. 根據(jù)權(quán)利要求5所述的基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法,其 特征在于,所述的上位機啟動更新程序和數(shù)據(jù),包括以下步驟: (21) 所述的上位機遵循多次重發(fā)機制,向所述的控制器發(fā)送更新程序和數(shù)據(jù)請求,若 成功則繼續(xù)步驟(22),否則繼續(xù)步驟(23); (22) 所述的控制器通過所述的上位機發(fā)送的更新程序和數(shù)據(jù)請求命令; (23) 所述的上位機退出更新程序和數(shù)據(jù)并結(jié)束。
8. 根據(jù)權(quán)利要求5所述的基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法,其 特征在于,所述的控制器從用戶程序跳轉(zhuǎn)到引導程序執(zhí)行,包括以下步驟: (31) 所述的控制器執(zhí)行所述的用戶程序,并判斷所述的控制器是否接收到所述的上位 機請求更新用戶程序和數(shù)據(jù)命令,若是則繼續(xù)步驟(32);否則繼續(xù)步驟(33); (32) 所述的控制器更改引導程序跳轉(zhuǎn)到用戶程序的條件為所述的控制器在程序和數(shù) 據(jù)更新過程中不會由引導程序跳轉(zhuǎn)到用戶程序,然后跳轉(zhuǎn)到引導程序并繼續(xù)步驟(4); (33) 所述的控制器繼續(xù)執(zhí)行所述的用戶程序。
9. 根據(jù)權(quán)利要求5所述的基于K線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法,其 特征在于,所述的上位機通過K線將所述的上位機的內(nèi)存中的更新程序加載到所述的控制 器中,包括以下步驟: (41) 所述的上位機遵循多次重發(fā)機制,向所述的控制器發(fā)送編程請求,若成功則繼續(xù) 步驟(42),否則繼續(xù)步驟(43); (42) 所述的控制器擦除所述的用戶程序和數(shù)據(jù)區(qū)的程序,若成功則繼續(xù)步驟(44),否 則繼續(xù)步驟(43); (43) 所述的上位機退出更新程序并結(jié)束編程; (44) 所述的上位機遵循數(shù)次重發(fā)機制,向所述的控制器發(fā)送更新數(shù)據(jù)幀,若成功則繼 續(xù)步驟(45),否則繼續(xù)步驟(43); (45) 所述的上位機向所述的控制器發(fā)送下一幀數(shù)據(jù),并檢查是否為最后一幀數(shù)據(jù),若 是則繼續(xù)步驟(46),否則繼續(xù)步驟(45); (46) 所述的上位機遵循多次重發(fā)機制,向所述的控制器發(fā)送結(jié)束編程請求; (47) 所述的控制器在接收到結(jié)束編程請求命令后向所述的內(nèi)部存儲區(qū)寫入一字節(jié)的 控制器內(nèi)部程序運行跳轉(zhuǎn)控制標志; (48) 所述的控制器判斷所述的控制器內(nèi)部程序運行跳轉(zhuǎn)控制標志是否寫入成功,若是 則繼續(xù)步驟(49),否則繼續(xù)步驟(46); (49) 所述的控制器向所述的上位機發(fā)送通過結(jié)束編程請求并跳轉(zhuǎn)到用戶程序運行。
10. 根據(jù)權(quán)利要求5所述的基于Κ線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法,其 特征在于,所述的控制器從引導程序跳轉(zhuǎn)到用戶程序執(zhí)行,包括以下步驟: (51) 所述的控制器判斷控制器內(nèi)部程序運行跳轉(zhuǎn)控制標志是否為結(jié)束編程標志,若是 則繼續(xù)步驟(52),否則繼續(xù)步驟(53); (52) 所述的控制器從引導程序跳轉(zhuǎn)到更新的用戶程序去執(zhí)行; (53) 所述的控制器繼續(xù)執(zhí)行所述的引導程序。
11. 根據(jù)權(quán)利要求5所述的基于Κ線通信實現(xiàn)發(fā)動機控制器程序和數(shù)據(jù)更新的方法,其 特征在于,所述的方法還包括以下步驟: (6)上位機軟件界面顯示通信端口選擇按鈕、控制器程序和數(shù)據(jù)更新進度和更新完成 的百分比對話框、控制器程序和數(shù)據(jù)更新成功對話框。
【文檔編號】G06F9/445GK104063251SQ201410312819
【公開日】2014年9月24日 申請日期:2014年7月2日 優(yōu)先權(quán)日:2014年7月2日
【發(fā)明者】諸葛俊貴, 段利泉, 張宗哲, 陳鋼, 陳曉青, 沈準 申請人:東風電子科技股份有限公司