本應(yīng)用筆記提供了一個(gè)急需的高速I2C工作示例。應(yīng)用筆記給出了一個(gè)應(yīng)用電路,并提供了將MAXQ2000微控制器(MAXQ20內(nèi)核)連接至MAX1239所需的全部固件,轉(zhuǎn)換速率為91ksps。示例固件是使用 MAX-IDE 1.0 版開(kāi)發(fā)的。
MAX1239概述
MAX1239為12通道、12位、低功耗ADC,具有1.7MHz高速I2C兼容串行接口。MAX1239支持快速/標(biāo)準(zhǔn)模式(FS模式,400kHz)和高速模式(HS模式,1.7MHz),轉(zhuǎn)換速率高達(dá)94.4ksps。需要HS模式才能實(shí)現(xiàn)從26ksps到94.4ksps的轉(zhuǎn)換率。40ksps至94.4ksps的轉(zhuǎn)換速率需要外部時(shí)鐘模式。
硬件概述
簡(jiǎn)化的系統(tǒng)框圖如圖1所示。應(yīng)用電路采用兩塊評(píng)估(EV)板:安裝MAX1239的MAX1238評(píng)估板(代替MAX1238)和MAXQ2000-KIT。選擇MAX1239是因?yàn)閿?shù)字邏輯電壓范圍。MAXQ2000微控制器的通用輸入/輸出(GPIO)端口僅接受高達(dá)+3.3V的電壓;使用具有高速I2C的電平轉(zhuǎn)換器會(huì)使電路過(guò)于復(fù)雜。MAX1238評(píng)估板上沒(méi)有MAXQ2000,因此通過(guò)在兩塊板上連接SCL、SDA和GND將其添加到系統(tǒng)中。此外,將+3.3V(而不是+5V)施加到V非常重要DD在MAX1238評(píng)估板上。免費(fèi)訂購(gòu)MAX1239EEE或MAX1239EEE+樣品,焊接到MAX1238評(píng)估板上。修改后的MAX1238評(píng)估板原理圖如圖2所示。
圖1.簡(jiǎn)化的系統(tǒng)框圖。
圖2.使用MAX1239修改MAX1238評(píng)估板原理圖。
MAX1239的引腳排列允許模擬電路與數(shù)字電路輕松隔離;模擬電路在電路板的左側(cè)組合在一起,數(shù)字電路在電路板的右側(cè)組合在一起。將兩塊板連接在一起時(shí)請(qǐng)記住這一點(diǎn)。將MAXQ2000評(píng)估板上的J2-52 (SDA)連接到MAX1238評(píng)估板上的SDA焊盤。同樣,將 J2-54 (SCL) 連接到 SCL 焊盤。兩個(gè)板的接地必須連接在一起。此外,R5和R7都必須配備2.2kΩ 5%電阻。MAX1238評(píng)估板已有47kΩ I2C上拉電阻,MAXQ2000評(píng)估板具有10kΩ I2C上拉電阻。增加R5和R7將在I2C總線上提供約1.6kΩ的上拉電阻。
MAXQ2000評(píng)估板包含一套完整的硬件、軟件、示例代碼和文檔,用于MAXQ2000設(shè)計(jì)。MAXQ2000評(píng)估板的原理圖可在數(shù)據(jù)資料中提供。
固件概述
示例固件是使用免費(fèi)的MAX-IDE版本1.0開(kāi)發(fā)的。下載最新版本的MAX-IDE。
主源文件是 ,它是用匯編方式編寫(xiě)的,以優(yōu)化 HS 模式 I2C 接口的時(shí)序。源代碼執(zhí)行以下操作:hsi2c.asm
a) 初始化MAX2000的8-N-1UART,速率為115.2kbps
b) 初始化MAX1239 CONF BYTE,用于單端通道AIN0
c) 初始化MAX1239內(nèi)部基準(zhǔn)、外部時(shí)鐘和單極性操作
的設(shè)置字節(jié) d) 初始化MAX1239的I2C HS模式 e) 在I2C HS
模式下
從MAX1239回讀12位采樣 f) 通過(guò)串行端口傳輸 12 位樣本
示例匯編程序通過(guò)對(duì)MAXQ2000的GPIO端口上的HS模式I2C接口進(jìn)行位敲擊,從MAX1239采集樣本。MAXQ2000的16MHz系統(tǒng)時(shí)鐘允許位沖擊HS模式I2C接口工作頻率高達(dá)1.7MHz。
該文件默認(rèn)為MAX1239EEE或MAX1239EEE+的從地址。必須為系列中的每個(gè)不同部件定制固件。例如,使用MAX1239KEEE、MAX1239KEEE+、MAX1239LEEE、MAX1239LEEE+、MAX1239MEEE或MAX1239MEEE+時(shí),遵循以下兩個(gè)步驟:hsi2c.asm
編輯I2C_ADDR定義語(yǔ)句以反映所用器件的I2C地址。這些變量必須是實(shí)際地址的補(bǔ)充。例如,地址 0111 111 (r/w) 需要編碼為:
I2C_ADDR7等式 1
I2C_ADDR6 等式 0
I2C_ADDR5 等式 0
I2C_ADDR4 等式 0
I2C_ADDR3 等式 0
I2C_ADDR2 等式 0 I2C_ADDR1 等式 0
源代碼要求使用16MHz系統(tǒng)時(shí)鐘(MAXQ2000晶體)。
下圖顯示了本應(yīng)用筆記中實(shí)現(xiàn)的FS模式(圖
3
)和HS模式(
圖4
)I2C幀。
圖3.FS 模式雙字節(jié)寫(xiě)入操作。
圖4.HS 模式接收操作。
圖5至圖16是本應(yīng)用筆記中實(shí)現(xiàn)的FS模式(圖3)和HS模式(圖4)I2C幀的示波器。通道 1 是 SCL,通道 2 是所有瞄準(zhǔn)鏡鏡頭的 SDA。
圖5.所有I2C通信的完整幀(FS模式和HS模式操作)。
圖6.FS 模式操作,字節(jié) 1(start + Addr = 0x6A + ACK)。
圖7.FS 模式下的 SCL 時(shí)鐘頻率約為 400kHz。
圖8.FS 模式操作,字節(jié) 2(conf 字節(jié) = 0x61 + ACK)。
圖9.FS 模式操作,字節(jié) 3(設(shè)置字節(jié) = 0xFA + ACK)。
圖 10.FS模式操作,停止和開(kāi)始下一個(gè)操作(停止和啟動(dòng))。
圖 11.FS 模式操作,字節(jié) 4(主代碼 = 0x0F + NACK)。
圖 12.HS模式操作,重復(fù)啟動(dòng)。
圖 13.HS 模式操作,字節(jié) 5(Addr = 0x6B + ACK)。
圖 14.HS 模式下的 SCL 時(shí)鐘頻率約為 1.7MHz。
圖 15.HS 模式操作,字節(jié) 6(數(shù)據(jù) = 0xFB + ACK)。
圖 16.HS 模式操作,字節(jié) 7(數(shù)據(jù) = 0xBB + NACK + FS 停止)。
高速I2C的規(guī)范自2000年1月起就已經(jīng)存在。盡管如此,目前很少有微控制器具有內(nèi)部高速I2C外設(shè)。這是一個(gè)不幸的情況,因?yàn)锳DC、DAC、編解碼器甚至電源等多種器件被設(shè)計(jì)為支持高速I2C接口。本應(yīng)用筆記提供了一個(gè)急需的工作高速I2C示例。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7542瀏覽量
151316 -
adc
+關(guān)注
關(guān)注
98文章
6495瀏覽量
544460 -
I2C總線
+關(guān)注
關(guān)注
0文章
14瀏覽量
2125
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論