范 秋 華
(青島大學(xué) 電氣工程學(xué)院,山東 青島 266071)
電子技術(shù)是20世紀(jì)以來發(fā)展最迅速、應(yīng)用最廣泛的技術(shù),特別是數(shù)字電子技術(shù),取得了令人矚目的進(jìn)步[1]。一個電子系統(tǒng)實(shí)際就是由電子元器件組成的能夠產(chǎn)生、傳輸或處理電信號的實(shí)體。一般包括信號的采集處理、信息的邏輯分析、負(fù)載的硬件執(zhí)行3部分。實(shí)現(xiàn)邏輯分析的基本電路是數(shù)字電路[2]。隨著電子技術(shù)的發(fā)展,芯片的集成度在不斷的提高,考慮到功耗問題,在邏輯電路中,信號的處理和計算都是小電壓、小電流,其對外部的驅(qū)動能力也就很小,也稱之為控制電路。而具體負(fù)載的硬件執(zhí)行一般是大功率的電力電子器件,稱為主電路。這就需要驅(qū)動電路將控制電路傳來的信號按照其控制目標(biāo)的要求,轉(zhuǎn)換為大功率信號以驅(qū)動外部設(shè)備的開通或關(guān)斷。
驅(qū)動的英文為“Driver”,原意是“駕駛員”。實(shí)際上在電子系統(tǒng)中當(dāng)驅(qū)動電路輸出的功率大于等于設(shè)備器件的功率,設(shè)備才能運(yùn)轉(zhuǎn)。需要特別說明的是,有時按負(fù)載器件特性將器件分為電壓驅(qū)動型和電流驅(qū)動型。當(dāng)一個器件接受電壓的變化輸入后,它的外部特性改變大,即器件特性與輸入電壓成一定關(guān)系的,而與電流并沒明顯關(guān)系,稱之為電壓驅(qū)動型,如氣體型霓虹燈。如果接受電流輸入變化后,它的外部特性改變大,則稱之為電流驅(qū)動型,如發(fā)光二極管。盡管是說成電壓型、電流型,實(shí)際還是功率驅(qū)動,只是有時電壓或電流很小就忽略了[3-4]。但也經(jīng)常有例外不能忽略,數(shù)字世界的0和1分別由特定范圍的高、低電平來表示,早期,絕大多數(shù)都采用TTL和CMOS邏輯標(biāo)準(zhǔn),將一個TTL電路的高電平門電路拉低至低電平,仍需要0.3 mA的驅(qū)動能力[5]。
現(xiàn)代數(shù)字系統(tǒng)中,為滿足低功耗、便攜和高速通信設(shè)備的應(yīng)用需求,產(chǎn)生了許多低壓、高速的數(shù)字邏輯標(biāo)準(zhǔn),實(shí)際應(yīng)用中多達(dá)20~30種,而且在同一系統(tǒng)中往往需要采用多種不同邏輯標(biāo)準(zhǔn)的器件[6]。其設(shè)計也都不再是中小規(guī)模的純數(shù)字的芯片連接搭建,都以單片機(jī)或FPGA作為核心,用程序控制單片機(jī)或FPGA的I/O引腳輸出不同的高、低電平,甚至可以控制I/O口的輸出形式。但是,程序控制不了輸出電流,輸出電流很大程度上是取決于引腳上的外接器件。不同的接口標(biāo)準(zhǔn),對輸出電壓和電流大小的要求不同。對初學(xué)電子設(shè)計的同學(xué),這就造成了雖然做過門電路的參數(shù)測試實(shí)驗(yàn),但是在工程實(shí)踐中,仍會遇到程序、邏輯正確,但驅(qū)動不了的問題。
為此設(shè)計了數(shù)字電路端口驅(qū)動能力探究實(shí)驗(yàn),該實(shí)驗(yàn)是一開放實(shí)驗(yàn)項(xiàng)目,面向大學(xué)二年級學(xué)完數(shù)字電子技術(shù)課程的學(xué)生開設(shè),而進(jìn)入創(chuàng)新實(shí)驗(yàn)室的同學(xué)必做。
本實(shí)驗(yàn)項(xiàng)目從電子工程實(shí)踐中常見的電路接口問題出發(fā),引導(dǎo)學(xué)生綜合應(yīng)用所學(xué)的電路、模擬電子技術(shù)、單片機(jī)、可編程邏輯器件等技術(shù)知識,理論聯(lián)系實(shí)際、挖掘根本,從門電路的內(nèi)部電路結(jié)構(gòu)引導(dǎo)學(xué)生理解在實(shí)際應(yīng)用中遇到的接口不匹配、程序或邏輯正確而總是驅(qū)動不了的問題,抓住源頭,學(xué)會方法及思路。任務(wù)分基本任務(wù)和發(fā)揮任務(wù)。最終在理論基礎(chǔ)上結(jié)合實(shí)踐應(yīng)用達(dá)到提升、創(chuàng)新的目的(見圖1)。
圖1 實(shí)驗(yàn)設(shè)計的任務(wù)及目的
(1) TTL標(biāo)準(zhǔn)邏輯接口驅(qū)動能力的探究。
(2) 單片機(jī)的I/O口驅(qū)動能力探究,理解灌電流、拉電流,理解程序中的1、0在硬件上的具體實(shí)現(xiàn)、理解驅(qū)動能力的含義。
(3) FPGA的I/O口驅(qū)動能力設(shè)置,F(xiàn)PGA的I/O端口比較多,其物理連接特性即標(biāo)準(zhǔn)電流、電壓不同。學(xué)習(xí)通過軟件設(shè)置FPGA輸出管腳的電平標(biāo)準(zhǔn)及驅(qū)動電流。
(1) TTL和CMOS相互之間的驅(qū)動探究,理解不同邏輯標(biāo)準(zhǔn)之間連接需注意的問題。
(2) 驅(qū)動繼電器、電機(jī)大電流器件的探究。
(3) 設(shè)計電路及程序,實(shí)現(xiàn)單片機(jī)與FPGA的連接及驅(qū)動。
(1) 數(shù)字邏輯電路中,邏輯門輸出端接LED陽極,正邏輯關(guān)系下,輸出高電平1,則LED點(diǎn)亮;輸出低電平0,LED熄滅。邏輯門一個輸出端接一個LED和接多個LED亮度情況一樣嗎?可以接多少個LED?TTL與CMOS邏輯電平有什么不同?
(2) 51、STM32、430等單片機(jī)輸出端口的驅(qū)動能力是怎樣的?為什么又叫推挽輸出、開漏輸出、準(zhǔn)雙向口?
(3) FPGA是現(xiàn)代數(shù)字電子系統(tǒng)設(shè)計的主流,引腳約束時需要利用軟件對FPGA管腳的輸出電流進(jìn)行設(shè)置以滿足不同的高扇出需求。FPGA輸出端口驅(qū)動能力如何設(shè)置?
(4) 繼電器、電機(jī)大電流器件的驅(qū)動如何設(shè)計、電流多大?注意什么問題?
(5) 同一系統(tǒng)中使用的器件往往具有多種邏輯標(biāo)準(zhǔn),且不同的端口標(biāo)準(zhǔn)對輸出電壓和電流的大小要求也不同。比如單片機(jī)與FPGA端口之間是直接連接還是如何匹配[7]?進(jìn)入系統(tǒng)級的驅(qū)動能力探究。
(1) 硬件準(zhǔn)備。74LS00、 74HC00、多個發(fā)光二極管,面包板、導(dǎo)線。STC單片機(jī),F(xiàn)PGA芯片,選用Altera公司的MAX7128(見圖2)。
(2) 軟件環(huán)境準(zhǔn)備。Quartus II軟件,在數(shù)字電子技術(shù)課程中,已學(xué)過Verilog HDL語言及Quartus II的使用[8-9]。單片機(jī)簡單原理及編程環(huán)境的Keil的使用[10]。大學(xué)一年級都學(xué)過C語言,可以借助微視頻復(fù)習(xí)一下,實(shí)驗(yàn)程序比較簡單,只是一個輸入信號傳遞給一個信號輸出。
(3) 編寫單片機(jī)及Verilog HDL程序。控制4個LED點(diǎn)亮與熄滅。如圖3、4所示。
圖2 實(shí)驗(yàn)所需的硬件及軟件
圖3 實(shí)驗(yàn)所需的Verilog HDL程序
圖4 實(shí)驗(yàn)所需的單片機(jī)C程序
(1) 74LS00,74HC00的同一輸出口分別驅(qū)動2個、8個發(fā)光二極管,觀察現(xiàn)象,測量電平,分析原因。
這里用數(shù)碼管代替LED,如圖5所示,可以看出74LS00的一個輸出端驅(qū)動2個和8個LED時,LED數(shù)目多時,亮度會減小。
圖5 邏輯門74LS00的輸出驅(qū)動
(2) 單片機(jī)IO端口的結(jié)構(gòu)與門電路結(jié)構(gòu)相似,單片機(jī)輸出低電平時,將允許外部器件,向單片機(jī)引腳內(nèi)灌入電流,這個電流,稱為“灌電流”,外部電路稱為“灌電流負(fù)載”;單片機(jī)輸出高電平時,則允許外部器件,從單片機(jī)的引腳,拉出電流,這個電流,稱為“拉電流”,外部電路稱為“拉電流負(fù)載”[11-13]。
這些電流一般是多少?有沒有限度?如果有,最大限度是多少?這就是輸出驅(qū)動能力的問題。以STC單片機(jī)為例,通過某一輸出口分別驅(qū)動1、2、8個發(fā)光二極管,觀察現(xiàn)象,分析原因。如圖6所示,LED數(shù)目多時,亮度會減小[14]。
圖6 單片機(jī)輸出端口能力的測試
(3) 越來越多的設(shè)計需要對FPGA管腳的輸出電流進(jìn)行設(shè)置以滿足不同的高扇出及對FPGA管腳輸出電流不同的設(shè)計需求。一般來講各個廠家的FPGA輸出管腳的驅(qū)動電流都可以利用軟件進(jìn)行設(shè)置。
在環(huán)境Quartus II中,通過Chip Editor修改底層修改輸出管腳的驅(qū)動電流設(shè)置FPGA輸出管腳的驅(qū)動電流,Chip Editor修改底層改變Output Pin的驅(qū)動電流方式僅僅用在調(diào)試階段不改變用戶的約束文件。在環(huán)境Quartus II中,通過在Assignment Editor中通過增加約束修改輸出管腳的驅(qū)動電流[15]。
如圖7所示,在QuartusII軟件環(huán)境中設(shè)置不同的輸出電流,可以觀察到LED亮度不同。同時測量端口電壓也有變化。
試驗(yàn)完成后,從元器件參數(shù)、接口標(biāo)準(zhǔn)、軟件環(huán)境使用、程序設(shè)計多個方面進(jìn)行總結(jié)討論如圖8所示。實(shí)驗(yàn)的評價也是過程評價。預(yù)習(xí)準(zhǔn)備占30分,包括微課程學(xué)習(xí)、C語言、 VerilogHDL程序的編寫;實(shí)驗(yàn)的實(shí)施占40分,包括獨(dú)立排除故障、規(guī)定時間完成基本實(shí)驗(yàn)3個30分,擴(kuò)展實(shí)驗(yàn)2個10分;課堂討論占15分,包括積極發(fā)言、經(jīng)驗(yàn)分享、聯(lián)系實(shí)際提出新問題、新想法。報告書寫占15分,包括規(guī)范完整、理論設(shè)計、測試分析、問題體會。
該實(shí)驗(yàn)項(xiàng)目從實(shí)驗(yàn)內(nèi)容上講是“逐層遞進(jìn)”的,讓學(xué)生在“用中學(xué),用中研”。從設(shè)計方法上講是“融合統(tǒng)一”,由純硬件、軟硬結(jié)合、到系統(tǒng)級。該實(shí)驗(yàn)項(xiàng)目突出了基礎(chǔ)與新技術(shù)、新器件的結(jié)合,起點(diǎn)高,易創(chuàng)新。
圖8 實(shí)驗(yàn)總結(jié)與評價
后續(xù)學(xué)生做實(shí)際的電子設(shè)計系統(tǒng)時,當(dāng)用單片機(jī)、FPGA控制的電機(jī)、繼電器等大電流器件的時,遇到驅(qū)動問題就迎刃而解。
該實(shí)驗(yàn)也是選拔進(jìn)入創(chuàng)新實(shí)驗(yàn)室必做的試驗(yàn)項(xiàng)目。適應(yīng)新工科理念下嵌入式、DSP、ARM系統(tǒng)級設(shè)計的融合創(chuàng)新。
該實(shí)驗(yàn)從一個具體電路(如74LS00)引出問題,思考解決問題的方法,到擴(kuò)展研究(如單片機(jī)接口,F(xiàn)PGA接口),最后到工程應(yīng)用(如做有單片機(jī)與FPGA接口的應(yīng)用電路)。實(shí)現(xiàn)了從純硬件到軟硬結(jié)合、再到系統(tǒng)級的設(shè)計過程,是一個逐步層次化的過程。看似比較分散、實(shí)則是一個提升過程。通過該實(shí)驗(yàn)提高學(xué)生的學(xué)習(xí)興趣,并引導(dǎo)他們積極思考,勇于實(shí)踐,獲得綜合能力的鍛煉。