如何解決PIC單片機硬體死鎖的問題

2021-02-13 暢學單片機

1、頻繁插拔電時,PIC單片機容易死機。用一個10K電阻並在LM7805的5V輸出端到地。

2、單片機的復位端的電容不能太大。

使用PIC單片機去設計工控電路,最頭痛的問題,就是 PIC 單片機在受幹擾後經常硬體死鎖,大部份人歸咎於「CMOS的可控矽效應」 因而產生死鎖現象,一般都認為「死鎖後硬體復位都是無效的,只有斷電」。但是一個成熟的商品,那須要你去斷電呢?就好像一臺電冰箱,壓縮機一啟動,產生幹擾,CPU受幹擾因而『硬體死鎖』,死機在那兒,假如發現了,可以馬上拔掉電源插頭,隔幾秒再插回,如此的動作可以接受嗎?假如死機時沒發現,死機幾十天,你猜它會如何呢?應該是供給CPU電源的穩壓IC燒毀了。

PIC單片機為什麼會硬體死鎖,PIC單片機在受幹擾後經常硬體死鎖,那麼PIC要『看門狗』有何用,有沒有人深入去探討其原因,在各 PIC 單片機論壇也提得很多,各有各的觀點,總具體的原因不外是「CMOS的可控矽效應」而產生死鎖現象, 依我各人的觀點,應與 「CMOS的可控矽效應」無關,但很多大蝦皆認為是「CMOS的可控矽效應」所引起的,所以一直以來我也不方便提出,說不定是我的觀點錯誤,提出來反而誤了大家,但至今,針對PIC 單片機產生死鎖現象,都還沒有詳細的原因說明及對應之道,在別的PIC 單片機論壇也還在提此問題,我就將本人找尋PIC 『死鎖現象』的經過提供大家參考。

許久年前,PIC16C5x剛出產一兩年,(PICxxxx 原先只有165x,屬於NMOS結構,大量用於通用-GI的選臺器、有線電視解鎖器,後來改為CMOS結構,更名為16C5x),當時只有 16C54、55、56、57 四個型號,仿真器只有頂尖公司製造的 16C5x DOS版仿真器(第一代),它也是Microchip第一個OEM仿真器廠。16C5x 當年為最省電的OTP、QTP 單片機,價格又比其它的單片機便宜,只是它很容易受幹擾死機,很多大廠不敢使用它。有一天,有位朋友要我兼差幫他們公司設計汽車防盜器,當時市場上的汽車防盜器都還用CD40xx的邏輯電路去設計,各個時控都須一組RC電路,電路板上十幾個IC(加上遙控解碼IC),至少有7~8個VR,調整時非常複雜,當時我就以一個16C55+一個ULN2003+一個解碼IC (當時技術未成熟,還沒用PIC程序解碼,後期的已將解碼IC省略),總計三個IC就解決,電路方面有某些是依書本上的電路移植過來(重置電路也由一本 PIC 應用的書本移植過來),樣品出來後,當時對方存著很多疑問,電路怎麼這樣簡單,同時間內有4、5個『計時器』在計時,又要做那麼多的I/O偵測工作,時控能準確嗎?性能如何呢?穩定性?。..。..。總體而言, CPU所設計的電路, 對於功能-絕對是比邏輯電路所設計的好太多了,時控的準確性-我為它保證所有的時控誤差在1%之內, 至於穩定性----當時的樣品時常當機、死機,CPU 發燙,也就是大家所談的PIC的硬體死鎖。

為了此問題(大家最怕的問題),找遍所有的資料,都毫無所獲,在PIC的書上都沒有看到類似訊息,只好自己單打獨鬥的去奮鬥、去找原因。我花了幾天的時間,模擬了各種狀況,做了各式各樣的實驗,製造各種幹擾,用示波器測量各點所發生的異常波形。

其中一個簡單的實驗,(/MCLR 的接腳上,接一個提升電阻至 V+,接一個 0.1uf至地,接一個按鍵開關至地),讓我得到一個我所需要的答案,實驗時我多次的按按鍵開關,應該只是重置而已,但很容易進入所謂的『硬體死鎖』,連續測試,都會重覆發生,機率非常高,最後得到一個答案,PIC晶片的MCLR硬體設計有問題,與其他I/O腳無關聯,不是 I/O 腳受幹擾, 而是/MCLR 在重置或受幹擾時,/MCLR 腳會產生一個振蕩信號,當/MCLR 腳的外部接有電容時,它就永在發振,而PIC晶片內部某種硬體原因,導致於VDD與VSS之間產生很大的電流,所以VDD與VSS像短路一樣,CPU因而發燙,當把電容移開後, CPU就重新工作,耗電流也就恢復正常了,所以我就認為PIC它不是硬體死鎖 ,它沒CMOS的可控矽效應,可能是大家還沒找出原因,而懷疑是PIC內部CMOS的可控矽效應。而此問題解決方式,我當時也反應給Microchip公司反應,之後Microchip晶片內部有無修改就不得而知。

為了方便大家更好的學習,您還可以關注暢學電子和EDA的公眾號,每天推送相關知識,希望能對你的學習有所幫助!

相關焦點

  • PIC單片機之時鐘設置
    時鐘就是單片機的心臟。每跳動一下。整個單片機的各個電路就同步的動作一下。就好像我們做廣播體操的時候 廣播上喊的節拍1234 2234 3234。。。。然後我們全部的同學就按照這個節奏進行一個個動作。節拍越快我們動作越快。節拍越慢我們動作的越慢。內部時鐘和外部時鐘?
  • Avr單片機和Stm32區別,Avr單片機選型技巧
    最為初學者首先要搞清楚他們之間的區別,掌握avr單片機選型技巧,才能夠更好的設計產品。一:avr單片機和STM32區別-STM32單片機介紹由ST廠商推出的STM32系列單片機,行業的朋友都知道,這是一款性價比超高的系列單片機,應該沒有之一,功能及其強大。
  • 單片機初學者必看
    寫給初學者的一些話本文原創,僅代表我搞單片機的一些想法,有不妥之處,不承擔任何責任。第一個問題,講一下初學者到底學習那個系列單片機。51、AVR、430、ARM(包括嵌入作業系統)、FPGA當前單片機系統如此豐富,對於新手到底該如何選擇呢?
  • 閒說各家單片機的優缺點
    可以總結下:無論什麼廠商的單片機,在宣傳的時候提到的優點基本上有以下幾條: 1.高性能。比如avr的單片機就說它是單機器周期的指令集,性能高,喜歡與8051的12T相比,說快了12倍 2.抗幹擾能力強。
  • 小結單片機推廣宣傳老套路
    經常會在網上看到各家推廣單片機的人員宣傳他們代理的單片機,比如pic,avr,c8051等,當然從宣傳推廣的角度,總是要多說些他說宣傳推廣的單片機的優點,這樣才能讓眾多不是專家的工程師,學生,公司採購人員,老闆對其感興趣,進而受到誘惑而使用他們的單片機。
  • Microchip 推出集成低功耗動畫顯示驅動的PIC24F單片機
    為幫助快速設計此類顯示界面,新系列單片機受MPLAB®代碼配置器(MCC)支持。帶有LCD顯示設計器的圖形編程環境有助於消除繁雜耗時的引腳和段映射任務。 Microchip 的MCU16業務部副總裁Joe Thomsen表示:「最新推出的PIC系列單片機增加了新的硬體功能,提高了多個細分市場應用的低功耗性能、代碼保護和可靠運行。
  • ARM7單片機輕鬆入門與實踐 — 暢學單片機
    巧妙地將單片機原理與應用和單片機C語言編程的知識點融入各個實例中,不僅開闢了單片機應用的視野,又充實了對單片機從基礎到應用所需要的知識。使廣大學者可一邊學單片機結構理論知識一邊用C語言編程實現各種功能,既能高效地系統學習知識,又能提高編程思維能力。      在多角度、多方面的實例化講解中,讀者不僅掌握了單片機系統開發的基本技能,還開闊了單片機流行應用的視野。
  • 為什麼我們學的都是51單片機?
    2.但似乎不是這樣子的原因,因為雖然51單片機有很多的種類,新的產品也集成了很多更有用,更簡潔的功能,但是人們還是最最鍾情於功能最少操作比較複雜的51單片機—AT89S51單片機(ATMEL的早期產品)。
  • 嵌入式入門基礎:如何快速學習8051單片機
    了解單片機的工程師們都知道8051單片機是一款燒寫簡單、通用性廣泛且教程案例非常豐富的一款單片機。它只用通過宏晶的工具通過串口MAXRS232的TX、RX腳位就可以將程序燒錄到晶片,是一個非常不錯的嵌入式入門基礎單片機。本文介紹了關於8051單片機的學習基礎方法,希望能夠給初學者提供如何更快速的掌握嵌入式入門的基礎知識的方法。
  • 51單片機程序進行軟體加密和硬體解密的方法
    對單片機程序進行加密是一種有效的保護措施,也是一項實用的技術。雖然本身帶有EPROM 的單片機可做到程序保密,但由於價格和存儲容量方面的原因,用戶仍常常採用外接EPROM 的單片機來開發產品。本文以MCS - 51 單片機為例介紹一種對片外E2PROM 裡的程序進行軟體加密和硬體解密的方法。這種方法不增加用戶應用程式開銷。
  • MSP430單片機的選型及系列介紹
    很多的八位單片機都不具備乘法功能,做乘法時還得編上一段子程序調用,十分不便。(1)AD、EEPROM等功能需要靠擴展,增加了硬體和軟體負擔。(2)雖然I/O腳使用簡單,但高電平時無輸出能力,這也是51系列單片機的最大軟肋。(3)運行速度過慢,特別是雙數據指針,如能改進能給編程帶來很大的便利。
  • 單片機到底是不是嵌入式?
    還有人說單片機也是嵌入式,到底對不對?嵌入式是不是就是linux?今天咱們說說這個問題。計算機就是一個硬體上包含了CPU、內存和一定外設(IO引腳、網口、I2C接口、串口等),並且可以運行一定的程序的電子系統。計算機有很多種。大的如超算,幾間房那麼大。
  • 如何設置單片機定時器?
    在今天的文章中,我們為大家總結了單片機定時器應用過程中的兩大常見問題進行實時解析,希望能夠對各位新人工程師的學習提供一定幫助。問題一:51單片機的T0、T1定時器四種工作方式各有什麼特點?在單片機定時器的應用過程中,定時器在進行設置時會有四種不同的工作方式,合理選擇相應的工作方式可以幫助工程師快速完成及時設置。
  • 單片機科普:單片機的IO口不夠用了怎麼辦?如何擴展單片機的IO口
    同樣的功能,每個人、每個團隊所做的技術方案都不會相同,但是單片機加外設的構架不會變。足可以看出單片機在電子設計中的重要性。1-華為榮耀體脂秤電路板-芯海的單片機在設計單片機電路的過程中,往往會遇到這種情況:單片機的GPIO口不夠用,但是又不是缺很多,如果要更換更多引腳的單片機可能會貴一些,如果是老產品的話,還要涉及到代碼的移植,比較方法
  • 7大主流單片機優缺點分析,一文打盡趕緊收藏!
    很多的八位單片機都不具備乘法功能,做乘法時還得編上一段子程序調用,十分不便。AD、EEPROM等功能需要靠擴展,增加了硬體和軟體負擔。雖然I/O腳使用簡單,但高電平時無輸出能力,這也是51系列單片機的最大軟肋。運行速度過慢,特別是雙數據指針,如能改進能給編程帶來很大的便利。
  • 基於AT89S52單片機和ATF1508AS可編程邏輯器件實現LED顯示屏的硬體...
    1 LED顯示屏的基本結構及關鍵技術 本系統設計中,控制系統採用單片機+CPLD的方案來實現,整個控制系統可分為:信號接收及處理模塊和CPLD的掃描控制模塊和LED點陣驅動模塊,如圖1 所示。本系統的關鍵技術是使用雙口RAM和CPLD晶片,解決LED顯示屏中高速數據傳輸和快速掃描控制的難題,大大提高了動態顯示的刷新率。
  • 單片機入門製作
    同時晶振部分電路也是必不可少的,這相當於給單片機帶了一塊手錶,讓它有時間觀念,知道自己什麼時候該幹什麼事情。總之最小系統就是保證單片機正常工作的最基本電路部分。OK,再說回到單片機實驗板。我是買元器件自己製作實驗板的,我感覺沒有必要多花錢去買一個成品,雖然這樣說賣實驗板的人可能會扁我。自己動手可以學到單片機硬體電路的知識和掌握製作的細節,這是不可多得的實踐機會。
  • 單片機程式語言的比較
    引言  單片機又稱單片微控制器,它是把一個計算機系統,包括cpu、ram、rom、定時/計數器和多種i/o接口集成到一個晶片上。提供的庫包含許多標準子程序,具有較強的數據處理能將已編好程序可容易的植入新程序,因為它具有方便的模塊化編程技術。  功能強而有彈性,提供的庫包含許多標準子程序,具有較強的數據處理能力,能將已編好程序容易的植入新程序,因為它具有方便的模塊化編程技術。
  • 盤點當今市面主流單片機,總有一款適合你!
    MSP430系列單片機是德州儀器1996年開始推向市場的一種16位超低功耗的混合信號處理器,給人們留下的最大的亮點是低功耗而且速度快,彙編語言用起來很靈活,尋址方式很多,指令很少,容易上手。主要是由於其針對實際應用需求,把許多模擬電路、數字電路和微處理器集成在一個晶片上,以提供「單片」解決方案。其迅速發展和應用範圍的不斷擴大,主要取決於以下的特點。
  • 有關Keil軟體仿真的51單片機串口調試技巧
    傳統方式串口程序的調試,往往是利用專用的單片機硬體仿真器。在編寫好程序後,利用仿真器來設置斷點,觀察變量和程序的流程,逐步對程序進行調試,修正錯誤。使用硬體仿真器的確是很有效的方法,但是也有一些缺點:  很多仿真器不能做到完全硬體仿真,因而會造成仿真時正常,而實際運行時出現錯誤的情況;也有仿真不能通過,但是實際運行正常的情況。