어떤 상황에서 마이크로 컨트롤러의 브라운 아웃 감지 기능을 해제해야합니까?


33

마이크로 컨트롤러의 전원 공급 장치가 특정 임계 값 아래로 떨어지면 브라운 아웃 상태가 발생하고 RAM 메모리가 손상 될 수 있습니다. 회로의 모든 전원 차단 시퀀스가 ​​잠재적 인 브라운 아웃 조건을 의미 할 수 있다면 마이크로 컨트롤러로 작업 할 때 항상 브라운 아웃 감지 리셋 메커니즘을 활성화합니다.

Brown-out Reset 기능을 사용하지 않는 것이 어떤 상황인지 궁금합니다.


4
브라운 아웃 검출기는 마이크로 파워 애플리케이션에 고려해야 할 전류를 소비 할 수도 있습니다.
HL-SDK

답변에 명시된 BO 탐지의 다양한 단점을 고려할 때 다음 사항도 고려하십시오. 특정 사례에서 사용자 지정 확실성을 증명할 수 있습니까? 어떤 경우에는 충분한 공급 또는 완전한 정전을 보장 할 수 있습니다 => BOD에 대한 자원을 절약하십시오
Mark

답변:


11

언급 한 바와 같이 브라운 아웃 회로를 활성화하면 전류 소비가 증가하는 경우가 많습니다. 제조 업체는 일반적으로 브라운 아웃 회로가 어떤 전압 트립 것을 보장하기를 원하기 때문에 또한, 수도 기능 칩의 다른 부분을 일으킬 충분히 낮은 수 많은 부품과 낮은 전압에서 동작 할 수있을 것입니다 브라운 아웃 비활성화 . 예를 들어, 컨트롤러는 대부분의 시간을 실온에서 1.5 볼트로 낮추지 만 특정 스트레스 조건 (예 : 고온)에서 1.99 볼트에서 오작동 할 수 있습니다. 오작동이 발생할 수있는 조건에서 장치가 재설정되도록하기 위해 브라운 아웃 회로는 2.1V +/- 100mV에서 트립되도록 설계 될 수 있습니다.

이러한 컨트롤러가있는 장치에 2 개의 알카라인 AA 배터리로 전원을 공급하는 경우 브라운 아웃 회로를 활성화하면 배터리 전압이 셀당 1.1V 인 장치를 사용할 수 없게되고 전압이 도달 할 때까지 작동이 중단 될 수 있습니다. 셀당 1.05 볼트. 브라운 아웃 회로를 비활성화하면 셀당 최소 0.9 볼트, 심지어 셀당 0.75 볼트까지 작동이 확장 될 수 있습니다. 저전압에서 발생할 수있는 그럴듯한 오작동이 정크 배터리의 드레인 증가를 넘어 해를 입힐 수있는 경우, 브라운 아웃 회로를 비활성화하면 사용 가능한 배터리의 전류 소모를 줄이지 않더라도 배터리 수명을 개선하는 간단한 방법이됩니다.


22

모든 것에는 공차가 있으므로, 브라운 아웃 리셋 레벨은 칩이 제대로 작동하도록 보장되는 최소 레벨 보다 약간 높게 설정되어야합니다 .

따라서 칩이 오작동하기 전에 브라운 아웃이 잘 시작될 수 있습니다. 따라서 칩 정상적으로 작동하지만 확실하지 않은 이 지역에 대해 스스로에게 물어봐야 합니다.

  • 칩이 작동하도록하고 칩을 최대한 활용 (작동 할 수 있음)
  • 브라운 아웃 회로에 의해 칩을 리셋 (및 리셋 상태로 유지)시킨다.

오작동 비용이 작동하지 않는 비용보다 크게 높지 않으면 첫 번째 옵션이 선호됩니다. 비행기 '블랙 박스'에서 핑 기능을 생각하십시오. 꼭 핑을 줄 가능성이 조금이라도 있다면 계속하십시오!

다른 한편으로, 폭탄이나 자동차 에어백의 트리거를 고려하십시오. 저전력 전압으로 인해 우발적으로 전원이 꺼질 가능성이 가장 적다면 전원을 차단하는 것이 좋습니다. 물론 그것은 폐쇄가 점화되지 않는 것을 의미한다고 가정합니다!

선택의 여지가없는 상황이 있습니다. 악명 높은 첫 번째 Ariane V 로켓 발사를 고려하십시오. 방향 제어 컴퓨터가 오작동했습니다 (이 경우 저전력 때문이 아님). 어떻게해야합니까? 계속하는 것은 아마도 잘못된 방향으로의 조향을 의미하지만, 종료한다는 것은 조향이 전혀 없음을 의미하며 결과는 같습니다. 컨트롤 벙커에있는 사람들에게 로켓이 떠돌아 다닐 수있는 좋은 전망도 아닙니다.


Ross가 언급했듯이 백업은 미션 크리티컬 시스템에는 물론 좋은 아이디어입니다. 그러나 이는 설계 문제를 해당 백업으로 이동시킵니다. 실패하면 어떻게 되나요? (실제로 다수의 투표를 사용하여 항상 3 개의 활동이 항상 활성화됩니다.) Ariane 5의 경우 주 컴퓨터와 백업 컴퓨터가 모두 실패했습니다. 다른 시스템 (제어실의 사람 일 수도 있음)은 모든 것이 통제 할 수 없다는 것을 감지하고 자체 파괴를 유발했습니다. 로켓이 공중에서 폭발하고 바다에서 작은 조각으로 떨어지면 임의의 방향으로 한 조각으로 비행이 계속됩니다.


로켓 상황에서 가장 좋은 해결책은 첫 번째 오류가 발생했을 때 대신 사용할 백업 컴퓨터를 가지고 첫 번째 시스템을 종료하는 것입니다.
로스 Aiken

일부 텍스트 추가
Wouter van Ooijen

실제로 Ariane 5 스토리는 훨씬 더 복잡하며 오류 처리는 실패 이유의 일부였습니다. esamultimedia.esa.int/docs/esa-x-1819eng.pdf
starblue

1
아니오, 오류 처리는 원인이 아닙니다. 새로운 데이터로 테스트하지 않고 원래 사양 벗어난 데이터가 포함 된 입증 된 시스템 (Ariane 4에서 제공됨)을 사용 했습니다 . (이러한 테스트는 원래 계획되었지만 나중에 비용 절감 프로그램에서 폐기되었습니다.)
Wouter van Ooijen

10

재설정에 신경 쓰지 않으면 (예를 들어, 완벽하게 작동하지 않고 손상이 발생할 수없는 경우 사용자가 재설정하고 다시 켤 수 있음) 전력 소비가 중요한 경우 전원을 끄면 일부가 절약 될 수 있습니다 마이크로 암페어. (또는 관심이 있다면 내장 된 Soso보다 더 나은 외부 회로를 사용할 수 있습니다).

내부 BOR이 작업에 적합하지 않은 경우 (예 : 공차가 적절하지 않을 수 있음)이를 끄고 외부를 사용할 수 있습니다.

어떤 목적에 대한 흥미로운 요구 사항은 EEPROM과 같은 것들이 작동 하지 않을 것으로 보장되는 최대 전압 이하 를 알아야 BOR이 작동을 방해하고 손상을 보장 할 수 없다는 것입니다. 일부 내장 BOR 회로에는 약간 미묘 할 수 있습니다.


10

BOR이 올바르게 작동하지 않는 버그가있는 경우 BOR을 비활성화 할 수 있습니다.

모듈 : 전압 조정기

BOR 이벤트가 발생하면 장치가 BOR 상태를 종료하지 못할 수 있습니다.

PIC32MX534 / 564 / 664 / 764 제품군 실리콘 에라타 및 데이터 시트 설명의 15 호를 참조하십시오 .


8
아야. 이 사랑스러운 정오표는 어느 부분에 속합니까?
Spehro Pefhany

1
그런 식으로 어떻게 프로덕션으로 만들 수 있습니까?
매트 영

1
재밌 네요. 그리고 재미있는 것은 거의 범죄를 의미합니다.
이그나시오 바스케스-아 브람스

1
특정 장치는 PIC32MX664F이며 일부 실리콘 개정판입니다. 대부분의 경우 BOR을 정상적으로 종료 할 때마다 20 회마다 한 번 씩만 그렇지 않습니다.
mjcopple

@ 매트 영 : 대부분의 PIC 마이크로 컨트롤러를 사용하기 때문에 BOR은 플러그를 뽑을 때 실리콘이 임의의 명령을 실행하기 전에이를 종료하기 위해 존재합니다. ROM에 다시 플래시 루틴이있는 경우 BOR이 없으면 가비지로 자체 플래시를 시도 할 수 있습니다.
Joshua


2

외부 맞춤형 브라운 아웃 회로를 대신 사용하는 상황이 있습니다.

브라운-오트 레벨의 해상도가 매우 작은 마이크로 컨트롤러가 있습니다.

가장 높은 브라운 아웃 레벨이 4.3V 및 2.7V (AVR의 경우 일반적) 인 µc로 작업한다고 가정 해 봅시다. 사용하는 주파수에서 2.7V가 안전하지 않다고 판단했습니다. 그러나 4.3V는 전원 장애 후 실행 시간의 길이를 제한하기 때문에 너무 높습니다.

종종 외부 전원 공급 장치와의 연결이 자주 끊어 질 수있는 장치를 사용해야하며 커패시터 나 배터리에서 살아남 아야합니다. 브라운 아웃 레벨이 4.3V이면 장치가 너무 빨리 꺼집니다. 2.7은 데이터 손상으로 이어질 것입니다. 그러나 예를 들어 3.5V가 안전한 브라운 아웃 레벨 인 경우 마이크로 컨트롤러의 리셋 라인을 당겨 작동하는 외부 브라운 아웃 회로를 만들 수 있습니다. 이 경우 내부 브라운 아웃 회로는 사용되지 않으며 비활성화 할 수 있습니다.

동일한 시스템에 더 많은 프로세서가있는 경우 단일 외부 리셋 컨트롤러를 사용하는 것이 좋습니다. 이 경우, 프로세서의 개별 브라운 아웃 감지기를 비활성화하는 것은 일부 전력을 저장할 수있는 한계 장점 유용하지만되어 필요한 일부 프로세서가 재설정에 있고 다른 사람들이 여전히 실행중인 상황을 방지 할 수 있습니다.


1
나는 당신이 AVR을 선택하지 않는다는 것을 알고 있지만, 1) 다른 AVR 라인은 다른 BOR 임계 값을 가지고 있으며, 2) AVR은 리셋 신호를 nRESET에서 외부에서 볼 수 있도록 매우 신중하게 사용할 수 있습니다. 리셋 컨트롤러로.
이그나시오 바스케스-아 브람스

1

사용중인 마이크로 컨트롤러의 실리콘 버그로 인해 시동 중 한 부분 동안 VBOR을 껐다가 다시 켜야했습니다. 전압 펌프의 캡을 충전하면 장치가 순간적으로 최소 이상으로 배수되고 VBOR이 계속 트립됩니다. 따라서 전원을 켜는 동안 VBOR을 끄고 약 10ms 후에 켭니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.