0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

初始化串口后,電流小了很多是什么原因

TopSemic嵌入式 ? 來(lái)源:TopSemic嵌入式 ? 作者:TopSemic嵌入式 ? 2022-10-24 09:13 ? 次閱讀

工程師反饋:他們的板子當(dāng)初始化串口后,進(jìn)入低功耗模式時(shí),電流會(huì)有幾百個(gè)uA;如果不初始化串口進(jìn)入低功耗,電流則正常為幾個(gè)uA。

此現(xiàn)象自然是不正常的,為此我用開(kāi)發(fā)板搭建了測(cè)試環(huán)境,板子飛線(xiàn)外接了一個(gè)USB轉(zhuǎn)串口(芯片是CH340,連接了TX、RX、GND)

當(dāng)進(jìn)入低功耗模式后,實(shí)測(cè)電流確實(shí)是幾百u(mài)A。

但是當(dāng)把USB轉(zhuǎn)串口插到電腦上時(shí),電流就一下子小了很多。

上述現(xiàn)象是什么原因呢?

當(dāng)MCU串口初始化后,在串口不發(fā)送數(shù)據(jù)時(shí)TX引腳是高電平,當(dāng)USB轉(zhuǎn)串口沒(méi)有供電時(shí),此時(shí)MCU TX引腳會(huì)給這一部分電路供電,從而消耗能量,產(chǎn)生了幾百u(mài)A的電流,從上圖它的指示燈亮也能驗(yàn)證這一點(diǎn)。

上述其實(shí)現(xiàn)象叫倒灌,即USB轉(zhuǎn)串口RX引腳上的電壓倒灌到其VCC上。同理反方向,如果USB轉(zhuǎn)串口一直接著電腦,MCU主電源斷了,USB轉(zhuǎn)串口也會(huì)通過(guò)它的TX引腳電壓使MCU產(chǎn)生倒灌。雖然倒灌有時(shí)看起來(lái)也能工作,但是實(shí)際使用中要避免這種情況的產(chǎn)生,因?yàn)樗枪ぷ髟诜钦顟B(tài)的。不僅串口引腳,GPIO引腳也會(huì)經(jīng)常引起倒灌的產(chǎn)生。

倒灌可通過(guò)外部加保護(hù)電路避免,舉個(gè)栗子,比如為了防止MCU通過(guò)串口RX引腳產(chǎn)生倒灌,可以加一個(gè)邏輯器件,當(dāng)3.3V斷開(kāi)時(shí)就不會(huì)產(chǎn)生倒灌。

1a34adc2-5331-11ed-a3b6-dac502259ad0.png

另外很多芯片內(nèi)部也會(huì)做防倒灌的設(shè)計(jì)。

當(dāng)USB轉(zhuǎn)串口正常供電時(shí),它所需能量由外部電源提供,RX引腳阻抗大,此時(shí)雖然MCU TX引腳為高電平,也不會(huì)額外增加多少電流。

后來(lái)和該工程師溝通得知,他就是因?yàn)樵谶M(jìn)入低功耗前把串口相連接的通訊模塊斷了電,導(dǎo)致TX引腳漏電引腳的上述電流大的問(wèn)題。

要解決他的問(wèn)題也很簡(jiǎn)單,在進(jìn)入低功耗模式前,重新配置MCU TX引腳(配置為輸入或者模擬模式),不讓其輸出高電平即可。

最后總結(jié)一下,MCU進(jìn)入低功耗前要確保各IO引腳處于合適的引腳狀態(tài),避免漏電引起功耗的增加,避免倒灌現(xiàn)象的產(chǎn)生。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電源
    +關(guān)注

    關(guān)注

    184

    文章

    17203

    瀏覽量

    247768
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417140
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7772

    瀏覽量

    262369
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6715

    瀏覽量

    88307

原文標(biāo)題:初始化串口后,低功耗模式下電流高是怎么回事?

文章出處:【微信號(hào):TopSemic,微信公眾號(hào):TopSemic嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RT-Thread自動(dòng)初始化詳解

    我們知道,在寫(xiě)裸機(jī)程序時(shí),當(dāng)我們完成硬件初始化,就需要在主函數(shù)中進(jìn)行調(diào)用。當(dāng)我們使用RT-Thread,完全不需要這樣做了,我們可以將硬件等自動(dòng)初始化。 RT-Thread?自動(dòng)
    的頭像 發(fā)表于 06-25 21:38 ?1w次閱讀
    RT-Thread自動(dòng)<b class='flag-5'>初始化</b>詳解

    esp8266_rtos_sdk串口初始化異常是什么原因呢?

    硬件環(huán)境:nodeMCU 我從github下載了最新的RTOS SDK,并且僅僅在初始化 user_init() 函數(shù)里添加了一個(gè)函數(shù) uart_init_new() 然后編譯。生成bin文件,下載
    發(fā)表于 07-11 06:04

    STM32串口燒錄時(shí),串口初始化和LCD初始化的先后問(wèn)題

    本帖最后由 zcw2016 于 2017-7-13 10:45 編輯 我用的是STM32F103ZET6,在程序里L(fēng)CD初始化函數(shù)在前,串口初始化函數(shù)在后,再利用串口燒錄軟件Fl
    發(fā)表于 07-13 10:41

    請(qǐng)問(wèn)協(xié)調(diào)器初始化,節(jié)點(diǎn)仍舊不能入網(wǎng)是什么原因

    ,節(jié)點(diǎn) 設(shè)置相同PANID = 1111;如果先啟動(dòng)節(jié)點(diǎn),再啟動(dòng)協(xié)調(diào)器完全初始化建網(wǎng),節(jié)點(diǎn)可以加入?yún)f(xié)調(diào)器。 但是將協(xié)調(diào)器再重新一次初始化建網(wǎng), 節(jié)點(diǎn)無(wú)法連接協(xié)調(diào)器,可能是節(jié)點(diǎn)保留的先前的網(wǎng)絡(luò)信息。 此時(shí)
    發(fā)表于 05-22 06:39

    請(qǐng)問(wèn)初始化TIM寫(xiě)不進(jìn)去是什么原因?

    同一個(gè)程序,不同的芯片,有些可以,有些不行。在初始化完時(shí)鐘,初始化TIM,發(fā)現(xiàn)調(diào)用Init的API時(shí),進(jìn)去一看,什么TIMx->ARR那些明明寫(xiě)了數(shù),走下一步看,還是0,查看Register
    發(fā)表于 10-16 11:19

    arm調(diào)用c函數(shù)初始化失敗

    指令可以正常的初始化。 但是我另外定義了一個(gè)main.c 文件,通過(guò)man.c中的 main() 函數(shù)調(diào)用 uart0_init() 進(jìn)行初始化。然后在匯編中通過(guò)指令 bl main 初始化
    發(fā)表于 03-21 07:45

    為什么串口初始化程序會(huì)影響LCD?

    今天在弄TFTLCD顯示 實(shí)驗(yàn)的時(shí)候沒(méi)把例程里串口初始化加進(jìn)去,結(jié)果燒進(jìn)去屏幕一片空白,我又加上了這個(gè)語(yǔ)句,結(jié)果居然燈也不亮。我看了一下串口初始
    發(fā)表于 11-08 04:35

    沒(méi)有初始化UART1

    創(chuàng)龍工程師你好,在使用創(chuàng)龍TL-6748-EVM時(shí),發(fā)現(xiàn)UART1例程中管腳初始化,沒(méi)有初始化UART1,初始化的是核心板的LED,PSC初始化也是LED,請(qǐng)問(wèn)這是
    發(fā)表于 04-08 07:54

    初始化串口低功耗模式下電流高是什么原因呢?

    USB轉(zhuǎn)串口(芯片是CH340,連接了TX、RX、GND)當(dāng)進(jìn)入低功耗模式,實(shí)測(cè)電流確實(shí)是幾百u(mài)A。但是當(dāng)把USB轉(zhuǎn)串口插到電腦上時(shí),電流
    發(fā)表于 11-30 14:52

    STM32F446 RTC初始化失敗是什么原因?

    初始化RTC失敗,請(qǐng)幫忙看看具體是什么原因導(dǎo)致初始化不能成功輸入date,會(huì)等很久,好像卡住了一般系統(tǒng)版本:4.1.0
    發(fā)表于 02-07 10:30

    Itc250032初始化的時(shí)候DRL不變化,初始化一直失敗的原因?

    初始化LTC250032時(shí)的波形如上圖,圖中DRL一直是低電平,按照數(shù)據(jù)手冊(cè)提示,MCLK上升沿以后DRL也應(yīng)該變?yōu)楦唠娖?,然后DRL下降沿開(kāi)始寫(xiě)入數(shù)據(jù)。 當(dāng)把PRE置為高電平以后,DRL 能夠輸出脈沖。 現(xiàn)在的問(wèn)題是,初始化的時(shí)候DRL不變化,
    發(fā)表于 12-05 06:40

    STM32F407VET6 的所有串口初始化 并進(jìn)行回環(huán)測(cè)試

    STM32F407VET6的串口初始化與回環(huán)測(cè)試最近在做工訓(xùn)賽,使用到了很多智能模塊 模塊之間通信 選擇了串口通信 簡(jiǎn)直自閉把F407的6個(gè)串口
    發(fā)表于 12-24 19:02 ?50次下載
    STM32F407VET6  的所有<b class='flag-5'>串口</b><b class='flag-5'>初始化</b>  并進(jìn)行回環(huán)測(cè)試

    關(guān)于lcd1602初始化只有第一行有黑塊的問(wèn)題

    關(guān)于lcd1602初始化只有第一行有黑塊的問(wèn)題將初始化代碼: write_com(0x38);delay(5); //顯示模式設(shè)置重復(fù)使用至4次即可解決問(wèn)題(其他初始化步驟正常
    發(fā)表于 01-14 09:33 ?7次下載
    關(guān)于lcd1602<b class='flag-5'>初始化</b><b class='flag-5'>后</b>只有第一行有黑塊的問(wèn)題

    labview運(yùn)行如何初始化

    LabVIEW是一款強(qiáng)大的圖形編程軟件,在運(yùn)行之前通常需要進(jìn)行一些初始化操作。本文將詳細(xì)介紹LabVIEW運(yùn)行前的初始化過(guò)程,并提供了一些常用的初始化方法。 創(chuàng)建新項(xiàng)目: 在LabV
    的頭像 發(fā)表于 12-28 17:24 ?2065次閱讀

    串口初始化一般是初始化哪些內(nèi)容

    串口初始化是指在使用串口進(jìn)行數(shù)據(jù)通信之前,對(duì)串口進(jìn)行一系列的設(shè)置和配置,以確保串口能夠正常工作。串口
    的頭像 發(fā)表于 01-04 09:39 ?2701次閱讀