為什么要加看門(mén)狗?
1:要講系統的可靠性,首先要講系統安全保證機制的可靠性,對于MCU系統來(lái)說(shuō),養DOG是其中最重要的一條
2:很多人可能要講,我沒(méi)養DOG,我的系統也很可靠,所以看門(mén)狗沒(méi)有必要。這是一種不需要反駁的觀(guān)點(diǎn),從理論上來(lái)講,養狗安全系數肯定會(huì )高一些;
3:在系統里面養狗,狗本身電路也是存在失效可能性的,在上面有人曾講到MAX813翹了,這就屬于這種情況,MAX813還屬于比較好的,過(guò)去很多人經(jīng)常用到的25045,內部集成了EE等資源,這東西不怎的,很容易被干擾得自己掛了。
4:很多人在爭執系統里面應該如何養狗,很多人片面的以為狗一定要在主循環(huán)里面養才是最好的,在這里不得不說(shuō)說(shuō)hotpower的中斷養狗論了,當年hotpower為了證明那些人的說(shuō)法是何其錯誤,整出了一個(gè)中斷養狗論,很多人根本沒(méi)看懂hotpower想要表達的真實(shí)含義,從原理上講,hotpower其實(shí)要表達的是:要想養一條忠實(shí)聽(tīng)話(huà)的好狗,在哪個(gè)地方養根本不重要,在哪個(gè)地方養都可以達到最好的效果,真正重要的是要注意軟體返回的各個(gè)路徑,在異常的時(shí)候,要通過(guò)條件互駁,讓狗起來(lái)看家。
5:雖然hotpower中斷養狗的方法也可以達到比較好的看家效果,但俺卻是一個(gè)主循環(huán)養狗的堅定擁護者,原因無(wú)它,第一:主循環(huán)養狗簡(jiǎn)單明了;第二:主循環(huán)養狗比較省代碼,第三:不管是中斷還是主循環(huán)養狗,實(shí)現條件互駁,這只狗都一樣忠實(shí)。
6:在這里不得不說(shuō)程序結構,那種流水帳的程序結構,不管是中斷還是主循環(huán)養狗,結果都是一樣:養了一只癩皮狗!關(guān)于這一點(diǎn),如果誰(shuí)有不同意見(jiàn),可以提出來(lái)討論討論
7:這些都做好了有什么用呢?
一個(gè)再忠實(shí)的狗,也只能是系統的一部分,在礦安產(chǎn)品中有一個(gè)說(shuō)法叫:本安型,也就是本質(zhì)安全性,當然,MCU系統是無(wú)法實(shí)現本安性的,所以需要看家的DOG,但系統的根本依然是要努力提高系統本身的安全性,一個(gè)再好的看門(mén)狗動(dòng)作處理,也只能是盡量恢復現場(chǎng),并且,系統也絕不能總是出現保護的行為,如果這樣,將是一個(gè)不可原諒的設計……
這就又延伸到電路設計和PCB設計甚至工藝設計等等問(wèn)題,這不是這個(gè)主題帖討論的范圍,所以,俺也不說(shuō)了……
DOG是為了防止不知道哪天出現的竊賊的,對付已知出現的竊賊,最好的辦法就是直接拿棍子轟倒……
對于一個(gè)系統,通過(guò)測試只是盡可能模擬實(shí)際可能出現的干擾,顯然:從數學(xué)的概率講,不能涵蓋100%的情況,并且,一個(gè)產(chǎn)品可能大批量的被眾多不同類(lèi)型用戶(hù)使用,所以,測試條件的樣本抽取本就不可能重現100%現實(shí)狀況。
一句胡說(shuō)八道的理論:如果你的系統產(chǎn)生復位,說(shuō)明你的設計不行,改好設計就可以,所以沒(méi)有必要要看門(mén)狗……
本人懶得反駁,看應和者居然眾多,避免錯誤的理論誤人子弟,必須以證視聽(tīng):
我已經(jīng)講過(guò)多次了,測試只是一種必要不充分的條件,請認真理解這個(gè)來(lái)自數學(xué)的概念……
沒(méi)有測試,只能通過(guò)在實(shí)際使用條件下的試用來(lái)檢驗設計,這樣的設計更加是不充分的測試,而且,這樣的測試只能更加無(wú)序的浪費時(shí)間和精力……
看來(lái),21ICBBS里面,江湖郎中比較多……
評論