單片機(jī)小白學(xué)習(xí)之路(二十七)---EEPROM-IIC總線理解(二)

目標(biāo):EEPROM-IIC總線理解(二)

在實(shí)際的應(yīng)用中葬荷,保存在單片機(jī)RAM中的數(shù)據(jù),掉電后數(shù)據(jù)就丟失了熟史,保存在單片機(jī)的FLASH中的數(shù)據(jù)箱熬,又不能隨意改變类垦,也就是不能用它來記錄變化的數(shù)值。但是在某些場(chǎng)合城须,我們又確實(shí)需要記錄下某些數(shù)據(jù)蚤认,而它們還時(shí)常需要改變或更新,掉電之后數(shù)據(jù)還不能丟失糕伐,比如我們的家用電表度數(shù)砰琢,我們的電視機(jī)里邊的頻道記憶,一般都是使用EEPROM來保存數(shù)據(jù)赤炒,特點(diǎn)就是掉電后不丟失氯析。我們板子上使用的這個(gè)器件是24C02亏较,是一個(gè)容量大小是2Kbit位莺褒,也就是256個(gè)字節(jié)的EEPROM。一般情況下雪情,EEPROM擁有30萬到100萬次的壽命遵岩,也就是它可以反復(fù)寫入30-100萬次,而讀取次數(shù)是無限的。

24C02是一個(gè)基于I2C通信協(xié)議的器件尘执,因此從現(xiàn)在開始舍哄,我們的I2C和我們的EEPROM就要合體了。但是大家要分清楚誊锭,I2C是一個(gè)通信協(xié)議表悬,它擁有嚴(yán)密的通信時(shí)序邏輯要求,而EEPROM是一個(gè)器件丧靡,只是這個(gè)器件采樣了I2C協(xié)議的接口與單片機(jī)相連而已蟆沫,二者并沒有必然的聯(lián)系,EEPROM可以用其他接口温治,I2C也可以用在其它很多器件上饭庞。


(5)數(shù)據(jù)傳輸

I2C總線上傳送的數(shù)據(jù)信號(hào)是廣義的,既包括地址信號(hào)熬荆,又包括真正的數(shù)據(jù)信號(hào)舟山。在起始信號(hào)后必須傳送一個(gè)從機(jī)的地址(7位),第8位是數(shù)據(jù)的傳送方向位(R/W)卤恳,用“0”表示主機(jī)發(fā)送(寫)數(shù)據(jù)(W)累盗,“1”表示主機(jī)接收數(shù)據(jù)(R)。每次數(shù)據(jù)傳送總是由主機(jī)產(chǎn)生的終止信號(hào)結(jié)束纬黎。但是幅骄,若主機(jī)希望繼續(xù)占用總線進(jìn)行新的數(shù)據(jù)傳送,則可以不產(chǎn)生終止信號(hào)本今,馬上再次發(fā)出起始信號(hào)對(duì)另一從機(jī)進(jìn)行尋址拆座。


在總線的一次數(shù)據(jù)傳送過程中,可以有以下幾種組合方式:

a冠息、主機(jī)向從機(jī)發(fā)送數(shù)據(jù)挪凑,數(shù)據(jù)傳送方向在整個(gè)傳送過程中不變,即就連那一個(gè)從機(jī),白色框子里的A是從機(jī)發(fā)來的表示一個(gè)字節(jié)接受完了逛艰,如果是/A則表示從機(jī)沒有響應(yīng)則結(jié)束

組合方式1

b躏碳、主機(jī)在第一個(gè)字節(jié)后,立即從從機(jī)讀數(shù)據(jù),灰色框里的A是主機(jī)發(fā)出的響應(yīng)散怖,表示一個(gè)字節(jié)數(shù)據(jù)讀取完了

組合方式2

c菇绵、在傳送過程中,當(dāng)需要改變傳送方向時(shí)镇眷,起始信號(hào)和從機(jī)地址都被重復(fù)產(chǎn)生一次咬最,但兩次讀/寫方向位正好相反

圖片2.png


2.EEPR0M(AT24C02)簡(jiǎn)介

AT24C01/02/04/08/16...是一個(gè)1K/2K/4K/8K/16K位串行CMOS28/256/512/1024/2048個(gè)8位字節(jié),AT24C01有一個(gè)8字節(jié)頁寫緩沖器欠动,
AT24C02/04/08/16有一個(gè)16字節(jié)頁寫緩沖器永乌。該器件通過I2C總線接口進(jìn)行操作惑申,它有一個(gè)專門的寫保護(hù)功能。

AT24c02就 是一個(gè)掛在總線上的從機(jī)可以往里面寫數(shù)據(jù)也可以讀里面的數(shù)據(jù)翅雏,而單片機(jī)就是主機(jī)來都里面或往里面寫數(shù)據(jù)

AT24C02

功能說明

AT24C02器件地址為7位圈驼,高4位固定為1010,低3位由 A0/A1/A2信號(hào)線的電平定望几。因?yàn)閭鬏數(shù)刂坊驍?shù)據(jù)是以字節(jié)為單位傳送的绩脆,當(dāng)傳送地址時(shí),器件地址占7位橄抹,還有最后一位(最低位R/W)用來選擇讀寫方向衙伶,它與地址無關(guān)。


圖片5.png
起始與應(yīng)答
  • 起始時(shí)害碾,起始信號(hào)的數(shù)據(jù)線的高電平要至少保持4.7us矢劲,低電平最少要4us,I2C通信的起始信號(hào)的定義是SCL為高電平期間慌随,SDA由高電平向低電平變化產(chǎn)生一個(gè)下降沿芬沉,表示起始信號(hào)
void I2CStart()  //產(chǎn)生總線起始信號(hào)
{
    I2C_SDA = 1; //首先確保SDA、SCL都是高電平
    I2C_SCL = 1;
    I2CDelay();
    I2C_SDA = 0; //先拉低SDA
    I2CDelay();
    I2C_SCL = 0; //再拉低SCL
}
  • 終止時(shí)阁猜,終止信號(hào)的數(shù)據(jù)線的低電平最少4us,高電平最少4.7us丸逸,I2C通信停止信號(hào)的定義是SCL為高電平期間,SDA由低電平向高電平變化產(chǎn)生一個(gè)上升沿剃袍,表示結(jié)束信號(hào)
    應(yīng)答就是SDA是低電平時(shí)黄刚,SCL要保持高電平大于4us
    非應(yīng)答就是SDA是高電平時(shí)。SCL保持高電平大于4us
void I2CStop()   //產(chǎn)生總線停止信號(hào)
{
    I2C_SCL = 0; //首先確保SDA民效、SCL都是低電平
    I2C_SDA = 0;
    I2CDelay();
    I2C_SCL = 1; //先拉高SCL
    I2CDelay();
    I2C_SDA = 1; //再拉高SDA
    I2CDelay();
}

發(fā)送數(shù)據(jù)時(shí)序
  • 數(shù)據(jù)傳輸:I2C通信是高位在前憔维,低位在后。I2C沒有固定波特率畏邢,但是有時(shí)序的要求业扒,要求當(dāng)SCL在低電平的時(shí)候,SDA允許變化舒萎,也就是說程储,發(fā)送方必須先保持SCL是低電平,才可以改變數(shù)據(jù)線SDA臂寝,輸出要發(fā)送的當(dāng)前數(shù)據(jù)的一位章鲤;而當(dāng)SCL在高電平的時(shí)候,SDA絕對(duì)不可以變化咆贬,因?yàn)檫@個(gè)時(shí)候败徊,接收方要來讀取當(dāng)前SDA的電平信號(hào)是0還是1,因此要保證SDA的穩(wěn)定不變化素征,如上圖中的每一位數(shù)據(jù)的變化集嵌,都是在SCL的低電平位置。

3.EEPROM模塊電路

EEPROM模塊電路

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末御毅,一起剝皮案震驚了整個(gè)濱河市根欧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌端蛆,老刑警劉巖凤粗,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異今豆,居然都是意外死亡嫌拣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門呆躲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來异逐,“玉大人,你說我怎么就攤上這事插掂』艺埃” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵辅甥,是天一觀的道長(zhǎng)酝润。 經(jīng)常有香客問我,道長(zhǎng)璃弄,這世上最難降的妖魔是什么要销? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮夏块,結(jié)果婚禮上疏咐,老公的妹妹穿的比我還像新娘。我一直安慰自己脐供,他們只是感情好凳鬓,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著患民,像睡著了一般缩举。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匹颤,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天仅孩,我揣著相機(jī)與錄音,去河邊找鬼印蓖。 笑死辽慕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赦肃。 我是一名探鬼主播溅蛉,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼公浪,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了船侧?” 一聲冷哼從身側(cè)響起欠气,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎镜撩,沒想到半個(gè)月后预柒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袁梗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年宜鸯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遮怜。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡淋袖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锯梁,到底是詐尸還是另有隱情适贸,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布涝桅,位于F島的核電站拜姿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏冯遂。R本人自食惡果不足惜蕊肥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛤肌。 院中可真熱鬧壁却,春花似錦、人聲如沸裸准。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炒俱。三九已至盐肃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間权悟,已是汗流浹背砸王。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留峦阁,地道東北人谦铃。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像榔昔,于是被迫代替她去往敵國(guó)和親驹闰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瘪菌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容