該設計指南說明如何MAX5591快速建立DAC與PIC18F442微控制器的連接,并給出了代碼實例。
MAX5591簡介
MAX5591是一款12位、快速建立DAC,采用3線SPI?串行接口。MAX5591支持高達20MHz的SPI接口,最快建立時間為3μs。本應用筆記給出了連接高速PIC微控制器(PIC18F核)和MAX5591的應用電路以及所需要的全部固件。匯編程序利用MPLAB? IDE、6.10.0.0版本免費提供的編譯器編寫,用于PIC18F442。
硬件說明
本文中的應用電路采用MAX5591EVKIT,包括:MAX5591、超高精度電壓基準(MAX6126)、兩個按鍵開關、增益設置電阻和經過驗證的PCB。PIC18F442沒有安裝在MAX5591EVKIT板上,但已添加到系統中,圖1所示是一個完整的應用電路。MAX5591EVKIT上的/CS、SCLK、DIN和DOUT焊盤可方便地用于SPI串口連接。
查看大圖
圖1. MAX5591應用電路
模擬地和數字地
如圖2所示,將模擬地與數字地分離開可以得到較好的實際效果,利用鐵氧體磁珠,如TDK MMZ1608B601C,連接兩個地平面。這種布局可以避免微控制器系統時鐘及其諧波饋入模擬地。已知PIC18F442的系統時鐘為40MHz,考慮到MMZ1608B601C特殊的阻抗與頻率特性,我們選擇了這款鐵氧體磁珠。圖3給出了MMZ1608B601C阻抗隨頻率的變化曲線。
圖2. 分離的模擬地和數字地
圖3. TDK MMZ1608B601C鐵氧體磁珠阻抗隨頻率的變化曲線
固件說明
清單1給出的匯編程序通過PIC18F442的內部MSSP SPI接口對MAX5591進行初始化,PIC18F442的40MHz系統時鐘允許MSSP提供高達10MHz的SPI時鐘(SCLK)。表1所示為上電后的配置字。一旦完成對MAX5591的初始化,程序便將DAC輸出寄存器裝載為零,然后裝載滿量程輸出,如表2所示。該固定循環程序可產生方波輸出,用來演示MAX5591的快速建立時間。
下載
清單1. 用于連接MAX5591和PIC18F442內部MSSP SPI接口的匯編程序
表1. 配置寫命令,將所有八路DAC的建立時間設置為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輸出設置為零,第二個命令將所有DAC設置為滿量程輸出
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 |
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7496瀏覽量
151085 -
dac
+關注
關注
43文章
2272瀏覽量
190852 -
編譯器
+關注
關注
1文章
1618瀏覽量
49057
發布評論請先 登錄
相關推薦
評論