官术网_书友最值得收藏!

3.4 模/數轉換器

模擬信號經過放大后,需要轉換成數字信號計算機才能進行處理與存儲,模/數轉換器就是在規定的精度等指標條件下把模擬信號轉換成數字信號的集成電路芯片。模/數轉換器簡寫成A/D轉換器或ADC(Analog to Digital Converter)。

3.4.1 模/數轉換器的性能指標

目前A/D轉換集成芯片種類很多,從工作原理上看,較為常見的A/D轉換集成芯片可以分為以下三類。

(1)雙積分型A/D轉換集成芯片,如A/D574、A/D7135、13位的CMOS產品AD7550等,以高精度、高分辨率和低轉換速度、低價格為其特點。通常前面不再需要采樣保持電路,有些芯片被設計成直接輸出BCD碼數據,可以直接供七段數碼顯示器顯示,在數字式萬用表中用得很多。此外,這類芯片在一些有強電干擾而信號變化極其緩慢的工業場合,應用較廣泛。

(2)逐次比較型(或稱逐次逼近型)A/D轉換集成芯片。這類芯片的主要特點是易于獲得較高的轉換速度和分辨率,有些高檔的芯片其精度也相當高,有些則可以多路輸入,適用于多路巡回檢測,且與微機的接口也比較容易,一般這類芯片需前置采樣保持電路。這類芯片目前應用極為廣泛。

(3)V/F變換型A/D轉換集成芯片。其突出優點是精度高,分辨率可達16位以上,價格低,但轉換速度不高。

在選擇A/D轉換器時,通常要注意以下幾個性能指標。

1.分辨率(Resolution)

模/數轉換器的分辨率是指輸出數字量對輸入模擬量變化的分辨能力,即使輸出數增加(或減少)一個最小單位時所需要的輸入信號的最小變化量。它由A/D轉換器的輸出位數n決定,可以用輸入滿量程的百分數表示。例如,ADC0809能夠輸出8位二進制數字量,其分辨率為:

式中,FS為滿量程(Full Scale),8位的分辨率是滿量程的0.39%。如果輸入電壓的最大值為5V,則8位A/D轉換器的輸入電壓最小可分辨的變化量,也就是該8位A/D轉換器的最低讀數位LSB(Low Scale Bit)為:

可以看出,為了提高對測量信號的分辨率,要把傳感器送來的信號放大到A/D轉換器可以接受的范圍內。

人們習慣上常常簡單地用A/D轉換器的位數來表示其分辨率,稱ADC0809具有8位的分辨率。

2.精度(Accuracy)

精度是指轉換的結果相對于實際值的偏差,精度有兩種表示方法。

(1)絕對精度。用最低位(LSB)的倍數來表示,如±(1/2)LSB或±1LSB。絕對精度由增益誤差、偏移誤差、非線性誤差及噪聲等組成。

(2)相對精度。用絕對精度除以滿量程值的百分數來表示,如±0.05%FS。

應當注意的是,同樣分辨率的A/D轉換器其精度可能不同,分辨率高但精度不一定高,精度高則分辨率必然也高。

3.量程

量程是指輸入模擬量的最大變化范圍,如某A/D轉換器為單極性輸入0~10V,雙極性輸入-5V~+5V,則量程均為10V。應當注意的是,滿刻度值只是一個名義值,實際A/D轉換器的最大輸出值總是比其滿刻度值小,例如一個8位的A/D轉換器為單極性輸入0~10V,實際上它最大輸出值不是10V,而是:

4.A/D轉換時間

A/D轉換器把模擬信號轉換成數字信號需要一定的時間,通常定義完成一次A/D轉換所需的時間為A/D轉換時間,這是A/D轉換器的一個重要指標。例如,逐次逼近型A/D轉換器的轉換時間為幾微秒到幾十微秒,而雙積分型低速A/D轉換器的轉換時間則為幾毫秒到幾百毫秒。采用同種電路技術的A/D轉換器其轉換時間與分辨率有關,一般分辨率越高,則轉換時間越長。

5.量化誤差

量化誤差是由A/D轉換器的分辨率直接造成的。在一個量化單位內所有模擬電壓值都對應著同一個輸出數字量,因此存在著一個固有的變換誤差。一個3位A/D轉換器的變換特性(即輸入電壓與輸出數字之間的關系曲線)如圖3.28所示。從圖3.28(a)中可以看出,如果A/D轉換器的最大輸入電壓為4V,則其能夠分辨的輸入電壓最小值為1 LSB=0.5V,0~0.5V之間所有的輸入電壓值都對應輸出000的數碼,通過顯示輸出電路顯示“0V”,顯然其最大誤差為0.5V,即量化誤差為1 LSB。如果把變換特性偏移LSB/2(在這里是0.25V),如圖3.28(b)所示,這時有0~0.25V之間的輸入電壓值對應輸出000的數碼,0.25~0.75V之間的輸入電壓值對應輸出001的數碼,通過顯示輸出電路顯示“0.5V”,最大誤差為±0.25V,即量化誤差改變為±LSB/2,這樣比較符合人們“四舍五入”的習慣。

圖3.28 A/D轉換器的量化誤差

在設計選擇智能儀表時要讓量化誤差在允許范圍內。

6.其他誤差

A/D轉換器還存在其他一些誤差,如因電路器件本身屬性引起的線性誤差,溫度變化引起的誤差,零位誤差等。如果這些誤差在測量儀器的允許范圍內,可以忽略不計;如果儀器的精度要求很高,要用硬件處理這些誤差比較復雜,但在智能儀器中可以通過軟件技術進行處理。

7.其他性能指標

A/D轉換器的其他性能差異也比較大,如有單通道輸入和多通道輸入,設計或維護時要查閱相關的資料進行比較。表3.3給出了幾種常用的A/D轉換器的主要性能比較。

表3.3 幾種常用的A/D轉換器的主要性能比較

3.4.2 模/數轉換器與CPU的接口技術

任何型號的A/D轉換器芯片都可以與CPU相連接,但要根據A/D轉換器和CPU的功能特點設計選擇接口方式。A/D轉換器的主要信號線如圖3.29所示,輸入的模擬信號轉換成數據輸出,主要需要連接兩組線。一組是數據線,主要用途是將轉換后的數據傳送給CPU,n位A/D轉換器一般有n根數據線,與CPU的數據總線可以直接相連,如果后接CPU的數據線小于n,則需分批傳送數據。另一組是控制線,具體內容如下所述。

(1)啟動轉換。當通道選好后或者需要時CPU應發出控制信號來命令A/D轉換器開始進行模/數轉換。這個啟動控制信號的形式要根據A/D轉換器的要求決定,例如AD574用CE引腳作為啟動轉換信號,并要求在整個轉換時間內CE端保持高電平,而ADC0809則通過寫信號WR啟動轉換。

圖3.29 A/D轉換器的主要信號線

(2)狀態輸出。狀態輸出總需要一定的時間,所以通常有一狀態輸出信號指示目前A/D轉換是正在進行,還是已經結束,CPU利用這個信號來決定下一步的工作。

CPU有以下四種方法來控制A/D轉換。

① 查詢:CPU發出啟動轉換命令后,執行別的程序,同時每隔一段時間對狀態輸出線進行查詢,如果A/D轉換已結束,則調用子程序讀入數據。

② 延時:如果A/D轉換的時間預先可以大致確定,則在CPU發出啟動轉換命令后,調用定時器或定時程序,延時等待一段時間后去讀取數據。

③ 中斷控制:CPU發出啟動轉換命令后,執行別的程序,把狀態輸出線接在CPU的外部中斷上,A/D轉換結束后利用狀態輸出線的電平變化向CPU發出中斷請求,CPU執行中斷子程序,讀入轉換的數據。這種方法,CPU效率高,適用于其他工作比較多且A/D轉換時間比較長的情況。

④ DMA(直接存取):在要求高速測量轉換時,前三種方式都不能滿足要求,這時可在A/D轉換器和CPU之間插入一個DMA接口(如Intel公司的8237DMA控制器),把轉換的數據經過DMA接口直接傳輸到主存儲器,因而不必受到程序的限制。

(3)讀數據控制。A/D轉換器通常還有一些讀數據控制線,如有些A/D轉換器的數據輸出是三態鎖存的,芯片還有一個輸出允許控制端;有些A/D轉換器有多于一個的數據緩沖器,分別儲存低位、高位數據,要控制數據線目前傳送的數據。

根據各類A/D轉換器的特殊情況可能還有其他一些控制線,可參照技術資料進行分析。

3.4.3 模/數轉換器與CPU接口應用舉例

關于AD574A與MCS-51系列單片機接口的介紹如下所述。

AD574A是12位逐次逼近型A/D轉換器,具有轉換速度快、精度較高的優點。因芯片自帶三態輸出緩沖器(即可以儲存轉換后的數據),所以可以直接與各種典型的8位或16位的微處理器相連,且無須外加邏輯接口電路就可以與CMOS或TTL芯片直接相接。

AD574A為28腳雙列直插式封裝,其引腳定義如圖3.30所示。

圖3.30 AD574A的引腳定義

在器件說明資料中可以看到AD574A主要有以下的控制線和狀態線。

(1)CS:片選信號。

(2)CE:外啟動信號。

(3)R/C:讀出或轉換控制信號。

(4)12/8:數據輸出格式選擇信號端口。當該引腳為高電平時,12根數據線同時輸出數據;當該引腳為低電平時,為單字節輸出,即分兩次分別送出高8位和低4位數據。

(5)A0:轉換/讀數據字節控制線。在轉換期間(R/C=0),A0=0,AD574A進行12位轉換,轉換精度高,轉換速度較慢(25μs);A0=1時,進行8位轉換,轉換精度比較低,但轉換速度提高(16μs)。在讀數據期間(R/C=1),當分批讀數據時,A0=1時,低4位數據有效;A0=0時,高8位數據有效。

(6)STS:轉換狀態輸出。當STS=1時,表示正在轉換。

在應用時根據控制要求來設置控制線與CPU的接口,就可以用CPU去控制AD574A了。

如圖3.31所示為AD574A與8051的接口電路。模擬信號采用單極性輸入,當輸入電壓在0~10V時從13腳輸入,當輸入電壓在0~20V時從14腳輸入。啟動(寫)轉換或讀取數據時,要使CE=1,所以8051的讀/寫信號通過與非門與CE相連,因為8051系列單片機是8位數據線,所以12/8引腳直接接地就可以了,用地址線給出控制命令。當按如圖3.31所示接法時,地址與控制命令的關系如表3.4所示,P1.0則用來查詢AD574A的轉換狀態。

圖3.31 AD574A與8051的接口電路

表3.4 地址與控制命令的關系

表3.4中,×可任意選取0或1。

用圖3.31完成一次模/數轉換的程序如下,執行后把讀到的12位轉換結果的高8位存儲在R2寄存器中,低4位儲存在R3寄存器中,供后面的程序處理。

TRANS:  MOV     R0,#7EH          ;0××××××10存入R0,其中×處均選1
        MOVX    @R0,A           ;啟動12位模/數轉換
LOOP:  JB        P1.0,LOOP        ;查詢轉換是否結束
        MOV     R0,#7DH         ;控制命令高8位數據讀出
        MOVX    A,@R0           ;
        MOV     R2,A            ;高8位數據存在R2中
        MOV     R0,#7FH          ;控制命令低4位數據讀出
        MOVX    A,@R0           ;
        MOV     R3,A            ;低4位數據存在R3中,注意R3中D4~D7位為有
                      ;效數據,即格式為****0000,*為有效數據

AD574A是AD公司的系列產品之一,通常稱為AD574系列的A/D轉換器還有很多,但它們的引腳排列及引腳功能完全相同。表3.5列出了部分AD574系列產品,并對其主要性能做了簡單的比較。表3.5中沒有列出價格,但一般來說,性能越好的集成芯片價格也越貴,所以選取時要考慮實際需要。

表3.5 AD574系列產品比較

說明:① 封裝:集成電路的封裝形式有多種,在設計維修時要根據需要選取。② 工作溫度:分C(商業0~70℃)、I(工業-40℃~80℃)和M(軍事-55℃~125℃)。

3.4.4 采樣/保持

用A/D轉換電路把模擬信號轉換成數字信號需要一定的時間。在轉換過程中,模擬信號的幅度不能發生變化,所以如果輸入信號隨時間的變化比較快,不能忽略不計,就需要用一個采樣/保持電路(Sample Holder Amplifier,SHA)。采樣/保持電路的作用是在某個時間段(通常極短)接收模擬電壓信號(稱為采樣),并在一定的時間內在輸出端維持這個電壓值不變(稱為保持),直到下次采樣為止,如圖3.32所示。

圖3.32 采樣/保持原理圖

采樣/保持電路可以用運算放大器構成,但電路的增益通常為1,且輸入與輸出同相位,一般用電容器來保持輸入電壓。從采樣/保持原理圖可以看出,決定采樣/保持電路性能的主要參數有以下幾個。

(1)采樣時間。即采樣/保持電路獲取新的采樣值(電壓)所需的時間。

(2)間隔時間。即接到保持信號后,模擬開關S由通變為斷所需要的時間,它是反映采樣/保持電路精度的重要參數。

(3)保持電壓的下降率。即在保持階段雖然理論上說保持電壓不變,實際上總有一些下降,這個電壓的下降應不影響模/數轉換的結果。

采樣/保持電路芯片有很多,從性能上可分為3類:普通型芯片,如LF198、LF298、LF398、AD582、AD583等;高速型芯片,如SHA-2、HTS-0025、HTC-0300,其特點是采樣時間和間隔時間相對其余兩者是非常小的;高分辨率芯片,如SHA114、SHA-6等,其特點是保持電壓的下降率特別小。表3.6為三類采樣/保持(SHA)芯片的參數比較。

表3.6 三類采樣/保持(SHA)芯片的參數比較

主站蜘蛛池模板: 阿克苏市| 荆州市| 高阳县| 滨海县| 台安县| 苏尼特左旗| 封丘县| 马尔康县| 宣恩县| 满城县| 西峡县| 达孜县| 长泰县| 尼勒克县| 新巴尔虎右旗| 合江县| 宜兰市| 临高县| 新乡县| 邹城市| 酒泉市| 泸西县| 靖远县| 淮阳县| 舒兰市| 凤庆县| 新乡县| 云浮市| 炎陵县| 彰武县| 泸水县| 鹿邑县| 云和县| 浮山县| 江陵县| 蕉岭县| 陆河县| 松潘县| 环江| 朝阳市| 甘南县|