潘遠(yuǎn)翠達(dá)州職業(yè)技術(shù)學(xué)院教務(wù)處,四川達(dá)州 635001
淺談EDA工具軟件在電子技術(shù)綜合實(shí)驗(yàn)教學(xué)中的應(yīng)用
潘遠(yuǎn)翠達(dá)州職業(yè)技術(shù)學(xué)院教務(wù)處,四川達(dá)州 635001
電子技術(shù)綜合實(shí)驗(yàn)主要任務(wù)是培養(yǎng)電子類專業(yè)學(xué)生電子系統(tǒng)的設(shè)計(jì)能力,學(xué)習(xí)系統(tǒng)設(shè)計(jì)的過程,訓(xùn)練工程實(shí)踐能力。本文探討了以EDA工具軟件為教學(xué)工具,在綜合實(shí)驗(yàn)中培養(yǎng)學(xué)生的電子電路設(shè)計(jì)能力,具體以數(shù)據(jù)采集實(shí)驗(yàn)作為實(shí)例加以闡述。
EDA工具軟件;電子技術(shù)綜合實(shí)驗(yàn);教學(xué)應(yīng)用
EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)60年代中期從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來的。電子技術(shù)綜合實(shí)驗(yàn)主要任務(wù)是培養(yǎng)電子類專業(yè)學(xué)生的電子系統(tǒng)的設(shè)計(jì)能力,學(xué)習(xí)系統(tǒng)設(shè)計(jì)的過程,訓(xùn)練工程實(shí)踐能力。前承基礎(chǔ)模塊的實(shí)驗(yàn),從具有單一功能的實(shí)驗(yàn)電路轉(zhuǎn)為完整的系統(tǒng)電路;后啟創(chuàng)新實(shí)踐模塊,為學(xué)習(xí)獨(dú)立設(shè)計(jì)系統(tǒng)打下良好的基礎(chǔ)。
20世紀(jì)90年代,國際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國家,一直在積極探索新的電子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了極大的靈活性。這些器件可以通過軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。
EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。
利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開始設(shè)計(jì)電子系統(tǒng),大量工作可以通過計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或PCB版圖的整個(gè)過程的計(jì)算機(jī)上自動(dòng)處理完成。
現(xiàn)在對(duì)EDA的概念或范疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前,EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如,在飛機(jī)制造過程中,從設(shè)計(jì)、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。
EDA工具軟件可大致可分為芯片設(shè)計(jì)輔助軟件、可編程芯片輔助設(shè)計(jì)軟件、系統(tǒng)設(shè)計(jì)輔助軟件等3類。
目前,進(jìn)入我國并具有廣泛影響的EDA軟件是系統(tǒng)設(shè)計(jì)軟件輔助類和可編程芯片輔助設(shè)計(jì)軟件:Protel、PSPICE、multiSIM10(原EWB的最新版本)、OrCAD、PCAD、LSIIogic、MicroSim、ISE、modelsim、Matlab等等。這些工具都有較強(qiáng)的功能,一般可用于幾個(gè)方面,例如很多軟件都可以進(jìn)行電路設(shè)計(jì)與仿真,同進(jìn)還可以進(jìn)行PCB自動(dòng)布局布線,可輸出多種網(wǎng)表文件與第三方軟件接口。
從教學(xué)角度思考,綜合實(shí)驗(yàn)主要針對(duì)的是學(xué)生電子設(shè)計(jì)能力的培養(yǎng),進(jìn)入這一層次學(xué)習(xí)的學(xué)生還沒有什么設(shè)計(jì)電路、搭建電路的經(jīng)驗(yàn),如果直接要求他們根據(jù)設(shè)計(jì)需求制作電路,由于學(xué)生的水平不一,部分學(xué)生難免會(huì)出現(xiàn)學(xué)習(xí)的惰性,等待抄襲其他同學(xué)的設(shè)計(jì)成果,或者等待教師在看不下去的情況下給出電路,失去本層次數(shù)學(xué)的意義,這種弊端是我們?cè)诮虒W(xué)中要盡量避免的。我們采取的教學(xué)方法是以點(diǎn)帶面,將實(shí)驗(yàn)系統(tǒng)的實(shí)現(xiàn)分為幾個(gè)必須的步驟,每一步都有重要知識(shí)點(diǎn),每個(gè)知識(shí)點(diǎn)的掌握則是通過完成一定的任務(wù)而達(dá)成的,實(shí)現(xiàn)的重要手段之一便是采用EDA仿真技術(shù)。通過課堂教學(xué)、督導(dǎo),“逼迫”學(xué)生進(jìn)入電路設(shè)計(jì)狀態(tài),完成相關(guān)設(shè)計(jì)知識(shí)的學(xué)習(xí)。
本層次的實(shí)驗(yàn)涉及了模擬電路、數(shù)字電路及單片機(jī)技術(shù)等課程內(nèi)容,設(shè)計(jì)的實(shí)驗(yàn)項(xiàng)目有的偏重模擬系統(tǒng),有的偏重?cái)?shù)字系統(tǒng),有的以單片機(jī)為核心,均是具備一定功能的完整電子系統(tǒng)。
教學(xué)模式則根據(jù)所選題目的不同而略有不同。總體上采用的是,首先建立電子系統(tǒng)的概念,作系統(tǒng)總體設(shè)計(jì);其次按模塊分別設(shè)計(jì)并作系統(tǒng)仿真;最后完成系統(tǒng)設(shè)計(jì)。對(duì)數(shù)字系統(tǒng)來說,主要是基于CPLD和FPGA的,因此綜合設(shè)計(jì)的過程主要在針對(duì)性較強(qiáng)的數(shù)字邏輯系統(tǒng)的EDA軟件中完成硬件描述語言的編寫及仿真調(diào)試,最后下載到芯片上進(jìn)行實(shí)際的測試。對(duì)模擬系統(tǒng)而言,先作系統(tǒng)設(shè)計(jì)并在Orcad或EWB上作電路仿真,然后進(jìn)行硬件電路的搭建、調(diào)測。對(duì)單片機(jī)類電路,同樣是先作系統(tǒng)設(shè)計(jì),然后作一些外圍硬件電路的仿真,再編寫程序并作仿真調(diào)試,最后是硬件和軟件的聯(lián)調(diào)。
考慮到進(jìn)入本層次學(xué)習(xí)的學(xué)生是初次接觸到系統(tǒng)的概念,為了與他們前面的單元式功能模塊的實(shí)驗(yàn)相銜接,系統(tǒng)模塊都是給出的。
以數(shù)據(jù)采集實(shí)驗(yàn)為例,主要分為如下幾個(gè)主要教學(xué)步驟,并配合仿真軟件的使用:
繪制系統(tǒng)電路圖→電路功能的仿真→系統(tǒng)軟件的設(shè)計(jì)、編寫及仿真執(zhí)行→編寫程序,并在實(shí)驗(yàn)板上驗(yàn)證
3.1 繪制系統(tǒng)電路圖
此步驟看似與設(shè)計(jì)要求不相關(guān),但是結(jié)合指導(dǎo)畢業(yè)設(shè)計(jì)的經(jīng)驗(yàn),發(fā)現(xiàn)缺少了這一環(huán)節(jié)的培養(yǎng),大量做硬件課題的學(xué)生到了畢業(yè)設(shè)計(jì)階段,從頭開始學(xué)習(xí)繪制電路原理圖及PCB板的設(shè)計(jì),占用了非常多的時(shí)間,使得關(guān)注于課題設(shè)計(jì)的時(shí)間被占用,影響設(shè)計(jì)效果。繪制原理圖及PCB又是實(shí)踐性極強(qiáng)的,單獨(dú)設(shè)課的教學(xué)效果不好,結(jié)合以上情況及參照本校實(shí)踐類課程教學(xué)計(jì)劃,我們?cè)诰C合實(shí)驗(yàn)中用幾個(gè)學(xué)時(shí)的時(shí)間對(duì)學(xué)生進(jìn)行初步的培養(yǎng),深入的學(xué)習(xí)研究留給他們課后去做。另一個(gè)目的是讓學(xué)生熟悉系統(tǒng)電路,這比單純的對(duì)著課件講述一遍留下的印象要深一些。采用的繪圖工且是protel99SE(主要是實(shí)驗(yàn)空條件所限),基本任務(wù)是繪制電路原理圖,構(gòu)建網(wǎng)絡(luò)表,應(yīng)用自動(dòng)布局、布線來完成PCB圖,學(xué)一些基本技巧。
3.2 用EWB進(jìn)行部分原理電路的仿真
這一步通過對(duì)兩個(gè)系統(tǒng)外圍電路的仿真,訓(xùn)練學(xué)生正確選擇器件,完成電路的設(shè)計(jì)、搭建,并進(jìn)行仿真調(diào)試。實(shí)驗(yàn)要求完成555多諧振蕩器(振蕩頻率>400kHz)的設(shè)計(jì)(該電路是ADC的時(shí)鐘源)和8位ADC的工作仿真。自擬電路,計(jì)算出正確的參數(shù)。
我們選擇multisim2001電路仿真軟件完成這部分的教學(xué)。multisim2001在保留了EWB以往版本形象直觀等諸多優(yōu)點(diǎn)的基礎(chǔ)之上,大大增強(qiáng)了軟件的仿真測試和分析功能,同時(shí)還大大擴(kuò)充了元件庫中傷真元件的數(shù)量,特別是增加了若干個(gè)與實(shí)際元件相對(duì)應(yīng)的建模精確的真實(shí)仿真元件模型,使得仿真設(shè)計(jì)的結(jié)果更精確、更可靠。
任務(wù)雖然簡單,但是我們?cè)诮虒W(xué)中始終貫徹工程訓(xùn)練與實(shí)際應(yīng)用緊密聯(lián)系的教學(xué)思想,要求學(xué)生選用multisim8中提供的實(shí)際標(biāo)準(zhǔn)值器件。比如:multisim中提供的555電路有兩種,一種是頻帶較窄的器件,一種是帶寬較寬的,如果選擇不當(dāng),則在系統(tǒng)要求的頻段范圍內(nèi)輸出失真的脈沖波。仿真8位ADC時(shí),模擬電壓輸入端接一個(gè)可變電位器,改變輸入電壓的值,記錄輸出的數(shù)字值,驗(yàn)證轉(zhuǎn)換結(jié)果,并改變參考電壓,觀測不同的輸入電壓對(duì)應(yīng)的輸出結(jié)果,理解在ADc轉(zhuǎn)換精度固定的情況下,提高分辨率的方法。
3.3 程序的設(shè)計(jì)及仿真執(zhí)行
我們采用的是wave6000作為系統(tǒng)程序的編譯環(huán)境。該程序界面清晰,匯編代碼調(diào)試方便。此環(huán)節(jié),我們采取的教學(xué)模式是:以模塊程序入手,根據(jù)系統(tǒng)功能,添加連綴語句,完成系統(tǒng)程序。
為了讓學(xué)生熟悉單片機(jī)的編程環(huán)境,先編寫幾個(gè)本系統(tǒng)會(huì)用到的子程序,如延時(shí)、數(shù)據(jù)傳輸、BCD碼的轉(zhuǎn)換、查表等。通過這個(gè)環(huán)節(jié),掌握程序調(diào)試的基本步驟,如編譯、跟蹤執(zhí)行、從數(shù)據(jù)入口送數(shù)、在數(shù)據(jù)出口讀數(shù)、差錯(cuò)修改等。
進(jìn)一步按照系統(tǒng)工作的原理,利用幾個(gè)已有的子程序,添加單片機(jī)的初始化、ADC的控制語句及所需的中斷服務(wù)和必要的連接語句,形成完整的系統(tǒng)程序。
在這個(gè)環(huán)節(jié),在軟件調(diào)試環(huán)境中,完成編譯、調(diào)試,重點(diǎn)放在觀察程序運(yùn)行的順序是否正確,即確保數(shù)據(jù)采集是定時(shí)循環(huán)進(jìn)行的。調(diào)試通過后,將程序饒寫到單片機(jī)中在實(shí)驗(yàn)板上運(yùn)行,并用儀器觀測控制脈沖等信號(hào)。因?yàn)檐浖{(diào)試環(huán)境中未必能對(duì)所有硬件操作進(jìn)行調(diào)試,這時(shí)也可看到電路中不能進(jìn)行軟件仿真的部分,其工作是否正常。往往軟件調(diào)試完全正確的程序,撓寫到芯片上運(yùn)行卻不完全正確,就需要在程序的某些地方作些調(diào)整。
綜上所述,經(jīng)過3個(gè)步驟循序漸進(jìn)的學(xué)習(xí)過程,利用EDA工具軟件重要的教學(xué)輔助作用,引導(dǎo)學(xué)生建立起了電子電路設(shè)計(jì)的概念。從分析、理解電路性能,到模塊電路的設(shè)計(jì),并結(jié)合硬件工作原理來設(shè)計(jì)軟件,提高了工程實(shí)踐能力,在電子技術(shù)綜合實(shí)驗(yàn)中完成了電路設(shè)計(jì)知識(shí)的基礎(chǔ)培養(yǎng),為學(xué)生進(jìn)一步的學(xué)習(xí)打下了良好的設(shè)計(jì)基礎(chǔ)。
[1]王軍.電子技術(shù)綜合實(shí)驗(yàn)[M].成都:電子科技大學(xué)出版杜,200l.
[2]段玉生,王艷丹,何麗靜.電工電子技術(shù)與EDA基礎(chǔ)[M].北京:清華大學(xué)出版社,2004.
TP31
A
1674-6708(2010)32-0246-02
潘遠(yuǎn)翠,講師,主要從事電子信息教學(xué)與研究