|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
看門狗死了 |
| 作者:蘭天白云 欄目:單片機 |
一個用18F6620做的產(chǎn)品,在比教強的干擾下,單片機死了,看門狗也死了,該死的狗居然看不住. |
| 2樓: | >>參與討論 |
| 作者: kingpoo 于 2006/2/22 22:07:00 發(fā)布:
看門狗會死嗎??? |
|
| 3樓: | >>參與討論 |
| 作者: coldra 于 2006/2/22 22:27:00 發(fā)布:
稀罕 |
|
| 4樓: | >>參與討論 |
| 作者: leituoxin 于 2006/2/23 10:35:00 發(fā)布:
沒見過狗會死掉! 沒見過狗會死掉!一般有可能程序進入了死區(qū),而且死區(qū)里面有喂狗! |
|
| 5樓: | >>參與討論 |
| 作者: martin 于 2006/2/23 11:20:00 發(fā)布:
程序里不能有太多CLRWDT指令 推薦最好在大循環(huán)里只有一條CLRWDT指令,此外,不要在中斷里放CLRWDT指令。還有,你的單片機“死”了是不是“Latch up”?如果MCLR不能復(fù)位芯片,只能斷電再上電才能解決問題的話,那就可以肯定是Latch up。如果是,那要重新檢視一下你的電路,在有可能引入干擾口線附近,串入100歐姆左右的電阻基本上就能解決這樣的問題。 |
|
| 6樓: | >>參與討論 |
| 作者: stonejust 于 2006/2/23 11:46:00 發(fā)布:
看看是不是對pcon及status的TO和PD位的判斷有問題 看看是不是對pcon及status的TO和PD位的判斷有問題,有可能是芯片瞬間掉電又上電,但是未發(fā)生上電復(fù)位,未能初始化,狗什么的也就不起作用了,跟死機一樣。我前些時就遇到了類似的問題,是因為芯片參數(shù)的差異才發(fā)現(xiàn)的軟件缺陷。對不對請指教。 |
|
| 7樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/2/23 21:20:00 發(fā)布:
我也懷疑是有意給狗下了毒了 |
|
| 8樓: | >>參與討論 |
| 作者: 蘭天白云 于 2006/2/23 21:24:00 發(fā)布:
燒片子的時候使能看門狗,則看門狗無法用軟件關(guān)閉 燒片子的時候使能看門狗,則看門狗無法用軟件關(guān)閉,所以只要單片機運行狗就不會停,除非狗自己死了. 回復(fù) martin: 死機時用MCLR可以復(fù)位,中斷里沒有CLRWDT指令,60K程序有4處CLRWDT指令 本人用LED跟蹤,每用CLRWDT指令一次,LED求反,正常時LED一閃一閃,死時長亮 所以本人認(rèn)為是看門狗的硬件停振 |
|
| 9樓: | >>參與討論 |
| 作者: 蘭天白云 于 2006/2/23 21:34:00 發(fā)布:
這是復(fù)位圖,看看WDT過來的地方,哪里出問題呢?
|
|
| 10樓: | >>參與討論 |
| 作者: yuntian 于 2006/2/24 0:01:00 發(fā)布:
值得研究,少見 |
|
| 11樓: | >>參與討論 |
| 作者: hotpower 于 2006/2/24 1:06:00 發(fā)布:
養(yǎng)條瘋狗即可 |
|
| 12樓: | >>參與討論 |
| 作者: bolofeng 于 2006/2/24 8:20:00 發(fā)布:
可能干擾改變了某些特殊寄存器的值 比如改變了T1CON的值,使定時器不工作。導(dǎo)致死循環(huán),循環(huán)中當(dāng)然也包括了 clrwdt指令。在循環(huán)中判斷特殊寄存器的值,包括端口TRISX的值,如其中一個改變了,則等待復(fù)位。 |
|
| 13樓: | >>參與討論 |
| 作者: yewuyi 于 2006/2/24 8:35:00 發(fā)布:
關(guān)注關(guān)注…… “疫情”比較少見。! |
|
| 14樓: | >>參與討論 |
| 作者: xieyuanbin 于 2006/2/24 9:38:00 發(fā)布:
你的程序是否存在復(fù)位? 你判斷一下是否存在復(fù)位?如果LED一復(fù)位就開,不就不閃了? 狗被打死的情況比較少見,多查查其他的地方,比如復(fù)位腳引入的干擾造成復(fù)位等. |
|
| 15樓: | >>參與討論 |
| 作者: stonejust 于 2006/2/24 9:43:00 發(fā)布:
補充一下 編一個小程序,如:讓一個燈閃爍。再做做干擾試驗試驗,就知道是不是狗的問題了。這是從微芯技術(shù)支持那學(xué)來的。 |
|
| 16樓: | >>參與討論 |
| 作者: martin 于 2006/2/24 11:48:00 發(fā)布:
寫了好長一段,竟然不見了! 寫了好長一段,提交之后,竟然不見了,不想重新寫了。 剛才寫的主要是解釋W(xué)DT的時鐘是來自一個獨立的RC振蕩,RC充放電產(chǎn)生的振蕩是很可靠的,從原理上看,只要電源電壓存在,充放電的過程就不可能停止。 我贊成stonejust說的,做個最簡單的實驗來證明WDT是否工作正常,我個人不相信沒有損壞的芯片存在WDT失效的問題。 想的起來的剛才寫的主要說了下面一些觀點 程序跑飛后的死循環(huán)里完全有可能包含CLRWDT指令,從而導(dǎo)致WDT不起作用 CLRWDT指令越多,上面的可能性就越大 把CLRWDT指令放在合適的位置能減小這種概率 程序結(jié)合陷阱,如“goto $”能有效避免這種死循環(huán) 還有其他一些軟件看門狗或者程序流程監(jiān)控的方法可以改進 |
|
| 17樓: | >>參與討論 |
| 作者: martin 于 2006/2/24 13:06:00 發(fā)布:
此外,有些資料對對于設(shè)計可靠系統(tǒng)有幫助的 http://ww1.microchip.com/downloads/en/Market_Communication/EMCIssue1Nov04.pdf http://ww1.microchip.com/downloads/en/Market_Communication/EMC%20Jan05%20Newsletter.pdf http://ww1.microchip.com/downloads/en/Market_Communication/EMC%20Newsletter%20Issue%203.pdf http://ww1.microchip.com/downloads/en/Market_Communication/EMC%20Issue%204%20May05.pdf |
|
| 18樓: | >>參與討論 |
| 作者: 蘭天白云 于 2006/2/24 20:45:00 發(fā)布:
謝謝大家的意見 回復(fù)martin的"程序跑飛后的死循環(huán)里完全有可能包含CLRWDT指令,從而導(dǎo)致WDT不起作用" 如果出現(xiàn)了包含CLRWDT指令的死循環(huán),那么LED應(yīng)該一閃一閃,結(jié)果是常亮. 回復(fù)xieyuanbin的"你判斷一下是否存在復(fù)位?如果LED一復(fù)位就開,不就不閃了? 狗被打死的情況比較少見,多查查其他的地方,比如復(fù)位腳引入的干擾造成復(fù)位等" 當(dāng)出現(xiàn)死循環(huán)后撤走了所有干擾源,只剩下單片機孤零零的工作,不存在經(jīng)常復(fù)位的情況. 我可以想辦法減少干擾,但100000次中有一次這種情況,那還是很麻煩的 |
|
| 19樓: | >>參與討論 |
| 作者: sflfw 于 2006/2/24 22:08:00 發(fā)布:
哈哈哈, 大笑三聲而去...... |
|
| 20樓: | >>參與討論 |
| 作者: maoqichun 于 2006/2/24 22:25:00 發(fā)布:
建議:使能Brown Out Detect,空程序空間挖陷阱 |
|
| 21樓: | >>參與討論 |
| 作者: kingpoo 于 2006/2/25 8:18:00 發(fā)布:
版主提供的幾個資料挺好! 版主提供的幾個資料挺好! 正是我想要卻找不到的 |
|
| 22樓: | >>參與討論 |
| 作者: fxwang 于 2006/2/26 10:42:00 發(fā)布:
狗年,一定要養(yǎng)好自己的狗! |
|
| 23樓: | >>參與討論 |
| 作者: 程序匠人 于 2006/2/26 12:42:00 發(fā)布:
原則上整個程序只應(yīng)該有一條喂狗指令 |
|
| 24樓: | >>參與討論 |
| 作者: ocon 于 2006/2/26 14:38:00 發(fā)布:
RP問題,呵呵 |
|
| 25樓: | >>參與討論 |
| 作者: ysj512 于 2006/2/27 9:07:00 發(fā)布:
路過,順便進來看看 路過 |
|
| 26樓: | >>參與討論 |
| 作者: chentie 于 2006/2/27 9:27:00 發(fā)布:
哈哈哈哈哈哈哈哈,不穩(wěn)定復(fù)位狗就可以死的 |
|
| 27樓: | >>參與討論 |
| 作者: yusuffang 于 2006/2/27 10:23:00 發(fā)布:
不能指望通過看門狗提高抗干擾能力,沒用。 |
|
| 28樓: | >>參與討論 |
| 作者: kingpoo 于 2006/2/27 11:05:00 發(fā)布:
真是越來越有意思了 |
|
| 29樓: | >>參與討論 |
| 作者: toneytang 于 2006/2/27 16:59:00 發(fā)布:
不懂 不明白~~ 路過,~~ |
|
| 30樓: | >>參與討論 |
| 作者: xuqin3 于 2006/2/27 21:16:00 發(fā)布:
關(guān)于狗狗的問題 俺想養(yǎng)狗,但不會,慚愧,慚愧 但既然來了,就幫幫忙喂狗狗點水吧,反正水什么時候都需要的,哈哈 |
|
| 31樓: | >>參與討論 |
| 作者: andrew2000 于 2006/2/28 9:11:00 發(fā)布:
re:看門狗 不是吧,可能是看門狗suspend了,你是不是往一些寄存器里位寫東西了? |
|
| 32樓: | >>參與討論 |
| 作者: STEVEN888888 于 2006/2/28 9:27:00 發(fā)布:
是否電源問題 我覺得應(yīng)該是電源的問題,假如電源不穩(wěn)的話,是否存在單片機和狗子死掉呢 |
|
| 33樓: | >>參與討論 |
| 作者: ZorroCN 于 2006/2/28 10:20:00 發(fā)布:
re 俺的狗也死掉了,看看是不是上面說的原因 |
|
| 34樓: | >>參與討論 |
| 作者: neo.le 于 2006/2/28 11:36:00 發(fā)布:
大家一起努力把問題解決吧! |
|
| 35樓: | >>參與討論 |
| 作者: 星海浮雲(yún) 于 2006/2/28 11:45:00 發(fā)布:
??? 我是菜鳥,看門狗是什麼東東來的??? |
|
| 36樓: | >>參與討論 |
| 作者: FINEASY 于 2006/2/28 12:19:00 發(fā)布:
狗是一定不會死的,除非LATCH—UP! 只是在錯誤的時間,錯誤的地方,喂了不該喂的東西。 哈哈,見笑... |
|
| 37樓: | >>參與討論 |
| 作者: yewuyi 于 2006/2/28 13:16:00 發(fā)布:
估計是吃多了犯困…… |
|
| 38樓: | >>參與討論 |
| 作者: xiang__e 于 2006/2/28 18:53:00 發(fā)布:
奇怪 如果確實如你所言就比較奇怪了 不過先應(yīng)該確定是軟件,還是硬件問題! 我贊同stonejust的做法,解決后說一下怎么回事! |
|
| 39樓: | >>參與討論 |
| 作者: 蘭天白云 于 2006/2/28 21:50:00 發(fā)布:
到現(xiàn)在為止,問題沒有從根本上解決 現(xiàn)在的做法是加固電源,加固復(fù)位端,希望客戶那里沒有我的這種干擾. 重復(fù)一下現(xiàn)象:開始干擾很大導(dǎo)致單片機死機(看門狗也不起作用),馬上撤除干擾源,當(dāng)然了,單片機還是死的,此時用MCLR復(fù)位還是可以的. |
|
| 40樓: | >>參與討論 |
| 作者: yewuyi 于 2006/3/1 8:51:00 發(fā)布:
呵呵,我對你的干擾源到是有興趣了…… |
|
| 41樓: | >>參與討論 |
| 作者: bolofeng 于 2006/3/1 8:53:00 發(fā)布:
是什么干擾源啊? 單片“死”了,按鍵能動嗎?按鍵采用中斷還是查詢? |
|
| 42樓: | >>參與討論 |
| 作者: ocon 于 2006/3/1 11:37:00 發(fā)布:
廢話少說,貼程序。 |
|
| 43樓: | >>參與討論 |
| 作者: fineasy 于 2006/3/1 12:17:00 發(fā)布:
覺悟吧!只在一處喂狗! 別貼程序,把干擾源是什么講講滿好的。 |
|
| 44樓: | >>參與討論 |
| 作者: peng007 于 2006/3/1 16:02:00 發(fā)布:
會不會因為led閃的太快而你分辨不出? |
|
| 45樓: | >>參與討論 |
| 作者: 蘭天白云 于 2006/3/1 19:23:00 發(fā)布:
大家對我的干擾源感興趣,那我說說 干擾源不是買的,是模擬工業(yè)現(xiàn)場的一些設(shè)備,比如最差的松下變頻器(對外發(fā)射的電磁波能讓你頭暈),最便宜的正泰接觸器(功率愈大愈好,我用50安的,電火花好下人),最普通的導(dǎo)線(要通大電流,有200安流過),我把自己當(dāng)成最笨的電工,就這么接好線,全在單片機的旁邊.整個干擾系統(tǒng)就這樣. 回peng007:你說的我試過,如果是閃的很快(50%占空比),那么其電壓應(yīng)該是低于3V的,測了一下,有4.98V(與常通沒區(qū)別) |
|
| 46樓: | >>參與討論 |
| 作者: st963432 于 2006/3/1 20:50:00 發(fā)布:
少見 |
|
| 47樓: | >>參與討論 |
| 作者: yewuyi 于 2006/3/2 8:32:00 發(fā)布:
老兄,你的測試很不規(guī)范嘛…… 我有專門的EMC設(shè)備,可以按照CE測試,如果想知道具體測試數(shù)據(jù)的話,我可以免費幫你測,但給你的報告不具備法律效力(不是國家的EMC公共實驗室,當(dāng)然沒有法律效力了)。 有需要請:xinyuanjishu@126.com |
|
| 48樓: | >>參與討論 |
| 作者: bolofeng 于 2006/3/2 8:39:00 發(fā)布:
yewuyi 你們都有哪些EMC測試設(shè)備啊?要多少錢? |
|
| 49樓: | >>參與討論 |
| 作者: yewuyi 于 2006/3/2 11:15:00 發(fā)布:
免費幫忙測試了,大家實在客氣,可以有機會請我吃飯就行了 有EFT和電源周波跌落設(shè)備, EFT設(shè)備可以測試電源端口EFT性能和IO端口EFT性能。 電源周波跌落可以測試產(chǎn)品對電網(wǎng)波動的抗擾能力。 另外還有高低溫實驗裝置,可以測到+145度,有恒溫恒濕裝置測試你的產(chǎn)品濕度環(huán)境的工作能力。 測試靜電的裝置一直沒準(zhǔn)備好,公司一直沒批單購買,一直在努力說服公司。 估計過段時間就會買的,靜電測試大約有兩套,一套測試IC的靜電能力,另一套測試產(chǎn)品的抗靜電能力。 如果是無線通信類的產(chǎn)品,例如手機等,我們測試不了,我們只能測試工業(yè)電子電器產(chǎn)品。 |
|
| 50樓: | >>參與討論 |
| 作者: wolfererer 于 2006/3/8 8:14:00 發(fā)布:
設(shè)備可真不少~~ 像樓上這樣的好人少啊 |
|
| 51樓: | >>參與討論 |
| 作者: yewuyi 于 2006/3/8 8:53:00 發(fā)布:
告訴大家好消息,公司決定購買靜電設(shè)備了 呵呵,全套武裝就將完成…… |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |