作者:Andreea Pop,系統設計/架構工程師 Antoniu Miclaus,系統應用工程師 Doug Mercer,顧問研究員 R-2R梯形電阻數模轉換器(DAC) 目標 本實驗的目標是探討數模轉換的概念,將CMOS反相器用作梯形電阻分壓器的基準開關(用于DAC中)。 背景信息 我們將簡單的CMOS反相器邏輯門用作一對開關。ADALM2000模塊的數字I/O信號可配置為具有+3.3 V電源電壓的標準CMOS分壓器(推挽模式)。采用最簡單的形式,CMOS輸出可以由一個PMOS器件M1和一個NMOS器件M2組成。通常,CMOS制造工藝經過特別設計,使得NMOS和PMOS器件的閾值電壓VTH大致相等——即互補。然后,反相器的設計人員調整NMOS和PMOS器件的寬長比W/L,使其各自的跨導和RON也相等。兩個晶體管中,只有一個處于導通狀態,同時將輸出端連接到VDD或VSS。我們可以考慮將這兩個電壓用作DAC的基準電壓源。 ![]() 圖1.CMOS輸出驅動器。 在 “電壓模式”中使用R-2R梯形電阻(如圖2所示),根據數字碼交替驅動到兩個基準電壓電平中的任一個(D0-7)。數字0表示VREF–,數字1表示VREF+。根據數字輸入碼,VLADDER(圖2)將在兩個基準電平之間變化。兩個基準電壓的負基準電壓(VREF–)通常為地電壓(VSS)。在本例中,我們將正基準電壓(VREF+)設置為CMOS驅動器的正電源電壓(VDD)。 材料 ► ADALM2000主動學習模塊 ► 無焊面包板 ► 跳線 ► 9個20 kΩ電阻 ► 9個10 kΩ電阻 ► 1個OP27放大器 說明 最好在無焊試驗板上構建圖2所示的8位梯形電阻電路。模擬部件套件(ADALP2000)中提供的電阻數量通常不足以構建完整的8位梯形電阻。如果可以獲得這些電阻,此項目最好使用1%的電阻。 將用藍色框表示的8個數字輸出、示波器通道和用綠色框表示的AWG輸出連接到梯形電阻電路中,如圖所示。注意將電源連接到運算放大器電源引腳。 ![]() 圖2.R-2R梯形電阻網絡電路 硬件設置 ![]() 圖3.R-2R梯形電阻網絡電路試驗板連接 程序步驟 當安裝R1和R2時,設置AWG1的直流電壓與DAC的VREF+相等,即等于CMOS數字輸出的3.3 V電源電壓。此時輸出電壓為雙極性,其擺幅為-3.3 V至+3.3 V。斷開AWG1并移除電阻R1,輸出電壓為單極性,擺幅為0 V至+3.3 V。啟動Scopy軟件。打開模式發生器界面。選擇DIO0至DIO7,并組成一個分組。設置參數,將模式設置為二進制計數器。輸出設置為推挽輸出(PP),頻率設置為256 kHz。此時能看到類似圖4所示的內容。最后,點擊運行按鈕。 ![]() 圖4.模式發生器界面。 打開示波器界面,開啟通道2,并將時基設置為200μs/div,點擊綠色運行按鈕開始運行。有時可能還需要調整通道的垂直范圍(初始條件下,1 V/div比較合適)。通過示波器界面能看到(如圖4所示)電壓從0 V上升到3.3 V,斜坡信號的周期應為1 ms。 ![]() 圖5.示波器界面。 改變數字模式。嘗試隨機模式,并打開示波器上的FFT窗口。您還可以通過生成具有一列0到255(對于8位寬總線)數字的純文本.csv文件,來加載自定義模式。加載自定義模式,看看會出現什么情況。 您可以嘗試加載以下這些預制波形文件:正弦、三角、高斯脈沖等:waveforms_pg。 AD5626 12位nanoDAC 背景信息 AD5626是一款可以使用5 V單電源供電的電壓輸出DAC。它集成了DAC、輸入移位寄存器和鎖存、基準電壓源以及一個軌到軌輸出放大器。輸出放大器擺幅可達到任一供電軌,且設置范圍為0 V至4.095 V,分辨率為每位1 mV。該器件采用高速、三線式、兼容數據輸入(SDIN)的DSP、時鐘(SCLK)和負載選通(LDAC)的串線接口。它還有芯片選擇引腳,可連接多個DAC。上電時或用戶要求時,CLR輸入可將輸出設置為零電平。 ![]() 圖6.AD5626的簡化功能框圖。 除1位DAC寄存器外,AD5626還有一個獨立的串行輸入寄存器,新數據值可以預載到該串行寄存器中,而不會干擾現有DAC輸出電壓。通過選通LDAC引腳,可以將加載值傳輸到DAC寄存器。 單極性輸出操作 這種操作模式是AD5626的基本模式。您可以根據DAC的單極性代碼表驗證AD5626的功能是否正常。 表1.AD5626的單極性代碼表
材料 ► ADALM2000主動學習模塊 ► 無焊面包板 ► 跳線 ► 一個AD5626 12位nanoDAC® ► 一個2.2 kΩ電阻 ► 一個0.001 μF電容 ► 一個0.1 μF電容 ► 一個10 μF電容 硬件設置 如圖7所示連接AD5626的引腳。 ![]() 圖7.AD5626實現單極性操作的連接。 程序步驟 打開Scopy,使能正電源為5 V。在模式發生器中,根據數據手冊中AD5626的時序圖配置DAC輸入信號。從配置SPI信號開始。使用DIO0、DIO1和DIO2創建通道組。如果連接如圖7所示,則DIO1表示時鐘信號,DIO2表示數據信號,DIO0表示CS信號。在進行SPI分組時,確保數字通道的順序是正確的(參見圖10)。數據手冊中指明,高電平和低電平狀態下的時鐘寬度應達到至少30 ns。由此可計算時鐘周期,進而計算最大頻率。將時鐘頻率設為1 MHz。將CLK極性和CLK相位設為1。 由于AD5626是12位DAC,因此通過SPI發送的數據長度應至少為12位。將每幀的字節數設為2,在轉換開始時,它會發送16位。在數據文本框中,您可以輸入將發送至DAC的值。SPI組通道的信號應類似于AD5626 DAC的時序圖。 ![]() 圖8.AD5626試驗板連接。 ![]() 圖9.AD5626 SPI時序圖。 現在,您應該配置LDAC和CLR信號。從數據手冊中,我們得知在CLR處于高電平時,移位寄存器的內容會在LDAC的上升沿更新。將DIO4 (CLR)的模式設置為“數值”,輸入數值1。只要位是串行傳輸,LDAC信號(DIO3)的CS下降沿之前應該有一個上升沿,且應處于高電平。為了滿足上述條件,DIO3信號可以設置為采用13 kHz頻率和160°相位。AD5626數模轉換所需的所有輸入信號如圖9所示。 ![]() 圖10.模式發生器信號設置。 最后一步是在Scopy中打開示波器,將通道1連接到AD5626的輸出端。啟用通道1測量,并在SPI的“數據”區域輸入一個值。如果通過SPI發送的數據為7FF,在圖11中,您可以查看相應的輸出電壓。 ![]() 圖11.輸入為7FF時,AD5626的輸出電壓。 雙極性輸出操作 雖然AD5626設計用于單電源操作,但使用圖12所示的電路也可以實現雙極性操作。 ![]() 圖12.雙極性輸出操作,未經調節(數據手冊中建議的電路)。 此電路可用于不需要高精度的應用。輸出電壓以偏移二進制格式編碼,由以下公式給出: ![]() 在輸出范圍為±5 V,采用圖12中的表所示的電路值時,轉換公式變為: ![]() 材料 ► ADALM2000主動學習模塊 ► 無焊面包板 ► 跳線 ► 一個AD5626 12位nanoDAC ► 一個OP484運算放大器 ► 一個0.1 μF電容 ► 一個1 kΩ電阻 ► 一個20 kΩ電阻 ► 兩個10 kΩ電阻 ► 一個47 kΩ電阻 ► 一個470 kΩ電阻 ![]() 圖13.AD5626雙極性輸出操作試驗板連接 硬件設置 在無焊試驗板上構建圖12所示的電路。 程序步驟 您可以將DAC配置為單極性輸出操作,如圖7所示。對于基準電壓,使用信號發生器的通道1,設置為恒定2.5 V。在示波器的第二個通道上,可顯示運算放大器輸出端的電壓。您可以在示波器上同時顯示單極性操作和雙極性操作的電壓。 ![]() 圖14.000輸入的單極性和雙極性輸出電壓。 ![]() 圖15.800輸入的單極性和雙極性輸出電壓。 ![]() 圖16.FFF輸入的單極性和雙極性輸出電壓。 問題: 1.使用歐姆定律和并聯電阻公式,當輸入D7和D6連接到接地和3.3 V的每個組合時,R-2R DAC的輸出電壓是多少?請將結果以表格形式呈現。 您可以在學子專區論壇上找到答案。 關于作者 Andreea Pop自2019年起擔任ADI公司的系統設計/架構工程師。她畢業于克盧日-納波卡理工大學,獲電子與通信學士學位和集成電路與系統碩士學位。聯系方式:andreea.pop@analog.com。 Antoniu Miclaus現為ADI公司的系統應用工程師,從事ADI教學項目工作,同時為Circuits from the Lab®、QA自動化和流程管理開發嵌入式軟件。他于2017年2月在羅馬尼亞克盧日-納波卡加盟ADI公司。他目前是貝碧思鮑耶大學軟件工程碩士項目的理學碩士生,擁有克盧日-納波卡科技大學電子與電信工程學士學位。聯系方式:antoniu.miclaus@analog.com。 Doug Mercer于1977年畢業于倫斯勒理工學院(RPI),獲電子工程學士學位。自1977年加入ADI公司以來,他直接或間接貢獻了30多款數據轉換器產品,并擁有13項專利。他于1995年被任命為ADI研究員。2009年,他從全職工作轉型,并繼續以名譽研究員身份擔任ADI顧問,為“主動學習計劃”撰稿。2016年,他被任命為RPI ECSE系的駐校工程師。聯系方式:doug.mercer@analog.com。 |