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