在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

GD32 MCU硬件I2C不可靠不如軟件I2C?來看看紅楓派開發版的硬件I2C驅動如何做到穩得一批

聚沃科技 ? 2024-02-23 09:37 ? 次閱讀

在一個評論中,看到網友對硬件I2C的討論,硬件I2C Busy找不到原因、軟件I2C穩得一批。

那么為什么會出現I2C BUSY?硬件I2C真的不如軟件I2C嗎?怎么讓硬件I2C也穩得一批,讓我們來一探究竟。

首先我們從I2C時序分析下I2C總線掛死是如何產生的。

我們來看下I2C的時序和流程:

wKgZomXX9piAC-JfAABf-fjP0y0517.png

wKgaomXX9p6AdZ9vAABj3Ag6XSg389.png

所以總線掛死可能會有幾個原因:

1、主機信號掛死了:

主機IO口損壞、I2C狀態機異常軟件死機

2、主機程序異常:

I2C通信需要主機來主導,主機軟件本身異常了I2C信號也不會繼續產生。

3、從機拉死了總線:

I2C是線與的,所以從機拉低后總線也掛了,主機無法再次拉高發起新的通信。這種情況一般在信號被干擾時從機丟失clock或者增加了clock導致雙方時序沒對齊,從機還維持住一個發送0 bit的狀態就把SDA拉低了。

首先原因1和2是和程序相關,I2C的狀態機流程較多,自行編寫驅動確實容易出現問題,只要使用成熟驅動就可以。大家可以直接使用紅楓派的I2C驅動就避免這類問題,紅楓派的驅動可靠性不比原廠驅動低,經受RTOS、多中斷、干擾等全方面打擊。

wKgZomXX9qSAORzqAAAowZ6DO9Y088.png

對于原因3,既然是干擾多了clock和少了clock導致從機維持拉低SDA的狀態,那我們補齊clock結束這次異常通信不就可以了?

其實這個方法在最新的I2C協議標準中也有說明,不管I2C當前丟失或增加幾個clcok,我們只要讓主機連續補齊9個clock,在9個clock內時序一定會補齊到ACK環節,此時主機維持SDA高狀態就可以讓這次通信以NACK進行結束,從機自然會釋放總線,這個比強制用推挽模式拉高SDA更安全合理。

那么這個異常恢復在紅楓派的驅動里也已經為大家考慮好了,當總線狀態出現異常時,驅動里會自動進行處理恢復總線。

wKgaomXX9qyAeRWWAABEaGqe-dI730.png

那么軟件I2C的弊端在哪里呢?

軟件I2C一般通過IO口控制和延時進行模擬,這意味著整個通信過程會完全依靠并占用CPU,如果我們運行RTOS、或者有高頻中斷就會出現模擬時序過程被打斷,波形會出現頻率變化,波形中途停止等情況,一方面是降低通信效率,另外也可能導致主機沒有在關鍵時間采樣或者輸出數據,出現通信錯誤。

紅楓派開發板上板載了一個I2C的EEPROM,歡迎大家在軟件極其嚴苛、硬件I2C接口隨機進行干擾下驗證例程,體驗下穩得一批的硬件I2C。

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

    關注

    6044

    文章

    44624

    瀏覽量

    638943
  • 嵌入式
    +關注

    關注

    5095

    文章

    19189

    瀏覽量

    307952
  • 硬件
    +關注

    關注

    11

    文章

    3401

    瀏覽量

    66494
  • IIC
    IIC
    +關注

    關注

    11

    文章

    302

    瀏覽量

    38537
  • GD32
    +關注

    關注

    7

    文章

    416

    瀏覽量

    24500
收藏 人收藏

    評論

    相關推薦

    I2C總線通信原理 如何設計I2C總線電路

    I2C總線通信原理 I2C(Inter-Integrated Circuit)總線是種用于集成電路之間進行通信的串行通信協議。它最早由飛利浦公司(現被恩智浦電子收購)于1982年推出,是
    的頭像 發表于 01-31 15:01 ?186次閱讀

    I2C總線的優缺點分析

    設備之間的通信,這大大減少了所需的引腳數量,降低了硬件成本。此外,由于其簡單性,I2C總線也易于實現和維護。 2. 多主機和多從機支持 I2C總線支持多個主機和多個從機,這意味著在同
    的頭像 發表于 01-17 15:50 ?197次閱讀

    I2C總線與Arduino的接口示例

    在現代電子設計中,I2C總線因其簡單性和靈活性而廣受歡迎。它允許多個設備共享同通信線路,從而節省空間和成本。Arduino,作為個多功能的微控制器平臺,自然也支持I2C通信。
    的頭像 發表于 01-17 15:34 ?278次閱讀

    I2C總線的工作模式介紹

    在現代電子系統中,I2C總線作為種多主機、多從機的串行通信協議,扮演著至關重要的角色。它允許多個設備共享同總線,進行數據傳輸,從而簡化了系統設計并降低了成本。 I2C總線的基本特性
    的頭像 發表于 01-17 15:32 ?183次閱讀

    I2C總線故障排除技巧

    I2C總線是種廣泛使用的串行通信協議,它允許多個設備在兩條線上(數據線SDA和時鐘線SCL)進行通信。由于其簡單性和靈活性,I2C總線在嵌入式系統中非常流行。然而,當I2C總線出現問
    的頭像 發表于 01-17 15:20 ?350次閱讀

    I2C總線與單片機的連接

    在現代電子系統中,單片機(MCU)是核心控制單元,而I2C總線作為種多主機、多從機的串行通信協議,因其簡單、高效和節省引腳的特性而被廣泛應用于各種電子設備中。 I2C總線概述
    的頭像 發表于 01-17 15:18 ?208次閱讀

    I2C總線設備地址設置方法

    通常是個7位或10位的數字,用于標識總線上的每個設備。在7位尋址模式下,地址范圍是0x00到0x7F,而在10位尋址模式下,地址范圍是0x000到0x3FF。I2C地址的最低位(LSB)通常用于指示讀/寫操作。 硬件地址設置
    的頭像 發表于 01-17 15:17 ?345次閱讀

    I2C總線應用實例分析

    在現代電子系統中,I2C總線因其簡單、靈活和高效的特點而被廣泛應用于各種設備之間的通信。 I2C總線概述 I2C總線由Philips(現為NXP)在1980年代初期開發,最初用于音頻和
    的頭像 發表于 01-17 15:09 ?207次閱讀

    I2C總線與SPI總線的比較

    在現代電子系統中,微控制器與各種外設之間的通信是必不可少的。I2C和SPI是兩種流行的串行通信協議,它們各自具有獨特的特點和應用場景。 I2C總線 I2C
    的頭像 發表于 01-17 15:08 ?211次閱讀

    RISC V的I2C操作

    system_i2c_0_io_scl_writeEnable = !system_i2c_0_io_scl_write;Interface配置示例I2C寄存器設置在I2C的設置中第
    的頭像 發表于 11-01 11:06 ?322次閱讀

    了解I2C總線

    電子發燒友網站提供《了解I2C總線.pdf》資料免費下載
    發表于 10-08 11:13 ?2次下載
    了解<b class='flag-5'>I2C</b>總線

    I2C基本指南

    電子發燒友網站提供《I2C基本指南.pdf》資料免費下載
    發表于 09-10 09:40 ?0次下載
    <b class='flag-5'>I2C</b>基本指南

    GD32 MCU 入門教程】GD32 MCU 常見外設介紹(7)I2C 模塊介紹

    I2C(Inter-Integrated Circuit)總線是種由Philips公司開發的兩線式串行總線,用于內部IC控制的具有多端控制能力的雙線雙向串行數據總線系統,能夠用于替代標準的并行總線
    的頭像 發表于 08-16 09:54 ?710次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常見外設介紹(7)<b class='flag-5'>I2C</b> 模塊介紹

    簡單認識I2C通信協議

    I2C(Inter-Integrated Circuit)通信協議是由飛利浦公司(現為恩智浦半導體)開發種簡單、雙向二線制同步串行總線協議。自1982年發布以來,I2C協議因其高效
    的頭像 發表于 07-25 18:06 ?1707次閱讀

    什么是I2C協議 I2C總線的控制邏輯

    在實際使用過程中,I2C比較容易出現的個問題就是死鎖 ,死鎖在I2C中主要表現為:I2C死鎖時表現為SCL為高,SDA直為低。
    發表于 03-12 09:17 ?1178次閱讀
    什么是<b class='flag-5'>I2C</b>協議 <b class='flag-5'>I2C</b>總線的控制邏輯
    主站蜘蛛池模板: 成人国产精品一级毛片视频 | 57pao成人永久免费视频 | 四虎影院的网址 | 日本级毛片免费观看 | 五月婷婷六月丁香激情 | 午夜精品在线 | 小说老卫陈红张敏陈法蓉 | 中国农村一级片 | 六月综合网 | 伊人久久成人爱综合网 | 免费国产成高清人在线视频 | 中文字幕不卡免费高清视频 | vip影视免费观看 | 一级特黄女人生活片 | 国产成人精品午夜二三区 | 九九99视频在线观看视频观看 | 精品三级在线观看 | 毛片网站在线 | 99热久久精品免费精品 | 国产激烈床戏无遮挡观看 | 欧美黑人巨大xxxx猛交 | 午夜精品一区二区三区在线观看 | 天天插天天操 | 一区二区手机视频 | 狠狠色丁香久久综合婷婷 | 美女被免费视频网站九色 | 欧美成人午夜精品一区二区 | 亚洲色图 第一页 | 免费公开视频人人人人人人人 | jinv在线视频| 天天狠狠弄夜夜狠狠躁·太爽了 | 久久久xxx| 国产综合图片 | 爽好舒服快小柔小说 | 午夜在线视频国产 | 日本天堂网在线观看 | 婷婷综合激情 | 国产三级在线观看播放 | 日本电影在线观看黄 | 国产天天射 | 日韩二级 |