日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 只看帖不發(fā)帖是不好的,我也來發(fā)發(fā)帖子吧,寫的不好諒解啊。前兩個(gè)月在公司做了一個(gè)低功耗項(xiàng)目,現(xiàn)在功耗最低10uA不到,平均功耗40uA左右,算是達(dá)標(biāo)了。因?yàn)槭枪井a(chǎn)品,就不方便貼代碼、原理圖了,該產(chǎn)

只看帖不發(fā)帖是不好的,我也來發(fā)發(fā)帖子吧,寫的不好諒解啊。
前兩個(gè)月在公司做了一個(gè)低功耗項(xiàng)目,現(xiàn)在功耗最低10uA不到,平均功耗40uA左右,算是達(dá)標(biāo)了。因?yàn)槭枪井a(chǎn)品,就不方便貼代碼、原理圖了,該產(chǎn)品是一個(gè)小模塊,可以方便的嵌入到各種系統(tǒng)里面。跟原子哥他們賣的NRF2401類似,是一個(gè)讀卡器。
做這個(gè)項(xiàng)目中間也請(qǐng)了技術(shù)支持,因?yàn)橥鈬娐沸酒墓囊恢苯挡幌聛恚?jīng)過與對(duì)方的反復(fù)交流,對(duì)方提供了低功耗的測(cè)試結(jié)果、硬件方案、軟件方案,經(jīng)過修改測(cè)試,最終成為我們的產(chǎn)品,功耗比較滿意。
硬件方案選擇的是STM32,外加某公司的讀卡芯片。前期完成了讀卡等功能的開發(fā),最后一項(xiàng)開發(fā)內(nèi)容是最艱巨也是最困難的---低功耗。在開發(fā)過程中,從硬件設(shè)計(jì)上不斷裁剪元器件,軟件上不斷精簡(jiǎn)代碼,功耗最低都保持在3-4mA。

電路設(shè)計(jì)上,只用到了一個(gè)LED、串口1、一個(gè)模擬SPI、一個(gè)中斷線、一個(gè)讀卡芯片RESET線,硬件上就只剩下這么點(diǎn)東西了,這個(gè)時(shí)候我采用的是待機(jī)模式,使用的是讀卡芯片的中斷接PA0喚醒STM32,在此之前要先使得讀卡芯片進(jìn)入低功耗、然后STM32進(jìn)入低功耗,這一步完成了,貌似沒什么問題,功耗確實(shí)從幾十mA驟降到3mA左右,開始還挺滿意的,但是測(cè)試廠商提供的樣板,功耗卻只有幾十uA,有點(diǎn)郁悶了。為什么會(huì)這樣?反復(fù)查看硬件、程序,都找不出原因,而且這個(gè)時(shí)候的工作效果很爛,根本就不能喚醒,所以我就懷疑是讀卡芯片一端低功耗有問題,因?yàn)槲覍A0腳直接短接VCC,這樣就可以產(chǎn)生一個(gè)邊沿觸發(fā)STM32喚醒了,但是用讀卡芯片無法喚醒,所以我懷疑是讀卡芯片的RESET腳電平不對(duì),經(jīng)檢查,確實(shí)是因?yàn)镽ESET腳加了上拉電阻,讀卡芯片是高電平復(fù)位,在STM32進(jìn)入待機(jī)后,管腳全都浮空了,導(dǎo)致RESET被拉高,一直在復(fù)位;我去掉上拉電阻,覺得很有希望解決問題了,但是測(cè)試結(jié)果是:有時(shí)候能喚醒,有時(shí)候不能,我仔細(xì)一想難道是因?yàn)镾TM32待機(jī)后管腳電平不確定,導(dǎo)致讀卡芯片RESET腳電平不定,而工作不正常,看樣子只有換用其他方案了。后面確實(shí)驗(yàn)證了我的想法,使用STOP模式后,喚醒問題引刃而解。
就在關(guān)鍵時(shí)刻,芯片原廠火種送炭,送來急需的技術(shù)支持資料,一個(gè)包含低功耗源代碼,趕緊拿過來測(cè)試,先研讀下代碼,使用的是STOP模式,而不是待機(jī)模式,使用的是任意外部中斷喚醒,功耗低制40uA,這個(gè)時(shí)候就相當(dāng)激動(dòng)啊,趕快下載測(cè)試啊,結(jié)果功耗確實(shí)降了,但還是有1mA,更人家一比多了幾十倍啊。。。
我第一反應(yīng)是硬件不對(duì),經(jīng)過測(cè)試修改,首先找到第一個(gè)原因,讀卡芯片RESET管腳上拉電阻又給焊上去了...,拆掉后功耗驟降到幾百uA,還是不行。。 測(cè)試過程中,為了去掉LDO的干擾,整板采用3.3V供電,但是后面經(jīng)過測(cè)試,LDO的功耗其實(shí)也只有5uA不到,這LDO功耗值得贊一個(gè);雖然結(jié)果還是沒達(dá)到預(yù)期,但是看到了希望,勝利就在眼前啊。
為此我反復(fù)看了技術(shù)支持提供的程序,發(fā)現(xiàn)他們的STM32的所有管腳都的設(shè)置都有所考究:(因?yàn)楣颈C茉瓌t,代碼中刪除掉了關(guān)于該讀卡芯片的前綴信息等)

GPIO_InitTypeDef GPIO_InitStructure;

/* GPIOA Periph clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/* GPIOB Periph clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/* GPIOC Periph clock enable */
//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//####################################################
//USART1 Port Set
//TXD
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//RXD
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);

//RST output pushpull mode
GPIO_InitStructure.GPIO_Pin = TRST;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(PORT1, &GPIO_InitStructure);
//IRQ input pull-up mode
GPIO_InitStructure.GPIO_Pin = TIRQ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(PORT1, &GPIO_InitStructure);
//MISO input pull-up mode
GPIO_InitStructure.GPIO_Pin = MISO;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(PORT2, &GPIO_InitStructure);
//NSS,SCK,MOSI output pushpull mode
GPIO_InitStructure.GPIO_Pin = (NSS|SCK|MOSI);
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(PORT2, &GPIO_InitStructure);
//############################################################################
//TEST Port set
//TESTO input pushpull mode
GPIO_InitStructure.GPIO_Pin = TESTO;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(TEST_PORT, &GPIO_InitStructure);
//############################################################################
//TEST Port set
//TESTI output pushpull mode
GPIO_InitStructure.GPIO_Pin = TESTI;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(TEST_PORT, &GPIO_InitStructure);
//############################################################################
//LED Port Set
//LED output pushpull mode
GPIO_InitStructure.GPIO_Pin = LED;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(LED_PORT, &GPIO_InitStructure);

//############################################################
GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_8|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_15);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOC, &GPIO_InitStructure);
首先,想MOSI、SCK、CS、LED、RST這些管腳應(yīng)該設(shè)置為推挽輸出,TXD設(shè)置為復(fù)用輸出,而IRQ、RXD、MISO設(shè)置浮空輸入,什么都沒接的管腳全都設(shè)置為下拉輸入,而TESTI、TESO我一直不解是什么東東,開始就沒管,而開始的時(shí)候MISO我也沒怎么注意,設(shè)置成上拉輸入(而不是浮空輸入),反正大部分按照廠家提供的參考,我并沒有照搬,測(cè)試效果一樣,但功耗確是還有80-90uA,期間我找了好久沒找到原因,給技術(shù)支持一看,原來是因?yàn)镸ISO沒有設(shè)置成浮空輸入,我是設(shè)置成了上拉輸入,上拉電阻一直在消耗大約40uA的電流。。。 好吧,這是自己不夠細(xì)心導(dǎo)致的,以后做低功耗的項(xiàng)目管腳配置是個(gè)大問題,不能再這么馬虎了?。?! 我將MISO設(shè)置成浮空輸入之后,最低功耗還是有40+,離10uA的最低功耗還有段距離,到底是為什么呢?最后我發(fā)現(xiàn)

,該讀卡芯片有個(gè)TESTIN/TESTOUT管腳,是用來測(cè)試用的,出廠后也就用不上了,我也一直以為這兩個(gè)腳確實(shí)沒什么用,就沒接;可是我發(fā)現(xiàn)廠家提供的樣板居然接了這兩個(gè)腳,但是廠商也沒說這兩個(gè)腳接或不接會(huì)影響功耗啊,抱著試一試的心態(tài),我我把TESTIN/TESTOUT兩個(gè)管腳接到單片機(jī)上進(jìn)行相應(yīng)的配置,接下來是見證奇跡的時(shí)刻了,功耗居然真的、真的降到10uA了。。。。。。。。。。。 此處省略n個(gè)字
這時(shí)候真的很激動(dòng),真的很想罵人啊,坑爹的廠家,為什么不給提示說這兩個(gè)腳不接單片機(jī)會(huì)消耗電流呢?(也許是文檔里面提到了,但是幾百頁(yè)的文檔,還是全英文的,一堆堆的文字,我再看一遍,確實(shí)沒有提到這兩個(gè)管腳會(huì)有漏電流。)
項(xiàng)目就這樣完工了,中間最重要的是技術(shù)支持的強(qiáng)力支持,不然項(xiàng)目不能完工了,這個(gè)項(xiàng)目低功耗STM32方面難度不高,主要是讀卡芯片上面的低功耗調(diào)試起來問題很多,還是人家原廠的出馬才解決了問題,因?yàn)楸姸嘣?,不能公布該芯片的資料,包括該芯片怎么進(jìn)入低功耗也無法公開,所以抱歉~~。
關(guān)于STM32進(jìn)入低功耗,我簡(jiǎn)單的總結(jié)了一下:
1.管腳設(shè)置,這個(gè)很關(guān)鍵,還是跟你電路有關(guān)系,外加上拉、下拉電阻切記不能隨便加
2.STM32的systick clock、DMA、TIM什么的,能關(guān)就全都關(guān)掉,STM32低功耗很簡(jiǎn)單,關(guān)鍵是外圍電路功耗是關(guān)鍵
3.選擇一個(gè)低功耗的LDO,這個(gè)項(xiàng)目用到的LDO功耗就很不錯(cuò),靜態(tài)功耗10uA都不到。
4.確定STM32設(shè)置沒問題,進(jìn)入低功耗有好幾種情況可以選擇(睡眠、停機(jī)、待機(jī)),我還是推薦選擇STOP模式,這個(gè)我覺的比較好是因?yàn)榭梢匀我馔獠恐袛喽伎梢詥拘?,而且管腳可以保留之前的設(shè)置,進(jìn)入停機(jī)模式的代碼使用庫(kù)函數(shù)自帶的,就一句:

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

新竹2025年9月9日 /美通社/ -- 全球客制化存儲(chǔ)芯片解決方案設(shè)計(jì)公司愛普科技今日宣布,其新一代PSRAM—ApSRAMTM (Attached-pSRAM)已通過客戶平臺(tái)驗(yàn)證,預(yù)計(jì)將于年底開始量產(chǎn)。ApSRAMT...

關(guān)鍵字: PSRAM 低功耗 存儲(chǔ)芯片 MT

輪胎壓力監(jiān)測(cè)系統(tǒng)(TPMS)作為現(xiàn)代汽車安全的核心組件,通過實(shí)時(shí)監(jiān)測(cè)胎壓與溫度數(shù)據(jù),構(gòu)建起全天候的輪胎健康監(jiān)護(hù)網(wǎng)絡(luò)。其算法設(shè)計(jì)需兼顧低功耗運(yùn)行與高精度異常識(shí)別,尤其在直接式TPMS中,傳感器需在紐扣電池供電下持續(xù)工作5年...

關(guān)鍵字: TPMS 低功耗

在智能家居系統(tǒng)中,無線傳感器、控制器等設(shè)備對(duì)電源的穩(wěn)定性與能效提出嚴(yán)苛要求。尤其在采用Zigbee協(xié)議的場(chǎng)景中,低功耗待機(jī)與智能喚醒機(jī)制成為延長(zhǎng)設(shè)備續(xù)航、保障網(wǎng)絡(luò)可靠性的核心設(shè)計(jì)要素。本文從電源架構(gòu)設(shè)計(jì)、Zigbee模塊...

關(guān)鍵字: Zigbee 低功耗

在現(xiàn)代快節(jié)奏的生活中,心臟健康問題日益受到人們的關(guān)注。心血管疾病已成為威脅人類健康的主要?dú)⑹种?,且呈現(xiàn)出年輕化的趨勢(shì)。傳統(tǒng)的心電圖檢測(cè)往往需要在醫(yī)院進(jìn)行,不僅耗時(shí)費(fèi)力,而且難以實(shí)現(xiàn)日常的實(shí)時(shí)監(jiān)測(cè)。如今,隨著科技的飛速發(fā)...

關(guān)鍵字: 心電監(jiān)測(cè)儀 低功耗 利器

在現(xiàn)代電子系統(tǒng)中,電源管理的重要性日益凸顯。隨著便攜式設(shè)備、物聯(lián)網(wǎng)(IoT)設(shè)備以及高性能芯片的不斷發(fā)展,對(duì)電源穩(wěn)壓器提出了越來越高的要求。低壓差線性穩(wěn)壓器(Low Dropout Regulator,LDO)因其能夠在...

關(guān)鍵字: 低功耗 低壓差 LDO

在當(dāng)今數(shù)字化醫(yī)療與健康監(jiān)測(cè)蓬勃發(fā)展的時(shí)代,生物電測(cè)量技術(shù)作為洞察人體生理狀態(tài)的關(guān)鍵手段,正發(fā)揮著日益重要的作用。從常規(guī)的心電圖(ECG)檢測(cè)心臟電活動(dòng),到腦電圖(EEG)捕捉大腦神經(jīng)元的信號(hào),生物電信號(hào)蘊(yùn)含著豐富的人體生...

關(guān)鍵字: 腦電圖 低功耗 前端芯片

在物聯(lián)網(wǎng)設(shè)備與可穿戴產(chǎn)品向長(zhǎng)續(xù)航、微型化演進(jìn)的趨勢(shì)下,STM32微控制器的超低功耗設(shè)計(jì)已成為決定產(chǎn)品競(jìng)爭(zhēng)力的核心要素。通過深度優(yōu)化STOP模式、RTC喚醒機(jī)制及電源管理策略,工程師可將系統(tǒng)待機(jī)電流從毫安級(jí)壓縮至納安級(jí),使...

關(guān)鍵字: STM32 低功耗

正確理解技術(shù)詳情數(shù)據(jù)表中指定的精度,明確測(cè)量需求以及避免使用需要在多個(gè)量程之間切換的儀器是關(guān)鍵因素。牢記這些要點(diǎn)將有助于您為開發(fā)項(xiàng)目選擇合適的工具,并在測(cè)量過程中避免潛在問題,從而實(shí)現(xiàn)設(shè)備低功耗。

關(guān)鍵字: 物聯(lián)網(wǎng) 電流精度 低功耗 測(cè)量?jī)x表

在全球倡導(dǎo)綠色節(jié)能、可持續(xù)發(fā)展的時(shí)代背景下,延時(shí)繼電器作為電氣控制領(lǐng)域的關(guān)鍵元件,其發(fā)展方向正朝著低功耗設(shè)計(jì)與環(huán)保材料應(yīng)用轉(zhuǎn)變。這一轉(zhuǎn)變不僅順應(yīng)了環(huán)保潮流,也為延時(shí)繼電器行業(yè)帶來了新的發(fā)展機(jī)遇。

關(guān)鍵字: 延時(shí)繼電器 低功耗

隨著物聯(lián)網(wǎng)、可穿戴設(shè)備等領(lǐng)域的快速發(fā)展,對(duì)嵌入式系統(tǒng)的低功耗需求日益增長(zhǎng)。STM32單片機(jī)作為一款性能卓越、功能豐富的微控制器,廣泛應(yīng)用于各種電子設(shè)備中。然而,在追求高性能的同時(shí),如何降低其功耗成為了設(shè)計(jì)者面臨的重要挑戰(zhàn)...

關(guān)鍵字: STM32 低功耗
關(guān)閉