12.2.2 D/A芯片及其與CPU的接口 理想的D/A芯片對于微處理器來說應(yīng)該表現(xiàn)為一個簡單的輸出口或表現(xiàn)為一個只寫存儲單元。 圖12.8 D/A芯片的簡化功能示意圖 D/A芯片是由集成在單一芯片上的解碼網(wǎng)絡(luò)并根據(jù)需要附加上一些功能電路所構(gòu)成的。簡化的功能示意圖如圖12.8所示。 數(shù)字接口單元——把來自微機(jī)系統(tǒng)總線的邏輯輸入電壓(TTL,CMOS等)變換為一組D/A轉(zhuǎn)換電路內(nèi)部開關(guān)所需要的控制電平。有些D/A芯片中還包括一個或多個緩沖寄存器或鎖存器。 轉(zhuǎn)換電路——由電阻網(wǎng)絡(luò)和由二進(jìn)制碼控制的模擬開關(guān)組成,通過它進(jìn)行D/A轉(zhuǎn)換。有些D/A芯片轉(zhuǎn)換的結(jié)果電流直接作為模擬量輸出,有些芯片把電流經(jīng)運(yùn)算放大器OA轉(zhuǎn)換變?yōu)殡妷汉筝敵觥?br> 精密基準(zhǔn)電壓單元——產(chǎn)生解碼網(wǎng)絡(luò)所需要的基準(zhǔn)電壓。有些芯片基準(zhǔn)電壓由外部提供。 在過程控制中,被檢測的物理量轉(zhuǎn)換后的電壓或電流信號通常都是單極性的,對于單極性的模擬輸入信號,A/D轉(zhuǎn)換器轉(zhuǎn)換后的數(shù)字量不帶符號位,可以直接采用二進(jìn)制碼,其D/A轉(zhuǎn)換器輸出一般也是單極性的。但有些控制系統(tǒng)的模擬量是雙極性的,因此也要求D/A轉(zhuǎn)換器的輸出是雙極性的。 任何單極性D/A轉(zhuǎn)換器都可以改為雙極性的轉(zhuǎn)換器。數(shù)字量表示為雙極性的可以有原碼、反碼、補(bǔ)碼和偏移二進(jìn)制碼,但最方便的是偏移二進(jìn)制碼。 偏移二進(jìn)制碼是在基本二進(jìn)制上加一個偏移值得到的。對n位二進(jìn)制數(shù)±Di的偏移二進(jìn)制碼為
式中的就是偏移值。例如一個正負(fù)兩位二進(jìn)制數(shù)Di=+10B的偏移二進(jìn)制碼為 DiB=10B+100B=110B 當(dāng)Di=-10B的偏移二進(jìn)制碼為 DiB=-10B+100B=010B 偏移二進(jìn)制碼和基本二進(jìn)制碼的關(guān)系如表12.2所示。 圖12.9 雙極性輸出接法 表12.2
因此,把單極性二進(jìn)制碼變成偏移二進(jìn)制碼,這就相當(dāng)于把座標(biāo)軸往上平移了半個滿量程。所以用偏移二進(jìn)制實(shí)現(xiàn)雙極性轉(zhuǎn)換,只要在單極性D/A轉(zhuǎn)換器輸出運(yùn)算放大器的求和點(diǎn)上加上一個能抵消半個量程電流的偏移電流即可。如圖12.9所示,所加偏移電路的電源電壓為原單極性D/A轉(zhuǎn)換器基準(zhǔn)電壓VREF。而偏移電阻RB等于最高位的輸入電阻,以保證偏移二進(jìn)制數(shù)字輸入量最高位為1而其它位均為0時,輸出模擬電壓為0,如表12.3所示。由于加入了偏移量,雙極性輸出模擬電壓的數(shù)值比單極性時降低了一半,如要加大輸出模擬電壓,則需相應(yīng)地增大反饋電阻RF。 表12.3
為了適應(yīng)自動控制和信息處理等對分辨率、精度、速度、價格等提出的各種要求,很多廠家設(shè)計(jì)生產(chǎn)出多種類型、多功能的D/A芯片。下面僅介紹幾種典型的具有代表性的芯片。
一、1408DAC 1408DAC是一種價格便宜、性能較低的8位D/A芯片。使用這種轉(zhuǎn)換芯片時,需外加一些器件和電路,如基準(zhǔn)電源、輸出極性選擇電路、運(yùn)算放大器等。 有許多廠家生產(chǎn)這種芯片,但命名卻不盡相同,如AD1408,SSS1408A,μA0802等,都屬于這種芯片。這種芯片的主要性能如下: ·分辨率——8位; ·建立時間——250 ns; ·單調(diào)性——8位; ·工作溫度范圍——0~75℃; ·增益溫度系數(shù)——20×10-6/℃; ·電源敏感性——27μA/V; ·相對精度*——±0.39%,±0.19%,±0.1%; ·功耗——157 mW。 *注:這種芯片由后綴來區(qū)分精度等級,所給3個精度等級分別與AD1408—7,AD1408—8和AD1408—9對應(yīng)。 1408DAC既可單極性工作又可雙極性工作,由外電路選擇。 1408DAC的基準(zhǔn)電壓也可作為一個可變的輸入量,器件的輸出是數(shù)字量和基準(zhǔn)量的乘積,它是一個二象限的乘法DAC。 圖12.10 AD1408片腳功能圖 下面以AD1408為例,按組成單元予以簡單介紹。 1.AD1408的數(shù)字接口 AD1408的片腳分配如圖12.10所示。 1408的數(shù)字接口簡單地由8個輸入端組成。數(shù)字接口不具備緩沖鎖存功能。因此,為了供給它穩(wěn)定的數(shù)字輸入,必須外加緩沖寄存器。供給數(shù)字輸入端的數(shù)碼,對于單極性為普通二進(jìn)制碼,對于雙極性為偏移二進(jìn)制碼。 2.AD1408的基準(zhǔn)電壓 由于1408是一種乘法數(shù)/模轉(zhuǎn)換器,器件的輸出是數(shù)字輸入和基準(zhǔn)電流的乘積?;鶞?zhǔn)電流(IREF)可以是固定值,也可以是從近于零值到42mA之間變化。不論采用固定的還是可變的,也不論基準(zhǔn)電壓的極性如何,基準(zhǔn)電流必須總是流入腳14(VREF(+))??梢愿鶕?jù)哪種基準(zhǔn)電壓源更易于獲得,而采用正基準(zhǔn)電壓或負(fù)基準(zhǔn)電壓。這兩種基準(zhǔn)電壓的接法分別示于圖12.11(a)和(b)。在用負(fù)基準(zhǔn)電壓時(如圖12.11(b)接法),-VREF至少必須比VEE高4V。 1408還可以用雙極性基準(zhǔn)信號,接法如圖12.11(c)所示。這時,片腳15通過R15接雙極性的輸入電壓Vi,14片腳,通過R14接正基準(zhǔn)電壓,這個正基準(zhǔn)電壓值應(yīng)不低于雙極輸入電壓的正向峰值,如圖12.11(c)所示,以保證基準(zhǔn)電流總是流入腳14。 此外,補(bǔ)償端腳16(comp)和VEE(腳3)之間應(yīng)接補(bǔ)償電容C,以補(bǔ)償內(nèi)部基準(zhǔn)控制放大器的相移。R14的阻值增加時,C必須相應(yīng)地增加;對應(yīng)于R14=1kΩ,15kΩ和5kΩ,C分別應(yīng)為15pF, 37pF和75pF。 取R15=R14以補(bǔ)償內(nèi)部的基準(zhǔn)控制放大器的溫度漂移。 3.AD1408的模擬輸出 1408在片腳4(IOUT)上提供一個單一的模擬電流輸出,這個輸出端表現(xiàn)為一個電流接收器。這個電流一般可達(dá)2mA,當(dāng)VEE比-7 V更負(fù)時,可增加到42mA。當(dāng)VEE為-5V時,器件的輸出電壓一致性被限制在-0.6~+0.5 V范圍內(nèi)。這時輸出端必須接運(yùn)算放大器才能提供電壓輸出。當(dāng)VEE比-10V更負(fù)時,輸出電壓一致性可以擴(kuò)展。這時,輸出端可以簡單地接一負(fù)載電阻,在IREF=2mA下,便可給出-5~0V的輸出電壓范圍,如圖12.11所示。但必須指出,這時建立時間將受到影響,負(fù)載電阻RL不超過500Ω時,影響不大,但當(dāng)RL增加到25 kΩ時,建立時間將由250 ns增加到12μs。 圖12.11 AD1408基準(zhǔn)電壓接法 (c)中R14=R15 1408既可工作于單極性,又可共和于雙極性。單極性工作時的通用接法如圖1212所示(不加虛線部分電路)。 這里IREF=VREF/R14,建議IREF取為2 mA,可以看出 RF可根據(jù)對VOUT范圍的要求來選定。 當(dāng)雙極性工作時,輸入數(shù)字量為偏移二進(jìn)制碼。運(yùn)算放大器求和點(diǎn)上加偏置電流IB其值為1/2 IREF,方向?yàn)榱飨蚯蠛忘c(diǎn)。如圖12.12中虛線部分所示。這里RB=2R14。 圖12.12 AD1408接線圖 4.AD1408的零點(diǎn)調(diào)整及滿量程調(diào)整 調(diào)整原則是:單極性輸出時,輸入數(shù)字為00H,輸出電壓為0V;輸入數(shù)字為FFH,輸出電壓為, VFS為滿量程電壓。 雙極性輸出時,輸入數(shù)字為00H,輸出電壓為-VFS;輸入數(shù)字為80H時,輸出電壓為0V;輸入數(shù)字為FFH,輸出電壓為。 對圖12.12所示電路,設(shè)VREF=2.5 V, RB=2.5 kΩ, R14=R14=1.25 kΩ, RF=5 kΩ, C=15 pF,具體調(diào)整步驟如下: 單極性輸出(不加RB):數(shù)字輸入00H,調(diào)整運(yùn)算放大器的調(diào)零電位器R1, 使VOUT=0.00 V;數(shù)字輸入FFH,調(diào)R14, 使VOUT=+9.961 V。 雙極性輸出(加RB):數(shù)字輸入為00H,調(diào)RB, 使VOUT=-5 V;數(shù)字輸入為80H,調(diào)R14, 使VOUT=0 V;數(shù)字輸入為FFH,使VOUT=4.961 V。 5.CPU與AD1408接口 因AD1408沒有輸入數(shù)據(jù)鎖存器,必須外加鎖存器件,具體電路如圖12.13所示。 圖12.13 CPU與AD1408接口 采用8D鎖存器74LS273為AD1408鎖存輸入數(shù)據(jù)。另外,用74LS138譯碼器為鎖存器進(jìn)行片選譯碼。本例片選地址設(shè)為80H。當(dāng)微處理器執(zhí)行輸出指令
OUT 80H,AL 時,累加器中的數(shù)據(jù)在M/IO和WR的控制下送入鎖存器中鎖存起來,并送入D/A中進(jìn)行轉(zhuǎn)換、輸出。根據(jù)對輸出模擬值的不同要求,AD1408的基準(zhǔn)電壓和模擬輸出部分有不同的接法。 如果CPU配有可編程并行I/O接口芯片,并且它有空余端口時,可用該端口為AD1408鎖存數(shù)據(jù)。具體接法如圖12.14所示。 圖12.14 并行接口與AD1408的接法 設(shè)PIO(并行輸入輸出)端口A數(shù)據(jù)寄存器的口地址為80H,在PIO初始化中設(shè)定A口為輸出方式的基礎(chǔ)上,微處理器輸出指令
OUT 80H,AL 時,累加器AL中的數(shù)據(jù)傳送到PIO端口A數(shù)據(jù)寄存器中鎖存起來,并輸出給AD1408進(jìn)行轉(zhuǎn)換輸出。 二、DAC0832 DAC0832是用CMOS/Si-Cr工藝制成的8位數(shù)/模轉(zhuǎn)換芯片。數(shù)字輸入端具有雙重緩沖功能,可以雙緩沖、單緩沖或直通輸入,特別適用于要求幾個模擬量同時輸出的場合,與微處理器接口很方便,主要特性如下: (1) 分辨率——8位 (2) 建立時間——1 μs (3) 增益溫度系數(shù)——/℃ (4) 輸入——TTL (5) 功耗——20 mW DAC0832的片腳功能框圖如圖12.15所示。
圖12.15 DAC0832片腳功能框圖
DAC0832片腳功能說明: ILE——允許輸入鎖存; ——片選信號。它與ILE結(jié)合起來可以控制WR1是否起作用; ——寫信號1。在和ILE有效下,用它將數(shù)字輸入并鎖存于輸入寄存器中; ——寫信號2。在有效下,用它將輸入寄存器中的數(shù)字傳送到8位D/A寄存器中; ——傳送控制信號。用它來控制是否起作用。在控制多個DAC0832同時輸出時特別有用; DI0~DI7——8位數(shù)字輸入。DI0為最低位; IOUT1——D/A電流輸出1。它是邏輯電平為1的各位輸出電流之和; IOUT2——D/A電流輸出2。它是邏輯電平為0的各位輸出電流之和; Rfb——反饋電阻。該電阻被制作在芯片內(nèi),用作運(yùn)算放大器的反饋電阻; VREF——基準(zhǔn)電壓輸入??梢猿?#177;10 V范圍。芯片用于四象限乘時,為模擬電壓輸入; VCC——電源電壓。+5 V~+15 V,最佳用+15 V; AGND——模擬地。芯片模擬電路接地點(diǎn); DGND——數(shù)字地。芯片數(shù)字電路接地點(diǎn)。 下面按組成單元予以簡單介紹。 1.DAC0832的數(shù)字接口 DAC0832的數(shù)字接口由8條數(shù)字輸入線(DI0~DI7)、兩個寫信號(和)、一個片選信號、一個允許輸入鎖存信號ILE和一個傳送控制信號組成。由于數(shù)字輸入為雙重緩沖,給用戶帶來很大方便。 圖12.15中的為寄存器鎖存命令。當(dāng)為1時,寄存器的輸出隨輸入變化,寄存器處于直通狀態(tài),當(dāng)為0時,輸入數(shù)據(jù)被鎖存在寄存器,輸出不再隨輸入變化。當(dāng)ILE為高電平、和同時為低電平時,使為1,輸入寄存器的輸出隨數(shù)據(jù)總線上的數(shù)據(jù)變化;當(dāng)變高時,輸入數(shù)據(jù)被鎖存在輸入寄存器中,當(dāng)和同時為低電平時,使為1,D/A寄存器的輸出隨它的輸入變化。當(dāng)變高時,將輸入寄存器中的數(shù)據(jù)鎖存在D/A寄存器中。 DAC0832由于有雙重緩沖,特別適用于要求多個模擬量同時輸出的場合。由3片DAC0832組成的這種系統(tǒng)如圖12.16所示。 圖12.16 3個模擬量同時輸出的接線圖
ILE置為高電平,在為低電平和片選信號,和分別為低電平的控制下,有關(guān)數(shù)據(jù)分別被輸入給相應(yīng)DAC0832的輸入寄存器。當(dāng)需要進(jìn)行同時模擬輸出時,在和均為低電平的作用下,把各輸入寄存器中的數(shù)據(jù)同時傳送給各自的D/A寄存器。3個D/A同時轉(zhuǎn)換,同時給出模擬輸出。 可以看出,工作在雙緩沖方式時,能做到在對某數(shù)據(jù)轉(zhuǎn)換的同時,進(jìn)行下一個數(shù)據(jù)的采集,因此轉(zhuǎn)換速度較高。 在不要求多相D/A同時輸出時,可以采用單緩沖方式(兩個并聯(lián)或者使兩個寄存器之一始終處于直通狀態(tài))。這時只需一次寫操作,因而可以提高D/A的數(shù)據(jù)吞吐量。 為了保證DAC0832可靠工作,一般情況下WR脈沖的寬度應(yīng)不小于500 ns。若VCC=15 V,則可小至100 ns。輸入數(shù)據(jù)保持時間不應(yīng)小于90 ns,否則可能鎖存錯誤數(shù)據(jù)。圖12.17單極性工作輸出接線圖無用的數(shù)字信號端應(yīng)根據(jù)要求接地或接VCC,不能懸空,否則D/A將視為1。 2.DAC0832的模擬輸出 (1)單極性工作 當(dāng)輸入數(shù)字為單極性數(shù)字時,電路接法如圖12.17所示。
圖12.17 單極性工作輸出接線圖 VREF可以是穩(wěn)定的直流電壓,也可以是從-10V到+10V之間的可變電壓。當(dāng)為可變電壓時,即可實(shí)現(xiàn)二象限乘。VOUT的極性與VREF相反,其數(shù)值由數(shù)字輸入和VREF決定。 R1用于零校準(zhǔn),R2用于滿度增益校準(zhǔn)。在一般情況下,內(nèi)部反饋電阻RFb能滿足滿度增益精度要求,因而,在反饋回路中不需串加校準(zhǔn)電阻R2,也不需并聯(lián)R3。 (2)雙極性工作 當(dāng)輸入為雙極性數(shù)字(偏移二進(jìn)制碼)時,電路接法如圖12.18所示。如果基準(zhǔn)電壓VREF也是可變電壓,則可實(shí)現(xiàn)四象限乘。
圖12.18 雙極性工作輸出接線圖
3.CPU與DAC0832接口 因DAC0832本身有數(shù)據(jù)鎖存器,所以與CPU的接口很簡單,只需外加地址譯碼給出片選信號即可。如不要求幾片DAC0832同時輸出模擬數(shù)據(jù),則可只用一級緩沖。這時,可將和接在地址譯碼的同一個輸出端上,把和接同一個控制信號。因本例沒有外界的禁止輸入鎖存控制,ILE可以簡單地接+5 V。整個數(shù)字接口電路如圖12.19所示,這里轉(zhuǎn)換器的地址安排為81H。
圖12.19 CPU與DAC0832接口
和前兩例一樣,微處理器只要執(zhí)行輸出指令
OUT 81H,AL 即可把累加器AL中的數(shù)據(jù)送入DAC0832進(jìn)行轉(zhuǎn)換輸出。模擬輸出部分電路詳見前面關(guān)于DAC0832芯片模擬輸出一節(jié)。 DAC0832為電流輸出型DAC,使用時需外加運(yùn)算放大器,芯片的電源電壓最好工作在+15V,經(jīng)過運(yùn)算放大器后,輸出電壓極性與VREF極性相反。圖12.20為接有兩路8位D/A轉(zhuǎn)換器0832的硬件電路圖,雙極性輸出(輸入數(shù)字為偏移二進(jìn)制碼時)。微機(jī)通過低8位數(shù)據(jù)線與DAC通訊,兩路D/A轉(zhuǎn)換器口地址分別為80H~86H中的偶地址和88H~8EH中的偶地址,通過兩級運(yùn)算放大器使模擬電壓輸出。 圖12.20 兩路8位D/A的轉(zhuǎn)換電路
三、AD558 D/A轉(zhuǎn)換芯片AD558由內(nèi)部鎖存器,利用R~2R的T型解碼網(wǎng)絡(luò)和晶體管開關(guān)組成,其僅需要+5V電壓供電,輸出模擬電壓范圍為0~256 V。圖12.21是AD558的內(nèi)部結(jié)構(gòu)框圖,圖12.22是AD558與PC機(jī)的連接圖。
圖12.21 D/A轉(zhuǎn)換芯片AD558內(nèi)部結(jié)構(gòu)框圖
AD558的鎖存器通過CS和CE兩信號控制。當(dāng)CPU執(zhí)行一條OUT指令時WR信號為低電平,地址30BH為PC機(jī)內(nèi)譯碼器的輸出,該輸出信號使CS為低電平,因此CPU的輸出數(shù)據(jù)被鎖存于AD558內(nèi)并通過T型解碼網(wǎng)絡(luò)轉(zhuǎn)換成模擬電信號從VOUT端輸出。AD558DAC可以10 mV的信號進(jìn)行分辨。 下面是用AD558產(chǎn)生鋸齒波模擬信號的程序。 CODE SEGMENT ASSUME CS:CODE DAC PROCF AR START: PUSH DS PUSH AX LOP1: MOVAL,0 ;輸出鋸齒波最小值 MOV DX,30BH ?。籄D558端口地址 LOP2: OUT DX,AL ??;輸出進(jìn)行D/A轉(zhuǎn)換 INC AL ??;鋸齒波值加1 CMP AL,00 ??;一個鋸齒波周期結(jié)束了嗎? JNZ LOP2 ;否;繼續(xù)將數(shù)值加1 JMP LOP1 ??;是,進(jìn)行下一周期輸出 RET DAC ENDP CODE ENDS END START
圖12.22 DAC AD558與PC機(jī)連接電路圖
四、AD7522 AD7522是CMOS數(shù)/模轉(zhuǎn)換芯片。數(shù)字輸入端具有雙重鎖存,使器件易于接向8位的微處理器。不僅可以鎖存10位并行數(shù)碼,而且可以接納串行信息。具有一對互補(bǔ)的電流輸出。是四象限乘法數(shù)/模轉(zhuǎn)換器。輸出增益可通過反饋電阻的不同接法進(jìn)行改變。模擬地和數(shù)字地是分開的。主要特性如下: ·分辨率——10位; ·非線性度——±0.05%~±0.2%; ·微分非線性——±0.1%~±0.4%; ·建立時間——500 ns; ·增益溫度系數(shù)——/℃; ·非線性溫度系數(shù)——/℃; ·電源溫度系數(shù)——/℃; ·輸入——TTL/CMOS; ·功耗——20 mW; ·工作溫度范圍——0~+70℃,-25~+85℃。 這種芯片的非線性度、微分非線性和工作溫度范圍(由封裝材料決定)都分為幾個等級,由芯片型號的后綴來識別。如表12.4所示。這種芯片的功能部件框圖如圖12.23所示。片腳功能示于表12.5。 表12.4 AD7522芯片的非線性度,微分非線性和工作溫度范圍 芯片型號 | 非線性度 | 微分非線性 | 工作溫度范圍 | AD7522JN/JD | ±0.2% | ±0.4% | 0~+70℃/(-25~+85℃) | AD7522KN/KD | ±0.1% | ±0.2% | 0~70℃/(-25~+85℃) | AD7522LN/LD | ±0.05% | ±0.1% | 0~70℃/(-25~+85℃) |
圖12.23 片腳分配及功能部件框圖 表12.5 AD7522片腳功能表
片腳號 | 記憶符 | 功 能 說 明 | 1 | VDD | 主電源+15V | 2 | LDTR | 單極性工作時接模擬地,雙極性工作時接IOUT2 | 3 | VREF | 基準(zhǔn)電壓輸入。由于AD7522為乘法DAC,VREF可以大大超過±10V,達(dá)±25V,它可以是固定的或可變的交流或直流電壓 | 4 | RFB2 | 反饋電阻中間抽頭(滿度增益為1/2)。要求增益為1/2或1/4時,接至輸出運(yùn)算放大器的輸出端 | 5 | RFB1 | 反饋電阻端(滿度增益為1)。在正常增益為1下工作時,接輸出運(yùn)算放大器的輸出端;若要求增益為1/4,則接至放大器的求和點(diǎn)上 | 6 | IOUT1 | 電流輸出(由邏輯電平為1的各數(shù)據(jù)位提供的)。一般接在輸出運(yùn)算放大器的求和點(diǎn)上 | 7 | IOUT2 | 互補(bǔ)電流輸出(由邏輯電平為0的各數(shù)據(jù)位提供的)。在單極性工作時接模擬地;雙極性工作時接倒相運(yùn)算放大器求和點(diǎn)上 | 8 | AGND | 模擬地 | 9 | SRO | 串行輸出 | 10~19 | DB9~DB0 | 并行數(shù)據(jù)輸入。DB9為MSB,DB0為LSB | 20 | | 8位短周期控制。在串行方式下用于控制周期的長短。若為0,則只打入高8位,低2位被舍掉;若為1,則可接受完整的10位串行字 | 21 | SPC | 串/并行控制,若為0,且低字節(jié)選通(LBS)和高字節(jié)選通(HBS)起作用時,則并行數(shù)據(jù)被打入輸入緩沖器;若為1,則根據(jù)HBS和LBS的時鐘輸入將串行數(shù)據(jù)移入輸入緩沖器 | 22 | LDAC | 打入DAC。若LDAC為0,AD7522工作于“保持”方式,輸入緩沖器中的數(shù)字輸出功能被封鎖;若為1,AD7522工作于“打入”方式,輸入緩沖器中的數(shù)據(jù)打入DAC寄存器 | 24 | LBS | 低字節(jié)選通。在并行方式下(SPC為0)在該信號的上升沿時,把出現(xiàn)在DB0到DB7上的并行數(shù)據(jù)選通輸入到輸入緩沖器中;在串行方式下,出現(xiàn)在串行輸入端的串行輸入位在HBS和LBS的上升沿時,被移入輸入緩沖器(在串行方式下,HBS和LBS必須同時加時鐘脈沖) | 25 | HBS | 高字節(jié)選通。與LBS功能同,但對DB8和DB9起作用 | 26 | SRI | 串行輸入 | 27 | VCC | 邏輯電源。如施加+5V,則所有數(shù)字輸入/輸出與TTL兼容;如施加+10~+15V,則與CMOS兼容 | 28 | DGND | 數(shù)字地 | 下面介紹AD7522各組成單元的功能。 1.AD7522的數(shù)字接口 AD7522的數(shù)字接口由10條數(shù)字輸入線(DB0~DB9),一個串并行控制信號(SPC),一個串行輸入(SRI),兩個并行方式使用的選通信號(LBS和HBS),一個打入DAC信號(LDAC),一個短周期控制信號 和一個串行輸出(SRO)組成。 D/A轉(zhuǎn)換電路的數(shù)字輸入為雙重緩沖,這就大大簡化了這種器件與8位微處理器的接口。當(dāng)微處理器配有串行I/O時,串行工作方式使它宜于在遠(yuǎn)離微機(jī)的地方使用。 下面介紹適用于各種數(shù)據(jù)傳輸形式的接線法。 (1)并行單組輸入:當(dāng)7522用于轉(zhuǎn)換來自10位以上的微處理器的10位數(shù)據(jù)時,可以進(jìn)行數(shù)據(jù)的并行單組輸入。 因?yàn)槭遣⑿休斎?,所有用于串行的控制線這時都無用,都要接數(shù)字地。如圖12.24所示。 圖12.24 并行單且輸入控制端接線圖 因?yàn)?0位數(shù)字同時輸入給輸入緩沖器,因此,高字節(jié)選通(HBS)和低字節(jié)選通(LBS)可以連在一起,并由片選信號 和寫信號提供選通信號。 數(shù)字從輸入緩沖器到D/A寄存器的傳輸是在LDAC的控制下實(shí)現(xiàn)的。與對輸入緩沖器輸入數(shù)據(jù)是由LBS和HBS的前沿觸發(fā)不同,向D/A寄存器輸入數(shù)據(jù)是由有效電平控制的。為了實(shí)現(xiàn)這一傳輸,LDAC信號保持高電平至少500 ns。 在此并行單組輸入方式下,LDAC信號可由如圖12.25所示的3種途徑得到。 D/A轉(zhuǎn)換電路的數(shù)字輸入在圖12.25(a)中須兩步完成,在圖12.25(b), (c)中只須一步。 圖12.25 并行單組輸入方式下產(chǎn)生LDAC信號的3種途徑接線圖 前面曾經(jīng)指出,這種芯片分為“J”,“K”,“L”3個等級,為了保證精度和單調(diào)性,對于“J”級把DB0和DB1接數(shù)字地,對于“K”級只把DB0接數(shù)字地。 (2)并行兩組輸入:當(dāng)7522用于轉(zhuǎn)換來自8位微處理器的10位數(shù)據(jù)時,數(shù)據(jù)必須分兩組輸入。有兩種輸入方法,一種是分3步,另一種是分2步,分別示于圖12.26。 圖12.26 并行兩組輸入控制接線圖 在三步方法中,LBS,HBS和LDAC的控制信號分別由3個片選信號( , 和)與組合而成。 在兩步方法中,LDAC和HBS一樣,控制信號也由和組合而成。 圖12.27串行輸入接線圖兩種方法中,都是先輸入低8位,后輸入高兩位。 串行輸入芯片片腳線如圖12.27所示。 圖12.27 串行輸入接線圖 對于串行工作方式,并行數(shù)字輸入端(DB0~DB9)均接數(shù)字地,SPC應(yīng)置為邏輯1。 串行輸入數(shù)據(jù)加到SRI端,通過同時選通LBS和HBS端,記錄每一位的輸入。串行數(shù)字是由最高位(MSB)開始輸入的,每一個時鐘輸入(CLOCK IN)信號(上升沿)輸入一位,并移位到輸入緩沖器。 在串行工作方式中,傳輸串行輸入數(shù)據(jù)到輸入緩沖器和傳輸輸入緩沖器的內(nèi)容到D/A寄存器,必須分別地完成。為了傳輸輸入緩沖器的內(nèi)容到D/A寄存器,最后一個CLOCK IN信號可以同時作打入D/A信號(LDAC)。 當(dāng)串行工作時,通過施加一個邏輯0到 輸入端,AD7522可以作為8位器件使用。這時8個時鐘脈沖后就把數(shù)據(jù)打入DAC寄存器,并開始轉(zhuǎn)換。 AD7522有兩個互補(bǔ)的電流輸出端IOUT1和IOUT2,為了得到電壓輸出,需要外加運(yùn)算放大器。 2.AD7522的單極性工作和雙極性工作 (1)單極性工作:單極性工作時,IOUT1接運(yùn)算放大器求和點(diǎn),IOUT2接模擬地,T型網(wǎng)絡(luò)終端也接模擬地,如圖12.28所示。這時數(shù)字輸入和模擬輸出間的關(guān)系如表12.6所示。 圖12.28 單極性工作輸出接線圖表 表12.6 數(shù)字輸入和模擬輸出關(guān)系 數(shù) 字 輸 入 | 模 擬 輸 出 | 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
| -VREF(1-2-10) -VREF(1/2+2-10) -VREF/20 -VREF(1/2-2-10) -VREF(2-10) 0 | 圖中R1和R2用作滿度增益校準(zhǔn)。校準(zhǔn)時,先把R1, R2均調(diào)為0Ω,使D/A寄存器的數(shù)字輸入為全1,如果模擬輸出VOUT大于應(yīng)有值則增大R1使VOUT為應(yīng)有值。如VOUT小于應(yīng)有值,增加R2使VOUT為應(yīng)有值。 圖中CR2, CR3均為肖特基二極管,CR1, CR2和CR3均用于保護(hù)AD7522芯片。電容器C1用作對運(yùn)算放大器進(jìn)行相位補(bǔ)償。 滿度增益可以選為1,1/2或1/4,由反饋回路的接法(反饋電阻值)來決定。如選1,R2接RFB1;如選1/2,R2接RFB2;如選1/4,R2接RFB2且IOUT1接RFB1。 (2)雙極性工作:當(dāng)數(shù)字輸入為偏移二進(jìn)制時,工作于雙極性輸入方式。如偏移二進(jìn)制數(shù)字輸入同雙極性基準(zhǔn)電壓相結(jié)合,則可實(shí)現(xiàn)四象限乘。 雙極性工作時,使用兩個運(yùn)算放大器,具體接法如圖12.29所示。OA2用于倒相,OA1用于求和。這時,T型網(wǎng)絡(luò)終端LDTR應(yīng)接A2的求和點(diǎn)。數(shù)字輸入和模擬輸出間的關(guān)系如表12.7所示。 圖中R1和R2用作滿度增益校準(zhǔn)時。校準(zhǔn)先把R1, R2均調(diào)為0 Ω,使DAC寄存器的數(shù)字輸入為全0,如果VOUT大于+VREF則增加R2;如VOUT小于VREF則增加R1,REF最后均使VOUT達(dá)+VREF。
圖12.29 雙極性工作輸出接線圖表 表12.7 數(shù)字輸入和模擬輸出關(guān)系 數(shù) 字 輸 入 | 模 擬 輸 出 | 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
| +VREF(1-2-9) +VREF(2-9) 0 -VREF(2-9) -VREF(1-2-9) -VREF | 3.CPU與AD7522接口舉例 AD7522為10位DAC,當(dāng)它與8位的微處理器CPU接口時,必須進(jìn)行輸入數(shù)據(jù)的兩級緩沖鎖存。因AD7522本身具有雙重緩沖功能,所以給接口帶來很大方便。三步操作方式下的接口電路如圖12.30所示。3個口地址安排為98H,99H和9AH,分別用于選通10位數(shù)字的低字節(jié)、高字節(jié)和打入D/A寄存器。模擬輸出電路見前面所介紹內(nèi)容。
圖12.30 CPU與AD7522接口 設(shè)待轉(zhuǎn)換的10位數(shù)據(jù)預(yù)先已由其它程序放入定義保留的從DATA開始的兩個單元中。微處理器執(zhí)行下列程序段就能實(shí)現(xiàn)把10位數(shù)字?jǐn)?shù)據(jù)送入AD7522并進(jìn)行轉(zhuǎn)換給出模擬輸出。 MOV BX,OFFSET DATA MOV AL,[BX] OUT 98H,AL ??;數(shù)據(jù)的低8位送低8位鎖存器 INC BX MOV AL,[BX] OUT 99H,AL ?。粩?shù)據(jù)的高2位送高2位鎖存器 OUT 9AH,AL ??;10位數(shù)據(jù)(鎖存在輸入緩沖器中的)送入DAC 寄存器并開始轉(zhuǎn)換 . . . DATA DB 12,3 ;DATA單元存數(shù)據(jù)的低8位,DATA+1單元存數(shù) 據(jù)的高2位 五、AD561 AD561是一種高速的D/A轉(zhuǎn)換芯片。從工藝上講,它屬于雙極型器件,具有穩(wěn)定的內(nèi)部基準(zhǔn)電壓,能提供0~2 mA良好的模擬電流輸出。接輸出范圍電阻可直接以電壓形式輸出,這時建立時間為250 ns(達(dá)到±1/2 LSB),如后接運(yùn)算放大器(AD509),建立時間為600 ns。主要特性如下: ·分辨率——10位; ·非線性度——J級±0.05%,K級±0.025%; ·微分非線性度——±0.05%; ·建立時間——250 ns; ·增益溫度系數(shù)——J級 /℃,K級/℃; ·輸入——TTL/CMOS; ·輸出——單極性/雙極性; ·功耗——290 mW; ·工作溫度范圍——0~+70℃。 AD561的片腳功能如圖12.31所示。 圖12.31 AD561片腳功能圖 1.AD561的數(shù)字接口 AD561的數(shù)字口由10個數(shù)字輸入端D1~D10組成。數(shù)字接口不具備緩沖鎖存功能,因此必須外加鎖存器。輸入數(shù)字,對單極性為普通二進(jìn)制碼,對雙極性為偏移二進(jìn)制碼,如為直接(不加運(yùn)算放大器)輸出0~+10V, 則應(yīng)反碼輸入。 對于TTL/DTL或5V CMOS,VCC為+5V。 對于高壓CMOS,VCC為+10V~+15V。 由于邏輯輸入端為高阻抗,所以即使用不帶緩沖的CMOS電路進(jìn)行輸入也沒有困難。 2.AD561的模擬輸出 AD561可以直接輸出,也可經(jīng)運(yùn)算放大器輸出,可以單極性輸出,也可以雙極性輸出,現(xiàn)將各種輸出接線法介紹如下。 (1)經(jīng)運(yùn)算放大器輸出: 0~+10V單極性輸出,如圖12.32所示。 ±5V雙極性輸出,如圖12.33所示。 ±10V雙極性輸出,接線圖如圖12.33所示,只需將R2換為一個4.2 kΩ固定電阻接一個1.5 kΩ可變電阻,R4換為2 kΩ即可。
圖12.32 0~+10V單極性輸出接線圖 圖12.33 ±5V雙極性輸出接線圖 (2)直接輸出:AD561的輸出阻抗很高(40MΩ),輸出電壓一致性很好,因此,不需借助于運(yùn)算放大器就可實(shí)現(xiàn)滿意的電壓輸出。在滿度輸出電流情況下,通過改變輸出電路接法和輸出范圍電阻的阻值,可保證從-2V到10V的輸出電壓范圍。但是,為了保證精度,負(fù)載必須是高阻抗器件。 0~-2V輸出:如圖12.34(a)所示,在輸出端用一個阻值為1 kΩ的輸出范圍電阻R接地。這樣,對應(yīng)于全0到全1的數(shù)字量變化,I0從0到2 mA,這個電流流經(jīng)電阻R,使輸出端得到0~-2 V的電壓輸出。
圖12.34 直接電壓輸出接線圖 0~+10 V輸出:當(dāng)要求0~+10V輸出時,輸出端不接1 kΩ電阻,而是在反饋輸入端通過50 Ω可調(diào)電阻接+10 V精密電源,如圖12.34(b)所示。但這時的輸入應(yīng)為取反后的數(shù)字碼。 -1~+1 V雙極性輸出:當(dāng)要求-1~+1 V雙極性輸出時,可采用如圖12.34(c)所示的接線法。 (3) 校準(zhǔn):經(jīng)運(yùn)算放大器輸出時,在單極性下,R1用于零校準(zhǔn);雙極性時,用R3進(jìn)行零校準(zhǔn)(R1在雙極性時一般不需調(diào)整,除非運(yùn)算放大器的偏移過大)。R2用于滿度增益校準(zhǔn)。 直接輸出時,R2, R3均用于零輸出校準(zhǔn)。 3.CPU與AD561接口 因AD561本身不具備輸入數(shù)據(jù)鎖存功能,必須外加鎖存器。CPU為8位微處理器時,而AD561為10位D/A,所以必須進(jìn)行雙重緩沖鎖存。具體接口電路如圖12.35所示??梢杂萌捷斎氩僮?,也可用兩步輸入操作,本圖適用于兩步輸入。
圖12.35 AD561與CPU接口電路 第一步選址98H,將數(shù)據(jù)的低8位鎖存在鎖存器(1)中。第二步選址99H,把數(shù)據(jù)的低8位進(jìn)一步鎖入鎖存器(2)中,同時將數(shù)據(jù)的高2位鎖入2位鎖存器中。這樣就把整個10位數(shù)據(jù)送入DAC進(jìn)行轉(zhuǎn)換,隨之給出模擬輸出。有關(guān)模擬輸出電路見AD561芯片介紹。 向AD561輸出數(shù)據(jù)的程序段基本同上例,只是因三步改為兩步,把第三步輸出指令
OUT 9AH,AL 去掉即可。 六、DAC1210/1209/1208系列D/A轉(zhuǎn)換器及接口 1.主要技術(shù)指標(biāo) DAC1210/1209/1208都是12位D/A轉(zhuǎn)換器,主要區(qū)別是線性誤差不同,主要指標(biāo)為: ·分辨率12位; ·電流建立時間1 μs; ·線性誤差DAC1210為0.05%VFS,DAC1209為0.024%VFS,DAC1208為0.012%VFS; ·邏輯電平輸入與TTL電平兼容; ·具有雙緩沖數(shù)據(jù)鎖存器,可接成雙緩沖或直接數(shù)字輸入; ·單電源+5~+15 V,低功耗20 mW,參考電壓VREF為-10~+10V。 2.內(nèi)部結(jié)構(gòu) 內(nèi)部結(jié)構(gòu)如圖12.36所示,包括兩級數(shù)據(jù)鎖存器和12位相乘型D/A轉(zhuǎn)換器。第1級輸入鎖存器分成高8位和低4位兩個鎖存器,可以高8位和低4位一次輸入鎖存,也可以僅輸入低4位。第2級是一個12位的DAC寄存器,數(shù)據(jù)輸入后立即送D/A轉(zhuǎn)換器,轉(zhuǎn)換結(jié)束輸出模擬電流信號。 圖12.36 DAC1210/1209/1208內(nèi)部結(jié)構(gòu)圖 3.引腳功能 DI11~DI0——12位數(shù)據(jù)輸入。 ——片選,低電平有效。 ——寫入信號1,低電平有效。 ——12位/4位輸入選擇,高電平時,高8位和低4位 輸入鎖存;低電平時,低4位輸入鎖存。 ——傳送控制,低電平有效。 ——寫入信號2,低電平有效,當(dāng)和同時為低電平有 效時,第1級鎖存器中的數(shù)據(jù)傳送到第2級DAC寄存器中。 IOUT1——D/A轉(zhuǎn)換電流輸出1,當(dāng)DAC寄存器為全1時輸出電流量大;當(dāng) DAC寄存器為全0時輸出電流為0。 IOUT2——D/A轉(zhuǎn)換電流輸出2,與IOUT配合使用。 Rfb——反饋電阻。 VREF——參考電壓。 VCC——電源電壓。 4.工作方式 DAC1210/1209/1208有兩種工作方式,一種是單緩沖方式,另一種是雙緩沖方式。 (1)單緩沖方式 單緩沖連接方式如圖1238所示,使與連接,與聯(lián)接,接+5V,使和均為1,同時選通輸入鎖存器和DAC寄存器。于是,數(shù)據(jù)可直接送入DAC寄存器。工作時序如圖12.37所示。 圖12.37 單緩沖工作時序 圖12.38 單緩沖工作方式 (2)雙緩沖工作方式 雙緩沖工作方式是將輸入數(shù)據(jù)經(jīng)兩級鎖存器傳送給D/A轉(zhuǎn)換器。也就是將輸入鎖存器和DAC寄存器看作兩個端口分別予以控制。圖12.39所示是與8位數(shù)據(jù)總線的連接方式,12位數(shù)據(jù)分兩步送入高8位鎖存器和低4位鎖存器,然后由XFER控制,一起送DAC寄存器,其工作時序如圖12.40所示。
圖12.39 8位數(shù)據(jù)總線連接方式 圖12.40 雙緩沖工作時序圖 5.輸出方式 DAC1210/1209/1208屬于電流輸出型D/A轉(zhuǎn)換器,需用運(yùn)算放大器將電流輸出轉(zhuǎn)換為電壓輸出。一般電壓輸出可分為單極性和雙極性兩種,其中單極性輸出如圖12.41所示,雙極性輸出如圖12.42所示。
圖12.41 單極性輸出方式 圖12.42 雙極性輸出方式 由圖12.42可以推出輸出電壓與輸入數(shù)字量的對應(yīng)關(guān)系: 因?yàn)? 所以 6.與CPU接口電路設(shè)計(jì) 由于DAC1210系列D/A轉(zhuǎn)換器的邏輯電平與CPU兼容,其內(nèi)部的兩級鎖存器可視為兩級外部輸出端口,因此可直接與CPU系統(tǒng)總線連接,如圖12.43所示。圖中采用16位數(shù)據(jù)總線接口單緩沖工作方式。第1級運(yùn)算放大器將DAC輸出電流轉(zhuǎn)換為單極性電壓輸出,輸出幅度為-10~0 V。第2級運(yùn)算放大器產(chǎn)生雙極性電壓輸出,輸出幅度為-10~+10V。 向DAC1210連續(xù)不斷地輸出數(shù)據(jù),即可得到相應(yīng)的電壓信號。設(shè)端口地址為PORT,產(chǎn)生連續(xù)方波的程序如下: MOV DX,PORT ??;DAC1210輸入鎖存器地址(要求偶地址) LP:MOV AX,0000H OUT DX,AX CALL RLY ;延時 MOV AX,0FFFFH OUT DX,AX CALL RLY JMP LP 圖12.43 DAC1210接口電路 七、AD394 AD394有4個獨(dú)立的12位D/A轉(zhuǎn)換器,其滿刻度精度為0.05%,精度達(dá)到1/2 LSB的時間為15 μs。每個D/A轉(zhuǎn)換器均有獨(dú)立的緩沖寄存器,4個D/A轉(zhuǎn)換器可分別裝入不同的數(shù)據(jù),也可以同時裝入相同的數(shù)據(jù)。每個D/A轉(zhuǎn)換器的輸出接二級運(yùn)算放大器,有獨(dú)立的模擬量輸出端,屬于雙極性輸出的D/A轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖12.44所示。
圖12.44 AD394內(nèi)部結(jié)構(gòu) 從B1~B12輸入12位數(shù)據(jù),B1為最高有效位,在參考電壓VREF=10 V時,輸出電壓范圍為±10V。輸出電壓與輸入數(shù)據(jù)之間的轉(zhuǎn)換關(guān)系可表示如下: B1=1時,V0=VREF[低位 的值/2048]; B1=0時,V0=-VREF[(2048-低11位的值)/2048]。 AD394可以與16/32位數(shù)據(jù)總線系統(tǒng)直接連接,4個D/A轉(zhuǎn)換器的選擇可由地址譯碼實(shí)現(xiàn)。若與8位數(shù)據(jù)總線連接,須在AD394和8位CPU之間增加一級數(shù)據(jù)鎖存器,將12位數(shù)據(jù)分兩次傳送。 AD394在16/32位數(shù)據(jù)總線系統(tǒng)中的連接如圖12.45所示,12位數(shù)據(jù)線與16/32位數(shù)據(jù)總線的低12位直線連接, 由地址譯碼產(chǎn)生。若設(shè)4個D/A轉(zhuǎn)換器的端口地址分別為PORT0~PORT3,主存中數(shù)據(jù)緩沖區(qū)地址為BLOCK,則數(shù)據(jù)輸出轉(zhuǎn)換程序可設(shè)計(jì)如下: LEA BX,BLOCK MOV DX,PORT0 ;設(shè)置端口地址0 MOV AX,[BX] ??;取數(shù) INC BX INC BX OUT DX,AX ??;輸出數(shù)據(jù) MOV DX,PORT1 ;設(shè)置端口地址1 MOV AX,[BX] ??;取數(shù) INC BX INC BX OUT DX,AX ??;輸出數(shù)據(jù) 圖12.45 AD394的連接使用 八、12位D/A轉(zhuǎn)換與16位機(jī)的一種間接接口 圖12.46為12位DAC通過8255作鎖存器與8086CPU的連接圖。此時,8086CPU以字的形式組織該接口。兩片8255A具有相同的口地址,且使用BHE控制信號允許高8位數(shù)據(jù)傳送。一個8255A的PA0~PA7提供12位DAC的低字節(jié)數(shù)據(jù),另一個8255A的PA0~PA7提供12位DAC的高4位數(shù)據(jù)。 圖12.46 12位D/A轉(zhuǎn)換及接口電路 |