通道數模轉換器AD5532及其應用,AD5532,數模轉換
1概述
AD5532是美國ADI公司推出的一款32通道、14位串行輸入、電壓輸出型單片集成數模轉換器。它還內置一個額外的A/D轉換器,能將外部電壓采樣數據傳遞至相應D/A單元,可以實現精度高達0.018%的無限采樣保持功能。AD5532具有串行輸人、多通道模擬輸出等特性,適用于對性能、功耗要求高,模擬通道需求多的測控系統(tǒng)。
2 內部結構及引腳功能
圖1所示為AD5532的內部結構框圖,AD5532片內集成1個A/D轉換單元(專為ISHA模式設置)和32個D/A轉換單元,每個D/A轉換單元均配有一個輸出緩沖器。此外,片上還有串行、并行邏輯電路易于外部控制器相連。在D/A轉換模式下,需要通過串行輸入方式將14 bit的數據傳送到32個D/A轉換寄存器中的某一個,隨后,該數據將轉換為模擬輸出VOUT0~VOUT31(帶有增益和偏移)。
AVCC:模擬供電電壓,范圍為4.75 V~5.25 V,只向D/A轉換器內核供電;
VDD:正電源端,范圍為8 V~16.5 V;
VSS:負電源端,電壓范圍-4.75 V~-16.5 V;
DGND:數字地,數字電路的參考點;
DVCC:數字電源端數字信號供電電壓,范圍為2.7 V~5.25 V;
DAC_GND:所有D/A轉換模塊的參考地;
REF_IN:VOUT0~VOUT31的參考輸入電壓;
REF_OUT:內部參考輸出電壓,提供3 V電壓;
VOUT:32個通道的輸出;
VIN:無限采樣/保持模擬輸入電壓,在D/A轉換模式時,該引腳接地;
A4~A0:并行模式下端口地址,5個地址引腳選定32個通道。A4是通道地址的MSB,A0是通道地址的LSB。每個引腳均有內部上拉電阻,因此,這些引腳懸空時,默認為邏輯高電平;
CAL:并行模式下控制32個D/A轉換單元同步向VIN采樣,接內部下拉電阻,因此,該引腳懸空時,默認為邏輯低電平;
nCS/nSYNC:低電平時,在并行模式下,片選使能;在串行模式下為幀同步;
nWR:在并行模式下有效,寫信號,低電平有效,配合nCS/nSYNC引腳可通過并口確定地址,內部下拉電阻,懸空時默認為邏輯低電平;
OFFSET_SEL:并行模式下有效,偏移選擇,高電平有效,用于選擇偏移通道,內部下拉電阻,懸空時默認為邏輯低電平;
SCLK:串行模式下的串行時鐘輸入,工作頻率為14 MHz,20 MHz時工作在ISHA模式。
DIN:串行模式下的串行數字輸入,在SCLK下降沿數據有效,內部上拉電阻,懸空時默認為邏輯高;
DOUT:串行模式下的串行數字輸出,在SCLK上升沿數據輸出;
SER/nPAR:允許用戶選擇串行接口或并行接口模式,當拉為低電平時,選擇并行接口模式,當拉為高電平時,選擇串行接口模式。內部下拉電阻懸空時默認為邏輯低;
OFFS_IN:偏移輸入,改變其輸入電壓調節(jié)VOUT的輸出范圍;
OFFS_OUT:偏移輸出,連接至OFFS_IN可調節(jié)VOUT的輸出范圍;
BUSY:使能采樣輸入電壓,該引腳下降時,采樣輸入信號,上升時,采樣完成;
nTRACK/nRESET:該引腳保持高電平時,一旦通道被選中,采樣VIN;該引腳保持低電平時,直接切換至GAIN/OFFSET環(huán)節(jié)輸入至VIN,選定通道在nTRACK的上升沿采樣VIN。該引腳也可用于將器件復位至上電復位階段。內部上拉電阻,懸空時默認為邏輯高電平。
3 工作原理
AD5532提供串并行兩種控制方式,數字/模擬轉換、無限采樣/保持、回讀以及采樣回讀四種工作模式,其中并行控制方式只在無限采樣/保持模式下起作用。
圖2的a、b分別是DAC模式和回讀模式下的數據傳輸格式。這兩種模式下的數據傳輸格式基本相同,只是MODE BIT不同。圖b中DIN引腳上的數據在輸入A0位后自動忽略,DOUT在第2個nCS/nSYNC下降沿后輸出相應DAC寄存器中DB13~DB0位。
圖3和圖4所示分別為AD5532的串行讀、寫時序。在連續(xù)或非連續(xù)串行時鐘下。在nCS/nSYNC的第一個下降沿復位計數串行時鐘計數器,確保相應位移入或移出串行寄存器。一旦在所選的工作模式下移人或移出數據位后,SCLK信號被忽略。下一次串行數據傳輸時首先利用nCS/nSYNC的下降沿復位計數器。
4 典型應用
圖5所示為AD5532在DAC工作模式下的典型應用原理圖。其中VDD提供+15 V電壓,VSS提供-15 V電壓,AVCC提供+5 V電壓,與三星公司S3C2440相連,DVCC提供+3.3 V電壓。由于本系統(tǒng)僅需DAC功能,所以將SER/nPAR及nTRACK/nRESET引腳電壓拉高,串行輸入/輸出引腳與S3C2440的相應SPI引腳相連。其余未涉及引腳如果是輸入端最好接地或拉高。
系統(tǒng)采用Windows CE.NET4.2操作系統(tǒng),程序運行空間分成內核態(tài)與用戶態(tài),且所有地址均為虛擬地址。由于應用程序無法訪問I/O引腳的控制與數據寄存器,所以編寫函數前需先按照WindowsCE.NET驅動程序方式編寫:先申請某一內存地址空間,然后將該地址空間映射到I/O引腳的寄存器,最后對該地址相應位進行讀寫操作,模擬AD5532所需的串行傳輸方式控制器件。
申請地址空間:
將該地址空間映射到S3C2440的實際I/O地址空間中:
完成了上述步驟,可通過讀寫v_pIOPregs實際控制相應引腳。
SPICLK/GPE13,SPIMOSI/GPE12,SPIMISO/GPE11引腳輸人/輸出狀態(tài)設置:
以上函數中channel取0~31,被移位到低14位時,表示選擇的通道;value取低14位,表示輸出的具體值。
將以上代碼加入到應用程序源代碼中,就可根據需要調用函數訪問AD5532進行D/A輸出。當然,在編譯前,還需要找到pkfunc.h,ceddk.h,Winbase.h文件,并將其放置在源代碼目錄下,并申請內存空間及映射內存空間代碼文件頭include進去,否則應用程序最后無法編譯,提示找不到相應函數。
5 結束語
采用AD5532串行模式進行D/A轉換具有速度快、精度高、功耗低、占用口線少的優(yōu)點,非常適用于需要多通道,寬范圍模擬信號輸出的場合。該系統(tǒng)電路已在實驗中調試通過。
評論