眾所周知,I2C 和 SPI 通信協(xié)議設(shè)計(jì)用于短距離板內(nèi)通信。本應(yīng)用筆記討論I2DS28E18 1-Wire至I的C和SPI總線擴(kuò)展能力?2帶有命令序列器的 C/SPI 橋接器。具體來說,它涵蓋了建立長(zhǎng)線的重要措施,例如,與多個(gè)I的100m通信2C 和 SPI 傳感器以及使用此設(shè)備的好處。
介紹
眾所周知,I2C 和 SPI 通信協(xié)議的總線距離較短,不超過幾米。盡管目前存在用于擴(kuò)展這些范圍的解決方案,但它們通常既復(fù)雜又昂貴。然而,DS28E18是一款高性價(jià)比的橋接芯片器件,展示了使用1-Wire接口在不影響簡(jiǎn)單性的情況下,充分利用環(huán)境傳感器、模數(shù)轉(zhuǎn)換器(ADC)、數(shù)模轉(zhuǎn)換器(DAC)和顯示控制器等復(fù)雜I2C和SPI器件的優(yōu)勢(shì)。本應(yīng)用筆記首先討論DS28E18相對(duì)于其他總線擴(kuò)展方案的一些關(guān)鍵特性和優(yōu)勢(shì)。它還介紹了正確設(shè)置設(shè)備以與多個(gè)傳感器進(jìn)行長(zhǎng)線通信的重要措施。
設(shè)備概述
DS28E18 1線轉(zhuǎn)SPI和I2C 橋使連接板外外圍設(shè)備更快、更容易。ADI公司的1-Wire互連技術(shù)使用單線加接地,將電源和數(shù)據(jù)傳輸?shù)桨迳虾桶逋獾耐庠O(shè)。1-Wire總線上的器件是可尋址的,并建立一條返回主機(jī)微控制器的雙向通信路徑。以下是DS28E18成為一款出色的產(chǎn)品的原因。2C 和 SPI 總線擴(kuò)展解決方案。
遠(yuǎn)程操作
1-Wire接口設(shè)計(jì)為長(zhǎng)距離穩(wěn)健。雖然我2C和SPI總線長(zhǎng)度限制在幾米以內(nèi),1-Wire器件的通信距離遠(yuǎn)超過100米。DS28E18充分利用這一特性,在主機(jī)和主機(jī)之間建立遠(yuǎn)距離連接。2C 或 SPI 外設(shè),基本上可實(shí)現(xiàn) I 的遠(yuǎn)程操作2C 和 SPI 設(shè)備。
減少 I2C 和 SPI 布線
從微控制器控制外設(shè)需要相當(dāng)多的布線。I2C 通常被視為僅由數(shù)據(jù)(串行數(shù)據(jù)訪問 [SDA])和時(shí)鐘(串行時(shí)鐘線 [SCL])信號(hào)組成的雙線連接。但實(shí)際上,當(dāng)考慮到電源和接地時(shí),該接口需要四根電線。SPI也是如此。然而,ADI公司的1-Wire技術(shù)僅通過一根線傳輸電源和數(shù)據(jù)。DS28E18直接從1-Wire電路獲得電源,并在必要時(shí)提供給I2C或SPI外設(shè)。因此,外圍設(shè)備不需要外部電源。因此,結(jié)合接地,與I2C或SPI外設(shè)接口所需的導(dǎo)線總數(shù)減少到僅來自主機(jī)的單對(duì)導(dǎo)線。
自主操作
在處理遙感應(yīng)用時(shí),功耗始終是一個(gè)問題。DS28E18通過減輕主機(jī)微控制器的部分工作負(fù)擔(dān)來幫助降低功耗。該器件具有一個(gè)內(nèi)部定序器,可用作 I 的緩沖器2C 或 SPI 命令。然后,主微控制器可以命令DS28E18執(zhí)行其存儲(chǔ)的序列。這樣,主微控制器可以休眠,而DS28E18則自動(dòng)向外設(shè)饋送命令,并根據(jù)需要收集數(shù)據(jù)。
抽象 I2C 地址
某些 I2C 應(yīng)用中的另一個(gè)問題是設(shè)備地址爭(zhēng)用。許多 I2C 設(shè)備無法修改其地址,或者可以選擇僅更改幾個(gè)地址位。這可能會(huì)導(dǎo)致同一總線上嘗試響應(yīng)同一地址的多個(gè) I2C 從站之間出現(xiàn)爭(zhēng)用問題。DS28E18解決了這個(gè)問題,因?yàn)槊總€(gè)器件都有一個(gè)唯一的ROM ID,帶有48位序列號(hào)。而且,由于1-Wire總線可以承載多個(gè)1-Wire從器件,因此每個(gè)I2C器件可以連接到不同的DS28E18主機(jī),并通過其主機(jī)的ROM ID進(jìn)行區(qū)分,從而不必?fù)?dān)心系統(tǒng)內(nèi)的任何地址沖突。
降低成本和復(fù)雜性
通常,可以將總線延長(zhǎng)到100m以上的系統(tǒng)可能需要在主機(jī)端和外設(shè)端安裝多個(gè)芯片。這樣的配置可能相當(dāng)復(fù)雜和昂貴。DS28E18的配置正好相反。它只需要兩個(gè)引腳,而 I 需要四個(gè)和六個(gè)引腳2分別為 C 和 SPI。此外,主機(jī)側(cè)大多只是軟件,只有少量接口硬件,而外設(shè)端僅由單個(gè)DS28E18器件組成。這使得DS28E18成為擴(kuò)展I的簡(jiǎn)單且經(jīng)濟(jì)高效的方案。2C 或 SPI 總線。
設(shè)備設(shè)置
以下各節(jié)介紹為遠(yuǎn)程連接到主機(jī)處理器的多個(gè)DS28E18節(jié)點(diǎn)設(shè)置最佳配置的重要措施。
兼容的1-Wire主機(jī)
實(shí)現(xiàn)1-Wire主機(jī)非常簡(jiǎn)單,DS28E18有多種配置兼容。最基本的實(shí)現(xiàn)方式如圖1所示,其中1-Wire主機(jī)由微控制器表示,微控制器使用通用端口引腳驅(qū)動(dòng)1-Wire通信。
圖1.DS28E18主機(jī)配置采用微控制器作為1-Wire主機(jī)。
這種類型的主機(jī)配置提供了正確操作DS28E18及其所有功能所需的所有組件。它保持較低的硬件成本,因?yàn)樗恍枰粋€(gè)備用的雙向端口,以及程序內(nèi)存中的一些備用空間。R 的典型值狗范圍為300Ω –1000Ω,但最大值可能因連接的DS28E18節(jié)點(diǎn)數(shù)量和總線距離而異。
一些1-Wire從機(jī)執(zhí)行某些需要額外電源的操作。這些操作稱為強(qiáng)上拉 (SPU) 操作。DS28E18有多種情況下執(zhí)行SPU操作,例如向連接的傳感器提供外設(shè)電源時(shí)。為此,圖1所示的主機(jī)微控制器可以使用PIOY引腳驅(qū)動(dòng)邏輯“1”。虛線還表示可選的低阻抗旁路R。狗也可用于提供額外的電力。
使用微控制器作為1-Wire主機(jī)的缺點(diǎn)是1-Wire時(shí)序是通過軟件生成的,這會(huì)增加初始軟件開發(fā)時(shí)間和成本。作為替代方案,ADI公司提供多種1-Wire主控產(chǎn)品,也可用于可靠驅(qū)動(dòng)DS28E18。圖2所示為采用DS1 I的2485-Wire主機(jī)的另一種兼容方案2C 轉(zhuǎn) 1 線橋接器件。
圖2.DS28E18主機(jī)配置,采用DS2485 I2C-to-1-Wire橋接器作為1-Wire主控。
使用DS2485的優(yōu)點(diǎn)是可以完成大部分繁重的工作。這是一個(gè)我2C-to-1-Wire橋接器件,可直接連接到I型2C 主站,通常是微控制器,速度高達(dá) 1MHz。它在 I 之間執(zhí)行協(xié)議轉(zhuǎn)換2C主機(jī)和任何下游1-Wire從器件,如DS28E18。該器件具有內(nèi)部用戶可調(diào)定時(shí)器,使系統(tǒng)主機(jī)處理器無需生成時(shí)間關(guān)鍵型1-Wire波形,支持標(biāo)準(zhǔn)和超速1-Wire通信速度。一旦提供命令和數(shù)據(jù),DS2485的輸入/輸出控制器即可執(zhí)行時(shí)間關(guān)鍵型1-Wire通信功能,如復(fù)位/存在檢測(cè)周期、讀字節(jié)、寫字節(jié)、讀塊、寫塊、單位R/W、ROM搜索三元組和完整的命令序列,無需與主機(jī)處理器交互。1-Wire總線上的外部上拉可以避免,因?yàn)镈S2485器件在內(nèi)部提供所有必要的上拉功能。
長(zhǎng)距離布線
DS28E18用作板外外設(shè)時(shí)效率最高。在設(shè)置設(shè)備進(jìn)行長(zhǎng)距離通信時(shí),重要的是要注意較長(zhǎng)的電纜線引入的總線電容。大量數(shù)據(jù)會(huì)阻礙1-Wire線路的上升時(shí)間,從而有效干擾數(shù)據(jù)傳輸。圖3所示為DS28E18可行的長(zhǎng)線配置示例。它包括DS2485 1-Wire主站和一根100米長(zhǎng)的雙絞線24 AWG CAT5E電纜,連接到DS28E18的IO和GND引腳。由于DS28E18的電源來自1-Wire線路,因此無需額外的電源線。
圖3.DS28E18 遠(yuǎn)程配置,采用 DS2485。
使用 APU
與DS1E10的典型板載100cm板載連接和28m處的板外連接相比,18-Wire上升時(shí)間有顯著差異,分別如圖4和圖5所示。
圖4.板載DS1E28的18線上升沿,在10cm和1000Ω R處狗.
圖5.1-線線上升沿,28m和18Ω R時(shí)DS100E1000的板外上升沿狗.
對(duì)于上升時(shí)間過慢的劇烈情況,可以通過降低無源電阻(即R狗)值,1-Wire總線上的值到下端(例如,300Ω)。修改 R狗DS2485只需通過軟件配置其內(nèi)部無源上拉電阻值即可輕松實(shí)現(xiàn)值。
對(duì)于降低上拉電阻還不夠的情況,DS2485還提供另一種上拉技術(shù),稱為有源上拉(APU)。使能后,APU在1-Wire信號(hào)從低到高的轉(zhuǎn)換過程中,基本上在有限的時(shí)間內(nèi)通過低阻抗路徑旁路無源上拉電阻,從而更快地有效地達(dá)到高壓狀態(tài)。這種效應(yīng)可以在圖6中看到,盡管具有相同的5Ω無源上拉電阻,但圖1000中的相同上升沿明顯更清晰。因此,在通過長(zhǎng)線路與DS28E18通信時(shí),始終建議使用APU。
圖6.1-線線上升沿,28m和18Ω R時(shí)DS100E1000的板外上升沿狗啟用 APU。
實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)
考慮到每個(gè)DS28E18具有唯一的ROM ID,多個(gè)器件可以連接到同一1-Wire總線,而不會(huì)產(chǎn)生任何爭(zhēng)用問題。從本質(zhì)上講,這使得系統(tǒng)能夠?qū)⒏鞣N遠(yuǎn)程傳感器與自己的DS28E18主機(jī)集成在一起。圖7和圖8所示為DS28E18典型節(jié)點(diǎn)配置,其I型2分別連接了 C 和 SPI 傳感器。圖 7 中的虛線表示 I 上的可選上拉2C總線,用于DS28E18的內(nèi)部上拉被配置為禁用。
圖7.DS28E18節(jié)點(diǎn)配置,帶I2C 傳感器。
圖8.DS28E18節(jié)點(diǎn)配置,帶SPI傳感器。
功耗
單個(gè)1-Wire總線可連接的節(jié)點(diǎn)數(shù)量可達(dá)10個(gè)或更多。最大數(shù)量在很大程度上取決于SPU工作期間從1-Wire線路一次消耗的電流量。如果壓降使IO處的電壓電平小于最小值,則線路上的節(jié)點(diǎn)過多可能會(huì)妨礙設(shè)備的性能斯普烏SPU 操作期間的限制(即 2.0V)。
最顯著的高電流消耗發(fā)生在多點(diǎn)ROM ID上電序列期間。具體說明一下,DS28E18在上電時(shí)始終以默認(rèn)ROM ID值啟動(dòng)。為了完全工作,DS28E18必須首先從存儲(chǔ)器中填充其唯一的ROM ID。為此,1-Wire主機(jī)必須發(fā)出1-Wire跳躍ROM (CCh)命令,然后發(fā)出DS28E18寫入GPIO(83h)命令。因此,連接到同一28-Wire總線的每條DS18E1都會(huì)響應(yīng)該ROM ID上電序列,從而有效地增加了從1-Wire線路汲取的電流,因?yàn)槊總€(gè)器件同時(shí)填充其唯一的ROM ID。
為了在使用DS2485時(shí)滿足這種高電流需求,建議使用如圖2所示的外部p溝道。該p溝道的上拉阻抗小于DS2485的內(nèi)部SPU阻抗,從而有助于沿1-Wire線路驅(qū)動(dòng)更多電流。注意,DS2485的1-Wire模塊(ABh)命令是唯一可以訪問外部p溝道的1-Wire主控命令,因此必須用于運(yùn)行多點(diǎn)ROM ID上電序列。DS28E18節(jié)點(diǎn)成功上電后,DS2485可以恢復(fù)正常工作,外部p溝道可以忽略不計(jì)。
結(jié)論
DS28E18是擴(kuò)展I的出色解決方案2C 或 SPI 通信。與其他擴(kuò)展解決方案相比,這種簡(jiǎn)單且經(jīng)濟(jì)高效的設(shè)備具有許多優(yōu)勢(shì),使系統(tǒng)能夠在最遠(yuǎn) 100 米或更遠(yuǎn)的距離內(nèi)控制多個(gè)傳感器。按照此設(shè)備設(shè)置指南可以實(shí)現(xiàn)最佳硬件配置。
審核編輯:郭婷
-
I2C
+關(guān)注
關(guān)注
28文章
1477瀏覽量
123052 -
SPI總線
+關(guān)注
關(guān)注
4文章
103瀏覽量
27562 -
橋接器
+關(guān)注
關(guān)注
0文章
77瀏覽量
45340
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論