![]() |
發布時間: 2025-2-28 20:34
正文摘要:如圖所示,主控是STM8L0芯片,用的是PC0,PC1作為模擬IIC的兩個引腳,配成推挽輸出,用起來正常。 把模擬IIC通信IO換成PD5/PD6,也是推挽模式,數字電源供電看時不時電流跳到十幾MA,正常狀態是2MA。然后把PD5/PD6配 ... |
飛云居士 發表于 2025-2-28 23:10 我有個疑問,假設PD5/PD6配成推挽時,SDA輸出低電平,此時是不是電流增大呢,因為輸出低電平,電流從IO外面流入芯片,相當于消耗掉電流,導致數字電源顯示電流跳變,不知道我這想法對不對。 |
IIC用推挽沒有燒芯片就已經燒高香了 |
飛云居士 發表于 2025-2-28 23:10 謝謝解答 |
這一現象可從引腳特性和IIC通信原理兩方面來解釋: - **引腳特性差異**:從表格可知,PC0、PC1引腳標注“FT”和“T”,表示5V耐壓和真開漏輸出;PD5、PD6標注“TT”和“HS”,表示3.6V耐壓和高灌電流/拉電流能力(20 mA)。在推挽輸出模式下,PD5和PD6能主動輸出高電平和低電平,當連接到IIC設備,由于IIC總線需通過上拉電阻保持高電平,推挽輸出的強驅動能力可能與上拉電阻沖突,導致電流異常增大。而PC0、PC1為開漏特性,需外部上拉電阻,不會產生這種沖突,所以工作正常。 - **IIC通信原理**:IIC是半雙工通信總線,在數據傳輸時,設備通過拉低SDA線來傳輸數據。開漏輸出模式下,引腳只能拉低電平,高電平由上拉電阻提供,符合IIC協議要求。當PD5/PD6設為推挽輸出,其強驅動能力在某些狀態下與上拉電阻共同作用,增加了電路電流消耗,出現電流跳變;設為開漏輸出后,恢復符合IIC協議的正常電流狀態 。 |