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

  • 計算機控制技術
  • 李莉編著
  • 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提供特殊轉換的二進制數。

主站蜘蛛池模板: 高要市| 来宾市| 海兴县| 土默特左旗| 汉源县| 遵化市| 武夷山市| 石林| 抚远县| 修水县| 麻江县| 衡水市| 宣化县| 黔西| 固原市| 台北县| 永靖县| 怀来县| 盐津县| 永丰县| 文登市| 濮阳县| 平舆县| 苍山县| 鄂尔多斯市| 常山县| 大宁县| 华池县| 乌兰浩特市| 新闻| 大足县| 昆山市| 称多县| 汕头市| 麦盖提县| 普宁市| 呼图壁县| 全椒县| 奎屯市| 繁昌县| 灵武市|