張宏,李陽春,李洪雷(華晨汽車工程研究院,遼寧 沈陽 110141)
?
基于控制器刷寫效率的軟件開發(fā)方法
張宏,李陽春,李洪雷
(華晨汽車工程研究院,遼寧 沈陽 110141)
摘要:隨著汽車市場對配置要求更新頻率的增加,對整車廠而言,與配置和功能密切相關(guān)的控制器的更新也要提高效率來應(yīng)對市場變化。針對僅需要更新控制器軟件就可以滿足配置或功能變化的情況,控制器刷寫功能來升級功能是最直接有效的方式,但是由于軟件的字節(jié)數(shù)較多,加之需要升級的控制器數(shù)量多,故刷寫控制器需要較長的時間。生產(chǎn)上,其會影響生產(chǎn)線節(jié)拍和生產(chǎn)效率;而對于經(jīng)銷商,為客戶升級車輛配置,花費(fèi)時間長易引起客戶的抱怨以及維修人員的調(diào)配。故如何提高刷寫控制器的效率是整車廠需要解決的問題。文章提出一種軟件開發(fā)方法,將控制器的軟件分塊開發(fā),每個模塊都有各自的功能,故功能更新時,只需要刷寫有需要更新的軟件模塊即可,無需刷寫所有軟件。這樣,在保證控制器客戶功能實現(xiàn)的同時,提高了控制器在執(zhí)行診斷刷寫功能時的效率。
關(guān)鍵詞:診斷刷寫;配置升級;軟件開發(fā);提高效率
10.16638/j.cnki.1671-7988.2016.05.033
CLC NO.: U463.3Document Code: AArticle ID: 1671-7988 (2016)05-125-03
隨著汽車市場對功能的多元化要求越來越高,對配置升級的需求越來越頻繁,整車廠為了適應(yīng)變化滿足需求,對與配置功能密切相關(guān)的控制器升級方式也層出不窮。針對只需要更新控制器軟件即可以實現(xiàn)配置功能升級的情況,基于診斷功能刷寫控制器的應(yīng)用得到整車廠的青睞,無論是在生產(chǎn)線,還是在經(jīng)銷商處。但是,由于功能復(fù)雜和多元,控制器的軟件代碼字節(jié)數(shù)也增加很多,在加之有時需要刷寫升級的控制器較多,這就很影響在線刷寫時候的效率,刷寫的軟件字節(jié)數(shù)越多,所需要的時間越長,其對生產(chǎn)線上會影響生產(chǎn)節(jié)拍,經(jīng)銷商處則易引起客戶抱怨,所以刷寫效率是整車廠急需解決的問題。
本文針對通過刷寫控制器軟件來升級配置功能情況,提出一種控制器模塊化開發(fā)方法,目的是滿足市場對配置功能升級需求的同時,降低刷寫控制器軟件所需要的時間以改善效率,以及促進(jìn)產(chǎn)品設(shè)計開發(fā)的平臺化發(fā)展。
多數(shù)整車的配置功能由控制器的軟件實現(xiàn)的,為了節(jié)省零部件開發(fā)和管理成本,整車廠開發(fā)控制器時硬件上盡量做到平臺化,用軟件差異實現(xiàn)不同的配置功能。故針對配置功能升級的情況,只需升級控制器軟件即可實現(xiàn)。但由于控制器軟件字節(jié)數(shù)多,在加之可能升級的控制器數(shù)目增加,故刷寫軟件的效率則顯得尤為重要。
針對效率提升,影響刷寫控制器效率的主要原因是需要刷寫的每個控制器的軟件字節(jié)數(shù)多,即便升級的功能很簡單,也需要刷寫控制器的整個軟件,尤其是底層和驅(qū)動軟件,功能升級幾乎是不涉及更改,但是卻要重新刷寫,這都影響刷寫字節(jié)數(shù)和效率。故減小刷寫軟件字節(jié)數(shù)是最有效的方式。
本文提出控制器軟件模塊化開發(fā)方法,就是基于配置和功能,將控制器的軟件分模塊,即分類,開發(fā)時按照所對應(yīng)的模塊進(jìn)行開發(fā),并且做好每個軟件模塊接口定義從而實現(xiàn)功能。這樣開發(fā)的好處在于日后升級控制器時,根據(jù)不同升級配置的需求,僅更新對應(yīng)模塊的程序即可,刷寫時也只需要刷寫該模塊的程序,而無需更新控制器所有程序,以達(dá)到減少需要刷寫軟件字節(jié)數(shù)從而提高刷寫效率的目的。下面以組合儀表為例,詳細(xì)闡述該軟件開發(fā)和刷寫方式。
2.1軟件模塊化
組合儀表作為行車電腦,需要集成的信息很多,顯示屏圖片信息,數(shù)值信息,設(shè)置信息等,故其軟件開發(fā)很具有代表性。根據(jù)整車功能配置需求定義,可以將軟件開發(fā)分為如圖1模塊。
圖1 軟件模塊劃分
1)System block:用于軟件底層與控制器硬件接口。
2)Calibration block:有些功能需要組合儀表參與學(xué)習(xí),標(biāo)定。該軟件模塊中可以集成該方面的參數(shù),該模塊軟件組合儀表應(yīng)用不多,例如空調(diào)控制器,動力方面的控制器的應(yīng)用較多。
3)Basic block:主要集成網(wǎng)絡(luò)層等信息數(shù)據(jù)傳遞的相關(guān)參數(shù)。
4)HMI block:主要是集成人機(jī)交互界面的信息。
5)Application block:主要是集成控制器功能應(yīng)用信息。
由于模塊中的Application block中集成了組合儀表的多數(shù)功能,如果功能區(qū)別明顯,也可以劃分子模塊進(jìn)行開發(fā)。
根據(jù)車型配置信息,將與組合儀表相關(guān)的功能逐個分解到各個軟件模塊中進(jìn)行開發(fā),并且根據(jù)接口定義開發(fā)每個block之間的軟件,做到各個模塊之間完美調(diào)用以實現(xiàn)功能。
2.2具體實現(xiàn)
圖2舉例說明一個功能的實現(xiàn)如何將對應(yīng)的軟件程序進(jìn)行模塊劃分。
圖2 軟件模塊劃分實例
基于上圖實例,如果日后升級車輛配置,例如增加前雷達(dá)配置,故更新的內(nèi)容是屏幕切換雷達(dá)圖,波紋狀態(tài)指示等信息,這樣至于基礎(chǔ)軟件或者底層驅(qū)動根本就無缺更新,這樣只需要刷寫,HMI和application block即可。以此方式,來減少更新軟件需要刷寫字節(jié)的數(shù)量來提高效率。如果application block也有子模塊,這樣只需要刷寫子模塊軟件即可,如此刷寫效率會進(jìn)一步提高。
基于以上理論基礎(chǔ),進(jìn)行了仿真分析,其思路是定義一些簡單功能,將控制器的軟件進(jìn)行模塊劃分式開發(fā),假設(shè)需要更新配置,則刷寫對應(yīng)的block驗證是否有效。
圖3 控制器軟件模塊劃分
圖3為基于配置信息,將控制器的功能代碼分解成個逐個模塊,當(dāng)然刷寫時候必然要加載驅(qū)動,例如擦除,檢查刷寫數(shù)據(jù)的可靠性等。
圖4和圖5為對控制器的軟件模塊刷寫的刷寫代碼,目的是驗證基于該開發(fā)方式的控制器在功能升級時,能否實現(xiàn)刷寫成功。
將需要刷寫的程序模塊,放在指定路徑下,刷寫時加載該路徑后,等待控制器是否能被刷寫成功,由圖6得,刷寫成功。
圖4 刷寫控制器代碼
圖5 flashing程序
圖6 刷寫控制器結(jié)果
基于以上分析,可知本文提出控制器軟件模塊化開發(fā)來提高控制器軟件刷寫效率是可以實現(xiàn)的。開發(fā)階段將車輛配置與控制器軟件功能對應(yīng)后,逐個將每個功能分解到各自的軟件模塊中進(jìn)行開發(fā),且做到每個模塊的接口定義從而實現(xiàn)控制器的功能。故在產(chǎn)品更新或者功能升級時,只需將與需要升級功能的軟件升級即可,則務(wù)必升級全部軟件,以此提高控制器軟件刷寫效率和產(chǎn)品的平臺化開發(fā)。
參考文獻(xiàn)
[1]陸葉.ISO Bootloader控制器安全高效實現(xiàn)程序刷寫.中國集成電路,2011,20,5,79-82.
[2]王玲利,孟晨興.基于CAN總線的車載控制器標(biāo)定系統(tǒng)設(shè)計.汽車與配件,2014,43,39-40.
ECU software development based on Efficient Flashing
Zhang Hong, Li Yangchun, Li Honglei
( Brilliance auto engineering research institute, Liaoning Shenyang 110141 )
Abstract:As increasing requirement and variation of vehicle configuration from market, the efficiency of ECU updating is necessary for OEM to handle with challenge from market. For situation of only flashing software to update function, not change hardware of ECU, Flashing is effective for ECU which is relevant with function updated. But more function of ECU, more much software is needed to be developed, additionally more than one ECU need to be flashed, much time costs. It have negative impact on both timing of production line and customer complain or mechanic adjustment for dealer shop. It is necessary and essential to improve efficiency of flashing job. A new software development way is provided in this paper. ECU function software is divided into some block for development based on function distribution. When vehicle configuration is updated, the software block which is relevant with updated function only is flashed, not all software flashed. It can ensure to improve flashing efficiency of ECU and implement updated function well.
Keywords:Flashing; Function update; Software development; Improve efficiency
中圖分類號:U468.3
文獻(xiàn)標(biāo)識碼:A文章編碼:1671-7988 (2016)05-125-03
作者簡介:張宏,就職于華晨汽車工程研究院。