題:
在什麼情況下,微控制器上的掉電檢測功能應該保持關閉狀態?
m.Alin
2014-07-30 18:30:03 UTC
view on stackexchange narkive permalink

當微控制器上的電源降到某個閾值以下時,就會出現掉電情況,並且RAM存儲器可能會損壞。假設電路的每個掉電順序都可能意味著潛在的掉電情況,那麼在使用微控制器時,我總是啟用掉電檢測復位機制。

我想知道是否存在任何情況下不建議啟用掉電複位功能?

欠壓檢測器還可能消耗微功率應用中應考慮的電流。
考慮到答案中所述的BO檢測的各種弊端,請同時考慮以下幾點:您能否在您的特殊情況下證明任何自定義確定性?在某些情況下,您可以保證有足夠的供應或完全的停電=>保存BOD的資源
七 答案:
Wouter van Ooijen
2014-07-30 18:41:12 UTC
view on stackexchange narkive permalink

所有內容都有容忍度,因此必須將掉電複位級別設置為一定水平,以確保芯片正常工作的最小水平。

因此,掉電可能在芯片發生故障之前將其踢入。因此,您必須問自己,對於該區域,芯片可能的功能還可以,但是您不能確定是否會選擇

  • 讓芯片工作並希望最好的解決方案(它可能會起作用!),或者
  • 讓掉電電路將芯片復位(並保持在復位狀態)。

如果發生故障的成本不高於完全無法運行的成本,則首選第一選擇。想一想飛機“黑匣子”上的ping功能。無論如何,只要它有機會發出ping信號,就讓它繼續下去!

另一方面,考慮觸發炸彈或汽車安全氣囊。如果由於電源電壓低而意外關閉的可能性很小,則最好將其自行關閉。當然,那是假設關閉手段不會點燃!

在某些情況下,沒有很好的選擇。考慮一下臭名昭著的Ariane V火箭的首次發射。方向控制計算機發生故障(在這種情況下不是由於低功率引起的)。應該怎麼辦?繼續前進很可能意味著轉向錯誤,但是退出意味著根本沒有轉向,結果是一樣的。對於控制掩體中的人來說,火箭可能飄入:(


正如羅斯所說,對於任務關鍵型系統來說,備份當然是個好主意。但這將設計問題轉移到了備份上。如果失敗了怎麼辦? (實際上,通常有3台計算機始終處於活動狀態,並使用多數票。)在Ariane 5的情況下,主計算機和備用計算機都發生了故障(儘管不是由於其自身的故障,但這是另一回事了。)接下來發生了什麼是某個其他系統(也許甚至是控制室中的一個人)檢測到一切都失控並觸發了自毀。最好讓火箭在空中爆炸然後掉入海中的小塊中,然後使其沿某個隨機方向連續飛行一次。

對於火箭彈情況,最好的解決方案是擁有一台備份計算機,以備萬一第一個發生故障時將接管並關閉第一台計算機,對吧?
添加一些文字
實際上,Ariane 5的故事要復雜得多,而錯誤處理是失敗的部分原因。http://esamultimedia.esa.int/docs/esa-x-1819eng.pdf
不,不是錯誤處理的原因。它使用的是經過驗證的系統(它在Ariane 4上飛行過),其數據超出了其原始規格*沒有使用新數據進行測試*。(這種測試最初是計劃中的,但後來被廢棄在降低成本的計劃中;)
supercat
2014-07-30 20:37:47 UTC
view on stackexchange narkive permalink

如前所述,啟用掉電電路通常會增加電流消耗。此外,由於製造商通常希望確保掉電電路會在任何可能 足夠低的電壓下跳閘,從而導致芯片的其他部分正常工作,因此許多部件將能夠在低壓,禁用掉電。例如,在室溫下,控制器大部分時間可能工作至1.5伏特,但在某些壓力條件下(例如高溫),在1.99伏特時可能會發生故障。為了確保該設備在可能發生故障的任何情況下都能複位,可以將掉電電路設計為在2.1伏+/- 100mV的電壓下跳閘。

如果使用此類控制器為設備供電,兩節鹼性AA電池,啟用掉電電路,可能會導致該設備無法使用,而每節電池的電池電壓為1.1伏,並且可能會在每節電池電壓達到1.05伏時使其停止工作。禁用掉電電路可能會將工作電壓降低到每個電池至少0.9伏,甚至可能下降到每個電池0.75伏。如果在低電壓下沒有發生任何可能的故障,可能會造成更大的傷害,不僅會增加垃圾電池的電量消耗,即使沒有降低可用電池的電流消耗,禁用掉電電路也是延長電池壽命的簡單方法。 / p>

Spehro Pefhany
2014-07-30 18:41:21 UTC
view on stackexchange narkive permalink

如果您不關心重置(例如,可以放心,如果事情無法正常進行,則用戶可以將其關閉然後再打開,並且不會造成損壞),並且功耗很重要,請將其關閉可以節省一些微安培。 (或者,如果您確實在意的話,則可以使用比內置的一般電路更好的外部電路)。

如果內部BOR不足以完成任務(例如,公差可能不合適),則可以關閉它並使用外部的東西。

出於某些目的一個有趣的要求是,您需要知道最大電壓,在該電壓以下,保證EEPROM等功能可以正常工作,以便BOR可以禁止操作,並保證不會損壞。對於某些內置BOR電路而言,這可能有些微妙。

mjcopple
2014-07-30 18:54:46 UTC
view on stackexchange narkive permalink

如果存在BOR無法正常工作的錯誤,您可以選擇禁用BOR。

模塊:穩壓器

設備可能無法退出BOR狀態如果發生BOR事件。

請參見 PIC32MX534 / 564/664/764系列矽勘誤表和數據手冊澄清中的第15期。

哎喲。這個可愛的勘誤表屬於哪一部分?
這樣的東西如何進入生產?
那真好笑。搞笑的意思是犯罪。
特定的器件是PIC32MX664F,並且只有部分矽版本。在大多數情況下,它通常每20倍左右不會退出BOR一次。
@Matt Young:因為大多數使用了這些PIC單片機,所以BOR僅在矽膠拔出插頭時開始執行隨機指令之前將其關閉。如果您在ROM中有一個重新刷新例程,如果BOR不存在,則它可能會嘗試通過垃圾回收自身進行刷新。
@Joshua也許,BOR的用途遠比阻止微程序本身阻塞更多。如果它是PIC 12或16,則可能是主要用途,但是PIC32可能是更複雜的系統的一部分。無論如何,在生產部件中不起作用的BOR是一個非常嚴重的問題。
geometrikal
2014-07-30 19:30:20 UTC
view on stackexchange narkive permalink

如果要減少睡眠模式下的電流消耗。例如。對於ATmega328P,您可以通過關閉BOD將其降低17uA。睡眠時關閉所有其他設備,芯片消耗的電流僅為1.8uA!

(來源: http://www.rocketscream.com/blog/2011/07/04/lightweight-low- power-arduino-library /

vsz
2014-07-31 11:12:54 UTC
view on stackexchange narkive permalink

在某些情況下,您可能想使用外部的,定制的掉電電路。

有些微控制器的掉電等級分辨率很小。

讓我們假設您使用µc,其中兩個最高掉電電平為4.3 V和2.7 V(在AVR中很常見)。您確定在所使用的頻率下2.7 V是不安全的。但是,4.3 V會過高,因為它將限制電源故障後的運行時間。

我經常不得不使用一些設備,這些設備經常會失去與外部電源的連接,然後不得不依靠電容器或電池生存。欠壓電平為4.3 V會導致設備過早關閉。 2.7會導致數據損壞。但是,例如,如果3.5 V是安全的掉電水平,則可能需要製作一個外部掉電電路,該電路可以通過拉動微控制器的複位線來工作。在這種情況下,內部掉電電路沒有用,可以禁用。

如果同一系統中有更多處理器,則為所有處理器使用單個外部復位控制器是有意義的。 。在這種情況下,禁用處理器中的單個掉電檢測器不僅有益於節省一些電源的邊際優勢,而且要求可以避免某些處理器處於重置狀態而其他處理器處於重置狀態仍在運行。

我知道您沒有選擇AVR,但我不得不提一下:1)不同的AVR線路具有不同的BOR閾值,以及2)AVR在nRESET上使復位信號在外部可見,因此,如果*非常*小心,可以使用一個作為重置控制器。
Joshua
2014-08-01 04:17:23 UTC
view on stackexchange narkive permalink

由於正在使用的微控制器上的矽片存在錯誤,因此在啟動的一部分期間,我們不得不關閉VBOR並重新打開。給電壓泵上的蓋子充電會暫時使設備排空至略高於最小值的水平,並且VBOR會持續跳閘。因此,我們在加電期間關閉了VBOR,並在大約10毫秒後將其打開。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...