《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > I2C總線接口邏輯分析
I2C總線接口邏輯分析
摘要: I2C總線是具備多CPU系統所需的包括仲裁和高低速設備同步等功能的高性能串行總線。它以兩根連線實現完善的全雙工數據傳送,是各種總線中使用信號線根數最少,并具有自動尋址、多主機時鐘同步和仲裁等功能的總線。
Abstract:
Key words :

1 前言

I2C總線是具備多CPU系統所需的包括仲裁和高低速設備同步等功能的高性能串行總線。它以兩根連線實現完善的全雙工數據傳送,是各種總線中使用信號線根數最少,并具有自動尋址、多主機時鐘同步和仲裁等功能的總線。

目前世界上采用的I2C總線有兩種規范,它們分別是由荷蘭飛利浦公司和日本索尼公司提出的。現在廣泛采用的是飛利浦公司的I2C總線技術規范,它已成為被電子行業認可的總線標準。

由于I2C總線具有標準的規范及眾多帶I2C接口的外圍器件,使得使用I2C總線設計計算機系統變得十分方便、靈活,體積也小,因此在各類實際應用中得到廣泛使用。

2 I2C總線的基本原理

2.1 I2C總線基本結構

I2C總線系統結構靈活,易于模塊化、標準化設計。I2C總線只有兩根信號線,一根是數據線SDA,另一根是時鐘線SCL。所有進入I2C總線系統中的器件都帶有I2C總線接口,符合I2C總線電氣規范的特性;而且采用純軟件尋址方法,無需器件片選線的連接。CPU不僅能通過指令將某個功能器件掛靠或摘離總線,還可對其工作狀況進行檢測,從而實現對硬件系統即簡單又靈活的擴展與控制。各器件供電可不同,但需共地。另外,SDA、SCL需分別接上拉電阻。

SDA、SCL都是雙向的,輸出電路用于向總線上發送數據,輸入電路用于接收總線上的數據。當總線空閑時,兩根線都是高電平。連接總線的器件的輸出端電路必須是集電極開路輸出或開漏輸出,以具有線“與”功能。I2C總線的數據傳送速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下則可達3.4Mbit/s。

I2C總線接口電路結構如圖1所示。
 

2.2 I2C總線數據傳送

I2C總線數據傳輸時必須遵循規定的數據傳送格式,如圖2所示為一次完整的數據傳送格式。啟動信號表明一次傳送的開始,其后為尋址字節,該尋址字節由高7位地址和最低1位方向位組成:方向位為“0”表明寫操作,“1”表明讀操作;在尋址字節后是由方向位指定讀、寫操作的數據字節與應答位;在數據傳送完成后為停止信號。在“啟動”與“停止”之間傳送的數據字節數從理論上來說沒有限制,但每個字節必須為8位,而且每個傳送的字節后面必須跟一個應答位。

當SCL為高電平時,SDA由高電平跳變為低電平,定義為啟動信號;當SCL為低電平時,SDA由低電平跳變為高電平,定義為停止信號。

在SCL為高電平時,SDA上數據需保持穩定方被認為有效;只有在SCL為低電平時,才允許SDA電平狀態變化。

2.3時鐘信號的同步

在I2C總線上傳送信息時的時鐘同步信號是由掛接在SCL線上的所有器件的邏輯“與”完成的。SCL線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使SCL線一直保持低電平,使SCL線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響SCL線的狀態,于是這些器件將進入高電平等待的狀態。當所有器件的時鐘信號都上跳為高電平時,低電平期結束,SCL線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上產生一個同步時鐘。可見,時鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。

 

2.4 總線競爭的仲裁

總線上可能掛接有多個器件,有時會發生兩個或多個主器件同時想占用總線的情況,這種情況叫做總線競爭。I2C總線具有多主控能力,可以對發生在SDA線上的總線競爭進行仲裁,其仲裁原則是這樣的:當多個主器件同時想占用總線時,如果某個主器件發送高電平,而另一個主器件發送低電平,則發送電平與此時SDA總線電平不符的那個器件將自動關閉其輸出級。總線競爭的仲裁是在兩個層次上進行的。首先是地址位的比較,如果主器件尋址同一個從器件,則進入數據位的比較,從而確保了競爭仲裁的可靠性。由于是利用I2C總線上的信息進行仲裁,因此不會造成信息的丟失。

 

3 I2C總線接口邏輯的構成

3.1 I2C總線接口電路的結構

I2C總線接口邏輯框圖如圖5所示。

 

在電路設計中,各功能塊的硬件實現介紹如下。

啟動、停止檢測電路應用兩個D觸發器來分別響應SDA在SCL為高電平時的電平跳變。

移位寄存器電路由9個D觸發器串聯成9級移位寄存器,包括8位字節和1位應答位,實現SDA上數據的串并行轉換。寄存器復位值為“111111110”,接收8位字節后為“0D7D6D5D4D3D2D1D0”,即應答位為“0”,在第9個時鐘時輸出低電平作為應答信號。

可編程地址發生器電路生成器件地址,7位器件地址由器件編號地址(高4位)和引腳地址(低3位)組成。通過改變器件引腳的連接方式,就可改變器件地址,因此使應用方便靈活。

地址比較器電路由門電路組成布爾代數式邏輯,對尋址字節進行判斷。若地址正確則將RS觸發器置“1”,使能譯碼器輸出。

3.2 I2C總線接口工作流程

I2C總線接口工作流程如圖6所示。

 

3.3 Verilog仿真程序

  

4 結束語

目前采用I2C技術的單片機以及外圍器件已廣泛應用于家用電器、通訊設備及各類電子產品中,而且應用范圍將會越來越廣。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国内精品久久影视 | 日韩一区二区三区不卡视频 | 成人午夜私人影院入口 | 99视频在线精品免费观看18 | 久久er热视频在这里精品 | 久久综合免费视频 | 手机看片在线播放 | 国产精品成人观看视频免费 | 99视频在线永久免费观看 | 成人18免费 | 中文字幕乱码中文乱码51精品 | 欧美三级一级 | 欧美亚洲一区二区三区在线 | 99视频免费在线观看 | 91看片淫黄大片.在线天堂 | 欧美成人午夜毛片免费影院 | 欧美日韩精品国产一区二区 | www.av免费| 日本一级特黄a大片在线 | 黄色毛片a | 国产日韩久久久久69影院 | 中文无码日韩欧免费视频 | 成人a视频片在线观看免费 成人a视频在线观看 | 欧美日一级片 | 亚洲在线免费 | 日韩欧美一区二区精品久久 | 亚欧成人 | 在线一区国产 | 女性无套免费网站在线看 | 国产成人高清亚洲一区91 | 国产日产久久高清欧美一区 | 91精品一区二区三区在线观看 | 日本波多野结衣视频 | 91久久国产露脸精品免费 | 欧美成人一级视频 | 国产大学生自拍 | 亚洲国产精品一区二区久 | 中国成人在线视频 | 萌白酱粉嫩jk福利视频在线观看 | 97久久国语露脸精品对白 | 在线91精品国产免费 |