新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 串行D/A轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)

串行D/A轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)

作者: 時(shí)間:2012-05-14 來源:網(wǎng)絡(luò) 收藏

摘要:簡述D/AMAX521的工作原理,介紹它的工作時(shí)序及其與的連接方法和部分程序。

本文引用地址:http://butianyuan.cn/article/149075.htm

關(guān)鍵詞:D/A;I2C總線;

1引言

MAX521是一種2線8路八位電壓輸出DAC(數(shù)模)。MAX521有5路參考電壓輸入,前面的四路DAC(DAC0~DAC3)每路有一個(gè)獨(dú)立的參考電壓輸入(REF0~REF3),允許獨(dú)立地設(shè)置每路的電壓范圍;剩下的四路DAC(DAC4~DAC7)共享一路參考電壓輸入REF4。它具有和內(nèi)置軟件協(xié)議,允許最高轉(zhuǎn)換頻率達(dá)400kbps。MAX521的具有雙緩沖輸入結(jié)構(gòu),允許DAC的寄存器單獨(dú)或者同時(shí)更新;它具有低能耗模式,可以使工作電流減少到4μA。MAX521以單一的+5V電源供電。

應(yīng)用范圍:最小模擬器件系統(tǒng);數(shù)據(jù)偏移/采樣調(diào)節(jié);工業(yè)過程控制;自動(dòng)檢測設(shè)備。

MAX521有20腳DIP,24腳SO和24腳SSOP三種封裝形式。20腳DIPMAX521的引腳如圖1。

OUT0~OUT7:DAC0~7的電壓輸出端;REF0~REF3:DAC0~3的參考電壓輸入端;REF4:DAC4~7的參考電壓輸入端;AD0、AD1:設(shè)備地址輸入引腳;SCL:串行時(shí)鐘輸入端;SDA:串行數(shù)據(jù)輸入端;DGND:數(shù)字信號地;AGND:模擬信號地

2MAX521的軟件通訊協(xié)議

I2C總線組成:僅由兩條線組成。一條是時(shí)鐘線(SCL),另一條是數(shù)據(jù)線(SDA)。SCL線為時(shí)鐘信號,由總線控制設(shè)備產(chǎn)生,為總線提供統(tǒng)一的時(shí)鐘信號。

SDA線為數(shù)據(jù)信號,在總線控制設(shè)備和總線上的其他設(shè)備間進(jìn)行雙向傳送。

I2C總線協(xié)議規(guī)定:SCL為高電平時(shí)SDA信號有效,SDA線上的數(shù)據(jù)變化應(yīng)在SCL為低電平時(shí)進(jìn)行。此規(guī)定唯一的例外是開始信號和停止信號。

I2C輸入/輸出一個(gè)字節(jié)的格式是高位在前、低位在后。每一次I2C總線訪問是由一系列的基本操作組成的,下面對這些基本操作進(jìn)行詳細(xì)解釋。

2.1開始信號

每次I2C總線訪問前要在總線上發(fā)送開始信號。當(dāng)SCL線為高電平時(shí),SDA線由高變低,便形成開始信號。

2.2結(jié)束信號

每次I2C總線訪問后要在總線上發(fā)送結(jié)束信號。當(dāng)SCL線為高電平時(shí),SDA線由低變高,便形成結(jié)束信號。

開始信號和停止信號的時(shí)序圖如下:

2.3器件尋址字節(jié)

無論讀寫操作均需一個(gè)器件尋址字節(jié)。MAX521的尋址字節(jié)的前五位為01010(選中該設(shè)備的標(biāo)志代碼)。后兩位為設(shè)備地址,由MAX521的AD0、AD1引腳的狀態(tài)決定。最后一位X是向設(shè)備寫入或讀出數(shù)據(jù),若向MAX521寫入數(shù)據(jù)時(shí)X為0。

下面是MAX521完整的工作時(shí)序圖:

2.4數(shù)據(jù)地址字節(jié)或命令字節(jié)

設(shè)備尋址字節(jié)后為命令字。命令字的前三位為0,后面兩位為RST和PD,再后面三位A2A1A0是8個(gè)DAC輸出寄存器的通道地址。數(shù)據(jù)地址字節(jié)或命令字節(jié)的工作時(shí)序見圖4:

R2R1R0設(shè)置為0,屬保留位。當(dāng)RST為高時(shí),MAX521復(fù)位所有DAC寄存器,但輸出一直保持到“停止”信號。當(dāng)PD位為高時(shí),在收到“停止信號”后MAX521進(jìn)入低能耗模式。在低能耗模式中,DAC輸出取決于此時(shí)通道地址設(shè)置和輸出字節(jié)設(shè)置狀態(tài),此時(shí)提供最大電流為20μA。當(dāng)PD位為低時(shí),MAX521返回正常工作狀態(tài)后緊跟著發(fā)送“停止信號”,DAC輸出的電壓取決于當(dāng)前通道地址設(shè)置和輸出字節(jié)設(shè)置情況。

2.5應(yīng)答信號

在每傳送完一個(gè)地址字節(jié)或一個(gè)數(shù)據(jù)字節(jié)之后的第九個(gè)時(shí)鐘脈沖期間,接收方在SDA線上產(chǎn)生一個(gè)低電平的應(yīng)答信號ACK,以通知發(fā)送方數(shù)據(jù)已接收到,可以繼續(xù)發(fā)送。所有數(shù)據(jù)傳送完畢后,向SDA線發(fā)送一個(gè)停止信號,結(jié)束該次數(shù)據(jù)傳送。

注意:

1)總線空閑時(shí),SCL和SDA線應(yīng)保持在高電平。

2)一次新的啟動(dòng)前,總線空閑時(shí)間tBUF>4.7μs。

3)時(shí)鐘為高電平、低電平的時(shí)間和開始信號建立時(shí)間、結(jié)束信號建立時(shí)均需大于4.7μs。

4)兩次寫發(fā)送時(shí)間間隔tWR>10ms。

5)SCL線的操作速率可以達(dá)到400kHz。

3MAX521與MCU的和程序

如圖1所示,MAX521與單片機(jī)的P1.6、P1.7相連,并把它作為I2C總線來操作。所有參考電壓均接+5V,使輸出的模擬電壓值在0~+5V之間。設(shè)備地址設(shè)為01B。OUTPUT后接執(zhí)行設(shè)備。

4結(jié)束語

本系統(tǒng)已成功應(yīng)用在具有多個(gè)DAC轉(zhuǎn)換的電路中,比通常并行DAC器件節(jié)省,并為智能化設(shè)備研發(fā)提供了很好的方案。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉