精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用PIC16 MSSP模塊進行從機 I2C 通信

454398 ? 來源:eeweb ? 作者:eeweb ? 2021-06-20 18:03 ? 次閱讀

一些中檔增強型內核 PIC16 單片機器件具有主同步串行端口(Master Synchronous Serial Port,MSSP)。MSSP 模塊可用于實現 I2CTM 或 SPI 通信協議。在本應用筆記中,將介紹 I2C 從協議的基礎知識。然后讀者應該更好地了解 MSSP 模塊以及它如何用于 I2C 總線上的從機通信。還將提供代碼示例以幫助讀者將模塊實現到他們自己的設計中。

I2C 總線規范

內部集成電路 (I2C) 總線是由 Philips? Inc. 開發的廣泛使用的行業標準,用于在集成電路(例如串行 EEPROM 或其他微控制器)之間傳輸數據。設備在主/從環境中通信,其中主設備始終發起通信,從設備通過尋址進行控制。I2C 總線可以有一個或多個主設備和一個或多個從設備。主設備是在總線上發起數據傳輸的設備,負責生成總線上使用的串行時鐘。任何尋址的設備都被視為從設備。I2C 協議支持 7 位或 10 位尋址模式。從 MSb 開始,一次執行 8 位數據傳輸。

總線的物理接口由兩條雙向開漏線組成,一條線用于串行時鐘(SCL),另一條線用于串行數據(SDA)。每條線路都需要一個上拉電阻來為線路提供電壓。將線拉到地面被認為是邏輯低點,而讓線浮動被認為是邏輯高點。當總線空閑時,SDA 和 SCL 均為邏輯高電平。數據傳輸速率在標準模式下高達 100 kbits/s,在快速模式下高達 400 kbits/s,在快速模式 Plus 下高達 1 Mbits/s,或在高速模式下高達 3.4 Mbits/s模式。在時鐘的高電平期間,SDA 線上的數據必須是穩定的。SDA 線上的任何變化只能在 SCL 線上的時鐘信號為低電平時發生。為每個傳輸的數據位生成一個時鐘脈沖。

I2C 規范將啟動條件定義為 SDA 線從高電平變為低電平狀態,而 SCL 線為高電平。啟動條件始終由主機生成,表示總線從空閑狀態轉換為活動狀態。I2C 規范規定在開始時不會發生總線沖突;但是,如果 MSSP 模塊在將 SDA 線置為低電平之前對其進行采樣,則可能會發生總線沖突。

停止條件是 SDA 線從低到高狀態的轉換,而 SCL 線為高。在停止有效之前,必須至少出現一個 SCL 低電平時間。因此,如果 SDA 線變為低電平,然后再次變為高電平,而 SCL 線保持高電平,則僅檢測到啟動條件。

poYBAGDPEjaATH0AAABzdY8A3nE945.png

圖 1 I2C 啟動和停止條件

只要停止有效,重新啟動或重復啟動就有效。如果主機希望在終止當前傳輸后保持總線,它可以發出重新啟動。Restart 對從機具有與 Start 相同的效果,重置所有從機邏輯并準備它在地址中計時。主站可能想要尋址同一個或另一個從站。這對于許多 I2C 外設很有用,例如非易失性 EEPROM 存儲器,其中 I2C 寫操作和讀操作連續完成。在這種情況下,寫操作指定要讀取的地址,讀操作獲取數據字節。由于主設備在將內存地址寫入設備后并沒有釋放總線,因此執行一個Restart序列來讀取內存地址的內容。

pYYBAGDPEkCAPloyAABc3vsaifo630.png

圖 2 I2C 重啟條件

在 10 位尋址從機模式下,主機需要重啟才能將數據從尋址的從機中取出。一旦從設備被完全尋址,匹配高地址字節和低地址字節,主設備就可以發出重啟并發送設置了 R/W 位的高地址字節。然后從邏輯將保持時鐘并準備輸出數據。在 10 位模式下與 R/W 清除完全匹配后,設置并保持先前??匹配標志。在停止條件之前,具有 R/W 清除或高地址匹配的高地址失敗。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6032

    文章

    44522

    瀏覽量

    633213
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1482

    瀏覽量

    123336
  • PIC16
    +關注

    關注

    2

    文章

    151

    瀏覽量

    34914
收藏 人收藏

    評論

    相關推薦

    PIC18F I2C總線電容MSSP與Bit-Banging通信錯誤

    PIC18F25K40,我公司使用的主要I2C通信是很差的選擇/設計,幾年后,我試圖解決由于噪聲問題導致的I2C通信錯誤,所以很有趣。我們不
    發表于 11-19 10:19

    選擇PIC18F45 50的MSSP模塊作為I2C或SPI的困難

    嗨,我在選擇PIC18F45 50的MSSP模塊作為I2C或SPI時遇到了一些困難,哪個寄存器選擇了這個?問候,Akshay 以上來自于百度翻譯 以下為原文 Hi,
    發表于 12-21 15:37

    I2C Master到Master通信可能嗎?

    嗨,我有一個項目,一個PIC24FJ256GB210是一個I2C主控器,一個PIC16F18326,一個I2C
    發表于 12-27 16:04

    pic16和gestic之間的I2c通信是否有可用的樣本代碼?

    嗨,我在一個手勢板上使用一個pic16f1947主板和芯片mgc3130。我試著把一個pic18f14k50的狗和手勢芯片連接起來,并且通信工作正常。但當我試著把pic16和mgc31
    發表于 07-26 12:13

    使用MSSPI2C通信LCD屏幕不工作

    我已經能夠使用MSSPI2C通信到我的LCD屏幕,和EuSART藍牙我的手機到HC-06。我通過切換LED來測試這個。當我把兩個程序結合起來時,它就不再工作了。當我啟用EUSAT的
    發表于 03-23 09:04

    使用MCC PIC24F進行I2C故障恢復

    你好!我有APIC24FV16KM204 I2C主控器,它通過通過滑環的導線與I2C通信
    發表于 04-21 09:31

    基于pic單片的模擬I2C通信

    基于pic單片的模擬I2C通信設計
    發表于 05-25 08:58 ?2446次閱讀

    PIC單片I2C模式)實例講解

    PIC單片I2C模式)實例講解
    發表于 01-24 17:21 ?30次下載

    PIC單片I2C模式)詳解

    I2C總線是由Philips公司開發的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。今天就來看看PIC單片使用MSSP
    發表于 11-14 17:24 ?1.3w次閱讀
    <b class='flag-5'>PIC</b>單片<b class='flag-5'>機</b>之<b class='flag-5'>I2C</b>(<b class='flag-5'>從</b>模式)詳解

    使用C18編譯器和MSSP模塊進行I2C?串行EEPROM與PIC18單片的接口設計

    本文主要介紹了使用C18編譯器和MSSP模塊進行I2C?串行EEPROM與PIC18單片
    發表于 06-28 08:25 ?11次下載
    使用<b class='flag-5'>C</b>18編譯器和<b class='flag-5'>MSSP</b><b class='flag-5'>模塊</b><b class='flag-5'>進行</b><b class='flag-5'>I2C</b>?串行EEPROM與<b class='flag-5'>PIC</b>18單片<b class='flag-5'>機</b>的接口設計

    使用MSSP模塊進行Microwire串行行EEPROM與PIC16器件的接口設計

    本應用筆記提供了設計思路和源代碼,以方便設計人員 進行 Microchip 中檔 PIC16F877A 單片和 Microwire 串行 EEPROM 器件之間的通信設計。主控同步串
    發表于 06-28 09:25 ?10次下載
    使用<b class='flag-5'>MSSP</b><b class='flag-5'>模塊</b><b class='flag-5'>進行</b>Microwire串行行EEPROM與<b class='flag-5'>PIC16</b>器件的接口設計

    使用MSSP模塊進行I2C串行EEPROM與PIC16器件的接口設計說明

    Microchip Technology生產的24XXX系列串行EEPROM 兼容 I2C? 通信標準,最大時鐘頻率范圍 100 kHz 到 1 MHz。許多PICmicro?單片機內置MS
    發表于 05-21 08:00 ?0次下載
    使用<b class='flag-5'>MSSP</b><b class='flag-5'>模塊</b><b class='flag-5'>進行</b><b class='flag-5'>I2C</b>串行EEPROM與<b class='flag-5'>PIC16</b>器件的接口設計說明

    使用MSSP模塊進行Microwire串行EEPROM與PIC16器件的接口設計

    使用MSSP模塊進行Microwire串行EEPROM與PIC16器件的接口設計說明。
    發表于 05-11 10:13 ?11次下載

    使用MSSP模塊進行I2C串行EEPROM與PIC16器件的接口設計

    使用MSSP模塊進行I2C串行EEPROM與PIC16器件的接口設計說明。
    發表于 05-11 10:14 ?16次下載

    使用MSSP模塊進行I2C串行EEPROM與PIC18器件的接口設計

    使用MSSP模塊進行I2C串行EEPROM與PIC18器件的接口設計說明。
    發表于 05-11 10:23 ?11次下載