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

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

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

關(guān)于1-Wire單總線的介紹與原理及應(yīng)用

strongerHuang ? 來(lái)源:面包板社區(qū) ? 作者:strongerHuang ? 2021-03-21 09:27 ? 次閱讀

嵌入式底層通信中,像485總線、I2C總線等都是比較常見(jiàn)的通信總線。

今天給大家分享一種相對(duì) 485、I2C沒(méi)有那么流行,但也是一種常用的總線:1-Wire單總線。

1 1-Wire介紹

1-Wire,即大家說(shuō)的單總線。

單總線是美國(guó)DALLAS公司推出的外圍串行擴(kuò)展總線技術(shù)。與SPI、I2C串行數(shù)據(jù)通信方式不同.它采用單根信號(hào)線,既傳輸時(shí)鐘又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,具有節(jié)省I/O口線、資源結(jié)構(gòu)簡(jiǎn)單、成本低廉、便于總線擴(kuò)展和維護(hù)等諸多優(yōu)點(diǎn)。

7d7e93b4-8927-11eb-8b86-12bb97331649.png

1-Wire器件按照串行協(xié)議進(jìn)行供電和數(shù)據(jù)通信,能夠以無(wú)與倫比的優(yōu)勢(shì)為系統(tǒng)增添特定功能,大大簡(jiǎn)化系統(tǒng)的互聯(lián)電路。

1-Wire 產(chǎn)品特點(diǎn) :

通過(guò)單線接口提供器件控制及操作

每個(gè)器件具有唯一的工廠光刻ID

通過(guò)單總線供電(“寄生電源”)

可掛接多點(diǎn):?jiǎn)我豢偩€可掛接多個(gè)器件

提供額外的ESD保護(hù)

2 1-Wire原理

顧名思義,單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制都由這根線完成。

設(shè)備(主機(jī)或從機(jī))通過(guò)一個(gè)漏極開(kāi)路或三態(tài)端口連至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放總線,而讓其它設(shè)備使用總線,其內(nèi)部等效電路如圖所示:

7da2b118-8927-11eb-8b86-12bb97331649.png

單總線通常要求外接一個(gè)約為4.7kΩ的上拉電阻,這樣,當(dāng)總線閑置時(shí),其狀態(tài)為高電平。

主機(jī)和從機(jī)之間的通信主要通過(guò)3個(gè)步驟完成,分別為:初始化1-wire器件、識(shí)別1-wire器件和交換數(shù)據(jù)。

由于它們是主從結(jié)構(gòu),只有主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,因此主機(jī)訪問(wèn)1-wire器件都必須嚴(yán)格遵循單總線命令序列,即初始化、ROM、命令功能命令。如果出現(xiàn)序列混亂,1-wire器件將不響應(yīng)主機(jī)(搜索ROM命令,報(bào)警搜索命令除外)。

3 1-Wire時(shí)序描述

所有的單總線器件都要遵循嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。

1-wire協(xié)議定義了復(fù)位脈沖、應(yīng)答脈沖、寫(xiě)0、讀0和讀1時(shí)序等幾種信號(hào)類型。

所有的單總線命令序列(初始化,ROM命令,功能命令)都是由這些基本的信號(hào)類型組成的。在這些信號(hào)中,除了應(yīng)答脈沖外,其它均由主機(jī)發(fā)出同步信號(hào),并且發(fā)送的所有命令和數(shù)據(jù)都是字節(jié)的低位在前。

7dc2a52c-8927-11eb-8b86-12bb97331649.png

其中,(a)是初始化時(shí)序,初始化時(shí)序包括主機(jī)發(fā)出的復(fù)位脈沖和從機(jī)發(fā)出的應(yīng)答脈沖。主機(jī)通過(guò)拉低單總線至少480μs產(chǎn)生Tx復(fù)位脈沖;然后由主機(jī)釋放總線,并進(jìn)入Rx接收模式。主機(jī)釋放總線時(shí),會(huì)產(chǎn)生一由低電平跳變?yōu)楦唠娖降纳仙?,單總線器件檢測(cè)到該上升沿后,延時(shí)15~60μs,接著單總線器件通過(guò)拉低總線60~240μsμ來(lái)產(chǎn)生應(yīng)答脈沖。主機(jī)接收到從機(jī)的以應(yīng)答脈沖后,說(shuō)明有單總線器件在線,然后主機(jī)就可以開(kāi)始對(duì)從機(jī)進(jìn)行ROM命令和功能命令操作。

圖中的(b)、(c)、(d)分別是寫(xiě)1、寫(xiě)0和讀時(shí)序。在每一個(gè)時(shí)序中,總線只能傳輸一位數(shù)據(jù)。所有的讀、寫(xiě)時(shí)序至少需要60μs,且每?jī)蓚€(gè)獨(dú)立的時(shí)序之間至少需要1μs的恢復(fù)時(shí)間。

圖中,讀、寫(xiě)時(shí)序均始于主機(jī)拉低總線。在寫(xiě)時(shí)序中,主機(jī)將在拉低總線15μs之內(nèi)釋放總線,并向單總線器件寫(xiě)1;若主機(jī)拉低總線后能保持至少60μs的低電平,則向單總線器件寫(xiě)0。單總線器件僅在主機(jī)發(fā)出讀時(shí)序時(shí)才向主機(jī)傳輸數(shù)據(jù),所以,當(dāng)主機(jī)向單總線器件發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便單總線器件能傳輸數(shù)據(jù)。

在主機(jī)發(fā)出讀時(shí)序之后,單總線器件才開(kāi)始在總線上發(fā)送0或1。若單總線器件發(fā)送1,則總線保持高電平,若發(fā)送0,則拉低總線。

由于單總線器件發(fā)送數(shù)據(jù)后可保持15μs有效時(shí)間,因此,主機(jī)在讀時(shí)序期間必須釋放總線,且須在15μs的采樣總線狀態(tài),以便接收從機(jī)發(fā)送的數(shù)據(jù)。

4 1-Wire應(yīng)用

單總線應(yīng)用在很多領(lǐng)域,比如:?jiǎn)慰偩€IC器件、存儲(chǔ)器、溫濕度傳感器、邏輯器件、時(shí)鐘芯片等。

學(xué)習(xí)過(guò)單片機(jī)的同學(xué),應(yīng)該大多數(shù)都用過(guò)DS18B20這個(gè)經(jīng)典的溫度傳感器,單片機(jī)與它的連接(通信)就是通過(guò)單總線(1-Wire)實(shí)現(xiàn)的。

DS18B20電路圖:

7e46e56c-8927-11eb-8b86-12bb97331649.jpg

DS18B20單總線應(yīng)用:

此外,很多器件(模組)為了適應(yīng)不同需求,會(huì)兼容很多通信接口,比如I2C、 SPI、 1-wire同時(shí)支持。

除了這個(gè)經(jīng)典的DS18B20之外,其實(shí)我們接觸的很多器件,也是支持單總線通信的。
編輯:lyn

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

    關(guān)注

    5052

    文章

    18914

    瀏覽量

    300847
  • 數(shù)據(jù)通信
    +關(guān)注

    關(guān)注

    2

    文章

    426

    瀏覽量

    33709
  • 單總線
    +關(guān)注

    關(guān)注

    1

    文章

    36

    瀏覽量

    12377

原文標(biāo)題:經(jīng)典的1-Wire單總線原理及應(yīng)用

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PGA308讀寫(xiě)過(guò)程中的28ms延時(shí)復(fù)位1-wire接口是硬件實(shí)現(xiàn)的還是需要編程實(shí)現(xiàn)?

    請(qǐng)問(wèn),PGA308讀寫(xiě)過(guò)程中的28ms延時(shí)復(fù)位1-wire接口是硬件實(shí)現(xiàn)的還是需要編程實(shí)現(xiàn)?
    發(fā)表于 09-24 07:17

    TMP1820 1-Wire?、1.7V 至 5.5V 總線供電電源、±0.3°C 精確數(shù)字溫度傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMP1820 1-Wire?、1.7V 至 5.5V 總線供電電源、±0.3°C 精確數(shù)字溫度傳感器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 10:27 ?0次下載
    TMP1820 <b class='flag-5'>1-Wire</b>?、1.7V 至 5.5V <b class='flag-5'>總線</b>供電電源、±0.3°C 精確數(shù)字溫度傳感器數(shù)據(jù)表

    TMP1827 具有 SHA-256-HMAC 認(rèn)證引擎、2Kb EEPROM 的 1-Wire?、±0.2°C 精度溫度傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMP1827 具有 SHA-256-HMAC 認(rèn)證引擎、2Kb EEPROM 的 1-Wire?、±0.2°C 精度溫度傳感器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 10:20 ?0次下載
    TMP1827 具有 SHA-256-HMAC 認(rèn)證引擎、2Kb EEPROM 的 <b class='flag-5'>1-Wire</b>?、±0.2°C 精度溫度傳感器數(shù)據(jù)表

    TMP1826 具有 2Kb EEPROM 的 1-Wire?、±0.2°C 精度溫度傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMP1826 具有 2Kb EEPROM 的 1-Wire?、±0.2°C 精度溫度傳感器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 10:07 ?0次下載
    TMP1826 具有 2Kb EEPROM 的 <b class='flag-5'>1-Wire</b>?、±0.2°C 精度溫度傳感器數(shù)據(jù)表

    256位1-Wire EEPROM存儲(chǔ)器GXE00產(chǎn)品概述

    GXE00是一款 256 位 1-Wire EEPROM的存儲(chǔ)芯片, 用于識(shí)別和保存產(chǎn)品的相關(guān)信息,識(shí)別碼和這些相關(guān)信息可以通過(guò)最少的接口(例如,微控制器的一個(gè)端口)進(jìn)行訪問(wèn)。
    的頭像 發(fā)表于 07-30 14:36 ?474次閱讀

    FPGA中的單總線協(xié)議設(shè)計(jì)(附示例代碼)

    ),這樣可以減少硬件連接的復(fù)雜度和成本。1什么是單總線協(xié)議?單總線協(xié)議是一種共享總線的通信方式,主要特點(diǎn)是所有設(shè)備共用一條通信線路。通常,單總線
    的頭像 發(fā)表于 05-31 08:21 ?552次閱讀
    FPGA中的<b class='flag-5'>單總線</b>協(xié)議設(shè)計(jì)(附示例代碼)

    具有3態(tài)輸出的單總線緩沖門SN74LVC1G125數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有3態(tài)輸出的單總線緩沖門SN74LVC1G125數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-09 10:13 ?0次下載
    具有3態(tài)輸出的<b class='flag-5'>單總線</b>緩沖門SN74LVC<b class='flag-5'>1</b>G125數(shù)據(jù)表

    具有3態(tài)輸出的單總線緩沖門SN74LVC1G126數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有3態(tài)輸出的單總線緩沖門SN74LVC1G126數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-07 10:44 ?0次下載
    具有3態(tài)輸出的<b class='flag-5'>單總線</b>緩沖門SN74LVC<b class='flag-5'>1</b>G126數(shù)據(jù)表

    請(qǐng)問(wèn)1-Wire網(wǎng)線如何連接USB適配器?

    ADI/Maxim的 DS1402 系列1-Wire網(wǎng)絡(luò)電纜提供與任何USB、串行或并行端口1-Wire適配器的連接。經(jīng)常有客戶詢問(wèn)DS1402如何連接USB適配器。許多客戶對(duì)規(guī)格書(shū)上的連接性矩陣表感到困惑。
    的頭像 發(fā)表于 03-28 11:39 ?726次閱讀
    請(qǐng)問(wèn)<b class='flag-5'>1-Wire</b>網(wǎng)線如何連接USB適配器?

    詳細(xì)分析機(jī)電1-Wire接觸封裝解決方案及其安裝方法

    本文介紹已獲專利的適用于機(jī)電接觸應(yīng)用的1-Wire接觸封裝解決方案,并對(duì)比傳統(tǒng)的封裝解決方案以展示1-Wire接觸封裝解決方案的優(yōu)越性。本文還就如何將該解決方案安裝到配件或耗材提供了建議,并作了機(jī)械
    的頭像 發(fā)表于 12-18 18:25 ?1471次閱讀
    詳細(xì)分析機(jī)電<b class='flag-5'>1-Wire</b>接觸封裝解決方案及其安裝方法

    機(jī)電1-Wire接觸封裝解決方案及其安裝方法介紹

    本文介紹已獲專利的適用于機(jī)電接觸應(yīng)用的1-Wire接觸封裝解決方案,并對(duì)比傳統(tǒng)的封裝解決方案以展示1-Wire接觸封裝解決方案的優(yōu)越性。
    的頭像 發(fā)表于 12-18 18:23 ?1097次閱讀
    機(jī)電<b class='flag-5'>1-Wire</b>接觸封裝解決方案及其安裝方法<b class='flag-5'>介紹</b>

    單總線接口I2C轉(zhuǎn)單總線GX28E17產(chǎn)品概述

    1-Wire總線中具有唯一的ROM ID用作節(jié)點(diǎn)地址,從而確保芯片可以與1-Wire總線中其他設(shè)備共存,并且可以單獨(dú)訪問(wèn)而不影響其他設(shè)備。
    的頭像 發(fā)表于 12-08 15:10 ?615次閱讀
    <b class='flag-5'>單總線</b>接口I2C轉(zhuǎn)<b class='flag-5'>單總線</b>GX28E17產(chǎn)品概述

    雙通道可編程I/O 1-Wire芯片GX2413產(chǎn)品概述

    GX2413是雙通道可編程I / O 1-Wire芯片。 PIO輸出配置為開(kāi)漏,提供高達(dá)20mA的連續(xù)吸收能力和高達(dá)28V的關(guān)斷狀態(tài)工作電壓。 使用專用的設(shè)備級(jí)命令協(xié)議來(lái)執(zhí)行PIO PIN的控制和感
    的頭像 發(fā)表于 12-07 09:40 ?605次閱讀
    雙通道可編程I/O <b class='flag-5'>1-Wire</b>芯片GX2413產(chǎn)品概述

    GXE00系列256位1-Wire EEPROM產(chǎn)品概述

    讀寫(xiě)操作所需要的電源可從 1-Wire 傳輸線獲取。數(shù)據(jù)傳輸按照單總線協(xié)議進(jìn)行,只需要一根數(shù)據(jù)線和一根地線。激光刻制在每個(gè) GXE00 中的 48 位序列號(hào)是絕對(duì)唯一的,可作為器件的 ID。采用緊湊
    的頭像 發(fā)表于 12-05 16:35 ?729次閱讀
    GXE00系列256位<b class='flag-5'>1-Wire</b> EEPROM產(chǎn)品概述

    如何將1-Wire主機(jī)復(fù)用到多個(gè)通道?

    如何將1-Wire主機(jī)復(fù)用到多個(gè)通道? 1-Wire是一種串行通信協(xié)議,可用于連接各種感測(cè)器和芯片,如溫度傳感器、濕度傳感器、EEPROM等。通常情況下,每個(gè)1-Wire主機(jī)(例如單片機(jī))只能連接一
    的頭像 發(fā)表于 10-29 14:21 ?508次閱讀