- 相關(guān)推薦
32通道16位D/A轉(zhuǎn)換器MAX5631的原理及應(yīng)用
摘要:介紹了美國MAXIM公司的32通道16位D/A轉(zhuǎn)換器MAX5631的基本功能,詳細(xì)討論了它的三種工作模式及工作時(shí)序,給出了MAX5631與AT89C51單片機(jī)的一種串行接口連接方法,同時(shí)給出了它們相應(yīng)的軟件程序。關(guān)鍵詞:MAX5631D/A轉(zhuǎn)換AT89C51串行接口
MAX5631是美國MAXIM公司生產(chǎn)的一種32通道高速度采樣保持D/A轉(zhuǎn)換器。它內(nèi)含一個(gè)16位DAC、一個(gè)帶內(nèi)部時(shí)鐘的時(shí)序控制器、一個(gè)片內(nèi)RAM以及32路采樣保持放大器。其中DAC電路由兩部分組成。在16位DAC中,高4位可通過15個(gè)同值電阻組成的權(quán)電阻網(wǎng)絡(luò)來完成相應(yīng)的轉(zhuǎn)換,其余位的轉(zhuǎn)換則由一個(gè)12位R-2R梯形網(wǎng)絡(luò)來完成。其32路帶緩沖的采樣保持電路通過內(nèi)部保持電容來使輸出壓降維持在每秒1mV的范圍內(nèi),且不需要配置外部增益和偏置電路。
MAX5631能提供最大200μV的分辨率和0.015%FSR的高精度轉(zhuǎn)換,其輸出電壓范圍為-4.5V~9.2V,并具有工作溫度范圍以及串行接口靈活等特點(diǎn),適用地處理大量模擬數(shù)據(jù)輸出的場(chǎng)合。
1引腳說明
圖1所示是MAX5631的引腳列圖。該器件共有64個(gè)引腳,大致可分成以下幾類:
(1)電源類:其中第4腳為D/A數(shù)模轉(zhuǎn)換器的+5V供電電源。第9腳為+5V邏輯電源,第14腳為+5V采樣保持電路。16、32、46腳為負(fù)電源,17、39、48腳為正電源。13腳為數(shù)字地,15、25、40、55、62腳為模擬地,63腳為電壓參考輸入。
(2)控制類:其中第5腳RST為復(fù)位輸入,6腳CS為片選輸入,10腳IMMED為立即更新模式,18、33、49腳(CL)為輸出鉗位電壓低位。31、47、64腳(CH)為輸出鉗位電壓高位。
。3)時(shí)鐘類:11腳ECLK為外部時(shí)序時(shí)鐘輸入,12腳CLKSEL為時(shí)鐘選擇輸入。
。4)串行接口類:7腳DIN為串行數(shù)據(jù)輸入,8腳SCLK為串行時(shí)鐘輸入。
。5)輸出類:該類引腳主要有OUT0~OUT31共32個(gè)輸出端。
2MAX5631的功能結(jié)構(gòu)和工作模式
MAX5631的內(nèi)部結(jié)構(gòu)框圖如圖2所示。下面介紹MAX5631的輸入字、轉(zhuǎn)換時(shí)序及工作模式。
2.1輸入字及轉(zhuǎn)換時(shí)序
MAX5631的轉(zhuǎn)換過程是先從串行數(shù)據(jù)端DIN送進(jìn)要轉(zhuǎn)換的16位數(shù)據(jù)D15~D0(高位在前,低位在后),然后送進(jìn)5腳地址A4~A0(用這5位地址編碼來選擇輸出通道號(hào))。地址的后兩位是控制字C1和C0,其中C1為1為立即更新模式,為0則為猝發(fā)模式;C0為1表示選擇外部時(shí)鐘序列,為0則選擇內(nèi)部時(shí)鐘序列。C1、C0之后應(yīng)補(bǔ)一位0。見表1。
表1輸入字序列
數(shù)據(jù)地址控制D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0A4A3A2A1A0C1C00MSBLSM
圖3是MAX5631的時(shí)序圖,當(dāng)片選CS變低后,系統(tǒng)將在每一個(gè)時(shí)鐘的上升沿送出一位數(shù)據(jù)。送完最后一位數(shù)據(jù)(即第24位數(shù)據(jù)后)后片選CS變高。而當(dāng)CS為高電平時(shí),任何輸入數(shù)據(jù)都是無效的。
2.2工作模式
MAX5631有三種工作模式,分別為順序模式、立即更新模式和猝發(fā)模式。其中順序模式為默認(rèn)工作模式。在順序工作模式下,內(nèi)部時(shí)序控制器按順序循環(huán)訪問SRAM,并將對(duì)應(yīng)的數(shù)字量裝入DAC,同時(shí)更新相應(yīng)的采樣保持器。所以,在采用內(nèi)部順序控制時(shí)鐘時(shí),順序工作模式下更新32路輸出的時(shí)間為320μs。而當(dāng)采用外部順序控制時(shí)鐘時(shí),整個(gè)更新過程需要128個(gè)時(shí)鐘周期。
立即更新模式用于更新單片SRAM的內(nèi)容,同時(shí)更新相應(yīng)的采樣保持放大器輸出。在這種模式下,所選擇的通道輸出會(huì)在順序操作恢復(fù)前更新。用戶可以通過設(shè)置IMMED或使C1為高電平來選擇立即更新模式。當(dāng)片選CS為低電平時(shí),原訪問順序被打斷。輸入字被存儲(chǔ)在對(duì)應(yīng)于被選擇通道的SRAM中。此時(shí)DAC轉(zhuǎn)換和相應(yīng)的采樣保持對(duì)輸入串口完全透明。相應(yīng)的輸出通道將得到立即更新。更新后,時(shí)序?qū)⒒氐皆瓉碇袛嗟腟RAM地址重新開始順序更新。立即更新操作需要占用兩個(gè)時(shí)序周期,其中一個(gè)周期用來使時(shí)序控制器繼續(xù)完成正在進(jìn)行的操作,另一個(gè)用來進(jìn)行新數(shù)據(jù)的更新。圖4(a)所表示的就是立即更新模式的例子。當(dāng)7通道正在更新的時(shí)候,20通道正在裝載數(shù)據(jù)。此時(shí),如果CS變?yōu)榈碗娖,則原順序操作被中斷,而當(dāng)CS變?yōu)楦唠娖胶螅ǖ?0將立即更新,然后是通道7的更新以后的操作依據(jù)原序列進(jìn)行。
猝發(fā)模式是一種高速裝入多地址SRAM的方法,但此時(shí)數(shù)據(jù)不被立即更新,而只有在數(shù)據(jù)猝發(fā)裝入完成并將控制返回到時(shí)序控制器后才進(jìn)行更新。用戶通過將IMMED和C1同時(shí)保持低電平可選擇猝發(fā)模式。當(dāng)CS變低時(shí),順序操作被中斷,可以給相應(yīng)的SRAM中裝入數(shù)據(jù)。而當(dāng)CS變高時(shí),順序操作從中斷的地方重新開始。各通道按順序依次更新數(shù)據(jù)。猝發(fā)操作后,一般需要一個(gè)時(shí)序循環(huán)才能再次讀取串口數(shù)據(jù)以保證所有通道的被猝發(fā)數(shù)據(jù)更新。圖4(b)所示是在通道7被更新時(shí),片選CS變成低電平開始裝入所有數(shù)據(jù)的例子,此時(shí)沒有任何一個(gè)通道的數(shù)據(jù)能被更新。當(dāng)片選CS變成高電平時(shí),系統(tǒng)將從通道7重新開始順序更新操作。
3硬件連接電路
MAX5631與單片機(jī)AT89C51的硬件連接如圖5所示。片選CS可控制MAX5631是否被選中。CS為低后,所有的轉(zhuǎn)換開始有效。DIN為串行數(shù)據(jù)輸入,SCLK為外部時(shí)鐘輸入。IMMED為模式選擇,該腳為高或者控制字C1為高表示選擇立即更新模式;當(dāng)IMMED和C1同時(shí)為低表示猝發(fā)模式。在所給出的硬件連接圖中,這兩種模式可通過P1.4的控制加以選擇。如果已經(jīng)固定選擇了某一模式,也可以將該腳直接接地或電源。CLKSEL為時(shí)鐘選擇端,當(dāng)C0或者該腳為高電平時(shí),系統(tǒng)選擇外部時(shí)鐘模式,此時(shí)內(nèi)部時(shí)鐘模式將被關(guān)閉。所給的硬件連接圖為外部時(shí)鐘模式。ECLK為外部時(shí)鐘模式控制引腳,可用于控制外部時(shí)鐘。RST為輸入復(fù)位端。
圖4
4軟件程序設(shè)計(jì)
下面是針對(duì)圖5硬件連接電路給出的相應(yīng)C評(píng)議程序。其中單片機(jī)晶振頻率為11.0592Hz。設(shè)計(jì)時(shí),首先送入24個(gè)輸入字,其中前16位是要轉(zhuǎn)換的16位數(shù)(用第一個(gè)循環(huán)實(shí)現(xiàn)輸入數(shù)據(jù)),后8位是通過地址選擇的輸出數(shù)據(jù)通道號(hào)。
Max5631(unsignedintData,unsignedcharChan)
{
unsignedcharBitCounterData=16,BitCounterChan=8;//位數(shù)控制
unsignedcharTempChan;//中間臨時(shí)通道號(hào)
unsignedintTempData;//中間臨時(shí)變量
TempData=Data;
TempChan=Chan;
TempChan<<=3;
TempChan&=0xfffe;
SCL=0;//時(shí)鐘線為低電平
SCS=0;//片選為低電平
do{
SCL=0;
-nop-();
if((TempData&0x8000)==0x8000)//如果最高位是1
SDA=1;
Else
SDA=0;//數(shù)據(jù)線為低電平
SCL=1;
TempData=TempData<<1;左移
BitCounterData--;
}while(BitCounterData);
do{
SCL=0;
-nop-();
if((TempChan&0x0080)==0x0080)//如果最高位是1
SDA=1;
else
SDA=0;
SDA=0;
SCL=1;
TempChan=TempChan<<1;//左移
BitCounterChan--;
}while(BitCounterChan);
SCL=0;
SCS=1;
}
5結(jié)束語
MAX5631是MAXIM公司推出的多通道D/A轉(zhuǎn)換器。該器件接口簡(jiǎn)單,特別適用于控制多路模擬信號(hào),可廣泛應(yīng)用于自動(dòng)監(jiān)測(cè)、工業(yè)控制程序及光電控制電路等場(chǎng)合。
【32通道16位D/A轉(zhuǎn)換器MAX5631的原理及應(yīng)用】相關(guān)文章:
16位A/D轉(zhuǎn)換器MAX1166的原理及應(yīng)用08-06
雙通道12位串行A/D轉(zhuǎn)換器MAX144及其應(yīng)用08-06
12位單通道串行D/A轉(zhuǎn)換器X7900008-06
電壓/頻率轉(zhuǎn)換器BG382的原理及應(yīng)用08-06
8位高速A/D轉(zhuǎn)換器TLC5510的應(yīng)用08-06
24位A/D轉(zhuǎn)換器LTC2400及其應(yīng)用08-06
數(shù)模轉(zhuǎn)換器TQ6122的原理和應(yīng)用08-06