二、iic通訊協議
# 一、eeprom簡介 eeprom即電可擦除可程式設計唯讀儲存器,是一種常用的非易失性儲存器(掉電後,資料不丟失),100萬次為常見主流產品。 為了確定是哪個器件與fpga正在通訊,需要iic協議傳送器件位址。
iic即積體電路匯流排,是一種兩線式序列匯流排,由philips公司開發用於連線微控制器及其外圍裝置。多用於**主機和從機**在資料量不大且傳輸距離短的場合下的主從通訊。 iic匯流排由資料線sda和時鐘線scl構成通訊線路,既可用於傳送資料,也可接收資料。
標準模式:100kbit/s
快速模式:400kbit/s
高速模式:3.4mbit/s
iic是半雙工通訊方式
iic協議
1.空閒狀態
iic匯流排的sda和scl兩條訊號線同時處於高電平時,規定為匯流排的空閒狀態,此時各個器件的輸出級場效電晶體均處於截止狀態,即釋放匯流排,由兩條訊號線各自的上拉電阻把電平拉高。
2.起始訊號與停止訊號
起始訊號:當scl為高期間,sda由高到低的跳變,啟動訊號是一種電平跳變時序訊號,而不是乙個電平訊號。
停止訊號:當scl為高期間,sda由低到高的跳變,停止訊號也是一種電平跳變時序訊號,而不是乙個電平訊號。
3.資料有效性
iic匯流排進行資料傳送時,時鐘訊號為高電平期間,資料線上的資料必須保持穩定,只有在時鐘線上的訊號為低電平期間,資料線上的高電平或低電平狀態才允許變化。
即:資料在scl的上公升沿到來之前就需準備好,並且在下降沿到來之前必須穩定。
4.應答訊號ack
對於反饋有效應答位ack的要求是,接收器在第九個時鐘脈衝之前的低電平期間將sda線拉低,並且確保在該時鐘的高電平期間為穩定的低電平。
5.資料的傳送
在iic匯流排上傳送的每一位資料都有乙個時鐘脈衝相對應,即在scl序列時鐘的配合下,在sda上逐位地序列傳送每一位資料,資料的傳輸是邊沿觸發。
問題:iic介面為什麼需要接上拉電阻?
iic介面採用開路的機制,只能輸出低電平。而無法主動輸出高電平,只能通過外接上拉電阻將其電平拉高。
STM32模擬IIC讀寫EEPROM
本人在最近的專案中,需要讀寫eeprom裡面的內容並分析。該eeprom晶元為microchip technology公司的24lc02b系列。用stm32f103晶元做主機通過iic介面去和它通訊。首先介紹晶元的基本特性,容量為 256 x 8bit 2kbit共有256位元組 位址和資料都是8b...
IIC實現對EEPROM(24C02)的讀寫
概述 eeprom晶元型號為24c02,該晶元的總容量是256個位元組,該晶元通過iic匯流排與外部連線。實驗功能 通過key1按鍵來控制24c02的寫入,通過另外乙個按鍵key0來控制24c02的讀取。硬體電路 iic配置 初始化iic void iic init void 產生iic起始訊號 v...
09 藍橋杯 IIc通訊與EEPROM
iic通訊的內容 只看重點 1.iic通訊主要依靠兩根線 scl和sda.2.高位在先,低位在後。3.有ack和nak之說。4.起始訊號和終止訊號時,scl在高電平時變化。資料訊號時,scl為低電平期間變化,scl高電平讀取。5.整體上來說器件都是有乙個最快速度的限制,而沒有乙個最慢速度的限制,所以...