新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > I2C接口在成像系統(tǒng)中的應(yīng)用

I2C接口在成像系統(tǒng)中的應(yīng)用

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

1 IP的硬件結(jié)構(gòu)及寄存器

本文引用地址:http://2s4d.com/article/149207.htm

1.1 IP硬件結(jié)構(gòu)

IP內(nèi)部結(jié)構(gòu)如圖1所示。主要由波特率時(shí)鐘寄存器、寄存器組控制器、并行I/O可編程、引擎5個(gè)模塊組成。

波特率時(shí)鐘產(chǎn)生器用來產(chǎn)生 IP工作的基本時(shí)鐘頻率;寄存器組控制器用來對(duì)寄存器進(jìn)行設(shè)置,設(shè)置數(shù)據(jù)通過并行I/O接口傳送到該模塊中;并行I/O接口模塊用來處理可編程接口模塊傳送過來的命令;I2C可編程接口模塊用來設(shè)置IP各個(gè)寄存器的地址;I2C接口引擎模塊執(zhí)行I2C總線上數(shù)據(jù)的傳輸。

1.2 寄存器結(jié)構(gòu)

I2C控制IP主要由6個(gè)寄存器構(gòu)成,如表1所列。通過對(duì)寄存器的讀寫可以方便地控制I2C總線數(shù)據(jù)的傳輸,從而實(shí)現(xiàn)NiosII處理器與設(shè)備之間的通信。數(shù)據(jù)寄存器用來存放I2C總線上要傳送的數(shù)據(jù);波特率產(chǎn)生模塊,波特率時(shí)鐘寄存器和時(shí)鐘寄存器共同決定I2C總線上SCL的頻率。SCL的計(jì)算公式為其中System_clk是時(shí)鐘;Value是時(shí)鐘寄存器的值;divider是波特率時(shí)鐘寄存器的值所對(duì)應(yīng)的分頻數(shù)(寄存器的值與分頻數(shù)相差為1,如寄存器設(shè)置為0,則分頻數(shù)為1;寄存器設(shè)置為1,則分頻數(shù)值為2)。

本地地址寄存器、控制寄存器、狀態(tài)寄存器的詳細(xì)介紹略——編者注。

2 I2C控制lP在中的

中,CMOS傳感器非常普遍。這些傳感器大多數(shù)都自帶I2C串行通信接口,本文以MT9M011為例介紹I2C控制IP在系統(tǒng)中的。MT9M011傳感器根據(jù)讀寫位數(shù)可分為兩種方式:16位數(shù)據(jù)讀寫方式和8位數(shù)據(jù)讀寫方式。這里選用曝光寄存器,采用16位讀寫方式進(jìn)行操作,時(shí)序如圖2所示。

從設(shè)備地址(寫模式)與從設(shè)備地址(讀模式)高7位為從器件地址,第8位是讀寫控制位(R/W),它控制數(shù)據(jù)的傳輸方向。

向曝光寄存器0x09寫入數(shù)據(jù):主器件啟動(dòng)傳輸,然后發(fā)送它所要尋址的從設(shè)備地址(寫模式)。MT9M011監(jiān)視總線,當(dāng)其地址與傳送的從器件地址相符時(shí),響應(yīng)一位應(yīng)答信號(hào),接著主器件發(fā)送曝光寄存器地址,MT9M011再次應(yīng)答,在向曝光寄存器中寫入16位數(shù)據(jù)后主器件停止寫數(shù)據(jù)。每傳送8位數(shù)據(jù),從器件MT9M011都會(huì)產(chǎn)生一位應(yīng)答信號(hào)。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉