本文主要簡述串行D/AMAX521的工作原理,介紹它的工作時序及其與單片機的連接方法和部分程序。
1 引言
MAX521是一種2線8路八位電壓輸出DAC(數模轉換器)。MAX521有5路參考電壓輸入,前面的四路DAC(DAC0~DAC3)每路有一個獨立的參考電壓輸入(REF0~REF3),允許獨立地設置每路的電壓范圍;剩下的四路DAC(DAC4~DAC7)共享一路參考電壓輸入REF4。它具有串行接口和內置軟件協議,允許最高轉換頻率達400kbps。MAX521的接口具有雙緩沖輸入結構,允許DAC的寄存器單獨或者同時更新;它具有低能耗模式,可以使工作電流減少到4μA。MAX521以單一的+5V電源供電。
應用范圍:最小模擬器件系統;數據偏移/采樣調節;工業過程控制;自動檢測設備。
MAX521有20腳DIP,24腳SO和24腳SSOP三種封裝形式。20腳DIPMAX521的引腳如圖1。
OUT0~OUT7:DAC0~7的電壓輸出端;REF0~REF3:DAC0~3的參考電壓輸入端;REF4:DAC4~7的參考電壓輸入端;AD0、AD1:設備地址輸入引腳;SCL:串行時鐘輸入端;SDA:串行數據輸入端;DGND:數字信號地;AGND:模擬信號地
2 MAX521的軟件通訊協議
I2C總線組成:僅由兩條線組成。一條是時鐘線(SCL),另一條是數據線(SDA)。SCL線為時鐘信號,由總線控制設備產生,為總線提供統一的時鐘信號。
SDA線為數據信號,在總線控制設備和總線上的其他設備間進行雙向傳送。
I2C總線協議規定:SCL為高電平時SDA信號有效,SDA線上的數據變化應在SCL為低電平時進行。此規定唯一的例外是開始信號和停止信號。
I2C輸入/輸出一個字節的格式是高位在前、低位在后。每一次I2C總線訪問是由一系列的基本操作組成的,下面對這些基本操作進行詳細解釋。
2.1開始信號
每次I2C總線訪問前要在總線上發送開始信號。當SCL線為高電平時,SDA線由高變低,便形成開始信號。
2.2結束信號
每次I2C總線訪問后要在總線上發送結束信號。當SCL線為高電平時,SDA線由低變高,便形成結束信號。
開始信號和停止信號的時序圖如下:
2.3器件尋址字節
無論讀寫操作均需一個器件尋址字節。MAX521的尋址字節的前五位為01010(選中該設備的標志代碼)。后兩位為設備地址,由MAX521的AD0、AD1引腳的狀態決定。最后一位X是向設備寫入或讀出數據,若向MAX521寫入數據時X為0。
下面是MAX521完整的工作時序圖:
2.4數據地址字節或命令字節
設備尋址字節后為命令字。命令字的前三位為0,后面兩位為RST和PD,再后面三位A2A1A0是8個DAC輸出寄存器的通道地址。數據地址字節或命令字節的工作時序見圖4:
R2R1R0設置為0,屬保留位。當RST為高時,MAX521復位所有DAC寄存器,但輸出一直保持到“停止”信號。當PD位為高時,在收到“停止信號”后MAX521進入低能耗模式。在低能耗模式中,DAC輸出取決于此時通道地址設置和輸出字節設置狀態,此時提供最大電流為20μA。當PD位為低時,MAX521返回正常工作狀態后緊跟著發送“停止信號”,DAC輸出的電壓取決于當前通道地址設置和輸出字節設置情況。
2.5應答信號
在每傳送完一個地址字節或一個數據字節之后的第九個時鐘脈沖期間,接收方在SDA線上產生一個低電平的應答信號ACK,以通知發送方數據已接收到,可以繼續發送。所有數據傳送完畢后,單片機向SDA線發送一個停止信號,結束該次數據傳送。
注意:
1)總線空閑時,SCL和SDA線應保持在高電平。
2)一次新的啟動前,總線空閑時間tBUF>4.7μs。
3)時鐘為高電平、低電平的時間和開始信號建立時間、結束信號建立時均需大于4.7μs。
4)兩次寫發送時間間隔tWR>10ms。
5)SCL線的操作速率可以達到400kHz。
3 MAX521與MCU的接口和程序
如圖1所示,MAX521與單片機的P1.6、P1.7相連,并把它作為I2C總線來操作。所有參考電壓均接+5V,使輸出的模擬電壓值在0~+5V之間。設備地址設為01B。OUTPUT后接執行設備。
4 結束語
本系統已成功應用在具有多個DAC轉換的電路中,比通常并行DAC器件節省,并為智能化設備研發提供了很好的方案。
-
max521
+關注
關注
0文章
1瀏覽量
1161
發布評論請先 登錄
相關推薦
評論