版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第11章 I2C串行協(xié)議及I2C器件應(yīng)用11.1 I2C串行總線通信協(xié)議11.2 I2C串行總線典型器件 主講內(nèi)容11.3 I2C串行總線的應(yīng)用 11.1 I2C串行總線通信協(xié)議 I2C是Philips公司推出的在器件間實(shí)現(xiàn)同步串行數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)總線。 以其連接簡單、節(jié)省I/O口線、縮減空間等特點(diǎn)而得以廣泛應(yīng)用。 如I2C 的RAM、E2PROM、LCD、LED、A/D 、D/A 、時(shí)鐘等器件。 I2C串行總線的主要特征如下:1)兩條傳輸線:一條串行數(shù)據(jù)線(SDA),一條串行時(shí)鐘線(SCL)。2)總線模式多:主發(fā)送模式、主接收模式、從發(fā)送模式、從接收模式。3)器件唯一尋址:I2C總線上器件都有
2、唯一地址,主機(jī)可對(duì)各從機(jī)尋址。4)檢測和仲裁:沖突檢測和仲裁機(jī)制保證數(shù)據(jù)傳輸完整性和穩(wěn)定性。5)傳輸速率高:標(biāo)準(zhǔn)模式、快速模式和高速模式的傳輸率分別是100k 、 400k 、3.4M bps 。6)漏極開路:總線要接上拉電阻。連接到總線上的IC數(shù)量僅受到最大電容400pF的限制。11.1.1 I2C串行總線的基本特征11.1 I2C串行總線通信協(xié)議 I2C接口傳輸具有線“與”功能。SDA和SCL兩條線,均為雙向I/O口,通過上拉電阻接正電源。當(dāng)總線空閑時(shí),兩根線都是高電平,連接總線器件的輸出極必須是集電極或漏極開路。 I2C SDA上的數(shù)據(jù)僅在SCL為低電平時(shí)才能改變。當(dāng)SCL為高電平時(shí),S
3、DA的改變表示“開始”和“停止”狀態(tài)。 在時(shí)鐘高電平期間,數(shù)據(jù)線上必須保持穩(wěn)定的邏輯電平。只有在時(shí)鐘線低電平時(shí),才允許數(shù)據(jù)線的電平變化。 I2C總線是一個(gè)半雙工、多主器件的總線??偩€上發(fā)送數(shù)據(jù)的發(fā)送器(也叫主器件)與接收數(shù)據(jù)的接收器(也叫從器件)取決于當(dāng)時(shí)數(shù)據(jù)傳送的方向。當(dāng)一個(gè)器件發(fā)送數(shù)據(jù)時(shí),其它被尋址器件均作為接收器。11.1.2. I2C傳輸接口的特性11.1 I2C串行總線通信協(xié)議 完整的時(shí)序過程由起始信號(hào)、器件地址信號(hào)、應(yīng)答信號(hào)ACK、字節(jié)數(shù)據(jù)信號(hào)和停止信號(hào)等幾部分組成。 11.1.3 I2C的時(shí)序圖11-1 I2C總線數(shù)據(jù)傳輸時(shí)序11.1 I2C串行總線通信協(xié)議(1)起停信號(hào)定義I2
4、C協(xié)議中,起始信號(hào)(S)和停止信號(hào)(P)都由主器件產(chǎn)生。 起始信號(hào)定義:當(dāng)SCL線為高電平時(shí),SDA由高到低的負(fù)跳變; 在總線上出現(xiàn)了起始信號(hào),就認(rèn)為總線處于工作狀態(tài)。 停止信號(hào)定義:當(dāng)SCL線為高電平時(shí),SDA由低到高的正跳變;總線上出現(xiàn)停止信號(hào),被認(rèn)為總線是處在不忙或空閑狀態(tài)。圖11-2 起始和停止信號(hào)時(shí)序1 起始和停止信號(hào)11.1 I2C串行總線通信協(xié)議 (2)起停信號(hào)的檢測 連接到總線上的設(shè)備具有I2C硬件接口,檢測起、停信號(hào)由硬件自動(dòng)完成。 連接到總線上的設(shè)備沒有I2C硬件接口,檢測起、停信號(hào)必須由軟件檢測跳變。START_IC:CLR SCL ;SCL由高變低,因?yàn)镾CL低電平時(shí)才
5、允許SDA更改 NOP ;加入空指令延時(shí)以確保信號(hào)可靠 NOP SETB SDA ;SDA先高NOP NOP SETB SCL ;SCL高,起始條件建立時(shí)間大于4.7usACALL DS4.7uSCLR SDA ;SDA低,起始條件鎖定時(shí)大于4usACALL DS4uSCLR SCL ;SCL低, 鉗住總線,準(zhǔn)備發(fā)數(shù)據(jù)NOP RET 圖11-3 啟動(dòng)信號(hào)時(shí)序11.1 I2C串行總線通信協(xié)議 (2)起停信號(hào)的檢測 STOP_IC:CLR SCL ;SCL低NOP CLR SDA NOP NOP SETB SCL ; 發(fā)送結(jié)束條件的時(shí)鐘信號(hào)ACALL DS4.7uS ;結(jié)束總線時(shí)間大于4us(取4
6、.7us)SETB SDA ;結(jié)束總線ACALL DS4.7uS ;保證終止和起始空閑大于4.7usNOP RET 圖11-4 停止信號(hào)時(shí)序11.1 I2C串行總線通信協(xié)議2 器件地址A0A1A20101如24C02 的地址格式如下WR器件地址具有唯一性,發(fā)送器發(fā)出起始信號(hào)后,必須緊跟發(fā)送一個(gè)字節(jié)(8位)器件地址信號(hào);地址信號(hào)用SLAVE 表示。SLAVE 是7位的器件地址位D7D1,D0 位是數(shù)據(jù)傳送方向位,用 表示讀/寫選擇位;SLAVE由一個(gè)4位固定部分和3位可編程部分組成。固定部分為器件的標(biāo)識(shí),表明了器件的類型,出廠時(shí)固定的。可編程部分為器件的引腳地址,視硬件接線而定。WRWR11.1
7、 I2C串行總線通信協(xié)議表7-3 常用外圍器件的節(jié)點(diǎn)地址 1001 A2A1A001110 A1A00100 A2A1A01010 A2A1A01010 A2A1A01011 A2A1A01010 A2A1A0 11.1 I2C串行總線通信協(xié)議 3 應(yīng)答與非應(yīng)答信號(hào) (1)應(yīng)答信號(hào)與非應(yīng)答信號(hào)定義圖11-5 應(yīng)答與非應(yīng)答信號(hào) 接收器收到地址字節(jié)或一個(gè)字節(jié)數(shù)據(jù)后都要產(chǎn)生一個(gè)應(yīng)答信號(hào)ACK。在第9 個(gè)時(shí)鐘周期時(shí)將SDA 線拉低,表示收到一個(gè)8 位數(shù)據(jù)。 發(fā)送器必須在這一時(shí)鐘位上釋放數(shù)據(jù)線SDA,使其處于高電平狀態(tài),以便接收器輸出ACK應(yīng)答信號(hào),表示繼續(xù)接收;若接收器輸出高電平則為非應(yīng)答信號(hào)(/AC
8、K),表示結(jié)束接收。 發(fā)送器接收數(shù)據(jù)時(shí),它收到最后一個(gè)數(shù)據(jù)后,須向接收器發(fā)送一個(gè)非應(yīng)答信號(hào),使接收器釋放SDA線,發(fā)送器產(chǎn)生終止信號(hào),停止數(shù)據(jù)傳送。 11.1 I2C串行總線通信協(xié)議 3 應(yīng)答與非應(yīng)答信號(hào) (2)應(yīng)答信號(hào)時(shí)序 ACK在接收方,每收到一字節(jié)后便將SDA電平拉低,應(yīng)答完成后,SCL=0,SDA=1。具體時(shí)序如下: MACK_IC:CLR SCL NOP CLR SDA ;在第9個(gè)SLC脈沖,將SDA置0NOP NOP SEIB SCL ;保持?jǐn)?shù)據(jù)時(shí)間,即SCL為高時(shí)間大于ACALL DS4.7usCLR SCL NOP NOPSETB SDA ;在SDA高或低的任何前提下,應(yīng)答完成
9、后,SCL=0,SDA=1NOP RET 圖11-6 應(yīng)答信號(hào)ACK時(shí)序 11.1 I2C串行總線通信協(xié)議 3 應(yīng)答與非應(yīng)答信號(hào) (3)非應(yīng)答信號(hào)時(shí)序 /ACKMNACK_IC: CLR SCL NOP NOP SETB SDA ;將SDA置1 NOPNOPSETB SCLACALL DS4.7uSNOP ;保持?jǐn)?shù)據(jù)時(shí)間,即SCL為高時(shí)間大于4.7usCLR SCLNOP SETB SDA NOP RET 圖11-7 非應(yīng)答信號(hào)時(shí)序 11.1 I2C串行總線通信協(xié)議 4 數(shù)據(jù)字節(jié)信號(hào) 字節(jié)數(shù)位:數(shù)據(jù)字節(jié)數(shù)沒有限制,但是每字節(jié)必須是8位長度; 發(fā)送次序:先發(fā)送最高位,每字節(jié)數(shù)據(jù)后必跟一位應(yīng)答脈沖
10、ACK; 等待狀態(tài):接收器不能接收下一個(gè)字節(jié)時(shí),可以把SCL線拉成低電平,迫使發(fā)送器處于等待狀態(tài)。 圖為多字節(jié)數(shù)據(jù)傳輸過程的完整時(shí)序。 圖11-8 數(shù)據(jù)傳輸時(shí)序 連續(xù)寫的兩個(gè)字節(jié)之間最好是有10ms的延時(shí)。當(dāng)然,也可以進(jìn)行頁寫(PAGE WRITE),即一次性連續(xù)寫8個(gè)字節(jié),但采用頁寫方式時(shí)每個(gè)字節(jié)后要有一個(gè)應(yīng)答信號(hào)。 11.1 I2C串行總線通信協(xié)議 (1)向IC卡寫一字節(jié) 數(shù)據(jù)(WR_BYTE ) WR_BYTE:MOV R2,#08 ;一字節(jié)8位數(shù)據(jù) CLR SCL NOP NOP WR_BYTE1:RLC A ;A.8-C MOV SDA,C ;改變SDA上的數(shù)據(jù) NOP SETB S
11、CL ;拉高SCL =4.7uSACALL DS4.7uS CLR SCL NOP NOP DJNZ R2,WR_BYTE1;依次發(fā)8位 圖11-9 字節(jié)寫時(shí)序圖 SETB SDA NOP NOP SETB SCL CLR F0 NOP NOP MOV C,SDA ;回讀IC卡的確認(rèn)信號(hào) JC WR_BYTE2 SETB F0 ; 有應(yīng)答位WR_BYTE2:NOP ; 非應(yīng)答 CLR SCL NOP RET 11.1 I2C串行總線通信協(xié)議 (2)從IC卡讀取一字節(jié) 數(shù)據(jù)(RD_BYTE ) RD_BYTE: MOV R2,#08 SETB SDA ;設(shè)備SDA為讀狀態(tài) CLR A ;清空A寄
12、存器 NOP NOPRD_BTYE1: SETB SCL ;時(shí)鐘線為高,接收數(shù)據(jù)位 NOP NOP MOV C,SDA ;讀取一位數(shù)據(jù)到進(jìn)位位 圖11-10 字節(jié)讀時(shí)序圖 RLC A ;左移數(shù)據(jù)到ACC.0CLR SCL ;將SCL拉低時(shí)間大于4.7usACALL DS4.7uSDJNZ R2,RD_BYTE1;依次讀出8位數(shù)據(jù)到A中 RET ;讀數(shù)據(jù)是無應(yīng)答信號(hào)的需要注意的是:讀數(shù)據(jù)的器件不是通過確認(rèn)狀態(tài)來應(yīng)答的,而是隨后產(chǎn)生一個(gè)停止?fàn)顟B(tài)。 11.2 兩線串行總線典型器件1. AT24系列存貯器 I2C串行接口的EEPROM 目前用于IC卡的通用存貯器芯片多為EEPROM,其常用的協(xié)議主要有
13、兩線串行連接協(xié)議(I2C)和三線串行鏈接協(xié)議,其中比較常用的是ATMEL公司生產(chǎn)的AT24系列芯片。 AT24系列主要有 AT24C01 /02 /04 ,非加密卡 工藝:采用CMOS工藝制造,內(nèi)置有高壓泵,2V5V的低電壓工作 。封裝: 8腳DIP封裝; IC卡封裝。 IC卡封裝 對(duì)觸點(diǎn)數(shù)目,位置,信號(hào)名稱和功能都有明確規(guī)定,以保證兼容性.其中:C1(VCC)為電源;C2(RST)復(fù)位信號(hào);C3(CLK)時(shí)鐘脈沖;C4(RFU) 待用; C5(GND)接地端;C6(VPP)編程電壓,用于對(duì)EPROM編程;C7( I/O) 數(shù)據(jù)輸入輸出端; C8(RFU)待用.有些系統(tǒng)中IC卡的C4和C8未用
14、,可見卡上僅有六個(gè)觸點(diǎn).引腳:SCL串行時(shí)鐘;SDA串行數(shù)據(jù),開漏極驅(qū)動(dòng);(DIP封裝 ) A2、A1、A0:器件/頁面尋址, 器件地址:1010 A2、A1、A0 11.2 兩線串行總線典型器件1. AT24系列存貯器 I2C串行接口的EEPROM 11.2 兩線串行總線典型器件1. AT24系列存貯器 I2C串行接口的EEPROM產(chǎn)品型號(hào)AT24C01AT24C02AT24C04AT24C08AT24C16AT24C64產(chǎn)品描述1K位2K位4K位8K位16K位64K位內(nèi)存組織形式128825682568102482048881928頁寫入方式8字節(jié)8字節(jié)16字節(jié)16字節(jié)16字節(jié)32字節(jié)通訊
15、協(xié)議ISO/IEC7816-3同步協(xié)議,雙行串行接口工作頻率1MHz(5v),1MHz(2.7v),400MHz(1.8v)工作電壓5v10%;根據(jù)需求最低電壓可至1.8VICC電流讀:1Ma(最大),寫:3Ma(最大)工作溫度0-70,根據(jù)需求可超出指定工作溫度寫/擦除次數(shù)1,000,000次數(shù)據(jù)保持100年ESD保護(hù)4000V應(yīng)用領(lǐng)域數(shù)據(jù)保持、電話卡、校園、醫(yī)療保險(xiǎn)等 11.2 兩線串行總線典型器件2. SLE 4442 2 線連接協(xié)議(ISO7816)加密卡(磁生電供電)還有射頻卡:13.56M非接觸IC卡 符合ISO14443 TYPE A + ISO7816 標(biāo)準(zhǔn) ISO7816協(xié)議
16、與IIC協(xié)議不相同!SLE4442 德國西門子SIMENS 公司邏輯加密存儲(chǔ)卡。具有2K 位的存儲(chǔ)容量和完全獨(dú)立的可編程代碼存儲(chǔ)器PSC。單+5V 電壓供電,目前國內(nèi)應(yīng)用較多的一種IC 卡芯片。2 線連接協(xié)議(串行接口滿足ISO7816 同步傳送協(xié)議每字節(jié)擦除/寫入編程時(shí)間為2.5ms。 至少10000 次的擦寫,數(shù)據(jù)保持10 年。 芯片引腳 SLE4442 的觸點(diǎn)安排見下圖 11.2 兩線串行總線典型器件3. PCF8563I2C串行接口的實(shí)時(shí)日歷時(shí)鐘PCF8563 I2C時(shí)鐘芯片 見教材;HYM1302高性能、低功耗帶RAM 實(shí)時(shí)時(shí)鐘芯片 HYM1302(DS1302) 可慢速充電實(shí)時(shí)時(shí)鐘
17、,含實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)非易失靜態(tài)RAM。實(shí)時(shí)時(shí)鐘/日歷可對(duì)秒,分,時(shí),日,周,月,和年進(jìn)行計(jì)數(shù),對(duì)于小于31 天的月,月末的日期自動(dòng)進(jìn)行調(diào)整,還具有閏年校正的功能。時(shí)鐘可以采用24 小時(shí)格式或帶AM(上午)/PM(下午)的12 小時(shí)格式。31 字節(jié)的RAM 可以用來臨時(shí)保存一些重要數(shù)據(jù)。通信僅需3 根線:(1)RST(復(fù)位),(2)I/O(數(shù)據(jù)線)和(3)SCLK(串行時(shí)鐘)。 寬工作電源電壓范圍:2.0V5.5V;2.5V 時(shí)耗電小于300nA;3 線接口,TTL 兼容 封裝形式:DIP8 和SOP8;可完全兼容DALLAS 的DS1302。 11.3 I2C在單片機(jī)系統(tǒng)中的應(yīng)用 新
18、近推出的增強(qiáng)型高性能單片機(jī)大都片內(nèi)自帶標(biāo)準(zhǔn)I2C總線接口。MCS-51系列單片機(jī)片內(nèi)無I2C總線接口,則可以使用I/O口軟件模擬I2C總線。 1. MCS-51與I2C器件的連接 使用單片機(jī)I/O口模擬I2C總線時(shí),只需兩條I/O口線即可,在軟件中分別定義成SCL和SDA。 模擬I2C接口時(shí),要軟件模擬I2C串行總線的通信時(shí)序。圖7-21 I/O 口模擬I2C 總線 2. I2C總線的典型應(yīng)用 24xx系列的E2PROM存儲(chǔ)器是應(yīng)用比較廣泛的I2C總線器件之一。24C04內(nèi)部組織為5128位,16字節(jié)頁寫。 【例7-4】24C04與8051的接口電路如圖,8051通過I2C總線接口對(duì)24C04
19、進(jìn)行多字節(jié)寫操作的程序流程圖如圖。試編寫多字節(jié)寫程序。圖7-22 24C04與8051的連接圖圖7-23 24C04 多字節(jié)寫操作流程圖流程圖 11.3 I2C在單片機(jī)系統(tǒng)中的應(yīng)用 11.3 I2C在單片機(jī)系統(tǒng)中的應(yīng)用 24C04寫入多字節(jié)子程序: SCL BIT P3.2 ;定義時(shí)鐘線 SDA BIT P3.3 ;定義數(shù)據(jù)線START:LCALL STAR ;調(diào)起始信號(hào) MOV R2,#08H ;8字節(jié)(括地址) MOV DPTR,#TAB ;定義數(shù)據(jù)指針LOOP: MOV A,#00H MOVC A,A+DPTR LCALL SEND ;發(fā)送字節(jié)數(shù)據(jù) LCALL ACKC ;接收應(yīng)答信號(hào) JC LOOP ;JC什么意思? INC DPTR DJNZ R2,LOOP LCALL STOP ;調(diào)停止信號(hào) RETTAB:DB 0A0H,10H,01H,02H,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:近代漢文中國行紀(jì)與全球文學(xué)關(guān)系研究
- 2025年度個(gè)人與公司租賃合同稅費(fèi)承擔(dān)協(xié)議4篇
- 二零二五版金融服務(wù)保密協(xié)議范本修訂6篇
- 2025年保定怎么考貨運(yùn)從業(yè)資格證
- 二零二五年城投小貸與農(nóng)業(yè)產(chǎn)業(yè)合作框架協(xié)議4篇
- 2025年度農(nóng)村土地流轉(zhuǎn)經(jīng)營權(quán)抵押貸款合同示范文本4篇
- 二零二五年度充電樁安裝工程知識(shí)產(chǎn)權(quán)保護(hù)合同4篇
- 二零二五年度出境領(lǐng)隊(duì)旅游目的地考察合同4篇
- 二零二五年度城市綜合體建設(shè)項(xiàng)目承包商安全作業(yè)管理協(xié)議4篇
- 2025年度葡萄采摘季節(jié)臨時(shí)工采購合同范本3篇
- 垃圾處理廠工程施工組織設(shè)計(jì)
- 天皰瘡患者護(hù)理
- 2025年蛇年新年金蛇賀歲金蛇狂舞春添彩玉樹臨風(fēng)福滿門模板
- 《建筑制圖及陰影透視(第2版)》課件 4-直線的投影
- 2024-2030年中國IVD(體外診斷)測試行業(yè)市場發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 損失補(bǔ)償申請(qǐng)書范文
- 壓力與浮力的原理解析
- 鐵路損傷圖譜PDF
- 裝修家庭風(fēng)水學(xué)入門基礎(chǔ)
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)二 社群的種類與維護(hù)
- 《詩詞寫作常識(shí) 詩詞中國普及讀物 》讀書筆記思維導(dǎo)圖
評(píng)論
0/150
提交評(píng)論