高 磊
摘 要:傳統(tǒng)的晶體管圖示儀體積龐大、顯示屏小、圖形無(wú)法保存。基于CPLD的特性,設(shè)計(jì)以CPLD控制器為核心的數(shù)據(jù)采集電路。將其與傳統(tǒng)的晶體管圖示儀相結(jié)合并通過(guò)單片機(jī)和串行通信在微機(jī)上顯示晶體管特性曲線。所設(shè)計(jì)的CPLD控制器滿足了單片機(jī)、存儲(chǔ)器和A/D轉(zhuǎn)換器之間的時(shí)序配合要求,改善了原有圖示儀的不足,實(shí)現(xiàn)并擴(kuò)展了儀器的功能。
關(guān)鍵詞:晶體管特性曲線;CPLD控制器;時(shí)序配合;A/D轉(zhuǎn)換器
中圖分類(lèi)號(hào):TP23 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2009)21-213-03
Design of CPLD Controller for Transistor Curve Grapher
GAO Lei
(Shenyang Institute of Aeronautical Engineering,Shengyang,110034,China)
Abstract:The traditional transistor curve grapher has weakness of big volume and small screen,and it is unable to save graph.Based on the property of CPLD,a data-acquisition circuit is designed by using CLPD controller as the core.Combining with old transistor curve grapher,using single chip computer and serial port communication,the transistor characteristic curves is displayed on the microcomputer.This CPLD controller has met the needs of timing matching among single chip computer,RAM and A/D converter,overcame the weakness of the former Grapher,realized and expended performances of the instrument.
Keywords:transistor characteristic curves;CPLD controller;timing matching;A/D converter
晶體管圖示儀是電路設(shè)計(jì)中常用的電子儀器,它能夠顯示晶體管的輸入特性、輸出特性和轉(zhuǎn)移特性等多種曲線和參數(shù)。它不僅可以測(cè)量晶體二極管和三極管,還可以測(cè)量場(chǎng)效應(yīng)管、隧道二極管、單結(jié)晶體管、可控硅和光耦等器件。但傳統(tǒng)的晶體管圖示儀存在著電路復(fù)雜,體積龐大,示波管的顯示屏小,功耗大,價(jià)格昂貴等缺點(diǎn)。隨著計(jì)算機(jī)軟硬件技術(shù)、單片機(jī)技術(shù)和EDA技術(shù)的不斷發(fā)展及其在電工電子測(cè)量技術(shù)的應(yīng)用,晶體管圖示儀在結(jié)構(gòu)、工作原理和功能上發(fā)生很大變化,成為數(shù)字化和智能化的虛擬儀器。本文設(shè)計(jì)的晶體管圖示儀就是這樣一種新型儀器,除改善了原有儀器不足之外,還擴(kuò)展了儀器功能,具有圖形保存,數(shù)據(jù)處理,界面顯示靈活,可操作性強(qiáng),性能價(jià)格比高等優(yōu)點(diǎn)。
1 系統(tǒng)結(jié)構(gòu)框圖
1.1 傳統(tǒng)晶體管圖示儀結(jié)構(gòu)及工作原理
在傳統(tǒng)的晶體管圖示儀[1,2]中,各模塊單元完全由模擬電路和脈沖數(shù)字電路組成,屬于全硬件結(jié)構(gòu),如圖1所示。它主要包括階梯電流發(fā)生器、掃描電壓發(fā)生器、垂直放大、水平放大和示波管等。圖中W是負(fù)載電阻,R是電流采樣電阻,T是被測(cè)三極管。所謂三極管輸出特性曲線是:在基極電流不變的條件下,集電極電壓和電流之間的關(guān)系。在測(cè)量三極管輸出特性曲線時(shí),階梯電流發(fā)生器對(duì)T的基極施加階梯電流信號(hào),在階梯電流的每一個(gè)臺(tái)階時(shí)間內(nèi),掃描電壓發(fā)生器對(duì)T的集電極回路施加掃描電壓。掃描電壓是50 Hz交流電經(jīng)整流得到。T的集電極電流在采樣電阻R上的壓降(代表集電極電流)經(jīng)垂直放大后加到示波管垂直偏轉(zhuǎn)板上,T的集電極電壓經(jīng)水平放大后加到示波管的水平偏轉(zhuǎn)板上。當(dāng)施加的階梯電流和掃描電壓周期性地重復(fù)出現(xiàn)時(shí),三極管輸出特性曲線就可以顯示在示波管上。
1.2 本圖示儀結(jié)構(gòu)框圖
本圖示儀的構(gòu)成見(jiàn)圖2。與圖1相比不同的是:“垂直放大”、“水平放大”和“示波管”取消了,其功能由上位機(jī)承擔(dān);同時(shí)增加了單片機(jī)、CPLD、存儲(chǔ)器和A/D轉(zhuǎn)換器等部件,組成數(shù)據(jù)采集電路。工作時(shí)上位機(jī)向單片機(jī)發(fā)出數(shù)據(jù)采集命令,單片機(jī)通過(guò)階梯電流發(fā)生器對(duì)T的基極施加階梯電流信號(hào),通過(guò)掃描電壓發(fā)生器對(duì)T的集電極回路施加掃描電壓;與此同時(shí),CPLD控制器控制A/D轉(zhuǎn)換器和存儲(chǔ)器快速采集和存儲(chǔ)電壓電流數(shù)據(jù)。當(dāng)存儲(chǔ)器數(shù)據(jù)存滿后,CPLD控制器向單片機(jī)發(fā)出采集結(jié)束信號(hào),單片機(jī)再將存儲(chǔ)器中的數(shù)據(jù)通過(guò)串口傳送到上位機(jī)進(jìn)行處理和顯示。一個(gè)完整的圖形需要多次這樣的過(guò)程才能實(shí)現(xiàn)。
該系統(tǒng)若不使用CPLD和存儲(chǔ)器等器件也可實(shí)現(xiàn)數(shù)據(jù)采集,但由于單片機(jī)工作速度相對(duì)較慢,在有限時(shí)間(掃描電壓的上升段,5 ms)內(nèi)采集的點(diǎn)數(shù)較少,曲線不夠準(zhǔn)確。使用了CPLD和存儲(chǔ)器之后,采得的點(diǎn)數(shù)密集,曲線更加真實(shí)。本系統(tǒng)的關(guān)鍵是設(shè)計(jì)CPLD控制器,以解決單片機(jī)、存儲(chǔ)器和A/D轉(zhuǎn)換器之間的時(shí)序配合關(guān)系。
2 數(shù)據(jù)采集電路功能模塊確定
數(shù)據(jù)采集電路的構(gòu)成如圖3所示。除了包含單片機(jī)、控制器、存儲(chǔ)器、和A/D轉(zhuǎn)換器外,還有地址計(jì)數(shù)器和數(shù)據(jù)鎖存器。
2.1 A/D轉(zhuǎn)換器和數(shù)據(jù)鎖存器
A/D轉(zhuǎn)換器是數(shù)據(jù)采集電路重要的部件之一,本系統(tǒng)的A/D轉(zhuǎn)換器采用Maxim公司的MAX197[3]。MAX197是一款多量程的12位A/D轉(zhuǎn)換器,8路模擬信號(hào)輸入,輸出數(shù)據(jù)線8條,分為高4位和低8位輸出,由HBEN端控制。當(dāng)時(shí)鐘頻率為2 MHz時(shí),轉(zhuǎn)換時(shí)間為6 μs。MAX197在啟動(dòng)轉(zhuǎn)換時(shí),需要輸入一個(gè)8位控制字,這個(gè)控制字若由單片機(jī)提供將使啟動(dòng)時(shí)間延長(zhǎng),難以提高采集速度,所以這里用到一個(gè)數(shù)據(jù)鎖存器74LS373[4]來(lái)保存控制字。
2.2 存儲(chǔ)器和地址發(fā)生器
存儲(chǔ)器采用兩片2114[4],它是一款4 b×1K靜態(tài)隨機(jī)存儲(chǔ)器。2114在存取數(shù)據(jù)時(shí),除了需要外部提供片選信號(hào)和讀寫(xiě)信號(hào)外,還需要提供地址信號(hào)。地址信號(hào)由地址發(fā)生器產(chǎn)生,地址發(fā)生器實(shí)際上是一個(gè)計(jì)數(shù)器。
2.3 控制器
控制器[5]是數(shù)據(jù)采集電路的核心,由CPLD內(nèi)部模塊實(shí)現(xiàn)。這里的CPLD選用Altera公司的EPM7064。EPM7064[6]有64個(gè)宏單元,1 250個(gè)可用門(mén)類(lèi),36個(gè)I/O腳。從可行性方面來(lái)說(shuō),RAM、地址發(fā)生器、74LS373和控制器都可以同時(shí)做到CPLD中,但RAM需要100個(gè)節(jié),用CPLD來(lái)實(shí)現(xiàn)將占用大量資源,僅一片EPM7064就不夠用。所以為了節(jié)省資源,降低成本,這里采用外接RAM2114。74LS373也采用外接方式,主要是考慮端口不夠用。因此在CPLD內(nèi)部?jī)H安排了控制器和地址發(fā)生器(圖3虛線框內(nèi))。
3 控制器結(jié)構(gòu)設(shè)計(jì)
3.1 采集點(diǎn)數(shù)的確定及控制器接口要求
晶體管特性曲線中,輸出特性曲線是最復(fù)雜的。輸出特性曲線一般由8~10條線組成。在本系統(tǒng)中,每條線由50個(gè)點(diǎn)連接而成。每個(gè)點(diǎn)由一個(gè)電壓值和一個(gè)電流值確定,每個(gè)電壓(或電流)數(shù)據(jù)占兩字節(jié)存儲(chǔ)單元(數(shù)字量12位),則每條曲線的電壓值(或電流值)就占100個(gè)字節(jié)。電壓值和電流值本應(yīng)該在同一時(shí)刻采集,但為了節(jié)省A/D轉(zhuǎn)換器和其他硬件,這里把電壓和電流安排在不同的掃描周期內(nèi)采集,只要采集時(shí)間與各自的掃描周期起始時(shí)間間隔一一對(duì)應(yīng)就可以保證精度,時(shí)間誤差在1 μs之內(nèi)。
每一組電壓或電流數(shù)據(jù)的采集都是在一個(gè)掃描電壓的上升時(shí)間段完成。掃描電壓是把50 Hz交流電壓經(jīng)整流產(chǎn)生,所以每個(gè)掃描電壓所占時(shí)間是10 ms,掃描電壓的上升段時(shí)間就是5 ms。如果5 ms時(shí)間內(nèi)要采集50個(gè)數(shù)據(jù),則每個(gè)數(shù)據(jù)占用時(shí)間為100 μs。10條曲線將占用20個(gè)掃描周期。
在每個(gè)數(shù)據(jù)采集時(shí)間(100 μs)內(nèi),控制器首先從鎖存器74LS373中讀取“控制字”送入A/D轉(zhuǎn)換器,啟動(dòng)A/D轉(zhuǎn)換器工作,進(jìn)入轉(zhuǎn)換等待狀態(tài)。當(dāng)轉(zhuǎn)換結(jié)束時(shí),控制器從A/D轉(zhuǎn)換器分別讀取數(shù)據(jù)的高字節(jié)和低字節(jié)存入RAM中,然后等待下一個(gè)采集周期。待50個(gè)數(shù)據(jù)采集結(jié)束后,控制器向單片機(jī)發(fā)出采集結(jié)束信號(hào)。所以控制器要產(chǎn)生74LS373的讀信號(hào)、A/D轉(zhuǎn)換器的片選和讀寫(xiě)信號(hào)、存儲(chǔ)器片選和讀寫(xiě)信號(hào)、地址發(fā)生器的時(shí)鐘和清零信號(hào)等,還要接受單片機(jī)的采集指令信號(hào)和50 Hz交流電同步信號(hào),返回單片機(jī)采集結(jié)束信號(hào)等。
3.2 控制器內(nèi)部構(gòu)成
控制器內(nèi)部(見(jiàn)圖4)主要模塊有計(jì)數(shù)器、脈沖分配器和觸發(fā)器。計(jì)數(shù)器為100進(jìn)制,輸入時(shí)鐘周期為1 μs,這樣計(jì)數(shù)器計(jì)滿一個(gè)循環(huán)就是100 μs(即一個(gè)數(shù)據(jù)采集的時(shí)間)。脈沖分配器的作用是對(duì)100 μs內(nèi)的時(shí)間再進(jìn)行細(xì)分,使每1 μs時(shí)間都可以輸出脈沖(根據(jù)需要)。觸發(fā)器由脈沖分配器觸發(fā)產(chǎn)生任意寬度的脈沖(見(jiàn)圖5)。圖中COUNT100_Y18模塊[8,9]實(shí)現(xiàn)了100進(jìn)制計(jì)數(shù)器和脈沖分配器的功能,DFFA1~DFFA4是增強(qiáng)的D觸發(fā)器[10]模塊,DFFA2的R1~R3是清0端,S1~S3是置1端,DFFA2,DFFA3和DFFA4結(jié)構(gòu)相同。
連接RAM的控制信號(hào)有兩個(gè),即讀寫(xiě)信號(hào)SRAM_OE和片選信號(hào)SRAM_WE。連接A/D轉(zhuǎn)換器的控制信號(hào)有4個(gè),即片選信號(hào)A/D_CE、寫(xiě)信號(hào)A/D_WR、讀信號(hào)A/D_RD和高低字節(jié)選擇信號(hào)A/D_HEEN。地址計(jì)數(shù)器和74LS373鎖存器的控制信號(hào)也要與上述時(shí)序配合。
3.3 控制器的工作過(guò)程
控制器輸出端時(shí)序圖如圖5所示。單片機(jī)先向鎖存器存入一個(gè)控制字,設(shè)置輸入模擬通道、輸入通道量程、掉電模式和內(nèi)外時(shí)鐘選擇等信息,然后向控制器發(fā)出采集指令(Start_A/D變?yōu)楦唠娖?。當(dāng)掃描電壓到來(lái)時(shí)(圖中TB50 Hz變?yōu)楦唠娖?,COUNT100_Y18開(kāi)始計(jì)數(shù)并輸出脈沖,通過(guò)觸發(fā)器在不同時(shí)間產(chǎn)生不同寬度的脈沖。COUNT100_Y18的第1~4個(gè)脈沖產(chǎn)生A/D轉(zhuǎn)換器片選信號(hào)A/D_CS和74LS373讀信號(hào)(圖5波形1),第2個(gè)脈沖產(chǎn)生A/D轉(zhuǎn)換器寫(xiě)信號(hào)A/D_WR(圖5波形2),把74LS373的數(shù)據(jù)寫(xiě)入MAX197,啟動(dòng)A/D開(kāi)始轉(zhuǎn)換。待轉(zhuǎn)換結(jié)束(第8個(gè)脈沖結(jié)束轉(zhuǎn)換)后,COUNT100_Y18的第10H~14H脈沖產(chǎn)生A/D轉(zhuǎn)換器片選信號(hào)A/D_CS和RAM2片選信號(hào)SRAM_CE(圖5波形3和5),第11H~14H脈沖產(chǎn)生A/D轉(zhuǎn)換器的讀信號(hào)A/D_RD(圖5波形7)。第15H脈沖把A/D_HEEN置為高電平,選通數(shù)據(jù)的高字節(jié),而第17H~1BH脈沖再次產(chǎn)生A/D_CS,SRAM_CE,A/D_RD和SRAM_WE(圖5波形4,6,8和10),把數(shù)據(jù)的高4位存入存儲(chǔ)器中。這樣一個(gè)數(shù)據(jù)的采集宣告結(jié)束。
當(dāng)時(shí)間達(dá)100 μs時(shí),重復(fù)上述過(guò)程,進(jìn)行下一個(gè)數(shù)據(jù)的采集。當(dāng)RAM存滿100個(gè)字節(jié)后,控制器向單片機(jī)返回采集結(jié)束信號(hào),單片機(jī)通過(guò)串口將100個(gè)字節(jié)的數(shù)據(jù)批量傳遞給上位機(jī)。
4 結(jié) 語(yǔ)
在設(shè)計(jì)過(guò)程中,首先用VHDL語(yǔ)言編寫(xiě)COUNT100_Y18和DFFA1~DFFA4等模塊,經(jīng)Max+PlusⅡ[5,7]編譯和仿真通過(guò),再連接各模塊形成頂層圖形文件(圖5)。對(duì)頂層圖形文件再進(jìn)行編譯和仿真,通過(guò)后將程序下載到芯片中。單片機(jī)主要編寫(xiě)顯示程序、階梯電流驅(qū)動(dòng)程序和串口通信程序,均調(diào)試通過(guò)。上位機(jī)界面用VB語(yǔ)言實(shí)現(xiàn),畫(huà)面清晰美觀,控制方便。結(jié)論表明,把CPLD技術(shù)用于改造傳統(tǒng)晶體管圖示儀,效果是明顯的,儀器性能有很大提高。
參考文獻(xiàn)
[1]林占江.電子測(cè)量?jī)x器原理與使用.北京:電子工業(yè)出版社,2006.
[2]方林海.電子儀器使用與測(cè)試技術(shù).合肥:安徽科學(xué)技術(shù)出版社,1993.
[3]Maxim/Dallas.MAX197數(shù)據(jù)資料.2003.
[4]宋春榮.通用集成電路速查手冊(cè).濟(jì)南:山東科學(xué)技術(shù)出版社,1996.
[5]孫延鵬.VHDL與可編程邏輯器件應(yīng)用.北京:電子工業(yè)出版社,2006.
[6]Altera Corporation.CPLD&FPGA;數(shù)據(jù)資料.2003.
[7]王金明.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL.北京:電子工業(yè)出版社,2002.
[8]高有堂.EDA技術(shù)及應(yīng)用實(shí)踐.北京:清華大學(xué)出版社,1997.
[9]閻石.數(shù)字電子技術(shù)基礎(chǔ).4版.北京:高等教育出版社,1997.
[10][美]Thomas L Floyd.數(shù)字電子技術(shù).9版.北京:電子工業(yè)出版社,2006.
作者簡(jiǎn)介 高 磊 男,1958年出生,遼寧本溪人,高級(jí)工程師。主要研究方向?yàn)殡娐冯娮蛹夹g(shù)。