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

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

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

3天內不再提示

硬件TWI使用及案例說明

中穎電子 ? 來源:中穎電子 ? 2023-02-21 17:41 ? 次閱讀

I2C通訊協議具有運行可靠、成本低廉、占用IO資源少等優點,廣泛應用于多級通訊中;中穎芯片硬件TWI(兩線串行接口)接口完全兼容I2C總線協議。

中穎芯片硬件TWI支持功能:

開漏輸出,通訊電平不受VDD影響;

支持主機模式和從機模式;

各個模式均支持發送和接受;

支持多級通訊的仲裁功能;

具有SCL低電平/高電平超時判斷;

器件地址可編程,帶多個地址屏蔽位,支持廣播功能;

支持標準模式(100K)和快速模式(400K);

支持Clock Stretch功能

支持內部上拉電阻功能

中穎芯片硬件TWI注意事項:

硬件TWI在傳輸ACK/NACK響應信號時,在SCL由低跳高后產生TWI中斷標志(TWINT),并在SCL由高跳低時拉低SCL,在TWI中斷標志清除后釋放SCL;

TWI中斷標志(TWINT)在被清除前,TWI通訊會暫停,應用程序必須在TWI中斷標志(TWINT)清除前決定后續的動作;

硬件TWI規定通訊過程中SCL總線維持高電平超過TFREE定義的時鐘個數時為“空閑”狀態,釋放總線;此功能無法關閉。

硬件TWI規定參與傳輸的所有器件,將時鐘線SCL維持低電平超過CNT定義的時鐘個數時為“總線超時”,釋放總線;此功能無法關閉。

硬件TWI通訊注意事項:

TWI中斷標志(TWINT)置起后,軟件配置TWI即將執行的動作(如發送數據、回應ACK/NACK、發送STO/清除STA信號等)后方可清除TWI中斷標志(TWINT);

硬件TWI作為從機時,在每次通訊開始前,提前將應答信號準備好(AA=1);

為了增強通訊抗干擾能力,程序中建議增加SCL高電平超時判斷、總線超時判斷、特殊狀態機(00H)判斷;

硬件TWI操作流程示意圖:

9bb2ad56-b1cb-11ed-bfe3-dac502259ad0.png

硬件TWI出錯案例:

硬件TWI通信錯誤(從機)

原因:外界存在干擾。

當從機TWI狀態機為B8時,從機繼續向主機發送數據,且準備NACK信號,此時若外接干擾造成從機識別主機回傳的信號非正常信號,則從機狀態機會跳到非正常狀態機中,此時程序中未對應答信號做處理,造成當此輪通訊結束后,在開始下一輪通訊時,從機無ACK信號造成無法響應主機通訊。

TWI默認開啟SCK高電平超時功能,待發送完最后一個字節,此時AA清零;此時若存在因主機通訊或干擾造成SCK高電平超時時,TWI模塊會自動釋放總線,此時AA仍然保持為之前的NACK狀態,造成在下一輪通訊時無法響應主機通訊,通訊異常;

改善方案: 在傳輸完成最后一個字節數據后AA置位,這樣即使發生異常情況,待下一組時序到來時,從機仍能夠正常響應主機;在程序其他異常狀態下置位AA,即使通信受到干擾,跳轉到異常狀態,仍能進行下一次的通訊響應。下圖列出TWI中斷代碼改善前后的代碼。

9bcd35ae-b1cb-11ed-bfe3-dac502259ad0.png

圖1改善前

9be5d212-b1cb-11ed-bfe3-dac502259ad0.png

圖2改善后





審核編輯:劉清

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

    關注

    0

    文章

    7

    瀏覽量

    8062
  • SCL
    SCL
    +關注

    關注

    1

    文章

    239

    瀏覽量

    17040
  • I2C接口
    +關注

    關注

    1

    文章

    124

    瀏覽量

    25144
  • VDD
    VDD
    +關注

    關注

    1

    文章

    311

    瀏覽量

    33123

原文標題:硬件TWI使用說明及案例

文章出處:【微信號:SINO_25181447,微信公眾號:中穎電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    全志R128 SDK HAL 模塊開發指南——TWI

    /hal_twi.c /* hal層接口代碼 */ |??include/hal/sunxi_hal_twi.h /* 頭文件 */ 模塊接口說明 頭文件: #include <
    發表于 04-10 16:58

    【LeMaker Guitar試用體驗】9.Lemuntu系統twi接口分析1

    沒有類似下圖這樣明確的開始和停止條件說明。也沒有下面很明確的地址尋址說明.數據傳輸的時序圖倒是有一個下面是3個twi接口的地址和每個twi內部寄存器
    發表于 02-24 13:37

    TWI為什么會分出800KHz的工作頻率呢

    修改了uart的時鐘源為50M,twi也會被修改為50M。dts中給某一條twi總線設置的時鐘頻率為400k,但是實際測得該twi的時鐘頻率為833kHz。twi的工作頻率會根據時鐘源
    發表于 12-29 06:25

    Arduino/8266 I2C無法找到與twi.h一起使用的twi.cpp怎么解決?

    我正在嘗試深入了解 Arduino/8266 I2C 通信的核心,我發現了 8266 的特定版本: Wire.h Wire.ccp twi.h 但一直無法找到與 twi.h 一起使用的 twi.cpp。通常它與 .h 文件位
    發表于 05-04 06:29

    AVR TWI讀寫范例程序(AT24C02)

    本程序簡單的示范了如何使用ATMEGA16的TWI 讀寫AT24C02 IIC EEPROM    TWI協議      (即IIC協議,請認真參考IIC協議的內容,否則根本就不能掌握)&nb
    發表于 10-31 21:21 ?257次下載

    MN1872432TWI 微處理器

    MN1872432TWI 微處理器
    發表于 04-12 14:06 ?26次下載
    MN1872432<b class='flag-5'>TWI</b> 微處理器

    AVR單片機的TWI總線的原理及應用

      AVR系列的單片機內部集成了TWI(Two-wire SerialInterface)總線。該總線具有I2C總線的特點,即接線簡單,外部硬件只需兩個上拉電阻,使用時鐘線SCL和數據線SDA就可以將128個不同的設
    發表于 07-29 10:40 ?2966次閱讀
    AVR單片機的<b class='flag-5'>TWI</b>總線的原理及應用

    基于AVR單片機的TWI總線原理分析(下)

    AVR單片機片內TWI總線的原理和使用
    的頭像 發表于 07-04 10:51 ?3617次閱讀

    AVR單片機:關于片內TWI總線的原理和使用介紹(1)

    AVR單片機片內TWI總線的原理和使用
    的頭像 發表于 07-11 00:27 ?3265次閱讀
    AVR單片機:關于片內<b class='flag-5'>TWI</b>總線的原理和使用介紹(1)

    AVR單片機的TWI總線的原理是怎樣的有什么樣的應用

    在簡要對比TWI 總線與I2C 總線的基礎上,詳細介紹TWI 總線的內部模塊、工作時序和工作模式,并給出一個編程實例加以說明,對TWI 總線和傳統的I2C 總線的正確區分及使用具有現實
    發表于 10-26 14:34 ?1次下載
    AVR單片機的<b class='flag-5'>TWI</b>總線的原理是怎樣的有什么樣的應用

    TWI模塊作為I2C主器件

    在于它可以使用相同的總線和仲裁來尋址最多 128 個器件,并且總線上可以有多個主器件。? 大多數Microchip AVR器件中都包含一個硬件 TWI 模塊。? 今天推薦的應用筆記以全功能驅動程序的形式
    的頭像 發表于 02-08 09:50 ?2301次閱讀

    AVR315:將TWI模塊作為I2C主器件

    雙線串行接口(Two-Wire Interface,TWI)兼容 Philips I2C 協議。該總線能夠在電子設備中的集成電路之間實現簡單、可靠且經濟高效的通信。TWI 總線的優勢在于它可以使用相同的總線和仲裁來尋址最多 128 個器件,并且總線上可以有多個主器件。
    發表于 03-31 10:38 ?4次下載
    AVR315:將<b class='flag-5'>TWI</b>模塊作為I2C主器件

    中穎芯片硬件TWI支持功能

    硬件TWI在傳輸ACK/NACK響應信號時,在SCL由低跳高后產生TWI中斷標志(TWINT),并在SCL由高跳低時拉低SCL,在TWI中斷標志清除后釋放SCL;
    發表于 07-14 16:12 ?1530次閱讀

    Linux TWI開發指南

    介紹 Sunxi 平臺上 TWI 驅動接口與調試方法,為 TWI 模塊開發提供參考。
    的頭像 發表于 03-06 10:24 ?1512次閱讀
    Linux <b class='flag-5'>TWI</b>開發指南

    什么是TWI 如何為I2C通信配置TWI

    電子發燒友網站提供《什么是TWI 如何為I2C通信配置TWI.pdf》資料免費下載
    發表于 09-25 10:07 ?0次下載
    什么是<b class='flag-5'>TWI</b> 如何為I2C通信配置<b class='flag-5'>TWI</b>