MAX5591快速建立DAC與PIC微控制器的接口
MAX5591簡介
MAX5591是一款12位、快速建立DAC,采用3線SPI?串行接口。MAX5591支持高達20MHz的SPI接口,最快建立時間為3μs。本應用筆記給出了連接高速PIC微控制器(PIC18F核)和MAX5591的應用電路以及所需要的全部固件。匯編程序利用MPLAB? IDE、6.10.0.0版本免費提供的編譯器編寫,用于PIC18F442。硬件說明
本文中的應用電路采用MAX5591EVKIT,包括:MAX5591、超高精度電壓基準(MAX6126)、兩個按鍵開關(guān)、增益設(shè)置電阻和經(jīng)過驗證的PCB。PIC18F442沒有安裝在MAX5591EVKIT板上,但已添加到系統(tǒng)中,圖1所示是一個完整的應用電路。MAX5591EVKIT上的/CS、SCLK、DIN和DOUT焊盤可方便地用于SPI串口連接。查看大圖
圖1. MAX5591應用電路
模擬地和數(shù)字地
如圖2所示,將模擬地與數(shù)字地分離開可以得到較好的實際效果,利用鐵氧體磁珠,如TDK MMZ1608B601C,連接兩個地平面。這種布局可以避免微控制器系統(tǒng)時鐘及其諧波饋入模擬地。已知PIC18F442的系統(tǒng)時鐘為40MHz,考慮到MMZ1608B601C特殊的阻抗與頻率特性,我們選擇了這款鐵氧體磁珠。圖3給出了MMZ1608B601C阻抗隨頻率的變化曲線。圖2. 分離的模擬地和數(shù)字地
圖3. TDK MMZ1608B601C鐵氧體磁珠阻抗隨頻率的變化曲線
固件說明
清單1給出的匯編程序通過PIC18F442的內(nèi)部MSSP SPI接口對MAX5591進行初始化,PIC18F442的40MHz系統(tǒng)時鐘允許MSSP提供高達10MHz的SPI時鐘(SCLK)。表1所示為上電后的配置字。一旦完成對MAX5591的初始化,程序便將DAC輸出寄存器裝載為零,然后裝載滿量程輸出,如表2所示。該固定循環(huán)程序可產(chǎn)生方波輸出,用來演示MAX5591的快速建立時間。下載
清單1. 用于連接MAX5591和PIC18F442內(nèi)部MSSP SPI接口的匯編程序
表1. 配置寫命令,將所有八路DAC的建立時間設(shè)置為3μs
SPI Line | C7 | C6 | C5 | C4 | C3 | C2 | C1 | C0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
DIN | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
表2. 裝載全部DAC輸出命令:第一個命令將所有DAC輸出設(shè)置為零,第二個命令將所有DAC設(shè)置為滿量程輸出
SPI Line | C3 | C2 | C1 | C0 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
DIN (1st) | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DIN (2nd) | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
-- END: DB HTML -->
評論