色噜噜人体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 11:03:18 論文 我要投稿
  • 相關推薦

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

  摘 要: 在一些應用系統中常常使用多片MCU協同實現系統功能,為實現多片MCU之間的數據交換,可以應用多端口RAM,但其結構復雜,成本高;而利用I2C總線使多片MCU之間通過RAM實現數據交換,具有結構簡單、成本低的優點。介紹一種基于I2C總線的多MCU系統的設計,簡要討論I2C總線的結構、工作原理及多MCU競爭仲裁,給出I2C總線的多MCU系統的設計,實現了多MCU系統在實際中的應用。

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

  關鍵詞: I2C總線; 多MCU系統; P89LPC932; 數據交換

  中圖分類號: TN915?04 文獻標識碼: A 文章編號: 1004?373X(2015)09?0016?03

  Abstract: System functions are implemented by multi?MCU collaborative working in some application systems. Although the multi?port RAM can be applied to achieve data exchange among multiple MCUs, its structure is complex and cost is high. Multi?MCU data exchange can be realized by the method to link I2C bus with RAM, which has the advantages of simple structure and low cost. Design of the multi?MCU system based on I2C bus is introduced. The structure, execution principle, multi?MCU competition and arbitration of I2C bus are discussed briefly. The design of multi?MCU system based on I2C bus is given. The application of multi?MCU system in practice was implemented.

  Keywords: I2C; multi?MCU system; P89LPC932; data exchange

  0 引 言

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

  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,在程序中應該設置為開漏方式。電路中為I2C總線的上拉電阻,在具體電路中應適當調整。選擇上拉電阻要考慮的因素主要為供電電源、總線上的電容                值和連接器件數。在《I2C總線協議》中規定,在供電電壓大于2 V,灌電流為3 mA時,輸出低電平不高于0.4 V。在本電路中供電電壓為(3±0.3) V。,因而上拉電阻的最小值為Ω。上拉電阻的取值不能過大,因為上拉電阻R與總線上的電容值C構成的RC電路的時間常數,影響了總線從高電平到低電平的過渡時間,因而影響了通信速率。在快速模式中,SDA,SCL信號從低到高的過渡時間應該不大于300 ns,P89LPC932端口輸出電容為15 pF,因而上拉電阻的最大值為kΩ。在電路中取值為5 kΩ。

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

  4 多MCU系統下的軟件設計

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

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

  LPC932單片機微功耗51內核,內部集成了I2C總線,支持400K高速模式,既可作I2C總線上的主控器件,也可作I2C總線上的從器件。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都可使用該方法。

  參考文獻

  張洪剛,苑秉成,徐瑜,等.基于FPGA和SD卡的水聲信號高速采集與存儲系統設計.電子器件,2009,32(1):208?212.

  肖堃,閆杰,靳文平.基于TMS320F28335的無人機機載智能接口卡設計.機械制造,2013,51(590):17?20.

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

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

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

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

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

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

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

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

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

基于MVC模式的網上書城系統的設計系統建設論文09-01

基于協同辦公的會議管理系統設計系統分析的論文09-28

主站蜘蛛池模板: 乱人伦人妻中文字幕无码久久网 | 欧美精品一区二区久久婷婷 | 亚洲精品性视频 | 日韩在线亚洲 | 国产精品69毛片高清亚洲 | 亚洲熟妇av一区二区三区 | 日韩日韩日韩日韩日韩 | 黄色大片成人 | 伊人色综合久久天天人守人婷 | 黑人巨大精品欧美 | 久久久久久亚洲精品a片成人 | 久久麻豆成人精品 | 日本xxxx18野外无毒不卡 | 无码专区无码专区视频网址 | 超碰在线中文字幕 | 第色| 国产久爱免费精品视频 | 激情视频在线播放 | 亚洲国产网址 | 999久久久免费精品播放 | 羞羞影院午夜男女爽爽免费视频 | 女女同性女同一区二区三区九色 | 国产又大又硬又粗 | 人人玩人人添人人澡超碰偷拍 | 日日噜噜大屁股熟妇 | 国产日产欧产精品品不卡 | 国产欧美一区二区三区免费看 | 国产主播一区二区 | 亚洲欧美bt | 欧美a免费| 午夜成年人视频 | 最近最新中文字幕在线观看 | 成人无码av片在线观看蜜桃 | 失禁潮痉挛潮喷av在线无码 | 亚洲精品一区二区三区四区手机版 | 黑鬼大战白妞高潮喷白浆 | 人妻av一区二区三区精品 | 国产自91精品一区二区 | 亚洲伊人久久成人综合网 | 婷婷激情五月 | 国产一级片一区二区 | 久久影院精品 | 又黄又爽又色无遮挡免费软件国外 | 亚洲 国产 欧美 日韩 | 久操视频免费观看 | 久久亚洲精品国产一区最新章节 | 国产视频在线观看网站 | 国产精品久久久久久久久久久久久久久 | 欧美色亚洲 | 三个熟睡少妇的按摩中文字幕 | 国产麻豆一区二区三区在线观看 | 永久免费观看精品视频 | av国产成人 | 天堂一区在线观看 | 中文欧美字幕 | 国产精品日韩专区第一页 | 色欲aⅴ亚洲情无码av蜜桃 | 一二三四观看视频社区在线 | 天堂国产一区二区三区四区不卡 | 青青视频在线免费观看 | 亚洲特黄| wwwww色| 日本两性视频 | 国产精品久久久久久久白丝制服 | 日韩乱码人妻无码中文字幕视频 | 在线能看的av网站 | 东北老头嫖妓猛对白精彩 | 青青国产视频 | 亚洲v在线 | 中文字幕av无码免费久久 | 亚洲国产影院 | 国产精品无码久久综合 | 国产午夜精品视频在线播放 | 毛片在线免费视频 | 欧洲成人精品 | 亚洲欧美国产欧美色欲 | 国产高清不卡 | 亚洲精品国产精品国产自2022 | 国产精品久久久久永久免费看 | 小优视频污 | 粉嫩av一区二区三区四区免费 | 夜夜春夜夜爽 | 影音先锋新男人av资源站 | 亚洲在av极品无码 | 日本一卡2卡3卡4卡免费乱码网站 | 亚洲精品区午夜亚洲精品区 | 成人国产一区二区精品 | 麻豆国产va免费精品高清在线 | 性做爰高清视频在线观看视频 | 妇子乱av一区二区三区 | 一区视频在线播放 | 少妇无套内谢69xx | 久久久老熟女一区二区三区 | 在线αv | 精人妻无码一区二区三区 | 美女露出粉嫩小奶头在视频18禁 | 日本三级欧美三级 | 亚洲精品一区二区三区99 | 精品无码国产污污污免费网站国产 |