一種eps控制器的調參方法及裝置制造方法【專利摘要】一種EPS控制器的調參方法,首先在EPS控制器中的MCU提供的集成控制環(huán)境下,編譯EPS控制器程序生成ELF(ExecutableandLinkableFormat)目標文件,而后通過調參裝置對ELF目標文件進行解析,待ELF目標文件解析完畢后,調參裝置將待調參數(shù)信息封裝成讀寫命令發(fā)送至MCU,MCU解析讀寫命令,以完成對EPS控制器的調參。本發(fā)明在MCU程序變動時無需修改調參裝置,僅需導入新的ELF目標文件即可運行,大大整合了資源,節(jié)省人力物力,同時滿足不同芯片MCU調參需求,且支持在線顯示變量值,動態(tài)顯示變量變化曲線。【專利說明】—種EPS控制器的調參方法及裝置【
技術領域:
】[0001]本發(fā)明涉及控制器調參【
技術領域:
】,具體為一種EPS控制器的調參方法及裝置?!?br>背景技術:
】[0002]隨著汽車工業(yè)的蓬勃發(fā)展,汽車助力轉向器(EPS)由于具有能耗低、體積小、重量輕、空間省等特點已逐步取代傳統(tǒng)的機械式和液壓式助力轉向器。[0003]不論是實驗室臺架調試還是實車調試,都需要通過對EPS控制器進行調參從而提高開發(fā)效率;在EPS控制器開發(fā)過程中,通常都是首先借助集成開發(fā)環(huán)境(如TI的CCS集成開發(fā)環(huán)境、FreeScale的CodeWarrie集成開發(fā)環(huán)境)進行編譯和初步調試工作,然而不同的EPS控制器使用的主芯片(MCU)也是千差萬變,MCU采用的集成編譯調試環(huán)境不同,導致編譯環(huán)境生成的目標代碼格式不盡相同,EPS廠家需要針對不同MCU,開發(fā)不同的上位機調參裝置,以滿足需求,這樣不僅浪費了大量的人力物力,而且MCU廠家提供的集成編譯調試環(huán)境調試手段有限,譬如不支持MCU運行時??醋兞恐?、不能動態(tài)地顯示變量變化曲線。[0004]EPS控制器調參的難點在于如何獲取待調試參數(shù)的地址、長度、類型等屬性,目前通常的做法有兩種,一是在EPS控制器程序(運行在MCU)中事先固定好待調試參數(shù)的地址等屬性,上位機調參軟件根據(jù)參數(shù)的固定屬性來發(fā)送命令;二是通過解析EPS控制器程序編譯生成的map文件獲取參數(shù)的地址、長度及類型;第一種方法的優(yōu)點是簡單,易實現(xiàn),缺點是當MCU程序變動或者需要調試新的參數(shù)時,調試軟件也必須進行相應改動;第二種方法修正了第一種方法的缺點,但依然存在缺點:不能解析結構體、枚舉等復雜的數(shù)據(jù)結構?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明所解決的技術問題在于提供一種EPS控制器的調參方法及裝置,以解決上述【
背景技術:
】中的缺點。[0006]本發(fā)明所解決的技術問題采用以下技術方案來實現(xiàn):一種EPS控制器的調參方法,首先在EPS控制器中的MCU提供的集成控制環(huán)境下,編譯EPS控制器程序生成ELF目標文件,而后對ELF目標文件進行解析,待ELF目標文件解析完畢后,將待調參數(shù)信息封裝成讀寫命令發(fā)送至MCU,MCU解析讀寫命令,以完成對EPS控制器的調參;其具體步驟如下:(I)在MCU提供的集成編譯環(huán)境下編譯EPS控制器程序生成ELF目標文件,該ELF目標文件包含MCU程序結構及程序結構中各變量參數(shù)信息;(2)將步驟(I)中生成的ELF目標文件燒錄至MCU中,并運行EPS控制器;(3)在上位機中打開調參界面,調參界面包括串口配置、串口控制、數(shù)據(jù)接收個數(shù)、選擇導入ELF目標文件、解析得到ELF目標文件中的程序及數(shù)據(jù)結構樹、選擇變量列表、波圖;在串口配置中配置串口參數(shù);(4)在步驟(3)所述的調參界面中導入ELF目標文件,解析出EPS控制器的程序結構與變量參數(shù);(5)在步驟(3)所述的調參界面中勾選待觀察的變量I和2,變量I和2顯示在選擇變量列表中;(6)在步驟(5)所述的調參界面選擇變量列表中,勾選變量I的ViewCur屬性與變量2的writeEnable屬性;(7)在步驟(3)所述的調參界面中點擊串口控制中的sendWriteParameters,上位機將變量2的屬性以寫命令形式發(fā)送至MCU,MCU收到寫命令后根據(jù)寫命令中變量地址、類型、長度等屬性,修改變量2在MCU中的值;(8)在步驟(3)所述的調參界面中點擊串口控制中的sendReadParameters,上位機將變量I和2的屬性以讀命令形式發(fā)送給MCU,MCU收到讀命令后讀取各變量的值,并定時發(fā)送給上位機;上位機解析數(shù)據(jù)包后將變量值實時顯示在選擇變量列表中;同時在波圖中動態(tài)顯示其變化曲線。[0007]在本發(fā)明中,所述步驟(2)中生成的ELF目標文件格式包括.elf、,out。[0008]在本發(fā)明中,所述步驟(4)中解析ELF目標文件流程包括如下步驟:步驟①:解析ELF文件頭,ELF文件頭部存儲有程序頭部表、節(jié)區(qū)1...η、節(jié)區(qū)頭部表;節(jié)區(qū)頭部表存儲有節(jié)區(qū)位置、大小信息,得到節(jié)區(qū)描述節(jié)區(qū)頭部表的格式信息;步驟②:根據(jù)步驟①得到的節(jié)區(qū)頭部表的格式信息,查找shstrtab節(jié)區(qū)的位置和大小;步驟③:讀取步驟②查找的shstrtab節(jié)區(qū)的內(nèi)容,shstrtab節(jié)區(qū)記錄所有節(jié)區(qū)的位置和大??;步驟④:根據(jù)步驟③讀取的shstrtab節(jié)區(qū)內(nèi)容,找到strtab、symtab、debug_abbrev及debug_info節(jié)區(qū)的位置及大小信息;其中strtab節(jié)區(qū)記錄變量名稱字符串信息;symtab節(jié)區(qū)記錄變量大小、地址信息;debUg_abbreV節(jié)區(qū)中則可遞歸找到變量數(shù)據(jù)結構信息;步驟⑤:讀取步驟④找到的debug_info節(jié)區(qū),查找其中的變量,獲取其長度、地址及數(shù)據(jù)結構信息;步驟⑥:遍歷步驟④找到的debug_info節(jié)區(qū),重復步驟⑤,直到將所有變量解析完畢。[0009]一種EPS控制器的調參裝置,基于上述EPS控制器的調參方法,其包括:數(shù)據(jù)解析單元,用于獲取ELF目標文件待調參數(shù)的地址、長度及類型等屬性;數(shù)據(jù)傳輸單元,用于傳輸待調參數(shù)的讀寫命令和參數(shù)值;數(shù)據(jù)處理單元,用于解析讀寫命令;數(shù)據(jù)顯示單元,用于顯示參數(shù)的值以及變化曲線;其中,數(shù)據(jù)解析單元與數(shù)據(jù)顯示單元設置在上位機上,數(shù)據(jù)處理單元設置在MCU中,負責解析讀寫命令并定時將參數(shù)值發(fā)送至上位機,數(shù)據(jù)解析單元和數(shù)據(jù)顯示單元通過數(shù)據(jù)傳輸單元與數(shù)據(jù)處理單元建立連接。[0010]在本發(fā)明中,MCU程序變動時無需修改調參裝置,僅需導入新的ELF目標文件即可運行,大大整合了資源,節(jié)省人力物力,同時滿足不同MCU調參需求,且支持在線顯示變量值,動態(tài)顯示變量變化曲線。[0011]有益效果:本發(fā)明在MCU程序變動時無需修改調參裝置,僅需導入新的ELF目標文件即可運行,大大整合了資源,節(jié)省人力物力,同時滿足不同MCU調參需求,且支持在線顯示變量值,動態(tài)顯示變量變化曲線?!緦@綀D】【附圖說明】[0012]圖1為本發(fā)明較佳實施例的結構示意圖。[0013]圖2為本發(fā)明較佳實施例的解析流程示意圖。[0014]圖3為本發(fā)明較佳實施例中調參軟件運行示意圖?!揪唧w實施方式】[0015]為了使本發(fā)明實現(xiàn)的技術手段、創(chuàng)作特征、達成目的與功效易于明白了解,下面結合具體圖示,進一步闡述本發(fā)明。[0016]參見圖1?圖2的一種EPS控制器的調參方法,首先在EPS控制器中的MCU提供的集成控制環(huán)境下,編譯EPS控制器程序生成ELF(ExecutableandLinkableFormat)目標文件,而后對ELF目標文件進行解析,待ELF目標文件解析完畢后,將待調參數(shù)信息封裝成讀寫命令發(fā)送至MCU,MCU解析讀寫命令,以完成對EPS控制器的調參。[0017]參見圖3的一種EPS控制器的調參界面,包括Serialportconfigurat1n:串口配置、Serialportcontrol:串口控制、RxDataCounts:數(shù)據(jù)接收個數(shù)、Mapfileselect:選擇導入ELF目標文件、Treelist:解析得到ELF目標文件中的程序及數(shù)據(jù)結構樹、Selectedvariablelist:選擇變量列表、Wavegraph:波圖;在Serialportconfigurat1n中配置串口參數(shù);調參界面的配置為:1、Serialportconfigurat1n:串口配置,調參裝置通過串口與MCU通信,首先配置串口參數(shù):ComPort:C0M3,BaudRate:115200,DataBits:8,ParityBits:N0NE,StopBits:I;2、Serialportcontrol:串口控制,通過串口實現(xiàn)通信的連接、暫停、繼續(xù)、斷開并向MCU發(fā)送讀寫命令;3、RxDataCounts:接收數(shù)據(jù)的個數(shù):67785;4、Mapfileselect:選擇導入ELF目標文件格式為temp,elf;5、Treelist:解析導入的temp,elf文件,得到temp,elf文件的程序及數(shù)據(jù)結構樹,并在每個程序文件或變量前勾選,勾選的變量顯示在Selectedvariablelist列表中;6>Selectedvariablelist:顯示勾選的變量名稱、地址、長度、類型、值等屬性,復選框ViewCur:選中該變量的實時曲線在wavegraph中動態(tài)顯示;復選框WriteEnable:選中表示將修改該變量的值;7、Wavegraph:選中實時顯示動態(tài)曲線;8、Items:顯示wavegraph中各曲線對應的變量名及其顏色。[0018]以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點。本行業(yè)的技術人員應該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本發(fā)明要求保護范圍由所附的權利要求書及其等效物界定?!緳嗬蟆?.一種EPS控制器的調參裝置,其特征在于,包括:數(shù)據(jù)解析單元,用于獲取ELF目標文件待調參數(shù)的地址、長度及類型等屬性;數(shù)據(jù)傳輸單元,用于傳輸待調參數(shù)的讀寫命令和參數(shù)值;數(shù)據(jù)處理單元,用于解析讀寫命令;數(shù)據(jù)顯示單元,用于顯示參數(shù)的值以及變化曲線;其中,數(shù)據(jù)解析單元與數(shù)據(jù)顯示單元設置在上位機上,數(shù)據(jù)處理單元設置在MCU中,負責解析讀寫命令并定時將參數(shù)值發(fā)送至上位機,數(shù)據(jù)解析單元和數(shù)據(jù)顯示單元通過數(shù)據(jù)傳輸單元與數(shù)據(jù)處理單元建立連接。2.—種EPS控制器的調參方法,其特征在于,首先在EPS控制器中的MCU提供的集成控制環(huán)境下,編譯EPS控制器程序生成ELF目標文件,而后對ELF目標文件進行解析,待ELF目標文件解析完畢后,將待調參數(shù)信息封裝成讀寫命令發(fā)送至MCU,MCU解析讀寫命令,以完成對EPS控制器的調參;其具體步驟如下:(I)在MCU提供的集成編譯環(huán)境下編譯EPS控制器程序生成ELF目標文件,該ELF目標文件包含MCU程序結構及程序結構中各變量參數(shù)信息;(2)將步驟(1)中生成的ELF目標文件燒錄至MCU中,并運行EPS控制器;(3)在上位機中打開調參界面,調參界面包括串口配置、串口控制、數(shù)據(jù)接收個數(shù)、選擇導入ELF目標文件、解析得到ELF目標文件中的程序及數(shù)據(jù)結構樹、選擇變量列表、波圖;在串口配置中配置串口參數(shù);(4)在步驟(3)所述的調參界面中導入ELF目標文件,解析出EPS控制器的程序結構與變量參數(shù);(5)在步驟(3)所述的調參界面中勾選待觀察的變量I和2,變量I和2顯示在選擇變量列表中;(6)在步驟(5)所述的調參界面選擇變量列表中,勾選變量I的ViewCur屬性與變量2的writeEnable屬性;(7)在步驟(3)所述的調參界面中點擊串口控制中的sendWriteParameters,上位機將變量2的屬性以寫命令形式發(fā)送至MCU,MCU收到寫命令后根據(jù)寫命令中變量地址、類型、長度等屬性,修改變量2在MCU中的值;(8)在步驟(3)所述的調參界面中點擊串口控制中的sendReadParameters,上位機將變量I和2的屬性以讀命令形式發(fā)送給MCU,MCU收到讀命令后讀取各變量的值,并定時發(fā)送給上位機;上位機解析數(shù)據(jù)包后將變量值實時顯示在選擇變量列表中;同時在波圖中動態(tài)顯示其變化曲線。3.根據(jù)權利要求2所述的一種EPS控制器的調參方法,其特征在于,所述步驟(2)中生成的ELF目標文件格式包括.elf、.0ut。4.根據(jù)權利要求2所述的一種EPS控制器的調參方法,其特征在于,所述步驟(4)中解析ELF目標文件流程包括如下步驟:步驟①:解析ELF文件頭,ELF文件頭部存儲有程序頭部表、節(jié)區(qū)1...η、節(jié)區(qū)頭部表;節(jié)區(qū)頭部表存儲有節(jié)區(qū)位置、大小信息,得到節(jié)區(qū)描述節(jié)區(qū)頭部表的格式信息;步驟②:根據(jù)步驟①得到的節(jié)區(qū)頭部表的格式信息,查找shstrtab節(jié)區(qū)的位置和大小;步驟③:讀取步驟②查找的shstrtab節(jié)區(qū)的內(nèi)容,shstrtab節(jié)區(qū)記錄所有節(jié)區(qū)的位置和大小;步驟④:根據(jù)步驟③讀取的shstrtab節(jié)區(qū)內(nèi)容,找到strtab、symtab、debug_abbrev及debug_info節(jié)區(qū)的位置及大小信息;其中strtab節(jié)區(qū)記錄變量名稱字符串信息;symtab節(jié)區(qū)記錄變量大小、地址信息;debUg_abbreV節(jié)區(qū)中則可遞歸找到變量數(shù)據(jù)結構信息;步驟⑤:讀取步驟④找到的debug_info節(jié)區(qū),查找其中的變量,獲取其長度、地址及數(shù)據(jù)結構信息;步驟⑥:遍歷步驟④找到的debug_info節(jié)區(qū),重復步驟⑤,直到將所有變量解析完畢?!疚臋n編號】G05B19/042GK104035360SQ201410188124【公開日】2014年9月10日申請日期:2014年5月7日優(yōu)先權日:2014年5月7日【發(fā)明者】趙斌,林聯(lián)韋,姚常瓦,吳艷霞申請人:株洲易力達機電有限公司