阮慧祥
(廣西職業技術學院, 廣西壯族自治區 南寧 530000)
傳統的汽車電子控制器在運用中存在開發周期長、可靠性低、成本高等缺點。隨著電子控制器的不斷研發國內汽車電子市場已經進入了一個快速發展時期,汽車電子水平已經成為汽車的現代化水平的主要標志,因此本文提出了一種具有軟硬件協同開發模式的汽車電子控制器快速開發系統。
汽車電子控制器快速開發系統當中的“快速”指的就是可以減少系統的研發周期,能夠于現實的汽車技術發展相匹配,并且具有一定的穩定性。該系統實現了軟件和硬件的協同開發,在硬件設計上采取模塊化、程序邏輯設計上體現了直觀化、模型庫功能較為強大、可以自動生成部分代碼這就為電子控制系統的研發提供了便利,從而實現減少投入、降低周期、加強穩定的功能。該系統是以C++語言環境為基礎,通過電腦和PCI總線來連接硬件系統并控制各個功能模塊;軟件系統則基于PC機的操作系統自動生成,通過功能模塊控制程序的圖形編輯和代碼自動生成。
在本系統的各個功能模塊綜合起來可以歸結為下面三個功能模塊。其一是PC機,PC機是用戶的控制界面,其主要功能就是為了便于其他功能的控制和實現。如網絡之間的互通,為比較復雜的對象建立模型,實現智能算法,設計各種軟件等[1]。其二就是主設備模塊,該模塊的主要功能就是實現系統從初始到關閉之間的各種命令,系統初始化之后PCI總線主設備向PC機發出總線占有請求信號,然后執行用戶的各項命令如數據傳輸,設備選擇等。其三就是從設備模塊,這一模塊主要包括主設備模塊以外的部分,即存儲和驅動部分。存儲的主要功能就是數據的保存,驅動的主要功能就是實現命令執行的預期效果。
軟件是實現功能的重要組成部分,想要達到預期效果就必須要裝置高配置PC機和功能齊全的軟件包。軟件包分為數據管理和圖形編輯兩個部分,數據管理主要管理的就是參數、對象模型、功能模塊、邏輯符號和邏輯算法;圖形編輯則包含源代碼產生器、代碼編譯器和加工器。系統軟件平臺是保證功能齊全系統穩定的核心。
其一是電源電路,關于電源電路需要著重注意的是電源的電壓,不能對PCB板的布線形成干擾,電壓只能選擇12 V和5 V這兩種。5 V電壓的主要功能,就是為5 V的芯片提供電源,12 V的電壓需要通過變壓器將其轉化成3.3 V。其二是復位電路,主要起著穩定系統功能的作用,一旦處理不當就會形成系統紊亂。復位電路一般采取專用復位芯片和RC復位電路兩種措施,在該系統當中選擇了前者。其三就是DSP的JTAG接口電路,傳統的DSP的JTAG接口當中都有一個仿真接口,利用仿真器就能夠實現直接訪問,除此之外還有編程和調試的功能,從而有利于對DSP系統進行調試。本系統也在主控制板上預留了這一接口。
電路板的調試工作比較復雜,如果沒有良好的頭緒,往往無從下手,最后的結果只能是漏洞百出,不能滿足人們的使用需求。因此,在本系統的DSP調試當中已從以下幾個方面入手。首先是電源模塊的調試,上面介紹了DSP硬件系統電源需要特別注意電壓,這是因為本系統的DSP芯片需要提供多種不同的電源,如CPU、鎖相環等。其次是晶振電路的調試,晶振電路主要是通過內部的振蕩器鏈接生成時鐘信號,這一電路的效果直接影響PCB的工作。檢測晶振電路的方式一般都是利用示波器來進行檢測,通過晶振調試圖就能夠發現問題(示波器出現正弦波,則晶振電路正常)
DSP控制器目前已經廣泛運用于電機數字控制和其他控制系統當中,這一控制系統功能強大,壽命較長,也能夠起到穩定系統的功能。DSP系統的開發主要基于Windows的Codecomposer調試器,這種調試器存在兩種工作模式,其一是可以仿真軟件,對軟件進行模擬;其二是具有在線編程硬件的功能[2]。
GPLD是可編程邏輯器的簡稱,隨著社會的發展,尤其是半導體工藝的進步,集成電路被廣泛運用在電腦、工程、電子等領域,為了提供較好的編程技術,ASIC應運而生并且具備運算快、成本低、消耗低的特點,但也存在不穩定,研發周期長等缺點。之后GPLD和FPGA兩款芯片逐漸出現,彌補了ASIC的缺陷,GPLD和FPGA相比各有優缺點,GPLD最大的優點就是斷電之后不會丟失配置信息,通電之后不用重新設置就可以直接使用,非常方便。
首先是本地端的讀寫時序分析,在PCI目標模式的傳輸當中,PCI總線控制器的本地端數據傳輸分為兩種方式,其一為單周期操作方式,指的是在每次的數據傳播當中只能傳播一種數據,不能同時傳播多種數據;其二是突發操作方式,指的是每次數據傳播只能傳播一批數據。在LOCAL端時序傳播當中我們采用的是第一種,即單周期操作方式。其次是DSP讀寫時序分析,在寫時序圖當中,地址線數據線與控制信息對應的是存儲器的寫入允許所存控制,當外部處于電平較低時允許內部存儲器操作數據。
在上面的講解當中介紹了本系統的硬件組成,總體邏輯就是主體控制模板利用PCI總線路來鏈接外部設備,從而實現如通信等各個功能。具體而言就是主體控制模板從外部硬件設施當中讀取命令,然后主體控制模板對此命令進行分析和讀取,然后利用PCI總線的驅動軟件來快速的執行命令。也就是說主體控制模板是一個中樞系統,需要從外界接受信息,同時要分析信息和發布命令。為了解決PCI和DSP的時序匹配問題和接口的兼容性,就需要利用GPLD芯片來進行解決。
1)驅動程序簡介。系統進行到這一步就是需要解決軟件和硬件的結合問題,驅動就是軟件和硬件的潤滑劑,是操作系統的接口,解決了這一問題基本上就完成系統的初步研發。驅動程序一般包括設備的最初狀態、端口銜接、存儲管理、DAM傳輸和中斷管理,設備驅動可以加載核心模塊。一個良好的設備驅動需要完成以下工作,硬件和軟件的初始工作(即啟動工作),能夠創建和刪除數據,能夠完成對設備的訪問和檢測,可以與其他驅動協調,處理電源和添加刪除熱拔插設備。
2)驅動開發工具WinDriver。WinDriver是一款功能較為全面的驅動開發軟件,可以檢測硬件的狀態,能夠自發生成代碼,可以對程序進行調試,并且能夠解決較為簡單的問題。能夠降低開發周期,具備了用戶模式,操作簡單對編程的知識要求低,具有很強的穩定性。
3)基于WinDriver的PCI設備驅動程序開發。首先是關于硬件訪問問題,PC機器的核心處理器存在兩個地址空間,微機接口卡處于兩個地址空間中間,此處也會生出一個空間映射。WinDriver為我們提供了兩個類別的映射訪問,從而解決硬件訪問問題。其次是中斷處理,在執行某種命令的時候,處理器往往正在進行其他的工作,這就會產生指令的中斷。在解決這一問題當中WinDriver能夠生成兩種類型的實例,包含KInterrupt和Kdeferredcall,處理硬件中斷是通過前者來完成的。
1)通過閱讀相關資料以及文獻了解了具體的平臺設計思路,確定了汽車電子控制器開發裝置軟硬件平臺的構造框架;
2)進行了控制器主控制板模塊設計與DSP系統調試,對DSP系統的開發環境進行了模擬;
3)對GPLD時序進行了匹配邏輯控制設計,對其概念有了一定的了解,并且嘗試對主控制器板卡驅動程序進行了開發。