在嵌入式底層通信中,像485總線、I2C總線等都是比較常見的通信總線。
今天給大家分享一種相對 485、I2C沒有那么流行,但也是一種常用的總線:1-Wire單總線。
單總線1-Wire介紹
1-Wire,即大家說的單總線。
單總線是美國DALLAS公司推出的外圍串行擴展總線技術(shù)。與SPI、I2C串行數(shù)據(jù)通信方式不同.它采用單根信號線,既傳輸時鐘又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,具有節(jié)省I/O口線、資源結(jié)構(gòu)簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點。
1-Wire器件按照串行協(xié)議進行供電和數(shù)據(jù)通信,能夠以無與倫比的優(yōu)勢為系統(tǒng)增添特定功能,大大簡化系統(tǒng)的互聯(lián)電路。
1-Wire 產(chǎn)品特點 :
通過單線接口提供器件控制及操作
每個器件具有唯一的工廠光刻ID
通過單總線供電(“寄生電源”)
可掛接多點:單一總線可掛接多個器件
提供額外的ESD保護
1-Wire原理
顧名思義,單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制都由這根線完成。
設(shè)備(主機或從機)通過一個漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時能夠釋放總線,而讓其它設(shè)備使用總線,其內(nèi)部等效電路如圖所示:
單總線通常要求外接一個約為4.7kΩ的上拉電阻,這樣,當(dāng)總線閑置時,其狀態(tài)為高電平。
主機和從機之間的通信主要通過3個步驟完成,分別為:初始化1-wire器件、識別1-wire器件和交換數(shù)據(jù)。
由于它們是主從結(jié)構(gòu),只有主機呼叫從機時,從機才能應(yīng)答,因此主機訪問1-wire器件都必須嚴(yán)格遵循單總線命令序列,即初始化、ROM、命令功能命令。如果出現(xiàn)序列混亂,1-wire器件將不響應(yīng)主機(搜索ROM命令,報警搜索命令除外)。
1-Wire時序描述
所有的單總線器件都要遵循嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。
1-wire協(xié)議定義了復(fù)位脈沖、應(yīng)答脈沖、寫0、讀0和讀1時序等幾種信號類型。
所有的單總線命令序列(初始化,ROM命令,功能命令)都是由這些基本的信號類型組成的。在這些信號中,除了應(yīng)答脈沖外,其它均由主機發(fā)出同步信號,并且發(fā)送的所有命令和數(shù)據(jù)都是字節(jié)的低位在前。
其中,(a)是初始化時序,初始化時序包括主機發(fā)出的復(fù)位脈沖和從機發(fā)出的應(yīng)答脈沖。主機通過拉低單總線至少480μs產(chǎn)生Tx復(fù)位脈沖;然后由主機釋放總線,并進入Rx接收模式。主機釋放總線時,會產(chǎn)生一由低電平跳變?yōu)楦唠娖降纳仙兀瑔慰偩€器件檢測到該上升沿后,延時15~60μs,接著單總線器件通過拉低總線60~240μsμ來產(chǎn)生應(yīng)答脈沖。主機接收到從機的以應(yīng)答脈沖后,說明有單總線器件在線,然后主機就可以開始對從機進行ROM命令和功能命令操作。
圖中的(b)、(c)、(d)分別是寫1、寫0和讀時序。在每一個時序中,總線只能傳輸一位數(shù)據(jù)。所有的讀、寫時序至少需要60μs,且每兩個獨立的時序之間至少需要1μs的恢復(fù)時間。
圖中,讀、寫時序均始于主機拉低總線。在寫時序中,主機將在拉低總線15μs之內(nèi)釋放總線,并向單總線器件寫1;若主機拉低總線后能保持至少60μs的低電平,則向單總線器件寫0。單總線器件僅在主機發(fā)出讀時序時才向主機傳輸數(shù)據(jù),所以,當(dāng)主機向單總線器件發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便單總線器件能傳輸數(shù)據(jù)。
在主機發(fā)出讀時序之后,單總線器件才開始在總線上發(fā)送0或1。若單總線器件發(fā)送1,則總線保持高電平,若發(fā)送0,則拉低總線。
由于單總線器件發(fā)送數(shù)據(jù)后可保持15μs有效時間,因此,主機在讀時序期間必須釋放總線,且須在15μs的采樣總線狀態(tài),以便接收從機發(fā)送的數(shù)據(jù)。
1-Wire應(yīng)用
單總線應(yīng)用在很多領(lǐng)域,比如:單總線IC器件、存儲器、溫濕度傳感器、邏輯器件、時鐘芯片等。
學(xué)習(xí)過單片機的同學(xué),應(yīng)該大多數(shù)都用過DS18B20這個經(jīng)典的溫度傳感器,單片機與它的連接(通信)就是通過單總線(1-Wire)實現(xiàn)的。
DS18B20電路圖:
DS18B20單總線應(yīng)用:
此外,很多器件(模組)為了適應(yīng)不同需求,會兼容很多通信接口,比如I2C、 SPI、 1-wire同時支持。
除了這個經(jīng)典的DS18B20之外,其實我們接觸的很多器件,也是支持單總線通信的。
原文標(biāo)題:通信教程 | 1-Wire單總線原理及應(yīng)用
文章出處:【微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
數(shù)據(jù)線
+關(guān)注
關(guān)注
8文章
283瀏覽量
37719 -
時鐘芯片
+關(guān)注
關(guān)注
2文章
249瀏覽量
39878 -
單總線
+關(guān)注
關(guān)注
1文章
36瀏覽量
12399 -
1-Wire
+關(guān)注
關(guān)注
0文章
49瀏覽量
21306
原文標(biāo)題:通信教程 | 1-Wire單總線原理及應(yīng)用
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論