網頁最後修改時間:2021/06/08
介紹一款新上市的產品:
-
LSF0204 四通道自動雙向多電壓準位轉換模組(賣場連結)
適用於開漏(Open-Drain)和推挽(Push-Pull)應用的四通道雙向多電壓準位轉換模組。
【LSF0204 四通道自動雙向多電壓準位轉換模組】
LSF0204 有四對雙向多電壓準位轉換的通道,適用於開漏和推挽的電路應用,可在 A 側電壓 DC 0.8V ~ 4.5V 和 B 側電壓 DC1.8V ~ 5.5V 範圍內相互轉換。
LSF0204 可用於 GPIO、MDIO、PMBus、SMBus、SDIO、UART、I2C 和其他電信基礎設施的介面。值得注意的是:當 <A1 ~ A4> (簡寫為 <A#>) 和 <B1 ~ B4> (簡寫為 <B#>) 沒有安裝任何上拉電阻時, <A#> 和 <B#> 的輸出電壓將會被限制為 <Vref_A>,但可上拉到 <Vref_A> 至 5V 之間的任何電壓準位。利用這個功能,無須方向控制的情況之下就可實現用戶選擇的較高和較低電壓間的無縫轉接。
下面是模組的參考電路圖,其中 R1 ~ R8 是提升(或稱上拉)電阻預留的焊接位置,有需要的時候可以購買 0805 封裝的電阻焊上去或是從外部自行接上亦可。幸運的是,一些使用通訊控制的模組都已在該接腳裝設提升電阻,所以不需要再額外安裝。一般來說,需不需要提升電阻視情況而定,下面我用實際的測試,詳細的來說明這個部分。
LSF0204 模組參考電路圖 |
以A 側作為輸入、B 側作為輸出,以及 B 側作為輸入、A 側作為輸出兩種方式來做測試,A、B 兩側都沒有使用提升電阻,只量測高準位的電壓轉換值(低準位轉換就接近 DC 0V,所以不討論)。
** 輸入與輸出的電壓數據是直接用電表量測,因為使用的輸入電壓會有所浮動的關係,所以不是絕對的準確,在此先做說明!
/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
*
A 側輸入、B 側輸出:
下圖測試了 <Vref_A> = DC 0.8V、1.2V 和 1.8V 到 <Vref_B> = DC 3.3V 和 5.0V 的電壓準位轉換。可以清楚的看到,<B#> 的輸出電壓跟資料手冊說明的一樣,就是接近 <Vref_A> 的電壓。
/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
*
B 側輸入、A 側輸出:
接著,反過來測試 <Vref_B> = DC 3.3V 和 5.0V 到 <Vref_A> = DC 0.8V、1.2V 和 1.8V 的電壓準位轉換。結果量測的結果是 <A#> 的輸出電壓接近於 <Vref_A> 的電壓。
所以由上面的實驗就可以知道,在不使用提升電阻的情況之下,從高電壓端轉換到低電壓端時,低電壓端的轉換接腳(這裡指的是 <B#>)的輸出就是接近 <Vref_B> 的電壓。所以若是想要從低電壓端轉換到高電壓端時,輸出接腳(這裡指的是 <A#>)的輸出就是接近 <Vref_B> 的電壓的話,那麼就需要額外外加提升電阻。
提升電阻的使用與否,可以參考 TI LSF0204 Technical documentaion / Application note Voltage-LevelTranslationWiththe LSF Family 裡面的 5.2 節,該小節說明了 A 側與 B 側何時應該選擇提升電阻。現將內容轉述如下:
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
5.2 When are pullups on the A-side and B-side needed?(什麼時候 A 側和 B 側需要上拉?)
TI recommends pullups on the low side (typically the A-side) when one of these conditions is met:(當滿足以下其中一個條件時,TI 建議在低壓側(通常是 A 側)上拉)
- The low side (typically A-side) is used as an output or a bidirectional port, and it is translating to a voltage not equal to Vref_A.(將低壓側(通常是 A 側)作為輸出或是雙向埠,且轉換的電壓不等於 Vref_A)
- The low side (typically A-side) is used as an output or a bidirectional port, is translating to Vref_A, and there are signal integrity problems.(將低壓側(通常是 A 側)作為輸出或是雙向埠的轉換電壓為 Vref_A,且存在訊號完整性的問題)
- The low side (typically A-side) is used as an input or bidirectional port, and is being driven by an open-drain device.(將低壓側(通常是 A 側)作為輸入或是雙向埠,且由開漏裝置所驅動(也就是驅動的接腳不帶電源,像是個開關))
TI recommends pullups on the high side (typically B-side) when one of these conditions is met:(當滿足以下其中一個條件時,TI 建議在高壓側(通常是 B 側)上拉)
- The high side (typically B-side) is used as an output or a bidirectional port.(將高壓側(通常是B 側)作為輸出或是雙向埠)
- The high side (typically B-side) is used as an input or bidirectional port, and is being driven by an open-drain device.(將高壓側(通常是 B 側)作為輸入或是雙向埠,且由開漏裝置所驅動)
Pullups are not required on inputs driven by push-pull devices.(由推挽裝置驅動的輸入不需要上拉)
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
還有一個值得注意的,就是根據資料手冊(10.2.1.1.1 Enabled, Disable, and Reference Voltage Guidelines)上面說的:
⁍ Also Vref_B(*) is recommended to be at 1.0 V higher thanVref_A for best signal integrity. (此外,建議 Vref_B 高於 Vref_A 的電壓 1.0 V 以上,以獲得最佳的信號完整性)
⁍ The LSF Familyis able to set different voltage translation level on each channel.(LSF 家族能在每個通道上設定不同的邏輯電壓轉換準位;具體怎麼做看下面的說明)
* 由 Table 3. Application Operating Condition 可知,最小的 Vref_B 必須大於 Vref_A+0.8V。
關於在滿足上面 Vref_B ≧ Vref_A+0.8V 條件下,怎麼設置通道轉換電壓小於 0.8 V,看下面的說明;這裡也同時說明,各通道可獨立設定不同轉換電壓的方式。
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
5.3 The datasheet says Vref_B must be 0.8 V higher than Vref_A. How do I translate across a small range, like 1.2 V to 1.8 V?(資料手冊上說,Vref_B 必須比 Vref_A 高 0.8V,那麼我應該如何在 1.2V 到 1.8V 的小範圍做轉換呢?)
Set Vref_A to 1.2 V and Vref_B between 2 V and 5.5 V.
Add a B-side pullup to 1.8 V. As long as
Vref_B ≥ Vref_A+ 0.8 V and Vref_B is with in the recommended
operating conditions range, the level of Vref_ B does not affect the
output signal. Only the B-side pullups affect the output signal level.
(首先設置 Vref_A 電壓為 1.2V 且 Vref_B 電壓設置在 1.2V
至 5.5V 之間,B 側加上提升電阻至 1.8V。只要 Vref_B ≧ Verf_A+0.8V 和
Vref_B 在建議的工作條件範圍內,那麼
Vref_B 並不會影響到輸出信號,只有 B 側的上拉會影響輸出電壓)
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
只要掌握上面所提及的部分,就可以好好的使用和發揮 LSF0204 的電壓轉換功能。
/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
*測試電路和程式碼:
下面是個可實際使用的例子,也是可用來作為熟悉和測試 LSF0204 模組轉換功能的電路。
<Vref_A> 的電壓輸入是經由調整 10K 可調精密電阻而來的(由資料手冊得知範圍應介於 DC 0.8V ~ 4.5V),A 側作為輸入端、B 側作為輸出端。<A4> 通道的高低準位切換是經由撥動開關控制,且接至 Arduino UNO 的 <A0> 接腳量測電壓值。<B4> 是 <A4> 的準位轉換輸出通道,由之前兩小節的測試得知,由 <A4> 低電壓轉換至 <B4> 高電壓時要加提升(上拉)電阻,這樣輸出才會是 5V 目標電壓。不過可以在電路圖中可以看到,並沒有所謂的提升電阻與 <+5V> 接在一起,因為採用的是 Arduino UNO 接腳內部的提升功能,只要在程式裡面開啟就可以。
實際完成的接線圖如下所示,圖中關於 LSF0204 <Vref_A> 和 <Vref_B> 接腳的電源輸入,也可以直接使用 Arduino UNO 上的 <5V> 或 <3V> 接腳來取代麵包板電源。
程式碼:
上傳程式碼到 Arduino UNO 後開啟 Serial Monitor,撥動開關就可看到轉換之後的電壓邏輯準位的變化,而且狀態也會反映到板載的 <D13> LED 上。
【結論】
這篇網頁說明了 LSF0204 使用的重點,以及 A、B 側外加提升電阻需考慮的要素。如果對於 LSF0204 模組使用上還有其他不了解的地方,歡迎留言或是上露露通直接線上詢問。
.
.
沒有留言:
張貼留言
留言屬名為"Unknown"或"不明"的用戶,大多這樣的留言都會直接被刪除掉,不會得到任何回覆!
發問問題,請描述清楚你(妳)的問題,別人回答前不會想去 "猜" 問題是什麼?
不知道怎麼發問,請看 [公告] 部落格提問須知 - 如何問問題 !