I 2 C和 SPI 端點(diǎn)設(shè)備 能否僅通過(guò)一根線供電和控制?
可以通過(guò)使用 Analog Devices 的 1-Wire ?技術(shù)的單線連接和接地來(lái)提供電源和數(shù)據(jù)以運(yùn)行 I 2 C 和 SPI 端點(diǎn),例如濕度或溫度傳感器。當(dāng)與主機(jī)上可能只有一個(gè)或幾個(gè)引腳可用的 IO 受限系統(tǒng)一起工作時(shí),該技術(shù)提供了一個(gè)強(qiáng)大的解決方案。DS28E18是一個(gè)很好的橋接器件示例,它利用 1-Wire 解決一系列常見(jiàn)的系統(tǒng)挑戰(zhàn),例如布線限制、通信距離和協(xié)議轉(zhuǎn)換。
這種單線接口技術(shù)是 ADI 公司獨(dú)有的,自 1980 年代以來(lái)一直存在。電力和數(shù)據(jù)通過(guò)單個(gè)專(zhuān)用連接傳輸,支持廣泛的應(yīng)用,例如本地或遠(yuǎn)程環(huán)境傳感、醫(yī)療傳感器或附件識(shí)別。用于這些應(yīng)用的 1-Wire 解決方案具有通過(guò)單觸點(diǎn)接口運(yùn)行 SPI 或 I 2 C 器件的優(yōu)勢(shì),無(wú)需外部電源,以及 1-Wire 和 I 2 C/SPI 主控的靈活性操作模式。
為了操作這個(gè)接口,總共有兩個(gè)觸點(diǎn),1-Wire 單連接和一個(gè)接地連接,通過(guò)它我們可以在過(guò)載模式下以 11.7 kb/s 和 62.5 kb/s 兩種不同的速度進(jìn)行通信。圖 1展示了一個(gè)非常簡(jiǎn)單的系統(tǒng)級(jí)配置以及 DS28E18 如何融入系統(tǒng)。微控制器主機(jī) (μC) 通過(guò)與 DS28E18 橋接器的 1-Wire 接口連接到遠(yuǎn)程 SPI 傳感器,僅使用兩個(gè)連接,即 1-Wire IO 和接地。
圖 1. 系統(tǒng)級(jí)配置
1-Wire 至 I 2 C/SPI,帶排序器和功率收集
DS28E18 通信橋的獨(dú)特功能之一是它可以收集高達(dá) 10mA 的電流來(lái)為外部連接的 I 2 C/SPI 端點(diǎn)供電。該器件還能夠分別驅(qū)動(dòng)高達(dá) 1MHz 和 2.3MHz的 I 2 C 和 SPI 端點(diǎn)。它采用小型 2x3mm TDFN 封裝,在 -40°C 至 +85°C 的環(huán)境條件下工作電壓為 3.3V (±10%)。
除了 1-Wire 接口和功能之外,DS28E18 還具有與 I 2 C/SPI 端點(diǎn)接口必不可少的三個(gè)主要模塊;一個(gè)命令定序器,用作 1-Wire 命令和 I 2 C/SPI 命令之間的橋梁,一個(gè)帶有數(shù)據(jù)的 SRAM 塊以最終操作該器件,以及一個(gè) I 2 C/SPI/GPIO 接口控制器。這一切都顯示在下面的圖 2中。
圖 2. 框圖
命令定序器
命令定序器處理緩沖區(qū)數(shù)據(jù)并將其存儲(chǔ)在 SRAM 中的指定地址(一次 128 個(gè)字節(jié)),并返回 CRC16 以供主機(jī)處理器驗(yàn)證數(shù)據(jù)傳輸。定序器通過(guò)將最常用的命令存儲(chǔ)在 SRAM 中來(lái)最大限度地減少主機(jī)的通信開(kāi)銷(xiāo)。DS28E18 在 SRAM 中提供一個(gè) 512 字節(jié)的緩沖區(qū),可以加載多個(gè) I 2 C 或 SPI 命令。加載后,主機(jī)控制器發(fā)送命令以執(zhí)行序列、提供電源并從連接的 I 2 C 或 SPI 外設(shè)收集數(shù)據(jù)。隨后的 1-Wire 命令讀取收集的傳感器數(shù)據(jù)。
存在三種類(lèi)型的命令來(lái)操作此設(shè)備,它們位于下圖 3中藍(lán)色突出顯示的元素中。它們是“1-Wire ROM 功能命令”、“DS28E18 器件功能命令”和“DS28E18 定序器命令”。
圖 3. 命令所在位置的突出顯示框圖
主機(jī)使用 1-Wire ROM 級(jí)功能命令啟動(dòng)通信以識(shí)別和選擇 DS28E18 橋接器件。選擇后,設(shè)備功能命令將用于與定序器交互。圖 4 列出了 DS28E18 可用的 1-Wire ROM 和器件功能命令。
DS28E18 有一個(gè) 144 字節(jié)的命令緩沖區(qū),利用 16 字節(jié)的設(shè)備功能命令操作和 128 字節(jié)的順序命令將形成的數(shù)據(jù)包傳輸?shù)?512 字節(jié)的 SRAM 定序器。可以調(diào)用安裝在 SRAM 定序器中的已形成數(shù)據(jù)包來(lái)向連接的從機(jī)寫(xiě)入和/或讀取 I 2 C/SPI 數(shù)據(jù)。序列的最大長(zhǎng)度為 512 字節(jié)。序列完成后,I 2 C/SPI 從機(jī)響應(yīng)使用讀取序列器命令恢復(fù)。
返回的結(jié)果字節(jié)表示成功或遇到的任何錯(cuò)誤,例如收到 NACK。如果結(jié)果字節(jié)指示錯(cuò)誤,則返回兩個(gè)附加字節(jié),指示序列中錯(cuò)誤的位置。
定序器的實(shí)用程序命令通過(guò) SENS_VDD 引腳為端點(diǎn)設(shè)備提供各種功能,例如延遲和電源門(mén)控。延遲可以按順序使用,以允許 I 2 C/SPI 端點(diǎn)設(shè)備有額外的時(shí)間來(lái)執(zhí)行轉(zhuǎn)換,或允許在端點(diǎn)上電后建立穩(wěn)定。延遲范圍從 1ms 到 32s。提供給端點(diǎn)的電源來(lái)自 1-Wire 接口,因此主機(jī)必須為整個(gè)序列啟用強(qiáng)上拉。DS28E18 可提供高達(dá) 10mA 的電流。
圖 4顯示了不同命令的列表及其在命令層次結(jié)構(gòu)中的級(jí)別。
圖 4. 命令層次結(jié)構(gòu)
接口控制
DS28E18 的 GPIO、I 2 C 和 SPI 接口在四個(gè)引腳上復(fù)用,如圖 5所示。I 2 C 接口可配置為以 100kHz、400kHz 或 1MHz 運(yùn)行,SPI 可配置為以 100kHz、400kHz、1MHz 或 2.3MHz 運(yùn)行。當(dāng)配置為 SPI 時(shí),GPIO 不可用。
圖 5. GPIO/I 2 C/SPI 引腳復(fù)用和接口控制
-
傳感器
+關(guān)注
關(guān)注
2551文章
51106瀏覽量
753670 -
sram
+關(guān)注
關(guān)注
6文章
767瀏覽量
114692 -
SPI
+關(guān)注
關(guān)注
17文章
1706瀏覽量
91599
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論