stm32(十四)IIC總結

2021-09-27 04:07:50 字數 1862 閱讀 6142

一:iic匯流排知識

sda:雙向資料線,主機可以通過sda線傳送資料給集群,集群也可以通過sda線傳送資料給主機

scl:時鐘訊號線,驅動資料線收發資料的脈衝訊號由scl提供,scl脈衝訊號永遠由主機發出

在匯流排上sda和scl都有上拉電阻,因為iic匯流排介面的晶元sda,scl輸出都是開漏輸出(沒有輸出1的能力)

主機:主動定址從機,傳送起始(占用匯流排),停止條件(釋放匯流排)

從機:從機永遠不會主動的傳送資料給主機,從機是接受主機傳送過來的指令,資料,在主機傳送的時鐘訊號線的驅動作用下傳送資料給主機。

傳送器:傳送資料到匯流排

接收器:接受匯流排上的資料

仲裁器:解決多主機模式主裝置占用匯流排競爭問題----不關注

二:iic匯流排協議

1.空閒狀態:當主機不占用匯流排跟從機通訊的時候,sda和scl都處於高電平,

這種狀態我們稱為空閒狀態。

2.起始條件:  scl高電平期間,sda有乙個下降沿。

作用及特點:由主機發出,占用匯流排,而從機將會被從低功耗模式喚醒。

3.停止條件:  scl高電平期間,sda有乙個上公升沿。

作用及特點:由主機發出,釋放匯流排,而從機將會進去低功耗模式

通過以上起始條件和停止條件的特點來看,在正常的資料傳輸期間,如果scl為高電平期間,sda資料線不允許改變。

4.位傳輸:當scl為高電平期間,傳送方會保持sda資料線上面資料的穩定。

當scl為低電平期間,傳送方可以傳送新的一位資料到sda上。

1)主機傳送一位資料到匯流排上

首先主機把scl拉低

然後主機傳送一位資料到sda資料線上

最後主機把時鐘訊號線拉高,

2)主機從匯流排上接受乙個資料

首先主機把scl拉低

(從機會把一位資料傳送到匯流排上)

主機把scl拉高

讀取sda資料線上的資料

(如果主機用的是iic控制器,在上公升沿的時候會讀取資料)

5.應答:接受資料的一方,在第9個時鐘脈衝的時候要給傳送方乙個應答

1)主機傳送乙個資料給從機後,需要讀取從機給的響應

首先主機把時鐘訊號線拉低

(從機此時會根據接受是否正常,給出相應的響應)

主機把時鐘訊號線拉高

主機讀取sda資料線上的資料,如果等到0,則有讀到響應

2)主機讀取從機傳送過來的乙個位元組資料後,需要給從機乙個響應   

首先主機把時鐘訊號線拉低

主機根據實際情況,判斷要不要把sda拉低

主機把時鐘訊號線拉高

常用儲存裝置儲存型別:

rom:唯讀儲存器,掉電資料不丟失

ram:隨機儲存器,可讀可寫,掉電資料會丟失

eeprom:電可擦除prom,可讀可寫,掉電資料不丟失

flash:快閃儲存器,可讀可寫,掉電資料不丟失

儲存裝置的儲存容量=定址空間*字長

at24c02

at24c02是一種eeprom儲存晶元

特點:工作電壓範圍:1.8v~5.5v

儲存容量:256(定址空間)* 8(字長)(2k bits)

匯流排介面:iic匯流排

iic匯流排通訊速度:1mhz(5v),400khz(1.8v,2.5v,2.7v)

具有寫保護功能

可以按位元組寫,也可以按頁寫

寫週期最大5ms

可擦寫100w次,資料儲存時間100年

iic總結

sda跟scl的拉低拉高要嚴重注意,有乙個不一樣就會錯誤

在連續讀寫中,要知道

寫入位址是開始頁的第幾位

在開始頁要寫入的個數

要寫入的頁數

不足一頁的個數

程式中先分寫入位址是不是頁的開始,寫入的資料大於一頁還是小於一頁,聲于資料小於一頁的情況

stm32軟體模擬iic

iic inter integrated circuit 匯流排是一種由philips公司在80年代開發的兩線式序列匯流排,用於連線微控制器及其外圍裝置。它是半雙工通訊方式。iic匯流排最主要的優點是其簡單性和有效性。由於介面直接在元件之上,因此iic匯流排占用的空間非常小,減少了電路板的空間和晶元...

STM32模擬IIC讀寫EEPROM

本人在最近的專案中,需要讀寫eeprom裡面的內容並分析。該eeprom晶元為microchip technology公司的24lc02b系列。用stm32f103晶元做主機通過iic介面去和它通訊。首先介紹晶元的基本特性,容量為 256 x 8bit 2kbit共有256位元組 位址和資料都是8b...

STM32電燈總結

stm32點亮三個led燈學習總結 在進行位址進行巨集定義時候,一定要強制性型別轉化 現在我們開始對時鐘rcc裡面的rcc apb2 enr使能暫存器進行位址的巨集定義,有 define periph base unsigned int 0x40000000 define ahb periph ba...