欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 40547|回復: 23
打印 上一主題 下一主題
收起左側

STM單片機很容易受干擾而程序丟失-一個MCU應用異常的案例分享

  [復制鏈接]
跳轉到指定樓層
樓主
ID:98618 發表于 2015-12-19 16:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本文作者:Miler Shao
,有個客戶跟我電話,他在用STMCU開發車載產品,STM32STM8都有用。STM32芯片用在他的多路控制板上,STM8S105用在另外顯示面板上。多路控制板上的STM32與顯示板上的STM8S105進行UART通訊,電源由從多路控制板這邊送過去,兩塊板之間用了根近2米的普通信號連接線作供電和UART信號傳送。STM8S105 的供電電壓為5V


客戶反映他的產品已經生產1000多套,小批量送樣出去。他的客戶反映產品的STM8S105很容易受干擾而程序丟失。他拿到退貨后如果重新燒錄又能正常工作


因其進度緊,相約于一晚上見面繼續了解情況,探討問題原因。

見面后他進一步反映,每次STM8S105頭次燒錄后能正常工作,如果無外來干擾,也能保持正常狀態。但如果STM8s105這端的顯示板受到外來干擾,比方電源波動[其實不一定限于電源波動,只是找了這么個簡單而有效的比較粗暴的辦法,他們用手指在多路控制板端的電源供電線路的器件上一派亂摸,導致給顯示板的供電異常波動]后,STM8S105工作異常屬實。斷電后再上電也不能恢復正常,即使多次掉電上電也無濟于事。的確很有點像程序丟失的味道。


連上STLINK,打開STVP查看程序[客戶之前沒有做讀保護],讀出后進一步跟原始燒錄文件比對,一模一樣。說明程序并未丟失。既然程序沒有丟,而STM8S105顯示板受干擾導致功能異常后即使斷電再上電都沒法回歸正常。難道芯片在電源波動干擾時壞了?


檢測STM8S105VCAP腳電源,1.8v,內核供電穩穩的。其復位電路為10K104電容,參數沒什么異常。測試RST復位腳電平,結果是2.5v,顯然不正常,正常應該是5v。因為他說產品都測試過了,小批量出貨。首先比較懷疑電源劇烈波動時個別器件或STM8s105出了故障,還有那根近兩米的電源傳輸纜線讓電源波動時的情況變得更為復雜。


當晚作罷,建議其第二天做電源線路的自行檢查,外圍器件和STM8S105芯片的更換比對測試。


第二天上午客戶反饋,他把所謂的壞板的復位電路處的那個外接電阻從10K更換為110歐就正常工作了。聽后一驚,覺得沒道理。但人家說行,就只好先建議他多測試下,然后自己心里繼續思考到底怎么回事。


到了下午客戶反饋回來,說按上午的接法是比之前穩定多了,當用手摸供電模塊時還是會出狀況。要命的是,當他在110歐的條件下更換MCU芯片做燒錄時幾乎沒法正常燒錄。這是跟之前接10K時是不一樣的新狀況。說明他隨手更換為110歐并不靠譜,也沒理論支撐。當時他更換后感覺好些了,并非真的穩定好了。


記得前一天晚上我隨便掃了幾眼他的源代碼,不復雜。他使用外部晶體做時鐘源,UART通信和部分GPIO及顯示控制。不過,經過近2天我對該客戶的接觸,感覺他因為太忙對整個開發沒花什么心思,代碼是基于ST庫代碼修改而來,基本沒時間做太多研究。


鑒于此,想到他使用外部時鐘,需要他做代碼配置。突然懷疑會不會是他的時鐘配置出了問題,而且如果時鐘配置出了問題,比如超頻了,那上面的那些奇怪現象就不難理解了。想到這里,我電話他屏蔽跟HSE時鐘配置有關的所有代碼,使用系統默認HSI做主時鐘。


功夫不負有心人,還真是他在利用HSE進行時鐘配置的地方出了問題。改用HSI后,復位線路回歸正常接法。他們繼續用手去觸摸電源供電線路的器件會讓STM8S105產生復位,但復位后能回歸正常運行狀態。不像之前受干擾后就回不去了。之前被懷疑因為電源異常波動可能致損的芯片都能正常工作了。


看到這里會有人好奇,他為什么會想到把那個RC中的電阻改為110呢?這點出乎我意料,呵呵。因為頭天晚上我測試異常板的復位腳電平時發現電平才2.5V,不正常。沒想到他第二天為了想把RST腳電平湊到接近VDD,他就不停減小電阻直到復位腳電平接近5V。當然湊巧的時是,此時功能還真有改善,這更加讓他自信這個動作的合理性了。


當然還有個原因,后來他告訴這個問題也拖了幾個月了一直沒找到原因,病急亂投醫也可以理解。這種情況在產品開發過程中也較普遍,在時間進度緊急時先應付了再說。


這里或許有人覺得疑惑,既然他MCU內部時鐘配置錯誤了,為什么第一次燒錄后能妥妥地的工作,還可以給客戶送樣,直到受到外在干擾時才出現異常呢?第一次燒錄后的代碼和受干擾再次上電的代碼并無差別。這點我也迷惑不解,有知道的歡迎留言交流。


但可以肯定的是,他的超頻時鐘問題代碼總歸是讓芯片工作在技術手冊參數約定之外的不可靠無保障的狀態。即使某種條件下的正常運行也不能視為真正的正常狀態,就像個醉漢個別的正確言行并不代表他的言行可靠一樣,因為本身就是出于一種不靠譜狀態。


應該說事情并不復雜,但往往由于客戶在出現狀況時不夠冷靜淡定去找原因,往往急于片面下結論而使得自己的項目進展緩慢;或者無意地把誤判信息再傳達給別人而讓事情復雜化或玄奧化,類似情況可謂不勝枚舉。


比方說,前些天有個工程師問我,說某STM32 芯片的某管腳怎么不聽使喚,奇怪納悶,問是否有特別之處。我查看手冊,該管腳跟別的絕大部分GPIO并無特性上的差異,讓其繼續檢查。后來發現是代碼在兩處作了不一致的配置。再說個實例,也是幾天前有個工程師反映說在SWIM燒錄時,只要配置了某管腳輸出時就沒法燒錄。咋聽起來兩個東西應該是不著邊際,讓其檢查該腳控制了些什么。后來發現該腳控制了某個電源開關管,它的通斷直接影響到MCU的供電。


套用一句類似評價家庭幸福的話來結尾,正常產品的結果是一致的,異常產品的癥狀和原因是五花八門的。

評分

參與人數 2黑幣 +17 收起 理由
wj1994 + 5 很給力!
YJGG + 12 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏11 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:58310 發表于 2016-2-27 13:18 | 只看該作者
受益匪淺。
我在這里也補充點,
我使用的是STM8S003F3。 在RX這塊加一個上拉電阻也能消除一定的干擾。
回復

使用道具 舉報

板凳
ID:150064 發表于 2016-11-25 09:53 | 只看該作者
受益匪淺。
我使用的是stm32f103c8t6,剛開始用幾個月都沒問題,最近幾個月也出現程序丟失的情況,還沒找到原因。謝謝樓主分享,受益良多.
回復

使用道具 舉報

地板
ID:164100 發表于 2017-2-10 09:55 | 只看該作者
最近幾天老化測試產品時,我也發現丟失程序的問題了。用的STM8S207,生產出貨大半年了。初步認為是買到散新貨,IC質量差。
回復

使用道具 舉報

5#
ID:136256 發表于 2017-3-19 23:58 | 只看該作者
偶爾進來的,看完后,倒是滿載而歸,學習了!
回復

使用道具 舉報

6#
ID:176767 發表于 2017-3-21 14:03 | 只看該作者
學習了  有時間請教下么   PIC單片機的程序丟失也是這個原因么
回復

使用道具 舉報

7#
ID:98591 發表于 2017-3-24 02:10 | 只看該作者
看標題好可怕,打算8s003做電源驅動呢,看完原來是代碼問題
回復

使用道具 舉報

8#
ID:66396 發表于 2017-7-11 10:43 | 只看該作者
我用的也是STM8。也出現上面的狀況。可是我已經在了等待。HSE是24M的。數據表上顯示最大24M也是可以用的啊
回復

使用道具 舉報

9#
ID:221051 發表于 2017-7-23 11:51 | 只看該作者
謝謝,很實在的經驗分享,對我很有幫助!
回復

使用道具 舉報

10#
ID:283221 發表于 2018-2-9 00:26 | 只看該作者
我也遇到過這樣的情況,有一款用STM8S003F3做的車載儀表,部分三包品不開機,重新燒一下程序就OK了。但是這個板子用的是內部時鐘,可以確定的是肯定與干擾有關,具體原因沒有查到。
回復

使用道具 舉報

11#
ID:650619 發表于 2019-11-27 10:43 | 只看該作者
您好,請問用散新芯片會引起程序丟失嗎?
回復

使用道具 舉報

12#
ID:650619 發表于 2019-11-27 11:15 | 只看該作者
散新的芯片會引起程序丟失嗎?
回復

使用道具 舉報

13#
ID:646188 發表于 2020-12-31 17:54 | 只看該作者
謝謝分享,這種問題很難發現。病急亂投醫是不可取的,做一些沒有道理的騷操作要能成功那就怪了。
回復

使用道具 舉報

14#
ID:830831 發表于 2021-1-1 10:43 | 只看該作者
分析的真詳細,謝謝樓主的分享,受益
回復

使用道具 舉報

15#
ID:851416 發表于 2021-1-1 10:54 | 只看該作者
受益匪淺,多多學習!
回復

使用道具 舉報

16#
ID:519089 發表于 2021-7-14 22:05 | 只看該作者
肯定是代碼問題,不用多說,最后也沒給出超頻還能工作的原因分析,,有點不靠譜
回復

使用道具 舉報

17#
ID:977059 發表于 2021-11-12 14:29 | 只看該作者
很使用的解決問題辦法
回復

使用道具 舉報

18#
ID:989726 發表于 2021-12-8 18:25 來自觸屏版 | 只看該作者
我們用S105S4,也遇到這個問題,一定比例客戶開機就單片機不能正常啟動了,刷程序也沒用,后面網上找到個類似案例,說是配置字節不正常,重新寫下就行了。后來折騰了幾個月,研發改了程序就不會再有了。具體原因不清楚,但好像是某種特殊情況(比如上電瞬間電壓不穩定時)程序無意中改寫了配置字節,導致單片機不能正常復位,一直在反復復位,用示波器能看到復位腳一直有鋸齒波。
回復

使用道具 舉報

19#
ID:92231 發表于 2021-12-9 08:17 來自觸屏版 | 只看該作者
我是菜鳥,學習來的
回復

使用道具 舉報

20#
ID:369365 發表于 2022-7-11 13:15 | 只看該作者
liyuan0607 發表于 2021-12-8 18:25
我們用S105S4,也遇到這個問題,一定比例客戶開機就單片機不能正常啟動了,刷程序也沒用,后面網上找到個類 ...
類似情況搞了大半年
https://blog.csdn.net/weixin_44407238/article/details/125621935
回復

使用道具 舉報

21#
ID:93667 發表于 2022-7-14 17:05 | 只看該作者
學習了!!!!!STM32經常有小項目,有不穩定的問題!!!!!!!!!!
回復

使用道具 舉報

22#
ID:387591 發表于 2022-9-2 16:10 | 只看該作者
我的經驗是如果發現程序丟失,這是不可以接受的,不論是超頻,還是干擾,還是其他原因。只要程序或者數據丟失,我的解決方法就是換片子,不用這個型號的芯片了。因為你只能改善,而無法杜絕這類情況,說直白點, 你真的無法找到徹底解決問題的辦法,我有個產品,不丟程序,但是丟片內數據,最后會白屏,不用燒程序,重新把數據輸入又好了。想了無數方法,懷疑電源,用電池供電,還是會丟,干擾會從傳感器,通訊線進來。給芯片加單獨電源,完全隔離,還是會丟,我反反復復搞了10年,都沒有解決。最后下決心換片子,重新設計,這個問題就沒有了,當時想得很好,一個芯片把AD,DA,EPROM都放在里面,減少了原件,故障點就少,產品維修就少,事實卻不是那樣,片子抗干擾弱,你繞不開,而且一個系列,改一堆產品,很是頭大。我現在的原則就是,只要發現丟程序這種故障,肯定換芯片,哪怕我重新開始學一種全新的芯片,我也不在哪上面花時間,因為你真的可能無法最后把這個產品做穩定,這是心臟病
回復

使用道具 舉報

23#
ID:1042652 發表于 2022-9-8 10:13 | 只看該作者
暫未遇到類似問題,不過收益匪淺,為以后問題處理多了一份經驗,感謝樓主的分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表