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

當前位置:首頁 > > 大魚機器人
[導(dǎo)讀]經(jīng)過了多年的低功耗硬件設(shè)計,其中容易出的一個問題是單片機進睡眠模式前IO沒配好,產(chǎn)品上主要出的問題是這些出問題的IO比較隱蔽,當時經(jīng)過多次測試也沒測試出來,后來在生產(chǎn)或現(xiàn)場才發(fā)現(xiàn)的概率性功耗偏大的問題。站在硬件的角度,最近才意識到原來軟件上一直容易犯的一個毛病是 進睡眠前沒有把所有IO重新配置一遍 ,這樣容易導(dǎo)致IO低功耗的BUG出現(xiàn)。


作者:YJGQDD(阿莫:hailing),整理:曉宇

微信公眾號:芯片之家(ID:chiphome-dy)

經(jīng)過了多年的低功耗硬件設(shè)計 (公司硬件設(shè)計和軟件設(shè)計是分開的,我一直是做硬件,在面對低功耗生產(chǎn)事故中做硬件的往往很苦逼),其中容易出的一個問題是單片機進睡眠模式前IO沒配好,產(chǎn)品上主要出的問題是這些出問題的IO比較隱蔽,當時經(jīng)過多次測試也沒測試出來,后來在生產(chǎn)或現(xiàn)場才發(fā)現(xiàn)的概率性功耗偏大的問題。
站在硬件的角度,最近才意識到原來軟件上一直容易犯的一個毛病是 睡眠前沒有把所有IO重新配置一遍 ,這樣容易導(dǎo)致IO低功耗的BUG出現(xiàn)。
這個心得總結(jié)起來是:要求在進睡眠模式前把所用的單片機的所有的IO從代碼上1個IO接1個IO的配置一遍。不要偷懶,不要多個IO一起配置。
分析
? ?外設(shè)時鐘
外設(shè)的時鐘沒關(guān),單片機內(nèi)部模塊沒關(guān)等,部分單片機進睡眠后自動會關(guān)閉,部分不會自動關(guān)閉的,沒關(guān)的話當場測試功耗就偏高,會馬上發(fā)現(xiàn)的。所以這些在實際生產(chǎn)中都沒出過問題。
? ?IO配置
1個IO接1個IO配置,不要多個IO用類似BIT1|BIT2……,|=0xxx這類一起配置。因為代碼上越是直觀,出現(xiàn)筆誤的概率越低。而且我們核對IO的時候都是一個IO一個IO的去核對配置對不對。所以代碼上依次寫一下其實花了不了多少時間和代碼空間的?;▊€5到30分鐘撐死,但是后續(xù)節(jié)省的時間和金錢就不好說了。人的總是有惰性的,我自己寫代碼的時候之前進低功耗前也只是配置了一部分,現(xiàn)在慢慢開始習慣全部配置,很多配置可以復(fù)制之前的IO初始化(這個已經(jīng)養(yǎng)成了1個IO,1個IO的配置,改起來其實很舒服的)。
? ?案例分析
實際出現(xiàn)的最麻煩,最隱蔽的情況往往跟IO的配置有關(guān),越簡單的往往越容易出問題。
1、比如大多數(shù)情況下程序從A子程序進入睡眠后IO配置沒問題,經(jīng)過大量測試也沒發(fā)現(xiàn)問題。但是當某次執(zhí)行了B后再進睡眠,B中對IO進行了操作,再進睡眠沒有把IO改回來,這時問題就可能出現(xiàn)了。而要是執(zhí)行C,D……等程序再睡眠都不會出IO的隱患。
案例: 產(chǎn)品在客戶那里發(fā)現(xiàn)有 50%左右放了一段時間后電池耗光。研發(fā)百思不得其姐, 多次查看代碼沒發(fā)現(xiàn)問題,之前也沒出現(xiàn)死機的問題(死機后會導(dǎo)致不能進低功耗,功耗超高)。派人去現(xiàn)場測試,進過大量測試后發(fā)現(xiàn)一個IO部分產(chǎn)品輸出高。導(dǎo)致電流多了1mA左右。原因是客戶上電做了秒脈沖輸出,下電后產(chǎn)品就用電池供電了。戶下電前沒有配置關(guān)閉秒脈沖輸出,程序下電后也沒有把IO配置回來,導(dǎo)致有50%的概率IO輸出高電平。
2、一個產(chǎn)品已經(jīng)生產(chǎn)了幾萬臺,一直沒發(fā)現(xiàn)問題。后來換了一家PCB廠家后,生產(chǎn)發(fā)現(xiàn)功耗個別產(chǎn)品偏高個10uA左右,研發(fā)拿回來分析,發(fā)現(xiàn)換了芯片就好了。但是生產(chǎn)出現(xiàn)百分之幾的功耗不好的情況,芯片不可能出現(xiàn)這么大概率的損壞。430芯片,走正規(guī)供應(yīng)商的。再一個IO一個IO的查找,通過手摸IO最終發(fā)現(xiàn)一個連光耦輸入端的IO配置的是輸入模式。換了芯片好了是因為焊接過,板子變臟,電阻變小,IO有一個比較固定的偏向與GND的電壓,因而沒問題。之前沒問題可能是板子的阻值比現(xiàn)在的這家小了點,或當時生產(chǎn)的時候濕度大點,或光耦的反向漏電流大些,也是各種可能了。軟件發(fā)現(xiàn)這個IO本來是配置沒問題的,中間不知道哪里配置過或配置別的IO時不小心連這個IO也配置了??傊敃r沒搜到這個IO的配置哪里改動了,只是在進低功耗前重新配置了下這個IO。
3、產(chǎn)品上使用的一個外購低功耗RF模塊的IO問題。使用CC1101和430F2132。都算低功耗的芯片吧。前后找了2家開發(fā)模塊,第一家2132一個IO沒配置好,生產(chǎn)階段發(fā)現(xiàn)部分產(chǎn)品功耗偏高。后來是因為領(lǐng)導(dǎo)的原因換了家做無線的廠家來做這個,還是CC1101+2132方案。照理來說之前犯過錯誤應(yīng)該吸取經(jīng)驗教訓(xùn)了吧。并且軟件人員也是老手了。結(jié)果生產(chǎn)是沒問題,發(fā)貨到客戶那里還是發(fā)現(xiàn)了個別產(chǎn)品出問題,最后還是發(fā)現(xiàn)一個IO沒配置好狀態(tài)。
4、以上心得很簡單, 但是是付出多次時間+金錢得出的慘痛心得。 而且這些都是軟件的問題,但是功耗問題往往第一個找個是硬件:你設(shè)計的產(chǎn)品功耗偏高,電池沒電,你查查看,哪里出問題了。做硬件的又開不到代碼,軟件人員往往開始還不承認IO配置上有問題,尤其是之前找外面廠家開發(fā)的模塊,他們的意思是,我做軟件xx年了。開發(fā)了這么多產(chǎn)品,這么簡單的一個產(chǎn)品怎么會出問題,是你們自己的產(chǎn)品沒做好才出的問題。苦逼的硬件工程師沒辦法,只能自己想各種辦法找到出問題的那個IO。軟件人員經(jīng)過改代碼對比測試才完成,但是軟件最后還是不會說自己的代碼有問題。
5、關(guān)于IO的問題。430單片機IO設(shè)置是最弱的,大部分沒有上下拉電阻,默認是輸入狀態(tài),沒配置IO就容易出功耗問題,ST的相對好的多,51的IO默認的51狀態(tài)有上拉電阻,沒用到的腳不去配置也不會出問題??盏腎O我之前喜歡配置成輸出0狀態(tài),最近在用STM8S看了下代碼發(fā)現(xiàn)喜歡配置成上拉輸入狀態(tài),STM8S沒下拉電阻,STM32有,配置成下拉輸入狀態(tài)更好些,不小心碰到不會對外輸出電流。

題外話:關(guān)于單片機的低功耗模式之前沒深入了解STM32,最近才發(fā)現(xiàn)進最低功耗的STANDBAY模式RAM中數(shù)據(jù)對丟失,這點不如8位機,之前用STC的51和STM8系列從不擔心ram數(shù)據(jù)丟失的問題??碨TM32L系列進最低功耗也有這個問題,只是可以掉電保的RAM區(qū)域分的更多,更大。
-END-

|?整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有?|
|?如有侵權(quán),請聯(lián)系刪除?|

往期好文合集


如何才能學(xué)好單片機?

呵,你會51單片機的精確延時嗎?

只有6個引腳的單片機,居然可以玩游戲。

??最 后 ??
?

若覺得文章不錯,轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等!
在公眾號內(nèi)回復(fù)「更多資源」,即可免費獲取,期待你的關(guān)注~

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉