版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
I2C接口
I2C接口結構和特點
Exynos4412內部的I2C控制器I2C應用實例12第12章I2C接口12.1I2C接口結構和特點1.?I2C總線簡介I2C(InterIntergratedCircuit,也稱I2C)總線是由PHILIPS公司開發(fā)的兩線式串行總線,用來連接微控制器及其外圍設備,是微電子通信控制領域廣泛采用的一種總線標準。具有如下的特點:●具有兩條總線線路,即一條串行數(shù)據(jù)線SDA和一條串行時鐘線SCL。●每個連接到總線上的器件都可以通過唯一的地址聯(lián)系主機。●它是一個真正的多主機總線,數(shù)據(jù)傳輸通過沖突檢測和仲裁防止數(shù)據(jù)被破壞?!翊械?位雙向數(shù)據(jù)傳輸位速率更高。●連接到相同總線的IC數(shù)量只受到總線最大電容400?pF的限制。第12章I2C接口圖12.1I2C總線上多個設備互連示意圖第12章I2C接口2.?I2C總線相關術語表12.1I2C總線相關術語第12章I2C接口3.
I2C總線的信號類型I2C總線在傳送數(shù)據(jù)的過程中共有三種類型的信號:啟動信號、結束信號和響應信號。(1)啟動信號(S):SCL為高電平時,SDA由高電平向低電平跳變,開始傳輸數(shù)據(jù)。(2)停止信號(P):SCL為低電平時,SDA由低電平向高電平跳變,結束傳輸數(shù)據(jù)。(3)響應信號(ACK):接收器在接收到8位數(shù)據(jù)后,在第9個時鐘周期時,拉低SDA電平。第12章I2C接口圖12.2啟動信號和停止信號示意圖第12章I2C接口圖12.3應答信號(ACK)第12章I2C接口4.?I2C總線的數(shù)據(jù)傳輸格式在一次傳輸?shù)倪^程中,主機先發(fā)出S信號,然后發(fā)出8位數(shù)據(jù)。這8位數(shù)據(jù)中前7位為從機的地址,第8位表示傳輸?shù)姆较?0表示寫操作,1表示讀操作)。被選中的從機發(fā)出應答信號。緊接著傳輸一系列字節(jié)及其響應位。最后,主機發(fā)出P信號,結束本次傳輸。圖12.5所示為I2C總線數(shù)據(jù)傳輸格式。第12章I2C接口圖12.5I2C總線數(shù)據(jù)傳輸格式第12章I2C接口注意:以下的三種情況,在傳輸完8位數(shù)據(jù)之后不會有ACK信號的產(chǎn)生。當從機不能響應從機地址時(例如它正忙于其他事而無法響應I2C總線的操作,或者找到的地址沒有對應的從機),在第9個SCL周期內SDA線沒有被拉低,即沒有ACK信號。(2)如果從機接收器在傳輸過程中不能接收更多的數(shù)據(jù),它也不會發(fā)出ACK信號。(3)主機接收器在接收到最后一個字節(jié)后,也不會發(fā)出ACK信號。第12章I2C接口5.?I2C總線的尋址方式
7位尋址
第一個字節(jié)的開始7位組成從機地址,最低位(LSB)是第8位,它決定了普通的和帶重復開始條件的7位地址格式的方向。第一個字節(jié)的最低位是“0”時,表示主機寫信息到被選中的從機;第一個字節(jié)的最低位是“1”時,表示主機從從機讀信息。當發(fā)送了一個地址后,系統(tǒng)中的每個器件都在起始條件后將前7位與自己的地址比較,如果一樣,器件會判定它被主機尋址。至于是從機接收器還是從機發(fā)送器,都由R/W位決定。第12章I2C接口2)
10位尋址10位從機地址由在起始條件或者重復起始條件后的前兩個字節(jié)組成。第一個字節(jié)的前7位是1110xx的組合,其中最后兩位xx是10位地址的兩個最高位(MSB)。第一個字節(jié)的第8位是R/W位,決定了傳輸?shù)姆较?,第一個字節(jié)的最低位是“0”時,表示主機寫信息到被選中的從機;第一個字節(jié)的最低位是“1”時,表示主機從從機讀信息。如果R/W位是“0”,則第二個字節(jié)是10位從機地址剩下的8位;如果R/W位是“1”,則下一個字節(jié)是從機發(fā)送給主機的數(shù)據(jù)。第12章I2C接口12.2Exynos4412內部的I2C控制器12.2.1I2C簡介Exynos4412支持多主機的I2C串行總線接口,支持主機發(fā)送、主機接收、從機發(fā)送和從機接收四種模式。其特性如下:●
9通道I2C接口,其中8通道為通用的,1通道專用于高清多媒體接口(HDMI)。●
7位尋址模式?!裰С执?位雙向傳輸?!裰С指哌_100Kb/s的標準傳輸模式和400Kb/s的快速傳輸模式?!裰С种袛嗪筒樵兪录?。第12章I2C接口圖12.6I2C串行總線接口內部結構第12章I2C接口Exynos4412提供了4個寄存器進行配置和控制I2C操作。SDA線上的數(shù)據(jù)從I2CDS寄存器發(fā)出,或者傳入I2CDS寄存器。I2CADD寄存器中保存Exynos4412作為從機時的地址。I2CCON、I2CSTAT兩個寄存器用來控制和標識各種狀態(tài),比如選擇工作模式,發(fā)送S信號、P信號,決定是否發(fā)出ACK信號,檢測是否收到ACK信號等。
第12章I2C接口12.2.2I2C相關寄存器Exynos4412I2C總線控制寄存器主要有控制寄存器I2CCONn、狀態(tài)寄存器I2CSTATn、地址寄存器I2CADDn、收/發(fā)數(shù)據(jù)移位寄存器I2CDSn和多主機線控寄存器I2CLCn。每類寄存器針對8個通道各有一個與之對應,即上述寄存器中的n,其取值為0~7。第12章I2C接口1.控制寄存器I2CCONn(n?=?0~7)該類寄存器用于配置8個I2C通道的時鐘和使能等功能,如表12.2所示。表12.2控制寄存器I2CCONn(n
=
0~7)第12章I2C接口2.狀態(tài)寄存器I2CSTATn(n
=
0~7)該類寄存器用于標示I2C的運行狀態(tài)等,如表12.3所示。表12.3狀態(tài)寄存器I2CSTATn(n
=
0~7)第12章I2C接口3.從機地址寄存器I2CADDn(n
=
0~7)該類寄存器用于配置I2C的7位從機地址,如表12.4所示。表12.4從機地址寄存器I2CADDn(n
=
0~7)第12章I2C接口4.數(shù)據(jù)收/發(fā)移位寄存器I2CDSn(n
=
0~7)該類寄存器用于存儲I2C收/發(fā)的數(shù)據(jù),如表12.5所示。表12.5數(shù)據(jù)收/發(fā)移位寄存器I2CDSn(n
=
0~7)第12章I2C接口12.3I2C應用實例
本節(jié)通過Exynos4412的I2C對E2PROM芯片AT24C02的操作,介紹I2C的編程方法。AT24C02A/04A/08A/16A是存儲容量為2K/4K/8K/16K位(bit)的E2PROM,支持電擦除、電燒寫,支持I2C總線接口協(xié)議等。第12章I2C接口圖12.7Exynos4412的I2C與E2PROM芯片AT24C02電路接線圖第12章I2C接口12.3.1基本操作單字節(jié)寫操作
字節(jié)寫時序依次要發(fā)送器件的地址(包括LSB用于讀/寫標識,0標識為寫,1標識為讀)、器件片內數(shù)據(jù)寫入地址和寫入的8位數(shù)據(jù)。AT24C02接收到上面的每一次地址或數(shù)據(jù),都會返回一個應答信號ACK。當AT24C02接收完成最后一個數(shù)據(jù)并返回ACK應答信號時,I2C主機必須產(chǎn)生停止位來結束寫時序。接下來的這個函數(shù)的功能是寫一個字節(jié)到24C02。第12章I2C接口voidiic_write_24c02(ucharSlaveAddr,ucharAddr,ucharData) { I2C0.I2CDS0=SlaveAddr;//裝載要寫入的目的地地址
//使能ACK;時鐘源PCLK/512;中斷使能;清中斷掛起標志;Tx時鐘 I2CCLK/(1+1) I2C0.I2CCON0=0xe1; I2C0.I2CSTAT0|=0xf0;//主發(fā)送模式;開始傳送;輸出使能
while(!(I2C0.I2CCON0&(1<<4)));//等待發(fā)送結束
I2C0.I2CCON0&=~(1<<4));//清除中斷掛起標志,恢復傳送
I2C0.I2CDS0=Addr;//裝載從機總線地址
while(!(I2C0.I2CCON0&(1<<4)));//等待發(fā)送結束
I2C0.I2CCON0&=~(1<<4));//清除中斷掛起標志,恢復傳送
I2C0.I2CDS0=Data;//裝載數(shù)據(jù)
while(!(I2C0.I2CCON0&(1<<4)));//等待發(fā)送結束
I2C0.I2CSTAT0=&=~(1<<5); //停止信號產(chǎn)生,釋放總線
I2C0.I2CCON0&~(1<<4);//清除中斷掛起標志,恢復傳送 }第12章I2C接口2.多字節(jié)寫操作AT24C02具有頁寫功能(多字節(jié)寫),其存儲大小為2KB,支持8字節(jié)的連續(xù)寫入。芯片根據(jù)型號不同,其他型號支持不同大小的頁寫入。頁寫入時序和字節(jié)寫入時序大致一樣,只是在寫入第一個數(shù)據(jù)并接收到E2PROM的ACK應答時,主機不再發(fā)送停止位,而是繼續(xù)寫入數(shù)據(jù)。第12章I2C接口3.當前地址讀操作
由于在E2PROM中維護了一個最新的器件片內數(shù)據(jù)寫入地址,當要讀取E2PROM當前地址的內部數(shù)據(jù)時,只需要傳送器件地址(包括LSB用于讀/寫,此時為1,標示讀方向),E2PROM會將當前地址的內部數(shù)據(jù)發(fā)送到總線上。此后,主機不需要回復應答信號,但要發(fā)送一個停止位。第12章I2C接口4.隨機地址讀操作
隨機地址讀也就是指定地址讀。一旦有讀/寫操作,這個內部地址將發(fā)生改變。也就是說,其維護的是最新的內部訪問地址,而且這個自動更新操作是由內部數(shù)據(jù)地址計數(shù)器來完成的。內部數(shù)據(jù)地址自動更新的過程具有“回滾”特性。按照其操作時序,依次發(fā)送器件地址、要訪問的片內數(shù)據(jù)地址。接下來的這個函數(shù)的功能是從24C02讀一個字節(jié)數(shù)據(jù)。第12章I2C接口voidiic_read_24c02(ucharSlaveAddr,ucharAddr,uchar*Data) { I2C0.I2CDS0=SlaveAddr; I2C0.I2CCON0=0xe1; I2C0.I2CSTAT0=0xf0;//主發(fā)送模式;開始傳送;輸出使能 while(!(I2C0.I2CCON0&(1<<4)));//等待發(fā)送結束 I2C0.I2CCON0&=~(1<<4))); //清除中斷掛起標志,恢復傳送 I2C0.I2CDS0=Addr;//裝載從機總線地址 while(!(I2C0.I2CCON0&(1<<4)));//等待發(fā)送結束 I2C0.I2CCON0&=~(1<<4); //清除中斷掛起標志,恢復傳送 I2C0.I2CDS0=SlaveAddr|0x01; I2C0.I2CSTAT0=0xb0; I2C0.I2CCON0&=~((1<<7)|(1<<4)); while(!(I2C0.I2CCON0&(1<<4)));//等待發(fā)送結束 *data=I2C0.I2CDS0;//讀取一個字節(jié)數(shù)據(jù) I2C0.I2CSTAT0=&=~(1<<5);//停止信號產(chǎn)生,釋放總線 I2C0.I2CCON0&~(1<<4);//清除中斷掛起標志,恢復傳送 }第12章I2C接口12.3.2編程實例
通過編寫程序,將GPD1的GPD1[0]和GPD1[1]分別配置成I2C_0_SDA、I2C_0_SCL。采用字節(jié)寫的方式,向E2PROM的地址0循環(huán)寫入256B數(shù)據(jù),然后采用隨機讀的方式,循環(huán)讀出0地址開始的256個剛寫入的數(shù)據(jù),最后將其以串口的形式在終端打印出來。代碼如下所示:第12章I2C接口#defineN256intmain(
){ucharsrc[N],dst[N];
volatileinti,sum;
for(i=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版九年級化學上冊自制第六單元課題4實驗活動2-二氧化碳實驗室制取與性質(34張)
- 2019-2020學年高中數(shù)學第2章解析幾何初步2-3空間直角坐標系課件北師大版必修2
- 接待禮儀-素材-培訓講學
- 教育學原理04-近現(xiàn)代高等教育發(fā)展、教師
- 2024年泰州職業(yè)技術學院高職單招數(shù)學歷年參考題庫含答案解析
- 2024年陽江市衛(wèi)校附屬醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 二零二五年離婚房產(chǎn)分割與贍養(yǎng)義務協(xié)議3篇
- 二零二五版“汽車零部件銷售協(xié)議”英文翻譯
- 2024年江西醫(yī)學高等??茖W校高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年江蘇安全技術職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 牛津譯林版八年級上冊英語8A期末復習-閱讀理解(含答案)
- 鄉(xiāng)鎮(zhèn)污水處理調研報告
- 普通高等新郎接親試卷(2022全國卷)
- 第三章天氣與氣候練習題 人教版七年級上冊地理
- 小動物疾病-第一章 小動物疾病概述
- 科研倫理與學術規(guī)范-課后作業(yè)答案
- 紀檢涉案財物管理規(guī)定
- 低溫雨雪冰凍災害應急救援準備
- 幼兒園背景研究分析報告
- 圍墻維修 施工方案
- 電動車轉讓協(xié)議書電子版
評論
0/150
提交評論