- 計算機控制技術
- 李莉編著
- 20字
- 2021-10-27 13:29:34
第2章 模擬量、數字量輸入/輸出通道及應用
2.1 項目一:D-A轉換器及其在計算機控制系統中的應用
2.1.1 任務1:8位DAC0832芯片的應用
DAC0832是一個8位D-A轉換器,電流輸出方式,穩定時間為1μs,采用20腳雙直立式封裝。同系列芯片還有DAC0830和DAC0831,它們可以相互代換。
DAC0832的原理框圖及引腳如圖2-1所示。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D-A轉換器以及輸入控制電路4部分組成。8位輸入寄存器用于存放主機送來的數字量,使輸入數字量得到緩沖和鎖存,由加以控制;8位DAC寄存器用于存放待轉換的數字量,由
加以控制;8位D-A轉換器輸出與數字量成正比的模擬電流;由與門、非與門(或非門)組成的輸入控制電路來控制2個寄存器的選通和鎖存狀態。

圖2-1 DAC0832的原理框圖及引腳
各引腳功能如下:
DI0~DI7:數據輸入線,其中,DI0為最低有效位(LSB),DI7為最高有效位(MSB)。
:片選信號,輸入線,低電平有效。
:寫信號1,輸入線,低電平有效。
ILE:輸入允許鎖存信號,輸入線,高電平有效。
當ILE、和
同時有效時,8位輸入寄存器
端為高電平“1”,此時寄存器的輸出端Q跟隨輸入端D的電平變化;反之,當
端為低電平“0”時,原D端輸入數據被鎖存于Q端,在此期間D端電平的變化不影響Q端。
:寫信號2,輸入線,低電平有效。
:傳送控制信號,輸入線,低電平有效。
當和
同時有效時,8位DAC寄存器
端為高電平“1”,此時8位DAC寄存器的輸出端Q跟隨輸入端D(也就是8位輸入寄存器Q端)的電平變化;反之,當
端為低電平“0”時,第一級8位輸入寄存器Q端的狀態則鎖存到第二級8位DAC寄存器中,以便第三級8位D-A轉化器進行D-A轉換。
一般情況下,為了簡化接口電路。可以把和
直接接地,使第二級8位DAC寄存器的輸入端到輸出端通直通。只有第一級8位輸入寄存器置成可選通、可鎖存的單緩沖輸入方式。特殊情況下可采用雙緩沖輸入方式,即把2個寄存器都分別接成受控方式,例如要求多個D-A轉換器同步工作時,首先將要轉換的數據依次置入每個8位輸入寄存器,然后統一信號(
和
)再同時打開多個8位DAC寄存器,以便實現多個D-A轉換器同步輸出。
IOUT1:DAC電流輸出端1,一般作為運算放大器差動輸入信號之一。
IOUT2:DAC電流輸出端2,一般作為運算放大器另一個差動輸入信號。
Rfb:固化在芯片內的反饋電阻連接端,用于連接運算放大器的輸出端。
VREF:基準電壓源端,輸入線,-10~10V(DC)。
VCC:工作電壓源端,輸入線,5~15V(DC)。
AGND:模擬電路地。
DGND:數字電路地。
AGND和DGND是兩種不同的地,但在一般情況下,這兩種地最后總有一點連接在一起,以便提高抗干擾能力。
為使主機能向D-A轉換器傳送數據,必須在兩者之間設置接口電路。接口電路的功能是進行地址譯碼、產生片選信號或寫信號。如果D-A轉換器芯片內部有輸入寄存器,則主機的數據總線與轉換器可直接連接,一般只要將數據寫入寄存器中變換就開始;如果D-A轉換器芯片內部無輸入寄存器,則要外加寄存器以緩存主機給出的數據。無論哪種情況,主機對D-A轉換器接口的訪問就像訪問一個I/O端口一樣簡單。
由于DAC0832內部有輸入寄存器,所以它的數據總線可直接與主機的數據總線相連,圖2-2為DAC0832與PC總線的單緩沖接口電路,它由DAC0832轉換芯片、運算放大器以及74LS138譯碼器和門電路構成的地址譯碼電路組成。圖中,DAC0832內的8位DAC寄存器控制端的和
直接接地,使8位DAC寄存器的輸入到輸出始終直通;而8位輸入寄存器的控制端分別受地址譯碼信號與輸入/輸出指令控制,即PC總線的地址線A9~A0經74LS138譯碼器和門電路產生接口地址信號作為DAC0832的片選信號
,輸入/輸出寫信號
作為DAC0832的寫信號
。
1)當需要進行D-A轉換時,把被轉換的數據(如DATA)送入累加器AL,端口地址(如220H)送入DX,然后執行一條OUT輸出指令,則和
同為低電平,
為“1”,此時主機輸出的數據寫入DAC0832內的8位輸入寄存器中,再直通送入8位D-A轉換器進行轉換;當
恢復為高電平時,使
為“0”,則要轉換的數據鎖存在輸入寄存器中,使D-A轉換的輸出保持不變。其接口程序如下:



圖2-2 DAC0832與PC總線的單緩沖接口電路
2)8位D-A轉換器的接口方法比較簡單,如果選用8位D-A轉換器自帶緩存器的芯片,一般將數據寫入緩存器中變換時就開始,因此只需給出控制寫入的信號。若8位D-A轉換器不帶緩存器,則應該加上外部寄存器來緩存主機給出的數據。無論哪種情況,主機對8位D-A轉換器的接口總是像訪問一個I/O端口一樣簡單。
因為DAC0832內部帶有一個8位輸入寄存器,所以DAC0832的數據輸入線可以直接與計算機系統數據總線D0~D7相連。讓和
接地,即DAC0832內部第二級器接成直通式,只由第一級8位輸入寄存器控制數據的輸入,當
和
同時有效時,D0~D7的數據送入其內部的8位D-A轉換器中進行轉換。
如果要求VOUT端輸出方波,則編程如下:

如果計算機工作頻率高,上面電路的工作可靠性會降低,解決的辦法是將DAC0832接成二級直通式,鎖存器鎖存計算機輸出的數據,然后由鎖存器對DAC0832提供特殊轉換的二進制數。
- 集成架構中型系統
- Big Data Analytics with Hadoop 3
- 計算機應用基礎·基礎模塊
- 錯覺:AI 如何通過數據挖掘誤導我們
- AWS:Security Best Practices on AWS
- 圖解PLC控制系統梯形圖和語句表
- 精通Excel VBA
- 21天學通ASP.NET
- CorelDRAW X4中文版平面設計50例
- 完全掌握AutoCAD 2008中文版:綜合篇
- 基于多目標決策的數據挖掘方法評估與應用
- Storm應用實踐:實時事務處理之策略
- Azure PowerShell Quick Start Guide
- Mastering Text Mining with R
- 從零開始學JavaScript