国产午夜精品久久久久免费视-国产午夜三级-国产性大片黄在线观看在线放-国产性老妇女做爰在线-一区一精品-一区在线观看

基于I2C總線的多MCU系統(tǒng)設計發(fā)展論文

時間:2022-08-04 11:03:18 論文 我要投稿
  • 相關推薦

基于I2C總線的多MCU系統(tǒng)設計發(fā)展論文

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

基于I2C總線的多MCU系統(tǒng)設計發(fā)展論文

  關鍵詞: I2C總線; 多MCU系統(tǒng); P89LPC932; 數(shù)據交換

  中圖分類號: 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 引 言

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

  1 I2C總線工作原理

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

  2 多MCU系統(tǒng)下的I2C總線

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

  2.1 多MCU竟爭仲裁

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

  2.2 主系統(tǒng)的數(shù)據傳送過程

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

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

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

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

  ③ MCU A終止傳輸。

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

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

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

  ③ MCU B終止傳輸。

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

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

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

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

  ④ 數(shù)據傳送完畢,總線進入空閑狀態(tài)。

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

  3 多MCU系統(tǒng)的具體實現(xiàn)

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

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

  4 多MCU系統(tǒng)下的軟件設計

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

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

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

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

  4.2 多MCU系統(tǒng)下的程序設計

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

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

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

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

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

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

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

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

  5 結 語

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

  參考文獻

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

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

【基于I2C總線的多MCU系統(tǒng)設計發(fā)展論文】相關文章:

基于數(shù)據挖掘的高校教務系統(tǒng)設計論文09-02

基于RFID物品防盜系統(tǒng)的設計方式論文09-02

基于RFID物品防盜系統(tǒng)的設計方式的論文09-01

基于系統(tǒng)設計的科研管理論文09-22

基于Internet的風機網上選型系統(tǒng)的設計論文09-02

基于XML技術的自動閱卷系統(tǒng)設計與實現(xiàn)論文09-01

基于STM32的μCOSⅢ系統(tǒng)移植的設計論文09-24

多車型翻車機系統(tǒng)優(yōu)化設計論文09-03

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

基于協(xié)同辦公的會議管理系統(tǒng)設計系統(tǒng)分析的論文09-28

主站蜘蛛池模板: 黄色网久久 | 狠狠色欧美亚洲狠狠色五 | 欧美一区二区三区免费播放 | 久久影视一区 | 永久网站www774777视频 | 黄网站在线观看高清免费 | 黄色国产在线观看 | 亚洲五月激情综合图片区 | 国产v亚洲v天堂无码 | 成人18视频日本 | 天天综合射 | 在线播放亚洲精品富二代91 | 黄色网久久 | 久久99久久精品97久久综合 | 中文字幕一区二区三区5566 | 亚洲国产剧情在线精品视 | 免费看毛片的网址 | 在线成人免费观看国产精品 | 日韩在线视频免费看 | 国产三区视频 | 国产成人91| 男女啪啪猛烈到合不拢腿小说网 | 波多野结衣视频免费在线观看 | 在线观看色视频 | 天天干天天操天天摸 | 国产视频色 | 成人在线免费网站 | 欧美不卡在线视频 | 91欧美在线| 日韩免费影院 | 日韩国产精品欧美一区二区 | 国产精品xxxxbbbb18 | 国产成人午夜精品影院游乐网 | 夜色在线影院 | 国产日韩美国成人 | 美女秘密视频白丝 | 涩涩视频在线观看入口 | 97夜夜澡人人爽人人喊中国片 | 久久免费视频7 | 又大又粗又爽的三级小视频 | 香蕉大黄香蕉在线观看 |