2.1.2 任務2:12位DAC1210芯片應用
8位D-A轉換器的分辨率比較低,為了提高分辨率,可采用10位、12位或更多位的D-A轉換器。現以DAC1210為例進行說明。
DAC1210是一個12位D-A轉換器,電流輸出方式,其結構原理與控制信號功能與DAC0832基本類似。由于它比DAC0832多了4條數據輸入線,故有24個引腳,DAC1210的原理框圖及引腳如圖2-3所示,其同系列芯片有DAC1208、DAC1209,可以相互代換。

圖2-3 DAC1210的原理框圖及引腳
DAC1210內部有3個寄存器,一個8位輸入寄存器,用于存放12位數字量中的高8位DI11~DI4;一個4位輸入寄存器,用于存放12位數字量中的低4位DI3~DI0;一個12位DAC寄存器,存放上述2個輸入寄存器送來的12位數字量。12位D-A轉換器用于完成12位數字量的轉換。由與門、非與門組成的輸入控制電路來控制3個寄存器的選通和鎖存狀態。其中,引腳(片選信號,低電平有效)、
(寫信號,低電平有效)和BYTE1/
(字節控制信號)的組合,用來控制8位輸入寄存器和4位輸入寄存器。
當、
為低電平“0”、
為高電平“1”時,與門的輸出
、
為“1”,選通8位和4位兩個輸入寄存器,將要轉換的12位數據全部送入寄存器;當BYTE1/
為低電平“0”時,
為“0”,8位輸入寄存器鎖存剛傳送的8位數據,而
仍為“1”,4位輸入寄存器仍為選通,新的低4位數據將刷新剛傳送的4位數據。因此,在計算機接口電路中,計算機必須先送高8位,后送低4位。
(傳送控制信號,低電平有效)和
(寫信號,低電平有效)用來控制12位DAC寄存器,當
和
同為低電平“0”時,與門輸出
為“1”,12位數據全部送入12位DAC寄存器,當
和
有一個為高電平“1”時,與門輸出
即為“0”,12位DAC寄存器鎖存住數據使12位D-A轉換器開始數-模轉換。
DAC1210接口電路應用如下:DAC1210內部也有輸入寄存器,但用PC中8位數據總線與12位D-A轉換器組成接口電路時,需要對數據總線采用復用形式。圖2-4為DAC1210與PC總線的一種接口電路,它由DAC1210芯片、運算放大器以及地址譯碼電路組成。與8位DAC0832接口電路不同的是,除了數據總線D7~D0與DAC1210高8位DI11~DI4直接相連外,D3~D0還要與DAC1210低4位DI3~DI0復用,因而控制電路也略為復雜。

圖2-4 DAC1210與PC總線的一種接口電路
圖中,、
和
組合,用來依次控制8位輸入寄存器
和4位輸入寄存器
的選通與鎖存;
和
用來控制12位DAC寄存器
的選通與鎖存;
與
、
連接,用來在執行輸出指令時獲得低電平(有效);譯碼器的2條輸出線
、
分別連到
和
,一條地址線A0連到
,從而形成3個端口地址(4位輸入寄存器為380H,8位輸入寄存器為381H,12位DAC寄存器為384H)。
在軟件設計中,為了實現8位數據線D0~D7傳送12位被轉換數,主機必須分2次傳送被轉換數。首先將被轉換數的高8位傳給8位輸入寄存器DI11~DI4,再將低4位傳給4位輸入寄存器DI3~DI0,然后再打開12位DAC寄存器,把12位數據送到12位D-A轉換器中去轉換。當輸出指令執行完后,12位DAC寄存器又自動處于鎖存狀態以保持12位D-A轉換的輸出不變。
設12位被轉換數的高8位存放在DATA單元中,低4位存放在DATA+1單元中,其轉換程序如下:

