摘 要:主要介紹一種A/D轉(zhuǎn)換芯片靜態(tài)參數(shù)測試電路,該測試電路的設(shè)計(jì)基于A/D靜態(tài)參數(shù)測試的直方圖法,同時(shí)PC機(jī)上運(yùn)行的Labview測試程序控制PC機(jī)并口通過EPP協(xié)議與該測試電路通訊,獲得測試數(shù)據(jù),完成參數(shù)運(yùn)算。
關(guān)鍵詞:A/D轉(zhuǎn)換芯片 靜態(tài)參數(shù) 直方圖 EPP
中圖分類號(hào):TN792 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-3973(2013)010-117-04
現(xiàn)在對A/D轉(zhuǎn)換芯片(以下簡稱A/D)的設(shè)計(jì)、制造技術(shù)發(fā)展很快,這就對A/D測試提出越來越高的要求,本測試電路是針對A/D靜態(tài)參數(shù)測試的。A/D靜態(tài)參數(shù)的測試都是使用大規(guī)模集成電路測試系統(tǒng),由數(shù)字信號(hào)部分和模擬信號(hào)部分構(gòu)成,能準(zhǔn)確測試A/D的靜態(tài)參數(shù),但有如下缺點(diǎn):
(1)大規(guī)模數(shù)字集成電路測試系統(tǒng)十分昂貴,價(jià)格超過百萬人民幣。用能提供高精度、小步進(jìn)的模擬信號(hào)的儀器也比較貴。
(2)在測試高分辨率A/D時(shí),使用這種測試構(gòu)架需要將模擬信號(hào)經(jīng)較長連接線連接到被測A/D,由連接線產(chǎn)生的噪聲將會(huì)對測試產(chǎn)生嚴(yán)重影響。
本項(xiàng)目的是設(shè)計(jì)一塊專用測試電路板,由這塊電路板來產(chǎn)生高精度、小步進(jìn)的模擬信號(hào),同時(shí)被測試A/D也放在這塊電路板上進(jìn)行測試。并且用一塊CPLD對被測試A/D提供數(shù)字信號(hào)和時(shí)序,使之發(fā)生模數(shù)轉(zhuǎn)換,并捕捉A/D產(chǎn)生的數(shù)字信號(hào),然后這塊CPLD通過EPP協(xié)議與PC機(jī)通訊,再由PC機(jī)對捕捉的數(shù)字信號(hào)進(jìn)行算法處理,得到被測試A/D的靜態(tài)參數(shù)。本測試系統(tǒng)設(shè)計(jì)成功后,相對于傳統(tǒng)的測試構(gòu)架,本測試系統(tǒng)有如下優(yōu)點(diǎn):
(1)測試系統(tǒng)的構(gòu)成成本大大降低。
(2)一旦出現(xiàn)故障,維護(hù)費(fèi)用也很低。
(3)在測試高分辨率A/D時(shí),由于高精度、小步進(jìn)的模擬信號(hào)和被測試A/D在同一塊電路板上,模擬信號(hào)傳輸?shù)耐緩胶芏?,由傳輸途徑產(chǎn)生的噪聲將大大減小,不會(huì)對測試產(chǎn)生嚴(yán)重影響。
1 A/D靜態(tài)參數(shù)定義
A/D的用途是將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),圖1表示了A/D的數(shù)模轉(zhuǎn)換過程。
A/D的輸出是數(shù)字信號(hào),沒有模擬信號(hào)需要測量。在對A/D進(jìn)行測試時(shí),給被測試A/D提供逐步遞增的模擬信號(hào),當(dāng)A/D將逐步遞增的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)時(shí),對逐步遞增的模擬信號(hào)持續(xù)測量,當(dāng)A/D的數(shù)字信號(hào)輸出發(fā)生變化時(shí),此時(shí)的輸入給A/D的模擬信號(hào)值就是轉(zhuǎn)換值。
在所有的轉(zhuǎn)換值中要指出兩個(gè)特定的轉(zhuǎn)換值:VZST和VFST,做如下定義:
VFST是使A/D數(shù)字輸出信號(hào)i從次大值的值變?yōu)樽畲笾禃r(shí)的輸入模擬信號(hào)的值。
VZST是使A/D數(shù)字輸出信號(hào)i從0變?yōu)?時(shí)的輸入模擬信號(hào)的值。
這兩個(gè)特定的轉(zhuǎn)換值在計(jì)算分辨率(LSB)和滿幅電壓范圍(FSR)時(shí)是很有用的。
從圖2中可以看出一個(gè)n位的A/D有2n個(gè)輸出數(shù)字信號(hào)值,有2n-1個(gè)轉(zhuǎn)換值,在VZST和VFST 之間有2n-2個(gè)輸出數(shù)字信號(hào)值。
A/D靜態(tài)參數(shù)定義如下:
(1)滿幅電壓范圍(FSRIDEAL、FSRDUT)
理想滿幅電壓范圍(FSRIDEAL)是指被測A/D技術(shù)規(guī)范上標(biāo)稱的滿幅電壓參考值。實(shí)際滿幅電壓范圍(FSRDUT)是讓被測A/D的輸出數(shù)字信號(hào)值為最大值時(shí),根據(jù)如下公式計(jì)算出的輸入模擬信號(hào)值:
2 靜態(tài)參數(shù)直方圖測試方法
在測試A/D的靜態(tài)參數(shù)時(shí),最常用的測試方法是直方圖法。使用直方圖法時(shí),由測試系統(tǒng)對被測試A/D提供鋸齒波作為測試波。為確保測試精度,被測A/D的理想最低有效位應(yīng)大于等于測試波步進(jìn)的16倍,且為整數(shù)倍數(shù)。當(dāng)測試波小幅步進(jìn)遞增時(shí),被測試A/D的輸出數(shù)字信號(hào)值將逐步變大。當(dāng)測試波達(dá)到理想滿幅電壓范圍時(shí),進(jìn)行統(tǒng)計(jì),得到每一個(gè)被測A/D的輸出數(shù)字信號(hào)值對應(yīng)的測試波步進(jìn)的次數(shù),經(jīng)過計(jì)算就可得知被測A/D的各項(xiàng)靜態(tài)參數(shù)。
3.1 測試系統(tǒng)概述
測試系統(tǒng)有一PC控制機(jī)和一測試電路板組成,測試控制機(jī)的并口與測試電路板上的一CPLD芯片相聯(lián)。如圖5。
在PC控制機(jī)的Labview軟件平臺(tái)上運(yùn)行上運(yùn)行測試程序test.vi,test.vi程序由Labview語言編寫,在test.vi中可調(diào)用相關(guān)函數(shù)對PC控制機(jī)的并口進(jìn)行操作,從并口對CPLD芯片進(jìn)行控制,CPLD芯片是可編程落腳芯片,當(dāng)CPLD芯片收到test.vi的控制信號(hào)后,可啟動(dòng)芯片內(nèi)預(yù)先編好的程序?qū)y試電路板進(jìn)行控制,根據(jù)直方圖測試法,先產(chǎn)生微小步進(jìn)的模擬信號(hào),然后使被測試A/D進(jìn)行模數(shù)轉(zhuǎn)換,接著對被測試A/D產(chǎn)生的數(shù)字量進(jìn)行采樣,最后通過并口與測試程序test.vi進(jìn)行通訊,由test.vi捕獲A/D產(chǎn)生的數(shù)字量。當(dāng)由test.vi捕獲A/D產(chǎn)生的起全部數(shù)字量后,對數(shù)字量進(jìn)行數(shù)據(jù)處理,得到被測A/D的各項(xiàng)靜態(tài)參數(shù)。
3.2測試電路的設(shè)計(jì)
直方圖測試法中,需要一個(gè)微小步進(jìn)的模擬信號(hào)源,本測試電路就是根據(jù)直方圖測試法為被測試A/D提供微小步進(jìn)的模擬信號(hào)。
測試電路的設(shè)計(jì)如圖6,它分為四個(gè)部分。圖6中的RV1(MAX6175)、RV3(AD5542)、RV4(AD8628)、RV12(MAX6175)、RV14(MAX6175)構(gòu)成電路第一部分的即模擬信號(hào)的參考電壓源,它的作用是為RV6(AD5542)提供精準(zhǔn)的參考電壓。
本設(shè)計(jì)中用一片CPLD芯片(XILINX 公司的XC9572-15PC84)通過EPP協(xié)議與PC機(jī)并口通訊,將被測試A/D轉(zhuǎn)換的數(shù)值傳給PC機(jī)。EPP模式的設(shè)置是在BIOS里面進(jìn)行設(shè)置的,需要設(shè)置的主要是基地址以及中斷號(hào),基地址最好設(shè)置成378H或278H。EPP協(xié)議中并口各個(gè)管腳的定義和讀寫周期的時(shí)序圖在這里就不詳細(xì)介紹了,大家可查找相關(guān)資料。本設(shè)計(jì)根據(jù)EPP協(xié)議中定義的并口管腳將CPLD的I/O管腳與并口相聯(lián),并根據(jù)EPP協(xié)議的讀周期的時(shí)序,對可編程邏輯電路CPLD芯片進(jìn)行編程。現(xiàn)僅給出相關(guān)時(shí)序的VHDL語言程序。
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity measure01 is
port (
……
ndatast: in STD_LOGIC;
……
wait:out std_logic
);
end measure01;
architecture measure01_arch of measure is
……
signal data_stable:std_logic;
……
process(ndatast,data_stable)
begin
if(data_stable'event and data_stable='1') then
wait<='0';
end if;
if(ndatast='0')then
wait<='1';
end if;
end process;
end measure01_arch;
3.4 測試程序test.vi的框架
4 結(jié)束語
本設(shè)計(jì)涉及的內(nèi)容較多,A/D靜態(tài)參數(shù)測試、硬件設(shè)計(jì)、VHDL語言編程、Labview語言編程等等,經(jīng)過大量的調(diào)試,在實(shí)際測試中已取得較好的效果,該設(shè)計(jì)通用性較好,可節(jié)約較大的測試設(shè)備費(fèi)用。
參考文獻(xiàn):
[1] 常華新,郭群芳,季恒寬.電子元器件參數(shù)計(jì)量測試大全[M].北京:電子工業(yè)出版社,1989.