雖然物聯(lián)網(wǎng) (IoT) 和工業(yè)物聯(lián)網(wǎng) (IIoT) 端點(diǎn)擁有局部控制區(qū)域是很常見(jiàn)的,但有些需要連接到距離主微控制器位置一米以外的簡(jiǎn)單傳感器。傳統(tǒng)做法是,SPI 或 I2C 串行接口用于方便地與這些傳感器通信。然而,隨著控制算法變得更加復(fù)雜且需要部署更多的傳感器,微控制器必須使用更多的 SPI 和 I2C 線來(lái)連接這些傳感器。這樣會(huì)增加布線復(fù)雜性,從而增加配置和維護(hù)成本,特別是在距離增加的情況下。
本文將向開(kāi)發(fā)人員介紹如何使用 Maxim Integrated 的 1-Wire 協(xié)議,只需使用一條線加接地線就能連接物聯(lián)網(wǎng)傳感器,從而降低成本。本文將討論 1-Wire 協(xié)議的優(yōu)勢(shì),包括顯著擴(kuò)大傳感器的范圍并通過(guò)同一條電線提供電源和數(shù)據(jù)。然后,介紹一種將 1-Wire 信號(hào)轉(zhuǎn)換為 SPI 或 I2C 的橋接設(shè)備,以及一個(gè)能幫助設(shè)計(jì)者開(kāi)啟工作且附帶軟件的開(kāi)發(fā)套件。
擴(kuò)大物聯(lián)網(wǎng)和 IIoT 傳感器的使用范圍
擴(kuò)展物聯(lián)網(wǎng)和 IIoT 網(wǎng)絡(luò)是為了使系統(tǒng)和制造過(guò)程在擴(kuò)大功能的同時(shí)更加有效。這涉及通過(guò)使用傳感器來(lái)收集數(shù)據(jù)。雖然某個(gè)家庭可能在一個(gè)房間里安裝一個(gè)包含溫度傳感器的恒溫器,但一個(gè)自動(dòng)化建筑或 IIoT 網(wǎng)絡(luò)可能在一個(gè)房間和整個(gè)建筑或設(shè)施內(nèi)放置許多溫度和濕度傳感器。例如,可以將更多的傳感器與壓力傳感器一起放置在暖通空調(diào) (HVAC) 管道中。安全系統(tǒng)也可能使用不同類型的傳感器,而且也可以放置在多個(gè)位置。
在制造和傳送帶系統(tǒng)中,也越來(lái)越多地通過(guò)傳感器進(jìn)行過(guò)程監(jiān)控和記錄數(shù)據(jù),用于分析如何在提高安全性的同時(shí)使系統(tǒng)更有效,從而實(shí)現(xiàn)節(jié)能。
這些應(yīng)用中最常見(jiàn)的傳感器是環(huán)境傳感器,具體包括溫度、濕度和壓力傳感器、視覺(jué)傳感器(含可見(jiàn)光和電容接近傳感器)、位置傳感器(含微機(jī)電系統(tǒng) (MEMS) 加速計(jì)、MEMS 陀螺儀)和振動(dòng)傳感器。MEMS 技術(shù)的微型化和進(jìn)步已使傳感器的封裝比拇指指甲還小,且耗電只有幾百毫安 (mA)。在這些傳感器中,大多數(shù)都可以通過(guò) SPI 或 I2C 通信接口輕松訪問(wèn),幾乎任何微控制器都提供這兩種接口。當(dāng)與這些簡(jiǎn)單的傳感器連接時(shí),建立一個(gè)完整的物聯(lián)網(wǎng)或 IIoT 端點(diǎn)或子節(jié)點(diǎn)只用于溫度采樣是不切實(shí)際的,所以通常更簡(jiǎn)單、更快的做法是直接通過(guò) SPI 或 I2C 通信線路連接傳感器。
在某些情況下,仍然使用如高溫?zé)犭娕己鸵恍毫鞲衅鞯?a href="http://m.makelele.cn/analog/" target="_blank">模擬傳感器。在這些情況下,微控制器與傳感器位置處的 SPI 或 I2C 模數(shù)轉(zhuǎn)換器 (ADC) 相連接,后者對(duì)模擬傳感器進(jìn)行就地采樣。這樣能夠避免模擬傳感器線路上的電壓降,從而提高精確度。
連接遠(yuǎn)程 SPI 和 I2C 傳感器
微控制器通過(guò)延長(zhǎng) SPI 和 I2C 數(shù)據(jù)線與這些傳感器進(jìn)行通信。然而,I2C 被限制在不超過(guò)一米的范圍內(nèi),而且 SPI 也有類似限制。此外,全雙工 SPI 需要四個(gè)引腳,包括每個(gè)引腳的單獨(dú)外設(shè)選擇。因此,當(dāng)一條上總線的 SPI 外設(shè)達(dá)到四個(gè)時(shí)需要七個(gè)引腳,加上電源和接地引腳,則共需九個(gè)引腳。半雙工 I2C 需要兩個(gè)引腳連接外設(shè),加上電源和接地線共需四條線。同時(shí),許多高速信號(hào)會(huì)增加電磁干擾 (EMI) ,產(chǎn)生串?dāng)_,導(dǎo)致信號(hào)完整性降低、系統(tǒng)可靠性下降。
現(xiàn)在所需的是一種這樣解決方案——能最大限度地減少電源和數(shù)據(jù)布線,簡(jiǎn)化操作,同時(shí)保持與現(xiàn)有 I2C 和 SPI 傳感器的兼容性。
為了解決較遠(yuǎn)距離的遠(yuǎn)程傳感器連接問(wèn)題并減少電線數(shù)量,Maxim Integrated 開(kāi)發(fā)出一種 1-Wire 協(xié)議——用一根電線加上一條接地線連接大多數(shù) SPI 或 I2C 傳感器。該協(xié)議將 SPI 的六根線和 I2C 使用的四根線減少到只有兩根線,以傳輸數(shù)據(jù)和電源,最長(zhǎng)可達(dá) 100 m。
采用 1-Wire 制
使用 1-Wire 時(shí),遠(yuǎn)程傳感器有一個(gè) 1-Wire 通信橋,將 1-Wire 協(xié)議轉(zhuǎn)換為可連接傳感器的兼容型 SPI 或 I2C 信號(hào)。1-Wire 橋和傳感器都是由 1-Wire 信號(hào)加一根接地線以寄生形式供電。這使得 1-Wire 信號(hào)可以在小范圍內(nèi)布線,從而減少電線使用量,降低成本。
雖然 SPI 和 I2C 都使用專門(mén)的時(shí)鐘信號(hào),但 1-Wire 將時(shí)鐘與數(shù)據(jù)信號(hào)一起嵌入。SPI 使用為每個(gè)外設(shè)選擇的單獨(dú)信號(hào)對(duì)特定外設(shè)進(jìn)行尋址,而 I2C 則是使用沿?cái)?shù)據(jù)線傳輸?shù)?7 位總線地址;相比之下,1-Wire 使用 56 位地址,即以硬連接方式連接每個(gè)單獨(dú)的通信橋。這種更寬的尋址范圍不僅增加了總線上獨(dú)特外設(shè)的數(shù)量,而且還提高了安全性,使攻擊者很難猜出 1-Wire 總線上的外設(shè)地址。
1-Wire 外設(shè)總線上的字長(zhǎng)為 8 位。微控制器的 1-Wire 總線主機(jī)可對(duì)單線協(xié)議作出位響應(yīng),但也可由一個(gè)簡(jiǎn)單的 UART 驅(qū)動(dòng)器提供支持。這使得 8 位微控制器也能成為 1 位總線主機(jī)。一條 1 位總線只能包含 SPI 和 I2C 外設(shè)中的某一種,不能同時(shí)擁有。這種一致性可防止總線上發(fā)生沖突和碰撞,并通過(guò)協(xié)議簡(jiǎn)化了編程。
實(shí)際的 1-Wire 解決方案
對(duì)于希望通過(guò) 1-Wire 總線連接 SPI 或 I2C 外設(shè)的設(shè)計(jì)人員,Maxim Integrated 提供了帶有指令定序器的 DS28E18Q+T -Wire 轉(zhuǎn) I2C/SPI 橋接器(圖 1) 。

圖 1:具有指令定序器的 DS28E18Q+T 1-Wire 轉(zhuǎn) I2C/SPI 橋接器可連接 1-Wire 總線 IO 和 GND 引腳。(圖片源:Maxim Integrated)
參照?qǐng)D 1,當(dāng) IO 為高電平時(shí),寄生功率從總線獲取,并通過(guò) SENS_VDD 引腳向外設(shè)供電。該橋接器對(duì) 1-Wire 指令進(jìn)行緩沖并將其轉(zhuǎn)換為適當(dāng)?shù)?I2C 或 SPI 指令。
IO 引腳和 GND 均連接 1-Wire 總線,并通過(guò)其狀態(tài)機(jī)發(fā)送到前端。每個(gè)器件都有一個(gè) 56 位 ROM ID,前綴是 8 位 1-Wire 家族代碼,表明該器件是 DS28E18Q+T 的修訂版。這樣,微控制器固件會(huì)對(duì)特定的 DS28E18Q+T 進(jìn)行唯一識(shí)別,使其能夠靈活地應(yīng)對(duì)器件系列的任何變化。該器件有一個(gè)含有 8 位循環(huán)冗余校驗(yàn)(CRC) 代碼的 48 位唯一序列號(hào)。
前端通過(guò)一個(gè) 144 字節(jié)指令緩沖器將轉(zhuǎn)換后的數(shù)據(jù)發(fā)送給指令定序器,其中包括來(lái)自 IO 總線的 128 字節(jié)數(shù)據(jù)和內(nèi)部使用的 16 字節(jié)數(shù)據(jù)。指令定序器處理指令,并在其緩沖器中存儲(chǔ)多達(dá) 512 字節(jié)的 I2C 或 SPI 指令,以便隨后發(fā)送給外設(shè),而不是由 1-Wire 總線一次處理一個(gè)指令。
該 512 字節(jié)緩沖器還允許 DS28E18Q+T 協(xié)調(diào)其內(nèi)部電源行為。這樣,利用針對(duì)與外設(shè)通信進(jìn)行的計(jì)時(shí),就能夠保持寄生電源。指令定序器在向 I2C/SPI 主控器和 GPIO 控制器發(fā)送指令時(shí)會(huì)保持這一時(shí)序,后者處理數(shù)據(jù),使其符合 I2C 和 SPI 標(biāo)準(zhǔn)。
將一個(gè) 470 納法拉 (nF) 外部電容器被連接到 CEXT 引腳,在 1-Wire 總線運(yùn)行期間作為 DS28E18Q+T 的儲(chǔ)能器件。所連接的外設(shè)可以通過(guò) SENS_VDD 引腳獲得寄生電源。對(duì)于 SPI 操作,四個(gè)引腳 SS#、MISO、MOSI 和 SCLK 為所連接的外設(shè)提供全雙工通信。I2C 操作只使用兩個(gè)具有交替功能的引腳,SDA 和 SCL。用于 SPI 操作的 SS# 和 MISO 沒(méi)有用于 I2C 操作,因此可用作通用 I/O (GPIO),并具有 GPIOA 和 GPIOB 替代功能。這提供了更大的靈活性,可用于點(diǎn)亮位于傳感器處的診斷 LED,或管理傳感器或 ADC 上的配置引腳以改變?cè)O(shè)備的運(yùn)行特征。
使用 Maxim Integrated DS28E18Q+T,微控制器上的單 UART 只需兩條線就能與同一條 1-Wire 加接地線總線上的許多傳感器進(jìn)行通信;每個(gè)傳感器都與 DS28E18Q+T 相連,距離最遠(yuǎn)可達(dá) 100 m。這對(duì)暖通空調(diào)系統(tǒng)特別有用,因?yàn)樵谶@種系統(tǒng)中,只有兩根線可以穿過(guò)風(fēng)管,沿著風(fēng)管上的每個(gè)通風(fēng)口監(jiān)測(cè)溫度和濕度。通過(guò)監(jiān)測(cè)可能由障礙物造成的熱點(diǎn)或冷點(diǎn),這種方法提高了系統(tǒng)效率。
1-Wire 的開(kāi)發(fā)
為方便使用 1-Wire 協(xié)議進(jìn)行開(kāi)發(fā),Maxim Integrated 推出 DS28E18EVKIT# 評(píng)估系統(tǒng)。該評(píng)估系統(tǒng)這包括一個(gè)硬件開(kāi)發(fā)板(圖 2)和軟件。

圖 2:采用 Maxim DS28E18EVKIT# 評(píng)估板,開(kāi)發(fā)人員能夠輕松將 SPI 或 I2C 外設(shè)連接到 1-Wire 總線。該系統(tǒng)的隨附軟件可用于編程和監(jiān)控總線和外設(shè)行為,以及幫助生成微控制器設(shè)備驅(qū)動(dòng)程序。(圖片源:Maxim Integrated)
開(kāi)發(fā)人員使用該評(píng)估板可對(duì) DS28E18Q+T 進(jìn)行編程和監(jiān)控。為便于開(kāi)發(fā),該板配有一個(gè) USB 適配器,可將該板與 Windows 計(jì)算機(jī)上的 USB 端口連接。為幫助進(jìn)行開(kāi)發(fā),開(kāi)發(fā)人員需要下載并運(yùn)行 DS28E18EVKIT# 評(píng)估套件軟件。如圖 3 所示,通過(guò)評(píng)估軟件可對(duì) DS28E18Q+T 及其連接的外設(shè)進(jìn)行編程和監(jiān)控。

圖 3:使用 DS28E18EVKIT# 評(píng)估軟件,開(kāi)發(fā)人員可通過(guò) USB 適配器配置板載 DS28E18Q+T 并監(jiān)控其行為。512 字節(jié)指令定序器存儲(chǔ)器可用來(lái)存儲(chǔ)數(shù)據(jù),然后發(fā)送至外設(shè),執(zhí)行傳感器操作。(圖片源:Maxim Integrated)
該軟件可以向 DS28E18Q+T 評(píng)估板發(fā)送指令,并為目標(biāo) SPI 或 I2C 外設(shè)進(jìn)行配置。該軟件可以選擇外設(shè)的地址范圍,將待執(zhí)行的外設(shè)指令填入 512 字節(jié)指令定序器存儲(chǔ)器中。該軟件還有助于配置目標(biāo)微控制器的 UART 驅(qū)動(dòng)器,無(wú)需為學(xué)習(xí) 1-Wire 通信協(xié)議而耗費(fèi)精力。開(kāi)發(fā)人員也可以在自己的應(yīng)用中使用評(píng)估板,以節(jié)省構(gòu)建和配置傳感器節(jié)點(diǎn)所需的時(shí)間和精力。
結(jié)論
隨著物聯(lián)網(wǎng)和 IIoT 系統(tǒng)增加了更多的傳感器,特別是在距離的不斷增大情況下,到傳感器的布線變得更復(fù)雜、更昂貴。另一個(gè)可能使構(gòu)建傳感器網(wǎng)絡(luò)復(fù)雜化的問(wèn)題是傳感器供電問(wèn)題。如圖所示,Maxim Integrated 的 1-Wire 協(xié)議和相關(guān)硬件可以通過(guò)只用一根線加上接地線來(lái)提供數(shù)據(jù)和電源,從而使得與傳感器網(wǎng)絡(luò)的連接更加容易和高效。
電子發(fā)燒友App






















































評(píng)論