本文先針對讀寫控制說明, 之後會探討EEPROM讀寫錯誤的問題.

 

I2C(Inter-Integrated Circuit) 中文名稱為積體電路匯流排, 屬於一種傳通訊傳輸協定, 是飛利浦公司在1980年所建立, 傳輸時只要控制主要的兩條控制線, 就能進行通訊.

EEPROM(Electrically-Erasable Programmable Read-Only Memory)中文名稱為 電子抹除式可複寫唯讀記憶體, 以往EPORM需透過UV清除內部資料, 而EEPROM是透過高壓來清除.

採用I2C通訊格式的EEPROM主要透過兩條控制線, 分別為資料線SDA及時脈線SCL, 採串列方式將資料寫入或讀出, 所以通常稱為Serial EEPROM.

這類型的IC共有8個腳位, A0-A2是設定通訊裝置的地址, SDA為資料線, SCL為時脈線, WP為寫入保護(高電位有效).

 

※因WP沒有劃上引線,代表為高電位有效, 就是有保護作用, 當要寫入資料時就需把這腳位拉至低電位.

 

再寫入前, 需先確認預計使用的頻率, 這部分與控制的電壓有關.

 

務必遵照IC Datasheet的時序規範 (這點非常重要) 會有可靠度問題

 

當SCL為 Low時, 屬於不穩定狀態, 可以變動SDA的資料.

當SCL為High時, 屬於穩定狀態, 可以讀取SDA資料.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ㄧ個完整的時序, 可分成4個區塊.

 

1.起始及結束控制

2.裝置地址控制

剛開始需先告知要通訊的裝置地址, 所以是寫入狀態(低電位).

傳送的時候由高位元先送, 再送低位元.

若地址設A0=0,A1=1,A2=0

傳遞順序為1->0->1->0  ->0->1->0  ->0

 

3.回應控制

當寫入的資料傳送8bit完畢後, 必須讓SDA把持高電位, 若裝置接收完畢則會把SDA拉至低電位

反之, 當裝置資料回傳8bit完畢後, 會把SDA拉至高電位, 此時若接收完成則需拉至低電位.

4.寫入或讀取資料控制

寫及讀又可分為連續讀取或索引讀取, 顧名思義就是從第一個開始讀或是從指定位置開始讀(這裡的位置指的是內部存放資料的位置).

 

 

引文:

ATMEL Datasheet http://www.atmel.com/images/doc0180.pdf

 

 

 

 

 

 

 

 

 

 

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 門外漢 的頭像
    門外漢

    門外漢的筆記

    門外漢 發表在 痞客邦 留言(0) 人氣()