女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GD32 MCU硬件I2C不可靠不如軟件I2C?來看看紅楓派開發(fā)版的硬件I2C驅(qū)動(dòng)如何做到穩(wěn)得一批

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

在一個(gè)評論中,看到網(wǎng)友對硬件I2C的討論,硬件I2C Busy找不到原因、軟件I2C穩(wěn)得一批。

那么為什么會(huì)出現(xiàn)I2C BUSY?硬件I2C真的不如軟件I2C嗎?怎么讓硬件I2C也穩(wěn)得一批,讓我們來一探究竟。

首先我們從I2C時(shí)序分析下I2C總線掛死是如何產(chǎn)生的。

我們來看下I2C的時(shí)序和流程:

wKgZomXX9piAC-JfAABf-fjP0y0517.png

wKgaomXX9p6AdZ9vAABj3Ag6XSg389.png

所以總線掛死可能會(huì)有幾個(gè)原因:

1、主機(jī)信號掛死了:

主機(jī)IO口損壞、I2C狀態(tài)機(jī)異常軟件死機(jī)

2、主機(jī)程序異常:

I2C通信需要主機(jī)來主導(dǎo),主機(jī)軟件本身異常了I2C信號也不會(huì)繼續(xù)產(chǎn)生。

3、從機(jī)拉死了總線:

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

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

wKgZomXX9qSAORzqAAAowZ6DO9Y088.png

對于原因3,既然是干擾多了clock和少了clock導(dǎo)致從機(jī)維持拉低SDA的狀態(tài),那我們補(bǔ)齊clock結(jié)束這次異常通信不就可以了?

其實(shí)這個(gè)方法在最新的I2C協(xié)議標(biāo)準(zhǔn)中也有說明,不管I2C當(dāng)前丟失或增加幾個(gè)clcok,我們只要讓主機(jī)連續(xù)補(bǔ)齊9個(gè)clock,在9個(gè)clock內(nèi)時(shí)序一定會(huì)補(bǔ)齊到ACK環(huán)節(jié),此時(shí)主機(jī)維持SDA高狀態(tài)就可以讓這次通信以NACK進(jìn)行結(jié)束,從機(jī)自然會(huì)釋放總線,這個(gè)比強(qiáng)制用推挽模式拉高SDA更安全合理。

那么這個(gè)異常恢復(fù)在紅楓派的驅(qū)動(dòng)里也已經(jīng)為大家考慮好了,當(dāng)總線狀態(tài)出現(xiàn)異常時(shí),驅(qū)動(dòng)里會(huì)自動(dòng)進(jìn)行處理恢復(fù)總線。

wKgaomXX9qyAeRWWAABEaGqe-dI730.png

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

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

紅楓派開發(fā)板上板載了一個(gè)I2C的EEPROM,歡迎大家在軟件極其嚴(yán)苛、硬件I2C接口隨機(jī)進(jìn)行干擾下驗(yàn)證例程,體驗(yàn)下穩(wěn)得一批的硬件I2C。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6061

    文章

    44914

    瀏覽量

    646635
  • 嵌入式
    +關(guān)注

    關(guān)注

    5138

    文章

    19524

    瀏覽量

    314697
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3459

    瀏覽量

    67176
  • IIC
    IIC
    +關(guān)注

    關(guān)注

    11

    文章

    306

    瀏覽量

    39135
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    418

    瀏覽量

    25135
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于RT-Thread的I2C(軟件) 實(shí)踐 | 技術(shù)集結(jié)

    、軟硬件介紹(I2C(軟件)I2C種廣泛應(yīng)
    的頭像 發(fā)表于 05-06 18:44 ?167次閱讀
    基于RT-Thread的<b class='flag-5'>I2C</b>(<b class='flag-5'>軟件</b>) 實(shí)踐 | 技術(shù)集結(jié)

    I2C總線復(fù)用

    帝晶智慧屏I2C總線復(fù)用
    的頭像 發(fā)表于 03-11 17:20 ?1294次閱讀

    I2C總線通信原理 如何設(shè)計(jì)I2C總線電路

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

    I2C總線的優(yōu)缺點(diǎn)分析

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

    I2C總線與Arduino的接口示例

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

    I2C總線的工作模式介紹

    在現(xiàn)代電子系統(tǒng)中,I2C總線作為種多主機(jī)、多從機(jī)的串行通信協(xié)議,扮演著至關(guān)重要的角色。它允許多個(gè)設(shè)備共享同總線,進(jìn)行數(shù)據(jù)傳輸,從而簡化了系統(tǒng)設(shè)計(jì)并降低了成本。 I2C總線的基本特性
    的頭像 發(fā)表于 01-17 15:32 ?776次閱讀

    I2C總線故障排除技巧

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

    I2C總線與單片機(jī)的連接

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

    I2C總線設(shè)備地址設(shè)置方法

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

    I2C總線應(yīng)用實(shí)例分析

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

    RISC V的I2C操作

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

    了解I2C總線

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

    I2C基本指南

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

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

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

    簡單認(rèn)識I2C通信協(xié)議

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