軟體模擬IIC驅動搭建

2021-09-25 16:02:52 字數 1052 閱讀 6499

通過mcu和tm1680的通訊,簡要概述iic通訊協議:

ic通過iic通訊的幾個基本概念:

1,iic的初始化:

軟體模擬iic需要兩個可程式設計io口,分別對應資料和時序匯流排。 初始化iic時,將兩個gpio分別設為輸出(雙向io口),並將電平拉高(產生下降沿,做起始訊號)。

2,iic的起始訊號:

iic的sda在scl為高時,產生乙個下降沿

3,iic終止訊號:

iic的sda在scl為高時,產生乙個上公升沿

4,iic資料傳送:

資料匯流排上傳送的資料必須在時鐘高電平時保持穩定,而資料的改變只有在scl為低時進行。

接受tm1680傳遞的應答訊號

在使用iic的過程中應該注意的問題:

1,iic匯流排上理論上可以掛載 8位位址,減去1位廣播位址,是7位位址,2^7=128,但是位址0x00不用,那就是127個位址。

2,sda和scl電平上下跳變時延時引數很重要,建議配合邏輯儀分析。

3,在操作iic時,建議配合硬體的產品規格書去調。

4,在時序為低時,允許資料進行變換。

隨後附上tm1680的使用者手冊和官方給出的demo(基於51)

模擬iic和硬體iic驅動的區別

所謂硬體i2c對應晶元上的i2c外設,有相應i2c驅動電路,其所使用的i2c管腳也是專用的 軟體i2c一般是用gpio管腳,用軟體控制管腳狀態以模擬i2c通訊波形。硬體i2c的效率要遠高於軟體的,而軟體i2c由於不受管腳限制,介面比較靈活。模擬i2c 是通過gpio,軟體模擬暫存器的工作方式,而硬體...

裸機IIC協議 模擬IO驅動

實際注意 iic也有叫i2c,是半雙工的,不能同時收發,有sda和clk兩條線,一條匯流排上可以掛載多個從裝置,要求從裝置位址不同。下面以bosh的gsensor的bma253為例,來講解iic。從bma253的datasheet可知,通過io接gnd還是vdd可以得到不同的iic位址,我實際是連線...

stm32軟體模擬iic

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