I2C的實現以及對接收訊號的解析

2022-12-07 17:00:04 字數 1365 閱讀 9101

一、 的簡單介紹

只有兩條匯流排線路,一條是序列資料線(sdl),一條是序列時鐘線(scl)。它是乙個真正的多主機匯流排如果兩個或更多主機同時初始化資料傳輸可以通過衝突檢測和仲裁,防止資料被破壞。序列8位雙向資料傳輸速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,在高速模式下可達3.

4mbit/s。連線到相同匯流排的ic 數量只受到匯流排的最大電容400pf 限制。

二、 匯流排的協議定義

只有在匯流排處在「非忙」的狀態時,資料傳輸才能開始。當在「非忙」狀態時,資料線(scl)與時鐘線(sdl)都為高電平。在資料傳輸期間,只要時鐘線為高電平,資料線都必須保持穩定,否則資料線上的任何變化都被視作「啟動」或「停止」訊號。

當時鐘線(scl)為高的時候資料線(sdl)由高變低表示「啟動」,在時鐘線(scl)為高的時候資料線(sdl)由低到高表示「終止」。所以資料傳輸要在時鐘線(scl)為低的時候進行。表1是匯流排術語的定義:

表1是乙個多主機的匯流排,為了避免發生產生混亂,發展出乙個仲裁的過程。

匯流排的時鐘訊號主要由主機來負責,當在總機上傳輸資料的時候,每個主機產生自己的時鐘訊號。

三、匯流排的位址格式

總顯得位址格式分為7位和10位。

7位:在起始條件後,傳送了乙個從機位址。這個位址共有七位,緊接著的是第八位資料方向位(),『1』表示請求資料(讀),『0』表示寫資料(寫)。

資料傳輸一般由主機產生停止位(p)。但是,如果主機仍希望在匯流排上通訊,它可以產生重複起始條件『sr』和定址另乙個從機,而不是首先產生乙個停止條件,在這種傳輸中,可能有不同的讀/寫格式結合。起始條件後的第乙個位元組如圖1:

圖1四、配置模式

在實際中我們應用的是七位的位址模式,由於我們要根據dsp的配置來完成從機,所以我們要根據dsp給定的時序來實現其功能,圖2和圖3為dsp的寫與讀的時序:

圖2 寫時序

圖3讀時序

在寫**的時候我們要求讀和寫在乙個模組中實現,而不是分開的,圖2中sa表示給定的從機位址,因為我們做的是從機,所以位址可以由我們來定義,w表示寫,r表示讀。ack表示的一種反饋訊號。圖2中的「模組」表示的定義的模組名,8bit構成。

「offset」表示的是偏移位址。「模組」和「offset」我們可以理解為命令。接下來傳送的就是資料。

資料以每次8位的形式傳送,每傳送完成一次從機反饋乙個ack訊號。傳送四次共計32bit.

五,解析過程

圖3所示:

圖3收來的資料暫存,存到8bit傳送一次, offset的資料構成ram的位址,資料儲存到ram裡,寬頻是32bit。由model決定片選(cs),傳送到decide which model be selected.由這個模組來決定片選的值。

根據片選(cs)把資料送到所需要的模組。片選資訊見表2。

表2為片選配置表:

I2C匯流排基礎知識

在i2c匯流排中有2個口線 sda和scl,這兩個口線均為oc輸出。oc就是開漏輸出 open collector 的簡稱,有時候也叫od輸出 open drain od是對mos管而言,oc是對雙極型管而言,在用法上沒什麼區別。相對於oc輸出,另一種輸出叫推挽輸出 push pull 一般的mcu...

W24CXX並口I2C讀寫軟體使用說明

w24cxx軟體說明 w24cxx 並口程式設計軟體說明 程式開發 林曉斌 sonicss email 或 sos class txt 開發工具 borland c builder 6.0 updata 1 windriver 5.05b 開發環境 windows 2000 profressiona...

實現以知識為基礎的鐵路安全管理

當今,世界經濟正向以知識為基礎的經濟轉移,人類社會將進入乙個快速發展的知識經濟時代,人們的生產方式 思維方式 生活方式及其他活動方式都將隨之發生深刻變化。鐵路運輸企業如何用知識經濟來改變和滲透安全管理,確保運輸安全,是我們面臨的新課題。1 知識經濟在鐵路安全管理中發揮積極作用 同志說 經濟發展的快一...