應(yīng)用于晶體管圖示儀的CPLD控制器設(shè)計(jì)
晶體管圖示儀是電路設(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)的晶體管圖示儀中,各模塊單元完全由模擬電路和脈沖數(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)成見圖2。與圖1相比不同的是:“垂直放大”、“水平放大”和“示波管”取消了,其功能由上位機(jī)承擔(dān);同時(shí)增加了單片機(jī)、CPLD、存儲(chǔ)器和A/D轉(zhuǎn)換器等部件,組成數(shù)據(jù)采集電路。工作時(shí)上位機(jī)向單片機(jī)發(fā)出數(shù)據(jù)采集命令,單片機(jī)通過階梯電流發(fā)生器對(duì)T的基極施加階梯電流信號(hào),通過掃描電壓發(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ù)通過串口傳送到上位機(jī)進(jìn)行處理和顯示。一個(gè)完整的圖形需要多次這樣的過程才能實(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。
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。MAXl97在啟動(dòng)轉(zhuǎn)換時(shí),需要輸入一個(gè)8位控制字,這個(gè)控制字若由單片機(jī)提供將使啟動(dòng)時(shí)間延長(zhǎng),難以提高采集速度,所以這里用到一個(gè)數(shù)據(jù)鎖存器74LS373來保存控制字。
2.2 存儲(chǔ)器和地址發(fā)生器
存儲(chǔ)器采用兩片2114,它是一款4 b×1K靜態(tài)隨機(jī)存儲(chǔ)器。2114在存取數(shù)據(jù)時(shí),除了需要外部提供片選信號(hào)和讀寫信號(hào)外,還需要提供地址信號(hào)。地址信號(hào)由地址發(fā)生器產(chǎn)生,地址發(fā)生器實(shí)際上是一個(gè)計(jì)數(shù)器。
2.3 控制器
控制器是數(shù)據(jù)采集電路的核心,由CPLD內(nèi)部模塊實(shí)現(xiàn)。這里的CPLD選用Altera公司的EPM7064。EPM7064有64個(gè)宏單元,1 250個(gè)可用門類,36個(gè)I/O腳。從可行性方面來說,RAM、地址發(fā)生器、74LS373和控制器都可以同時(shí)做到CPLD中,但RAM需要100個(gè)節(jié),用CPLD來實(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í)間就是5ms。如果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)換器的片選和讀寫信號(hào)、存儲(chǔ)器片選和讀寫信號(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)部(見圖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)生任意寬度的脈沖(見圖5)。圖中COUNT100_Y18模塊實(shí)現(xiàn)了100進(jìn)制計(jì)數(shù)器和脈沖分配器的功能,DFFA1~DFFA4是增強(qiáng)的D觸發(fā)器模塊,DFFA2的R1~R3是清0端,S1~S3是置1端,DFFA2,DFFA3和DFFA4結(jié)構(gòu)相同。
連接RAM的控制信號(hào)有兩個(gè),即讀寫信號(hào)SRAM_OE和片選信號(hào)SRAM_WE。連接A/D轉(zhuǎn)換器的控制信號(hào)有4個(gè),即片選信號(hào)A/D_CE、寫信號(hào)A/D_WR、讀信號(hào)A/D_RD和高低字節(jié)選擇信號(hào)A/D_HEEN。地址計(jì)數(shù)器和74LS373鎖存器的控制信號(hào)也要與上述時(shí)序配合。
3.3 控制器的工作過程
控制器輸出端時(shí)序圖如圖5所示。單片機(jī)先向鎖存器存入一個(gè)控制字,設(shè)置輸入模擬通道、輸入通道量程、掉電模式和內(nèi)外時(shí)鐘選擇等信息,然后向控制器發(fā)出采集指令(Start_A/D變?yōu)楦唠娖?。當(dāng)掃描電壓到來時(shí)(圖中TB50 Hz變?yōu)楦唠娖?,COUNT100_Y18開始計(jì)數(shù)并輸出脈沖,通過觸發(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)換器寫信號(hào)A/D_WR(圖5波形2),把74LS373的數(shù)據(jù)寫入MAX197,啟動(dòng)A/D開始轉(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ù)上述過程,進(jìn)行下一個(gè)數(shù)據(jù)的采集。當(dāng)RAM存滿100個(gè)字節(jié)后,控制器向單片機(jī)返回采集結(jié)束信號(hào),單片機(jī)通過串口將100個(gè)字節(jié)的數(shù)據(jù)批量傳遞給上位機(jī)。
4 結(jié) 語
在設(shè)計(jì)過程中,首先用VHDL語言編寫COUNT100_Y18和DFFA1~DFFA4等模塊,經(jīng)Max+PlusⅡ編譯和仿真通過,再連接各模塊形成頂層圖形文件(圖5)。對(duì)頂層圖形文件再進(jìn)行編譯和仿真,通過后將程序下載到芯片中。單片機(jī)主要編寫顯示程序、階梯電流驅(qū)動(dòng)程序和串口通信程序,均調(diào)試通過。上位機(jī)界面用VB語言實(shí)現(xiàn),畫面清晰美觀,控制方便。結(jié)論表明,把CPLD技術(shù)用于改造傳統(tǒng)晶體管圖示儀,效果是明顯的,儀器性能有很大提高。
評(píng)論
查看更多