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