色噜噜人体337p人体 I 超碰97观看 I 91久久香蕉国产日韩欧美9色 I 色婷婷我要去我去也 I 日本午夜a I 国产av高清怡春院 I 桃色精品 I 91香蕉国产 I 另类小说第一页 I 日操夜夜操 I 久久性色 I 日韩欧在线 I 国产深夜在线观看 I 免费的av I 18在线观看视频 I 他也色在线视频 I 亚洲熟女中文字幕男人总站 I 亚洲国产综合精品中文第一 I 人妻丰满熟av无码区hd I 新黄色网址 I 国产精品真实灌醉女在线播放 I 欧美巨大荫蒂茸毛毛人妖 I 国产一区欧美 I 欧洲亚洲1卡二卡三卡2021 I 国产亚洲欧美在线观看三区 I 97精品无人区乱码在线观看 I 欧美妇人 I 96精品在线视频 I 国产人免费视频在线观看 I 91麻豆国产福利在线观看

淺談基于I2C總線的多MCU系統設計發展論文

時間:2022-08-04 02:32:17 論文 我要投稿
  • 相關推薦

淺談基于I2C總線的多MCU系統設計發展論文

  引 言

淺談基于I2C總線的多MCU系統設計發展論文

  隨著微電子技術的發展和MCU價格的降低,常常在實際應用中使用多片MCU來協同完成系統功能,以實現更高的性能。在這些系統中多片MCU通過某種方式實現數據交換,其中使用雙口或多口E2PROM是一種常見的方法[1?2]。這種電路結構復雜、成本高,需要軟、硬件解決多MCU訪問的競爭問題,更重要的是目前許多MCU不支持外部總線,不能擴展外部E2PROM,因此無法使用這種方法。I2C總線是由Philips公司推出的芯片間串行傳輸總線。它以規范嚴謹、使用簡單靈活、支持的外圍器件繁多等特點而被廣泛應用。I2C總線具有十分完善的總線協議,在協議的支持下,可以自動處理總線上出現的多MCU訪問的競爭。目前的文獻通常是介紹I2C總線在單MCU系統中的應用[3?4],本文介紹一種利用I2C總線實現多片MCU訪問E2PROM,從而實現數據交換的方法。

  1 I2C總線工作原理

  I2C總線是一種“二線”結構,分別使用“SDA”和“SCL”信號線實現數據傳輸。I2C總線對與其相連的設備采用軟件尋址。每一種器件都有一個特定的7位I2C地址,以便主機了解當前正與其進行通信的器件。這個7位地址的前4位固定,用來指明器件所屬類別,如1010表明是串行E2PROM器件。后3位(如A2,A1和A0)通過硬件管腳進行設置來修改器件的I2C地址。表示地址字節的最低1位(R/W)用來指明主控制器向從機發送(寫,R/W=0)還是接收(讀,R/W=1)來自從機的數據。每個傳輸過程都是以起始條件開始,停止或重新開始條件結束。每一次數據傳送都是由主控制器發起的,如果某一時刻總線上有多個主控器,并且都請求控制總線,這時就要進行總線仲裁處理。一旦一個主控器獲得總線控制權,其他主控器必須等待此主控器發送完一個停止條件并將總線釋放為“空閑”狀態方可重新控制總線。在系統中主控制器通常都由MCU擔任。

  2 多MCU系統下的I2C總線

  I2C總線軟、硬件協議十分巧妙,它可以用于構成多MCU系統。當系統中有多個I2C總線接口單片機時,會出現多MCU競爭的復雜狀態。I2C總線軟、硬件協議以及I2C總線單片機中的SFR保證了多MCU競爭時的協調管理。I2C總線提供的狀態處理軟件能自動處理總線上出現的26種狀態。在使用I2C總線時將這些軟件工具在程序存儲器中定位,利用這些軟件編制出歸一化操作命令,用于I2C總線應用程序設計十分簡單、方便。

  2.1 多MCU竟爭仲裁

  主機只能在總線空閑的時侯啟動傳輸。兩個或多個主機可能在起始條件的最小持續時間內產生一個起始條件,結果在總線上產生一個規定的起始條件。當SCL線是高電平時,仲裁在SDA線發生;這樣,在其他主機發送低電平時,發送高電平的主機將斷開它的數據輸出級,因為總線上的電平與它自己的電平不相同,仲裁可以持續多位。它的第一個階段是比較地址位。如果每個主機都嘗試尋址相同的器件,仲裁會繼續比較數據位(如果是主機—發送器),或者比較響應位(如果是主機—接收器)。因為I2C總線的地址和數據信息由贏得仲裁的主機決定,在仲裁過程中不會丟失信息[5]。

  2.2 主系統的數據傳送過程

  考慮以下實際應用,系統中有兩片單片機,MCU A進行數據采集,并將數據存入E2PROM,MCU B不定時地從E2PROM取出數據(如圖1所示)。傳輸數據的過程如下:

  (1) 假設MCU A要發送信息到E2PROM

  ① MCU A(主機)尋址接收器E2PROM;

  ② MCU A(主機)發送器發送數據到接收器E2PROM;

  ③ MCU A終止傳輸。

  (2) 如果MCU B想從器件E2PROM中接收信息

  ① MCU B(主機)尋址E2PROM(從器件);

  ② MCU B(主機)從E2PROM(從器件)讀數據;

  ③ MCU B終止傳輸。

  (3) 以上兩種情況同時發生時,I2C總線起動總線的競爭仲裁功能

  ① MCU A或MCU B贏得總線的控制權,掌管總線,競爭失敗的微控制器退出總線;

  ② 贏得總線的控制權的微控制器尋址E2PROM(從器件),并進行數據傳輸;

  ③ 贏得總線的控制權的微控制器終止數據傳輸,競爭失敗的微控制器試圖掌控總線,從器件尋址,并進行數據傳輸;

  ④ 數據傳送完畢,總線進入空閑狀態。

  由上可知,在多MCU系統下的數據傳送過程要比單主機系統下復雜得多。但I2C總線軟、硬件協議能進行協調管理,保證數據的可靠傳輸。

  3 多MCU系統的具體實現

  本應用中選用了兩片P89LPC932單片機及一片24系列的E2PROM。P89LPC932中I/O口P1.3和P1.2為復用端口,在用作I2C通信時,P1.3為SDA,P1.2為SCL,在程序中應該設置為開漏方式。電路中[R1、][R2]為I2C總線的上拉電阻,在具體電路中應適當調整。選擇上拉電阻要考慮的因素主要為供電電源、總線上的電容  值和連接器件數。在《I2C總線協議》中規定,在供電電壓大于2 V,灌電流為3 mA時,輸出低電平不高于0.4 V。在本電路中供電電壓為(3±0.3) V。,因而上拉電阻的最小值為[(3.3-0.4)0.003=967 ]Ω。上拉電阻的取值不能過大,因為上拉電阻R與總線上的電容值C構成的RC電路的時間常數,影響了總線從高電平到低電平的過渡時間,因而影響了通信速率。在快速模式中,SDA,SCL信號從低到高的過渡時間應該不大于300 ns,P89LPC932端口輸出電容為15 pF,因而上拉電阻的最大值為[300 ns(0.7×15 pF×3)=9.5 ]kΩ。在電路中[R1,][R2]取值為5 kΩ。

  由于P89LPC932單片機中帶有內部RC振蕩源,在電路中省略了一般51單片機所需要的晶振,因而電路比較簡單。其硬件電路如圖2所示。

  4 多MCU系統下的軟件設計

  I2C總線的通信都是由主機發起的。具體為主機發送起始條件,然后發送要操作的從機地址和讀寫命令。在收到從機應答后,進行相應操作。軟件設計主要包括主機的寄存器的設置及讀寫子程序的設計。

  4.1 P89LPC932單片機I2C寄存器的設置

  LPC932單片機微功耗51內核,內部集成了I2C總線,支持400K高速模式,既可作I2C總線上的主控器件,也可作I2C總線上的從器件[6]。LPC900單片機的I2C總線通過以下6個特殊功能寄存器實現接口:I2CON(I2C控制寄存器?0D8H)、I2DAT(數據寄存器?0DAH)、I2STAT(狀態寄存器?0D9H)、I2ADR(地址寄存器?0DBH)、I2SCLH(占空比寄存器高字節?0DDH)、I2SCLLSCL(占空比寄存器低字節?0DCH)。

  I2C地址寄存器在處于主模式時,該寄存器的內容無效。I2C狀態寄存器是一個8位只讀寄存器,它包含了I2C接口的狀態代碼,最低3位總是為0,I2C一共有26種可能的狀態。

  4.2 多MCU系統下的程序設計

  按照I2C總線的規范,I2C總線數據傳送可分為主發送、主接收、從發送、從接收4種方式。在多MCU模式下有主發送、主接收2種方式。每種方式都有典型的傳送過程,這些數據傳送都是由一些狀態碼標記的總線狀態處理過程組成,因此I2C總線上的一個完整的數據傳送是由多個I2C中斷狀態處理程序來完成的。每出現一個新的狀態,就會產生一次I2C中斷,然后進入該總線的中斷處理程序,處理完畢中斷返回再等待一次新的中斷及狀態處理直至結束。注意以下所說的主機可以是兩片MCU中的任一片,而從機指的是I2C器件。

  I2C總線的數據操作過程及總線狀態處理是在標準軟件包的支持下完成,無須用戶介入,用戶可以通過查詢I2C總線的狀態寄存器就可了解總線的處理狀態,從而做相應的處理。程序設計流程圖如圖3所示。

  I2C通信程序設計要點如下:

  (1) 每次通信的起始條件和停止條件均由主機發起,從機只是負責監聽主機信號。起始條件和停止條件是通過置位I2CON中的STA和STO位達到的。

  (2) 當主機獲得總線,成功發送啟動條件后,地址和數據的發送是通過寫數據寄存器I2DAT達到的。

  (3) 每次發送地址和數據后應該查詢狀態寄存器I2STAT檢查數據發送狀態以進行下一步動作。

  (4) 每次通信完畢后主機和從機均應該釋放總線。

  程序設計過程中值得注意的是:讀寫過程中從器件的地址是變化的,寫過程中E2PROM的地址是0A0H,讀過程中E2PROM的地址是0A1H。

  5 結 語

  本應用以兩片MCU通過I2C總線共享一個存儲器,實現了I2C總線多MCU機應用系統的設計,電路設計簡單,易于擴展,具有較強的實用性。雖然本文是以MCS51內核單片機LPC932為例實現的,并且系統中僅兩片MCU,但實際上任何帶有I2C總線接口的多片MCU都可使用該方法。

【淺談基于I2C總線的多MCU系統設計發展論文】相關文章:

基于數據挖掘的高校教務系統設計論文09-02

基于RFID物品防盜系統的設計方式論文09-02

基于RFID物品防盜系統的設計方式的論文09-01

基于系統設計的科研管理論文09-22

淺談基于嵌入式系統在教學中的應用論文10-03

淺談基于WSN低碳型智能地鐵站能量管理系統設計論文09-28

基于Internet的風機網上選型系統的設計論文09-02

基于XML技術的自動閱卷系統設計與實現論文09-01

基于STM32的μCOSⅢ系統移植的設計論文09-24

多車型翻車機系統優化設計論文09-03

主站蜘蛛池模板: 欧美一区二区三区不卡 | 黄色在线观看免费 | 乱色欧美| 7777精品伊人久久久大香线蕉超级流畅 | 国精产品一区一区三区在线观看 | 美女污污网站 | 欧美 日韩 国产 精品 | 国内精品久久久久影院薰衣草 | 国产91极品白丝呻吟娇喘 | 国产人成高清在线视频99最全资源 | 羞涩的丰满人妻40p 亚洲精品视频网 | 亚洲国产成人无码精品 | 亚洲色大成网站www看下面 | 波多野结衣一区二区三区高清av | 日韩美女啊v在线免费观看 西西人体www大胆高清视频 | 国产黄色高清 | 欧美一区二区在线观看 | 国产天美传媒性色av出轨 | 国产亚洲久久久久久久 | 亚洲中文字幕一区精品自拍 | 欧美精品色婷婷五月综合 | 日韩精品无码中文字幕电影 | 国产精品呻吟高潮 | 久久久久久久久嫩草精品乱码 | 开心五月激情综合婷婷 | 精品乱码久久久久久中文字幕 | 蜜桃臀av在线 | 亚洲色一区二区三区四区 | 蘑菇视频成人 | 色婷婷aⅴ | 国产一级一片 | 污污污污污污www网站免费 | 欧美日韩三级 | 搞逼综合网 | 日韩不卡一二区 | 2021国产手机在线精品 | 天天av天天干 | 国产二区一区 | 小明看欧美日韩免费视频 | 亚洲精品一区二 | 手机看片aⅴ永久免费无码 欧美性久久久久 | 网友自拍区视频精品 | 奇米影视第四色首页 | 三级少妇 | 丰满人妻熟妇乱又伦精品视 | 国产69精品久久久 | 国产成人三区 | 伊人久久大香线蕉成人 | 国产超碰人人做人人爱一二区视品 | 欧美激情自拍偷拍 | 日韩99在线 | 中文 | 五月天开心婷婷 | 国产乱码1卡二卡3卡四卡5 | 一区二区三区四区不卡 | 欧美www在线观看 | 手机字幕在线中文乱码怎么解决 | 色戒av| 国产精品黑丝 | 亚洲高清色图 | 欧美三级免费看 | 色成人www精品永久观看 | 小少呦萝粉国产 | 92午夜福利少妇系列 | 强奷乱码中文字幕乱老妇 | av免费大片| 色拍拍国产精品视频免费观看 | 野外少妇愉情中文字幕 | 伊人久久大香线蕉av最新午夜 | 日韩成人无码片av网站 | 日日日日做夜夜夜夜无码 | 国产羞羞视频在线观看 | 人人澡超碰碰97碰碰碰 | 可以在线看的黄色 | 日韩欧美在线免费观看 | 福利片在线播放 | 国产对白叫床清晰在线播放图片 | 高h猛烈失禁潮喷无码视频 妺妺窝人体色777777 | 人人妻人人澡人人爽精品欧美 | 欧美日韩国产精品一区 | 日本精品毛片一区视频播 | 国产午夜网站 | 国产一区二区三区av在线无码观看 | 神马久久久久久久久久 | 国产亚洲欧美日韩亚洲中文色 | 欧美另类videosbestsex日本 | 久久精品国产免费观看三人同眠 | 国产精品免费av一区二区三区 | 大陆精大陆国产国语精品 | 日韩福利网站 | 伊人网视频 | 亚洲国产精品无码久久电影 | 手机av免费看片 | 五月激情六月丁香激情天堂 | 成人免费视频一区二区三区 | 国产精品一区免费视频 | 久久一本加勒比波多野结衣 | 亚洲中文久久精品无码照片 | 天堂网最新版资源在线 | 国产精品青草久久久久婷婷 |