stm32—單總線(1-wire)


1-wire基本概念

這是美國的達拉斯半導體公司推出的一項特有的單總線(1-wire)技術。該技術與別的總線不同,它采用一根信號線,既可以傳輸時鍾,又可以傳輸數據,而且數據傳輸是雙向的。因此該總線技術具有線路簡單,硬件開銷少,成本低廉,便於總線擴展和維護等優點。該技術適用於單主機系統,能夠控制一個或者多個從機設備。

1-wire工作原理

單總線(1-wire)即只使用這一根數據線進行數據交換、控制。設備(主機或從機)通過一個漏極開路或三態端口連至該數據線,以允許設備在不發送數據時能夠釋放總線,而讓其它設備使用總線,其內部等效電路如圖所示:

1-wire通信過程

所有的單總線器件都要遵循嚴格的通信協議,其目的以保持數據的完整性。1-wire協議定義了:復位脈沖、應答脈沖、寫0、讀0和讀1時序等信號類型

  • 初始化時序(復位+從機應答)

    主機通過拉低單總線480 ~ 960 us產生復位脈沖,然后釋放總線,進入接收模式。主機釋放總線時,會產生低電平跳變為高電平的上升沿,單總線器件檢測到上升沿之后,延時15 ~ 60 us,單總線器件拉低總線60 ~ 240 us來產生應答脈沖。主機接收到從機的應答脈沖說明單總線器件就緒,初始化過程完成。

  • 寫間隙

    寫間隙有兩種,包括寫0的時間隙和寫1的時間隙。
    當數據線拉低后,在15 ~ 60 us的時間窗口內對數據線進行采樣。如果數據線為低電平,就是寫0,如果數據線為高電平,就是寫1。主機要產生一個寫1時間隙,就必須把數據線拉低,在寫時間隙開始后的15 us內允許數據線拉高。主機要產生一個寫0時間隙,就必須把數據線拉低並保持60 us。

  • 讀間隙

    當主機把總線拉低是,並保持至少1 us后釋放總線,必須在15 us內讀取數據。

文章參考:

作者:文久_
鏈接:https://www.jianshu.com/p/4d4b7f7d9280
來源:簡書


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM