新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > A/D轉換器芯片及接口電路

        A/D轉換器芯片及接口電路

        作者: 時間:2016-11-17 來源:網絡 收藏

        /

        1.8位/C0809
        ADC0809是CMOS單片型逐次逼近式A/D,ADC0809的主要特性:
        ● 它是具有8路模擬量輸入、8位數字量輸出功能的A/D轉換器。
        ● 轉換時間為100μs。
        ● 模擬輸入電壓范圍為0V~+5V,不需零點和滿刻度校準。
        低功耗,約15mW。

        (1)ADC0809結構框圖及引腳說明

        圖4.24ADC0809的結構框圖和引腳

        通道選擇開關
        通道地址鎖存和譯碼
        逐次逼近A/D轉換器
        8位鎖存器和三態門

        (2)ADC0809的工作過程
        對ADC0809的控制過程是:
        ① 首先確定ADDA、ADDB、ADDC三位地址,決定選擇哪一路模擬信號;
        ② 使ALE端接受一正脈沖信號,使該路模擬信號經選擇開關到達比較器的輸入端;
        ③ 使START端接受一正脈沖信號,START的上升沿將逐次逼近寄存器復位,下降沿啟動A/D轉換;
        ④ EOC輸出信號變低,指示轉換正在進行。
        ⑤ A/D轉換結束,EOC變為高電平,指示A/D轉換結束。此時,數據已保存到8位三態輸出鎖存器中。此時CPU就可以通過使OE信號為高電平,打開ADC0809三態輸出,由ADC0809輸出的數字量傳送到CPU。

        (3)CPU讀取A/D轉換器數據的方法
        ① 查詢法
        優點:接口電路設計簡單。
        缺點:A/D轉換期間獨占CPU,致使CPU運行效率降低。
        ② 定時法:
        優點:設計比查詢法簡單,不必讀取EOC的狀態。
        缺點:A/D轉換期間獨占CPU,致使CPU運行效率降低;另外還必須知道A/D轉換器的轉換時間。

        CPU讀取A/D轉換器數據的方法
        ③ 中斷法
        優點:A/D轉換期間CPU可以處理其它的程序,提高CPU的運行效率。圖4.25ADC0809
        缺點:接口電路復雜。

        (4)ADC0809接口電路

        圖 4. 25ADC0809接口電路

        [例4.1]利用圖4.25,采用無條件傳送方式,編寫一段輪流從IN0~IN7采集8路模擬信號,并把采集到的數字量存入0100H開始的8個單元內的程序。
        程序如下:
        MOV DI, 0100H;設置存放數據的首址
        MOV BL,08H;采集8次計數器
        MOV AH,00H;選0通道
        AA1∶MOV AL,AH
        MOV DX,ADPORT;設置ADC0809地址
        OUT DX,AL;使ALE、START有效,選擇模擬通道,見圖10.18

        MOV CX, 0050H
        WAIT∶LOOP WAIT;延時,等待A/D轉換
        IN AL,DX;使OUTPUTENABLE有效,輸入數據,見圖10.18
        MOV[DI],AL;保存數據
        INC AH;換下一個模擬通道
        INC DI;修改數據區指針
        DEC BL
        JNZ AA1

        2.12位A/D轉換器AD574
        AD574是美國模擬器件公司的產品,是較先進的高集成度、低價格的逐次逼近式轉換器。
        AD574由兩片大規模集成電路構成。一片為D/A轉換器AD565,另一片集成了逐次逼近寄存器SAR、轉換控制電路、時鐘電路總線接口電路和高分辨比較器電路。

        (1)AD574的結構框圖及引腳說明

        圖 4. 26 AD574的結構框圖

        引腳信號說明如下:
        12/8:數據輸出方式選擇信號,高電平時輸出12位數據,低電平時與A0信號配合輸出高8位或低4位數據。信號不能用TTL電平控制,必須直接接至+5V或數字地。
        A0:轉換數據長度選擇控制信號。在轉換狀態,A0為低電平可使AD574進行12位轉換,A0為高電平時可使AD574進行8位轉換。在讀數狀態,如果為低電平,當A0為低電平時,則輸出高8位數據,而A0為高電平時,則輸出低4位數據;如果為高電平,則A0的狀態不起作用。

        (2)AD574的工作過程
        AD574的工作過程分為啟動轉換和轉換結束后讀出數據兩個過程。
        啟動轉換時,首先使/CS、CE信號有效,AD574處于轉換工作狀態,且A0為1或為0,根據所需轉換的位數確定,然后使R/C=0,啟動AD574開始轉換。視為選中AD574的片選信號,為啟動轉換的控制信號。轉換結束,STS由高電平變為低電平。可通過查詢法,讀入STS線端的狀態,判斷轉換是否結束。

        (2)AD574的工作過程
        輸出數據時,首先根據輸出數據的方式,即是12位并行輸出,還是分兩次輸出,以確定是接高電平還是接低電平;然后在CE=1、/CS=0、R/C=1的條件下,確定A0的電平。若為12位并行輸出,A0端輸入電平信號可高可低;若分兩次輸出12位數據,A0=0,輸出12位數據的高8位,A0=1,輸出12位數據的低4位。由于AD574輸出端有三態緩沖器,所以D0~D11數據輸出線可直接接在CPU數據總線上。

        (3)AD574接口電路

        圖4.27 12位AD574與8088CPU的接口電路圖
        啟動A/D轉換并采用查詢方式,采集數據的程序如下:
        MOV DX,278H
        OUT DX,AL; 啟動轉換,R/C=0、CS=0、CE=1,A0=0
        MOV DX,27AH; 設置三態門地址
        AA1∶IN AL,DX; 讀取STS狀態
        TEST AL,80H; 測試STS電平
        JNE AA1;STS=1 等待,STS=0向下執行
        MOV DX,278H
        IN AL,DX; 讀高8位數據,R/C=1,CS=0,CE=1,A0=1,CE=1
        MOV AH,AL; 保存高8位數據
        MOV DX,279H
        IN AL,DX; 讀低4位數據,R/C=1, CS=0,A0=1,CE=1



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 札达县| 兴隆县| 滕州市| 吉首市| 建德市| 民丰县| 旌德县| 东乡族自治县| 华坪县| 平定县| 东安县| 左贡县| 游戏| 东乡| 航空| 杭锦旗| 汝阳县| 长宁区| 牙克石市| 宁阳县| 新安县| 泰来县| 辛集市| 喀什市| 莱西市| 凤城市| 吴旗县| 苍溪县| 双峰县| 道真| 盐津县| 上高县| 拜城县| 乌海市| 始兴县| 凤冈县| 洛扎县| 南投县| 无锡市| 定安县| 三原县|