應(yīng)用于晶體管圖示儀的CPLD控制器設(shè)計
晶體管圖示儀是電路設(shè)計中常用的電子儀器,它能夠顯示晶體管的輸入特性、輸出特性和轉(zhuǎn)移特性等多種曲線和參數(shù)。它不僅可以測量晶體二極管和三極管,還可以測量場效應(yīng)管、隧道二極管、單結(jié)晶體管、可控硅和光耦等器件。但傳統(tǒng)的晶體管圖示儀存在著電路復(fù)雜,體積龐大,示波管的顯示屏小,功耗大,價格昂貴等缺點。隨著計算機軟硬件技術(shù)、單片機技術(shù)和EDA技術(shù)的不斷發(fā)展及其在電工電子測量技術(shù)的應(yīng)用,晶體管圖示儀在結(jié)構(gòu)、工作原理和功能上發(fā)生很大變化,成為數(shù)字化和智能化的虛擬儀器。本文設(shè)計的晶體管圖示儀就是這樣一種新型儀器,除改善了原有儀器不足之外,還擴展了儀器功能,具有圖形保存,數(shù)據(jù)處理,界面顯示靈活,可操作性強,性能價格比高等優(yōu)點。 1 系統(tǒng)結(jié)構(gòu)框圖 1.1 傳統(tǒng)晶體管圖示儀結(jié)構(gòu)及工作原理 在傳統(tǒng)的晶體管圖示儀中,各模塊單元完全由模擬電路和脈沖數(shù)字電路組成,屬于全硬件結(jié)構(gòu),如圖1所示。它主要包括階梯電流發(fā)生器、掃描電壓發(fā)生器、垂直放大、水平放大和示波管等。圖中W是負(fù)載電阻,R是電流采樣電阻,T是被測三極管。所謂三極管輸出特性曲線是:在基極電流不變的條件下,集電極電壓和電流之間的關(guān)系。在測量三極管輸出特性曲線時,階梯電流發(fā)生器對T的基極施加階梯電流信號,在階梯電流的每一個臺階時間內(nèi),掃描電壓發(fā)生器對T的集電極回路施加掃描電壓。掃描電壓是50 Hz交流電經(jīng)整流得到。T的集電極電流在采樣電阻R上的壓降(代表集電極電流)經(jīng)垂直放大后加到示波管垂直偏轉(zhuǎn)板上,T的集電極電壓經(jīng)水平放大后加到示波管的水平偏轉(zhuǎn)板上。當(dāng)施加的階梯電流和掃描電壓周期性地重復(fù)出現(xiàn)時,三極管輸出特性曲線就可以顯示在示波管上。 傳統(tǒng)晶體管圖示儀結(jié)構(gòu)及工作原理 1.2 本圖示儀結(jié)構(gòu)框圖 本圖示儀的構(gòu)成見圖2。與圖1相比不同的是:“垂直放大”、“水平放大”和“示波管”取消了,其功能由上位機承擔(dān);同時增加了單片機、CPLD、存儲器和A/D轉(zhuǎn)換器等部件,組成數(shù)據(jù)采集電路。工作時上位機向單片機發(fā)出數(shù)據(jù)采集命令,單片機通過階梯電流發(fā)生器對T的基極施加階梯電流信號,通過掃描電壓發(fā)生器對T的集電極回路施加掃描電壓;與此同時,CPLD控制器控制A/D轉(zhuǎn)換器和存儲器快速采集和存儲電壓電流數(shù)據(jù)。當(dāng)存儲器數(shù)據(jù)存滿后,CPLD控制器向單片機發(fā)出采集結(jié)束信號,單片機再將存儲器中的數(shù)據(jù)通過串口傳送到上位機進行處理和顯示。一個完整的圖形需要多次這樣的過程才能實現(xiàn)。 本圖示儀結(jié)構(gòu)框圖 該系統(tǒng)若不使用CPLD和存儲器等器件也可實現(xiàn)數(shù)據(jù)采集,但由于單片機工作速度相對較慢,在有限時間(掃描電壓的上升段,5 ms)內(nèi)采集的點數(shù)較少,曲線不夠準(zhǔn)確。使用了CPLD和存儲器之后,采得的點數(shù)密集,曲線更加真實。本系統(tǒng)的關(guān)鍵是設(shè)計CPLD控制器,以解決單片機、存儲器和A/D轉(zhuǎn)換器之間的時序配合關(guān)系。 2 數(shù)據(jù)采集電路功能模塊確定 數(shù)據(jù)采集電路的構(gòu)成如圖3所示。除了包含單片機、控制器、存儲器、和A/D轉(zhuǎn)換器外,還有地址計數(shù)器和數(shù)據(jù)鎖存器。 數(shù)據(jù)采集電路 2.1 A/D轉(zhuǎn)換器和數(shù)據(jù)鎖存器 A/D轉(zhuǎn)換器是數(shù)據(jù)采集電路重要的部件之一,本系統(tǒng)的A/D轉(zhuǎn)換器采用Maxim公司的MAX197。 MAX197是一款多量程的12位A/D轉(zhuǎn)換器,8路模擬信號輸入,輸出數(shù)據(jù)線8條,分為高4位和低8位輸出,由HBEN端控制。當(dāng)時鐘頻率為2 MHz時,轉(zhuǎn)換時間為6μs。MAXl97在啟動轉(zhuǎn)換時,需要輸入一個8位控制字,這個控制字若由單片機提供將使啟動時間延長,難以提高采集速度,所以這里用到一個數(shù)據(jù)鎖存器74LS373來保存控制字。 2.2 存儲器和地址發(fā)生器 存儲器采用兩片2114,它是一款4 b×1K靜態(tài)隨機存儲器。2114在存取數(shù)據(jù)時,除了需要外部提供片選信號和讀寫信號外,還需要提供地址信號。地址信號由地址發(fā)生器產(chǎn)生,地址發(fā)生器實際上是一個計數(shù)器。 2.3 控制器 控制器是數(shù)據(jù)采集電路的核心,由CPLD內(nèi)部模塊實現(xiàn)。這里的CPLD選用Altera公司的EPM7064。EPM7064有64個宏單元,1 250個可用門類,36個I/O腳。從可行性方面來說,RAM、地址發(fā)生器、74LS373和控制器都可以同時做到CPLD中,但RAM需要100個節(jié),用CPLD來實現(xiàn)將占用大量資源,僅一片EPM7064就不夠用。所以為了節(jié)省資源,降低成本,這里采用外接RAM2114。74LS373也采用外接方式,主要是考慮端口不夠用。因此在CPLD內(nèi)部僅安排了控制器和地址發(fā)生器(圖3虛線框內(nèi))。 3 控制器結(jié)構(gòu)設(shè)計 3.1 采集點數(shù)的確定及控制器接口要求 晶體管特性曲線中,輸出特性曲線是最復(fù)雜的。輸出特性曲線一般由8~10條線組成。在本系統(tǒng)中,每條線由50個點連接而成。每個點由一個電壓值和_個電流值確定,每個電壓(或電流)數(shù)據(jù)占兩字節(jié)存儲單元(數(shù)字量12位),則每條曲線的電壓值(或電流值)就占100個字節(jié)。電壓值和電流值本應(yīng)該在同一時刻采集,但為了節(jié)省A/D轉(zhuǎn)換器和其他硬件,這里把電壓和電流安排在不同的掃描周期內(nèi)采集,只要采集時間與各自的掃描周期起始時間間隔一一對應(yīng)就可以保證精度,時間誤差在1μs之內(nèi)。 每一組電壓或電流數(shù)據(jù)的采集都是在一個掃描電壓的上升時間段完成。掃描電壓是把50 Hz交流電壓經(jīng)整流產(chǎn)生,所以每個掃描電壓所占時間是10 ms,掃描電壓的上升段時間就是5ms。如果5 ms時間內(nèi)要采集50個數(shù)據(jù),則每個數(shù)據(jù)占用時間為100μs。10條曲線將占用20個掃描周期。 在每個數(shù)據(jù)采集時間(100μs)內(nèi),控制器首先從鎖存器74LS373中讀取“控制字”送入A/D轉(zhuǎn)換器,啟動A/D轉(zhuǎn)換器工作,進入轉(zhuǎn)換等待狀態(tài)。當(dāng)轉(zhuǎn)換結(jié)束時,控制器從A/D轉(zhuǎn)換器分別讀取數(shù)據(jù)的高字節(jié)和低字節(jié)存入RAM中,然后等待下一個采集周期。待50個數(shù)據(jù)采集結(jié)束后,控制器向單片機發(fā)出采集結(jié)束信號。所以控制器要產(chǎn)生74LS373的讀信號、A/D轉(zhuǎn)換器的片選和讀寫信號、存儲器片選和讀寫信號、地址發(fā)生器的時鐘和清零信號等,還要接受單片機的采集指令信號和50 Hz交流電同步信號,返回單片機采集結(jié)束信號等。 3.2 控制器內(nèi)部構(gòu)成 控制器內(nèi)部(見圖4)主要模塊有計數(shù)器、脈沖分配器和觸發(fā)器。計數(shù)器為100進制,輸入時鐘周期為1μs,這樣計數(shù)器計滿一個循環(huán)就是100μs(即一個數(shù)據(jù)采集的時間)。脈沖分配器的作用是對100 μs內(nèi)的時間再進行細(xì)分,使每1μs時間都可以輸出脈沖(根據(jù)需要)。觸發(fā)器由脈沖分配器觸發(fā)產(chǎn)生任意寬度的脈沖(見圖5)。圖中COUNT100_Y18模塊實現(xiàn)了100進制計數(shù)器和脈沖分配器的功能,DFFA1~DFFA4是增強的D觸發(fā)器模塊,DFFA2的R1~R3是清0端,S1~S3是置1端,DFFA2,DFFA3和DFFA4結(jié)構(gòu)相同。 控制器內(nèi)部構(gòu)成 控制器內(nèi)部構(gòu)成 連接RAM的控制信號有兩個,即讀寫信號SRAM_OE和片選信號SRAM_WE。連接A/D轉(zhuǎn)換器的控制信號有4個,即片選信號A/D_CE、寫信號A/D_WR、讀信號A/D_RD和高低字節(jié)選擇信號A/D_HEEN。地址計數(shù)器和74LS373鎖存器的控制信號也要與上述時序配合。 3.3 控制器的工作過程 控制器輸出端時序圖如圖5所示。單片機先向鎖存器存入一個控制字,設(shè)置輸入模擬通道、輸入通道量程、掉電模式和內(nèi)外時鐘選擇等信息,然后向控制器發(fā)出采集指令(Start_A/D變?yōu)楦唠娖?。當(dāng)掃描電壓到來時(圖中TB50 Hz變?yōu)楦唠娖?,COUNT100_Y18開始計數(shù)并輸出脈沖,通過觸發(fā)器在不同時間產(chǎn)生不同寬度的脈沖。COUNT100_Y18的第1~4個脈沖產(chǎn)生A/D轉(zhuǎn)換器片選信號A/D_CS和74LS373讀信號(圖5波形1),第2個脈沖產(chǎn)生A/D轉(zhuǎn)換器寫信號A/D_WR(圖5波形2),把74LS373的數(shù)據(jù)寫入MAX197,啟動A/D開始轉(zhuǎn)換。待轉(zhuǎn)換結(jié)束(第8個脈沖結(jié)束轉(zhuǎn)換)后,COUNT100_Y18的第10H~14H脈沖產(chǎn)生A/D轉(zhuǎn)換器片選信號A/D_CS和RAM2片選信號SRAM_CE(圖5波形3和5),第11H~14H脈沖產(chǎn)生A/D轉(zhuǎn)換器的讀信號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位存入存儲器中。這樣一個數(shù)據(jù)的采集宣告結(jié)束。 當(dāng)時間達(dá)100μs時,重復(fù)上述過程,進行下一個數(shù)據(jù)的采集。當(dāng)RAM存滿100個字節(jié)后,控制器向單片機返回采集結(jié)束信號,單片機通過串口將100個字節(jié)的數(shù)據(jù)批量傳遞給上位機。 4 結(jié)語 在設(shè)計過程中,首先用VHDL語言編寫COUNT100_Y18和DFFA1~DFFA4等模塊,經(jīng)Max+PlusⅡ編譯和仿真通過,再連接各模塊形成頂層圖形文件(圖5)。對頂層圖形文件再進行編譯和仿真,通過后將程序下載到芯片中。單片機主要編寫顯示程序、階梯電流驅(qū)動程序和串口通信程序,均調(diào)試通過。上位機界面用VB語言實現(xiàn),畫面清晰美觀,控制方便。結(jié)論表明,把CPLD技術(shù)用于改造傳統(tǒng)晶體管圖示儀,效果是明顯的,儀器性能有很大提高。