幫你搞定pic單片機(jī)難點(diǎn),pic單片機(jī)硬件死鎖問題探討
pic單片機(jī)如火如荼,因此學(xué)習(xí)pic單片機(jī)的朋友越來越多。但隨著pic單片機(jī)的使用,大家可能會遇到各種各樣的pic單片機(jī)相關(guān)問題。為幫助大家解決pic單片機(jī)應(yīng)用難點(diǎn),本文將對pic單片機(jī)硬件死鎖問題予以講解。如果你對pic單片機(jī)具有興趣,不妨繼續(xù)往下閱讀哦。
1、頻繁插拔電時,PIC單片機(jī)容易死機(jī)。用一個10K電阻并在LM7805的5V輸出端到地。
2、單片機(jī)的復(fù)位端的電容不能太大。
使用PIC單片機(jī)去設(shè)計(jì)工控電路,最頭痛的問題,就是 PIC 單片機(jī)在受干擾后經(jīng)常硬件死鎖,大部份人歸咎于“CMOS的可控硅效應(yīng)” 因而產(chǎn)生死鎖現(xiàn)象,一般都認(rèn)為“死鎖后硬件復(fù)位都是無效的,只有斷電”。但是一個成熟的商品,那須要你去斷電呢? 就好像一臺電冰箱,壓縮機(jī)一啟動,產(chǎn)生干擾, CPU 受干擾因而‘硬件死鎖’,死機(jī)在那兒,假如發(fā)現(xiàn)了,可以馬上拔掉電源插頭,隔幾秒再插回,如此的動作可以接受嗎?假如死機(jī)時沒發(fā)現(xiàn),死機(jī)幾十天,你猜它會如何呢? 應(yīng)該是供給CPU電源的穩(wěn)壓IC燒毀了。
PIC單片機(jī)為什么會硬件死鎖,PIC單片機(jī)在受干擾后經(jīng)常硬件死鎖,那么PIC要‘看門狗’有何用,有沒有人深入去探討其原因,在各 PIC 單片機(jī)論壇也提得很多,各有各的觀點(diǎn),總具體的原因不外是“CMOS的可控硅效應(yīng)”而產(chǎn)生死鎖現(xiàn)象, 依我各人的觀點(diǎn),應(yīng)與 “CMOS的可控硅效應(yīng)”無關(guān),但很多大蝦皆認(rèn)為是“CMOS的可控硅效應(yīng)”所引起的,所以一直以來我也不方便提出,說不定是我的觀點(diǎn)錯誤,提出來反而誤了大家,但至今,針對PIC 單片機(jī)產(chǎn)生死鎖現(xiàn)象,都還沒有詳細(xì)的原因說明及對應(yīng)之道,在別的PIC 單片機(jī)論壇也還在提此問題,我就將本人找尋PIC ‘死鎖現(xiàn)象’的經(jīng)過提供大家參考。
許久年前,PIC16C5x剛出產(chǎn)一兩年,(PICxxxx 原先只有165x,屬于NMOS結(jié)構(gòu),大量用于通用-GI的選臺器、有線電視解鎖器,后來改為CMOS結(jié)構(gòu),更名為16C5x),當(dāng)時只有 16C54、55、56、57 四個型號,仿真器只有頂尖公司制造的 16C5x DOS版仿真器(第一代),它也是 Microchip 第一個OEM仿真器廠。16C5x 當(dāng)年為最省電的OTP、QTP 單片機(jī),價格又比其它的單片機(jī)便宜,只是它很容易受干擾死機(jī),很多大廠不敢使用它。有一天,有位朋友要我兼差幫他們公司設(shè)計(jì)汽車防盜器,當(dāng)時市場上的汽車防盜器都還用CD40xx的邏輯電路去設(shè)計(jì),各個時控都須一組RC電路,電路板上十幾個IC(加上遙控解碼IC),至少有7~8個VR,調(diào)整時非常復(fù)雜,當(dāng)時我就以一個16C55+一個ULN2003+一個解碼IC (當(dāng)時技術(shù)未成熟,還沒用PIC程序解碼,后期的已將解碼IC省略),總計(jì)三個IC就解決,電路方面有某些是依書本上的電路移植過來(重置電路也由一本 PIC 應(yīng)用的書本移植過來),樣品出來后,當(dāng)時對方存著很多疑問,電路怎么這樣簡單,同時間內(nèi)有4、5個‘計(jì)時器’在計(jì)時,又要做那么多的I/O偵測工作,時控能準(zhǔn)確嗎? 性能如何呢? 穩(wěn)定性?總體而言, CPU所設(shè)計(jì)的電路, 對于功能-絕對是比邏輯電路所設(shè)計(jì)的好太多了,時控的準(zhǔn)確性-我為它保證所有的時控誤差在1%之內(nèi), 至于穩(wěn)定性----當(dāng)時的樣品時常當(dāng)機(jī)、死機(jī),CPU 發(fā)燙,也就是大家所談的PIC的硬件死鎖。
為了此問題(大家最怕的問題),找遍所有的資料,都毫無所獲,在PIC的書上都沒有看到類似訊息,只好自己單打獨(dú)斗的去奮斗、去找原因。我花了幾天的時間,模擬了各種狀況,做了各式各樣的實(shí)驗(yàn),制造各種干擾,用示波器測量各點(diǎn)所發(fā)生的異常波形。
其中一個簡單的實(shí)驗(yàn),(/MCLR 的接腳上,接一個提升電阻至 V+,接一個 0.1uf至地,接一個按鍵開關(guān)至地),讓我得到一個我所需要的答案,實(shí)驗(yàn)時我多次的按按鍵開關(guān),應(yīng)該只是重置而已,但很容易進(jìn)入所謂的‘硬件死鎖’,連續(xù)測試,都會重覆發(fā)生,機(jī)率非常高,最后得到一個答案,PIC晶片的MCLR硬件設(shè)計(jì)有問題,與其他I/O腳無關(guān)聯(lián),不是 I/O 腳受干擾, 而是/MCLR 在重置或受干擾時,/MCLR 腳會產(chǎn)生一個振蕩信號,當(dāng)/MCLR 腳的外部接有電容時,它就永在發(fā)振,而PIC晶片內(nèi)部某種硬件原因,導(dǎo)致于VDD與VSS之間產(chǎn)生很大的電流,所以VDD與VSS像短路一樣,CPU因而發(fā)燙,當(dāng)把電容移開后, CPU就重新工作,耗電流也就恢復(fù)正常了,所以我就認(rèn)為PIC它不是硬件死鎖,它沒CMOS的可控硅效應(yīng),可能是大家還沒找出原因,而懷疑是PIC內(nèi)部CMOS的可控硅效應(yīng)。
以上便是此次小編帶來的“pic單片機(jī)”相關(guān)內(nèi)容,通過本文,希望大家對pic單片機(jī)硬件死鎖問題的解決方法具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!