2020년 9월 21일 월요일

T Technical Report

img

신뢰할 수 있는 POR(power-on-reset)을 이용한 전원 곡선 스케일링

개요

파워온 리셋(power-on-reset: POR)은 통상적으로 장비가 작동이 가능한 준비 상태가 되었음을 알려주도록  구성된다. 그러므로 POR이 간단한 일처럼 들릴 수 있으며 대부분의 경우에 잘 작동한다. 하지만 POR이 실패했을 때는 일련의 중대한 이벤트를 유발하고 결국에는 재난적인 상황을 초래할 수 있다. 이 글에서는 POR의 세계 POR의 변수 “머피의 법칙”1 그리고 거의 모든 엔지니어들이 직업적으로 때때로 겪을 수 밖에 없는 “예기치 않은 동작(gotcha)”2에 대해서 설명한다. 어떤 애플리케이션에 이용하기 위한 최상의 POR 디자인을 설계했다고 하더라도 궁극적으로 최종 사용자 또한 POR 기능이 신뢰할 수 있게 유지되도록 하기 위해서 어느 정도 책임을 져야 한다.

글/Bill Laumeister Strategic Applications Engineer Maxim Integrated

전원 곡선과 산악 지형의 비유

먼저 비유로서 이 글을 시작해 보려고 한다. 그림 1에서는 우리가 산을 오르내릴 때의 산악 지형을 각기 다른 색상의 선으로 보여주고 있다.

지상에서 보았을 때 산악 지형이 어떻게 보일 것인가? 각각의 산이 다르기 때문에 우리는 이것을 알 수 있다. 일반적이거나 평균적인 지형이 있는가? 그렇지 않다. 작은 언덕 화강암 절벽 고원 낮은 산에 이어서 계곡이 나타나고 그리고 높은 산이 나타날 수 있다. 달리 말해서 우리가 가는 경로 상에는 어떤 것이든 있을 수 있다. 그림 1을 보고 파란색 선과 같은 산악 지형은 없다고 생각한다면 그림 2를 보라.

그림 1의 지형 곡선은 전원장치가 파워업하고 파워다운할 때의 전원장치 프로파일을 나타내는 것으로 볼 수 있다. 여기에 어떤 전형적인 곡선이 있는가? 절대로 아니다. 그렇다면 IC 디자이너는 넓은 범위의 전압 조건들을 수용해야 하는 POR 회로를 어떻게 설계해야 할 것인가? 이에 대한 대답은 그렇게 하기가 아주 어렵다는 것이다. 그것은 이 험준한 경로 상에 수많은 변동성이 있기 때문이다. 그러면 IC를 설계한 후에는 어떻게 POR을 있을 수 있는 모든 모든 전원장치에 대해서 테스트할 수 있을 것인가?

POR이 안전하게 동작하도록 하기

대부분의 엔지니어들은 우수한 POR 회로를 설계하는 방법에 대해서 각기 나름대로의 의견을 가지고 있을 것이다. 통상적으로 이 작업은 전압이 1개 또는 2개의 임계값을 통과하도록 하고 타이머를 시작하고 전압이 안정화하도록 일정하게 프로그램된 간격을 기다렸다가 리셋 기능을 실시하는 것이다. 타이머는 주로 넓은 허용오차의 아날로그 저항-커패시터(RC) 시간 상수이다. 파워다운 시에는 이들 커패시터가 방전해야 한다. 누설이 유일한 방전 경로이므로 재시작할 수 있도록 접지에 충분히 근접하게 되기 위해서 일정한 시간이 걸릴 수 있다. 재시작하는 데 걸리는 이 시간을 단축하기 위한 한 가지 설계 비결이 임피던스가 높으면서 누설이 높지 않은 CMOS 트랜지스터 게이트 커패시터를 이용하는 것이다.

POR이 적절하게 동작하도록 하는 방법에 대해 논의하기에 앞서 POR이 통상적으로 왜 실패하는지부터 언급해야 할 듯하다. 이것은 모두가 타이밍에 관련된 것이다. 전원장치를 완전히 턴오프시키지 않고서 재시작을 하거나 전원장치를 매우 짧은 시간 동안만 턴오프시키면 POR은 반드시 실패하게 되어 있다. 실제로 전원장치를 수십 마이크로초 동안 턴오프시키고 POR이 왜 작동하지 않는지 의아해 하는 고객들을 볼 수 있다.

나쁜 타이밍과 타이밍 오류가 POR 회로를 실패하게 만든다면 그러면 양호한 타이밍은 어떤 것인가? 또는 달리 말해서 최소한 좋아할 만한 타이밍은 무엇인가? 비휘발성(NV) 메모리를 포함하는 DAC나 디지털 포텐셔미터를 예로 들어보자. 전원장치를 5V로 가정하고 다양한 결함 모드를 설명하기 위해서 3개의 임의 전압을 설정한다(그림 3). 이로부터 시간을 고려하고 POR을 어떻게 안전하게 동작하도록 할 것인지 판단할 수 있다.

이 예에서 DAC 또는 디지털 포텐셔미터는 2개 메모리를 포함한다. 휘발성 메모리 또는 작업 메모리와 비휘발성(NV) 메모리가 그것이다. 전원이 제거되면 휘발성 메모리의 값은 소거되지만 NV 메모리는 전원이 인가되지 않더라도 값을 유지한다. NV 메모리는 장비로 전원을 복구할 때 이용되는 값을 장기적으로 저장하는 데 이용된다. POR 시퀀스가 NV 메모리의 값을 읽어들이고 이를 휘발성 메모리로 적용한다. 휘발성 메모리는 부품의 출력 전압이나 저항을 설정한다. 휘발성(작업) 메모리는 출력 값과 더불어서 직렬 인터페이스를 통해서 변경될 수 있다(주로 SPI 또는 I2C) NV 값은 다음 POR이 트리거되기 전까지는 다시 사용되지 않는다.

그림 3에서는 드루핑 전압 1은 레지스터 설정에 영향을 미치지 않는다는 것을 알 수 있다. 이 전압은 메모리가 소실되는 2V보다 낮게 떨어지지 않았다. 전압 2는 2V 선 아래로 떨어지므로 메모리가 소실된다. 이 전압이 다시 상승했을 때는 휘발성 레지스터가 랜덤 데이터를 포함하고 있을 것이다. 끝으로 전압 파형 3은 2V를 지나서 계속해서 1.5V보다 낮게 떨어지므로 휘발성 메모리가 소실된다. 그러다 이 전압이 1.5V로 상승하면 POR이 스타트하고 휘발성 메모리가 NV 메모리로부터 리프레쉬되고 부품이 정상적으로 동작할 것이다.

IC 디자이너는 잡음도 같이 고려하면서 어떠한 숫자의 상이한 전원장치 스타팅 곡선이든 수용하도록 해야 하므로 히스터리시스(hysteresis)가 좋은 방법이다. 그러면 그림 3의 예일 때 전압이 1.5V보다 높게 상승했을 때 히스터리시스를 이용해서 래치를 설정할 수 있다. 이러한 히스터리시스는 전압이 1.3V보다 높게 유지되는 동안은 래치를 설정한 채로 유지할 것이다. 하지만 이 전압은 동작을 신뢰할 수 있게 할 만큼 충분히 높지 않으므로 역시 히스터리시스를 이용해서 전압이 2.5V로 상승할 때까지 기다릴 수 있다. 이 수준이 되면 현재 NV 메모리에 들어있는 값을 휘발성 레지스터로 로드할 수 있다. 이렇게 하기 위해서는 NV를 읽어들이고 이를 휘발성 메모리에 쓸 때 클록으로 동작하도록 로컬 오실레이터를 작동해야 한다. 상태기를 이용해서 메모리를 로드하는 한편 클록을 카운팅해서 이 동작이 언제 완료되는지를 알 수 있다. 후속적으로 로컬 오실레이터를 턴오프하고 출력을 작동시키는 등과 같은 그 밖의 하우스키핑 동작들을 실시함으로써 POR 시퀀스가 완료된다.

그런 다음에는 POR의 보호 측면으로서 시간을 고려해야 한다. 히스터리시스는 전압 플레인의 잡음으로부터 보호하며 시간 지연은 전원 기울기와 안정성 플래토에 있어서 불확실성으로부터 보호한다. 전원을 확실하게 안정화하는 한 가지 방법은 잠깐 기다리는 것이다. 다음 곡선을 예상할 수는 없으나 잠깐 기다리면서 동작을 방해할 수 있는 어떤 전압 변동이 있지는 않은지 살펴볼 수 있다. 그러면 얼마나 기다려야 하는 것일까? 확실한 것은 적정한 기다림이 반드시 필요하다는 것이고(그 “적정함”이 얼마가 되었든) 이 때가 바로 디자이너가 애플리케이션을 토대로 해서 판단을 내려야 하는 때이다.

안전하고 신뢰할 수 있는 동작인지 테스트하기 – 그리 간단치 않은 작업

그러면 지금쯤은 있을 법한 모든 동작 조건으로 성공적인 POR을 보장한다는 것은 거의 불가능하다는 것이 확실해졌을 것이다. 그러므로 디자이너는 적정 범위의 조건들을 수용할 수 있도록 하는 데 노력을 기울여야 한다. 특정한 애플리케이션 환경으로 일어날 수 있는 동작 조건들의 수를 고려했을 때 반도체 업체들은 POR을 어떻게 테스트할 수 있을 것인가? 이를 위해서 이들 업체들은 신제품 IC 상관화 프로세스 시에 벤치 테스트를 실시한다. 벤치 테스트를 통한 물리적 실리콘의 상관화를 통해서 설계 프로세스 시에 이루어진 시뮬레이션을 검증할 수 있다. 위의 문제들을 고려했을 때 가능한 모든 파워업 및 파워다운 구성을 시험할 수는 없다는 것을 알 수 있다. 그럼에도 불구하고 POR은 통상적인 실험실 전원장치를 이용해서 작동할 수 있다.

각 IC의 자동화 테스트(ATE) 시에는 빠른 상승시간 전원장치를 이용해서 POR을 테스트한다. ATE 장비에서 시간은 가장 귀중하고도 비싼 자원이다. 그러므로 전원장치가 항상 동적인 상태이며 스위치 또는 릴레이를 이용해서 이 IC로 전원 경로를 개방시킨다. ATE 장비는 가격이 2백만 달러 혹은 3백만 달러에 달할 수 있으므로 테스트 시간을 밀리초 단위로 측정한다. 그러므로 전원장치를 처음부터 턴온하면서 기다리려고 하지 않는다. ATE 전원장치는 통상적으로 비교적 대형이고 잘 레귤레이트되며 커패시터를 이용해서 적절히 바이패스한다. 부품으로 전원이 공급되면 스위치 또는 릴레이를 폐쇄시킴으로써 전압으로 고속 스텝을 달성할 수 있다. 그러므로 많은 애플리케이션에서 발견할 수 있는 것과 같은 느리게 상승하는 전원을 이용해서 POR을 테스트하는 것이 아니다.

POR의 오작동

POR 회로를 헛갈리게 해서 오작동을 일으킬 수 있는가? 대답은 위의 그림 3에서 살펴본 바와 같이 그렇다는 것이다. 여기서 더 나아가서 더 심각한 상황으로서 이 회로가 잘못해서 실제적으로 NV 메모리로 엉뚱한 내용(garbage)을 쓰도록 할 수 있는가? 그렇다. 그리고 고객의 전원 회로가 어떤 일을 할 것인지 어떤 작업을 하도록 요구받을 것인지 알 수 없기 때문에 이에 대해서 시험한다는 것은 결코 쉽지 않은 작업이다. 실제로 개발 책임자들이 어떤 결함이 있는지 알아내기 위해서 전원을 되도록 빠르게 턴온하고 턴오프하는 방법을 쓴다는 얘기를 듣고 있다. 실제적으로 이 방법은 굳이 그렇게 나쁜 방법은 아니다. 회로가 언젠가는 고장을 일으킬 것이기 때문이다. 하지만 이와 같이 빠르게 턴온/턴오프하는 방법은 오로지 한 가지 스위칭 시퀀스만 테스트할 수 있으므로 유용성이 제한적이다. 이 외에도 POR 결함을 일으킬 수 있는 테스트하지 못한 여러 시퀀스들이 있을 수 있기 때문이다. 이상적이라고 한다면 POR 회로가 전원이 안정되고 동작을 재시작할 수 있을 때까지 모든 회로들을 보호해야 한다.

하지만 NV 메모리에 의심스러운 쓰기가 될 수 있다. 정상적인 쓰기 프로세스는 유전체 절연 커패시터(즉 메모리 소자)로 전하가 추가되도록 VCC보다 높은 전압을 필요로 한다. 높은 전압을 발생시키기 위해서 내부적인 DC-DC 컨버터를 스타트시켜야 하므로 쓰기를 완료하기 위해서 필요한 통상적인 시간은 약 10ms이다. 디지털 로직이 파워업했을 때는 랜덤 상태일 수 있다. 이 랜덤 상태가 NV 쓰기 시퀀스를 제어하는 플립플롭을 포함하면 제어 불능 상태가 되고 NV 메모리로 쓰기를 할 수 있다.

바로 이러한 상황이 나쁜 일은 항상 최악의 시점에 발생한다고 하는 머피의 법칙을 떠올리게 만드는 복잡한 상황이다. 하지만 시간은 거의 언제나 우리 편이다(이것은 일종의 말장난이지만 이만큼 POR 회로에서 “시간”이 중요하다는 것이다). 다시 그림 3으로 돌아가서 어떻게 하면 NV 쓰기를 방지할 수 있는지 보자. NV 쓰기가 실수로 잘못된 시간에 시작되었을 때 이를 정지시킬 수 있도록 1ms의 안전한 시간 범위가 있다고 하자. 그러면 첫째 전압이 1.5V로 상승하면 모든 조건으로 이를 신뢰할 수 있게 완수할 만한 충분한 전압이 아니라고 하더라도 쓰기 래치를 “오프”로 설정한다. 둘째 전압이 계속 상승해서 2.5V를 통과하면 다시 쓰기 래치를 “오프”로 설정한다. 전압이 1.5V를 지나서 1.4V로 떨어지고 POR 히스터리시스에 의해서 POR이 시작되었을 때는 쓰기 래치가 “오프”로 설정되어 있을 것이다. 하지만 전압이 1.4V로 떨어지고 쓰기 래치가 “온”으로 설정되면 문제가 될 수 있다. 그렇더라도 2.5V 지점에서 잡아낼 수 있으므로 실제로 별 문제가 안 될 수 있다. 하지만 항상 이렇게 할 수 있을 것인가? 정상적인 경우에는 그렇게 할 수 있을 것이지만 예를 들어서 전원장치가 커패시터를 충전하는 데 긴 시간이 걸리고 1.5V와 2.5V 사이의 시간이 2ms라고 하자. NV 메모리로 쓰기를 한다. 그런데 만약에 전원장치가 정상적으로는 쓰기를 방지할 수 있도록 충분히 빠르게 파워업하는데 전원이 파워업하는 도중에 공장 안의 모터가 AC 라인 전압을 순간적으로 떨어트린다면 어떻게 될 것인가? 그러면 랜덤하게 메모리 쓰기가 나타날 수 있다.

POR을 위한 적절한 설계 전략 필요

그렇다면 아무리 잘 설계된 POR 회로라고 하더라도 인접한 전기 장치로 인한 임의적인 외부적 사건 때문에 방해를 받을 수 있다는 점이 확실해졌을 것이다. 그러므로 궁극적인 전원장치 안전성을 위해서는 좀더 신중한 계획이 필요하다.

안전성과 가동 시간은 공장에서 아주 중요한 요소들이다. 간단한 밸브를 예로 들어서 살펴보자. 사용 용도에 따라서 밸브는 결함을 일으켰을 때 사전에 예정된 세 가지 방식 중의 하나가 되도록 해야 한다. 개방 폐쇄 위치 유지가 그것이다. 보일러나 핵 반응기로 예기치 않게 전원이 중단되면 비상상황 냉각수 밸브를 “개방” 상태가 되도록 해서 완전 턴온이 되도록 해야 할 것이다. 보일러로 천연가스를 공급하기 위한 밸브는 결함을 일으켰을 때 “폐쇄” 또는 “턴오프” 상태가 되도록 해야 할 것이다. 중요도가 떨어지는 밸브라면 그냥 위치를 유지하도록 할 수 있다. 공장에서 이용되는 밸브의 숫자를 감안했을 때 이와 같은 전원 중단의 가능성은 급격히 높아진다. 공장에서 전원이 공급되는 각각의 장치나 작업자의 안전성이 무엇보다 중요한 모든 제품들이 신뢰할 수 있게 리셋이 가능해야 한다. 그러므로 디자이너가 파워온 및 파워오프 조건 모두에 대해서 적절한 전략을 수립하는 것이 매우 중요한 과제이다.

파워온에 이용할 수 있는 방법들에 대해서 살펴보자. 메인 제어 마이크로프로세서뿐만 아니라 모든 출력들을 면밀하게 관리해야 한다. 보정(calibration) 등급 IC는 독립적인 자체 초기화 POR을 포함함으로써 알려진 값으로 파워온할 수 있는 디지털-아날로그 컨버터(DAC)와 디지털 포텐셔미터 같은 아날로그 디바이스이다. 기계적 밸브와 마찬가지로 POR에도 세 가지 옵션을 이용할 수 있다: 제로코드 미드레인지 또는 고객의 사전 설정 값으로 스타트하는 것이다. 이들 아날로그 디바이스는 시스템의 마이크로프로세서가 부팅하고 시스템을 적절히 검사할 수 있을 때까지 출력을 보호한다. 부팅 시간은 수 초 또는 심지어는 수 분이 될 수 있으며 보정 디바이스는 비교적 신속하게 보호를 제공할 수 있다. 통상적으로 프로세서는 전원 버스 및 주요 시스템 지점 상의 DC 전압을 모니터링하고 동작을 허용한다. 일부 회로를 안전할 때만 전원을 공급하기 위해서 또는 통제된 방식으로 상승시키면서 전원을 공급하기 위해서 시스템 스위치가 필요할 수 있다.

그러면 이번에는 파워오프에 대해서 살펴보자. 전원이 순간적으로 중단되면 어떻게 될 것인가? 시스템의 전원 디커플링 커패시터가 충분히 접지에 근접하게 방전됨으로써 POR이 신뢰할 수 있게 트리거할 것인가? 이렇게 되도록 하는 방법은 전원이 일정한 간격 동안 오프로 유지되도록 하기만 하면 될 정도로 간단할 수 있다. 언뜻 생각하기에는 마이크로프로세서를 대기 전원을 이용해서 전원을 공급하는 것이 좋은 방법으로 생각될 수 있다. 이러한 전원은 대기하고 있으므로 많은 TV 수상기와 마찬가지로 원격 제어로 메인 회로를 턴온할 수 있다. 그런데 이 방법은 전력선 결함으로부터 보호를 제공하지 못한다. 이보다 나은 방법은 마이크로프로세서로 수 초 간의 별도 전원을 공급하는 것이다. 이 방법은 직렬 쇼트키 다이오드와 일부 대형 커패시터를 이용하면 될 만큼 간단할 수 있다. 다이오드를 통해서 커패시터를 충전한다. 전원이 중단되면 다이오드가 역바이어스됨으로써 프로세서가 매끄럽게 통제된 방식으로 셧다운을 할 수 있을 만큼의 전력을 보존한다. 이 방법은 또한 최소한의 오프 시간으로 모든 POR이 적절히 동작하도록 한다.

무정전 전원을 달성하기 위해서는 대체 장비로서 배터리 백업이나 디젤 발전기를 이용하는 것이 훌륭한 방법이 될 수 있다. 백업 전원을 자동으로 테스트하도록 하거나 또는 작업자가 정기적으로 백업 동작을 검사하도록 상기시켜야 한다. 또한 백업 전원이 손상되었을 때는 어떻게 할 것이며 이 사고에는 어떻게 대응할 계획인지 고려해야 한다. 하지만 이 문제는 또 다른 글에서 또 다른 주제로 다루어야 할 것이다.

결론

POR은 관리하기 까다로운 과제이다. 다수의 소위 말하는 랜덤 이벤트는 일정한 여유 범위 내의 사건들이다. 전원 정전은 흔하게 발생되는 것이 아니며 시스템의 전체 수명에 걸쳐서 한 번도 안 일어날 수도 있다. 하지만 머피의 법칙은 이러한 사건이 일어날 수 있다고 말한다. 앞에서 산을 오르내리는 것에 비유했듯이 IC 전원 엔지니어는 까다로운 지형들을 헤쳐나가야 하며 애플리케이션의 모든 측면을 사전에 예측하기는 어렵다. 시스템 동작이 중단되고 때로는 안전성이 위협받을 수도 있으므로 신뢰할 수 있는 전원을 달성하기 위해서 모든 노력을 기울여야 한다. 바로 이것이 우리가 되도록이면 넓은 범위의 전압 조건들을 수용할 수 있는 POR 회로를 설계해야 하는 이유이다.

참고문헌
1 머피의 법칙: http://en.wikipedia.org/wiki/Murphy%27s_law.
2 “gotcha”는 영어에서 폭넓은 의미로 쓰인다. 이 글에서는 Wikipedia에서 말하고 있듯이 통상적으로 “예기치 않은 포획(capture) 또는 발견(discovery)”을 말한다. http://en.wikipedia.org/wiki/Gotcha 참조. 3 중국 장가계 국가 삼림 공원에 관해서는 많은 자료와 사진을 이용할 수 있다. 이곳도 그 중의 한 곳이다: https://www.google.com/search?q=Zhangjiajie+NATIONAL+FOREST+PARK+IN+CHINA&hl=en&client=firefox-a&hs=3yI&tbo=u&rls=org.mozilla:en-US:official&tbm=isch&source=univ&sa=X&ei=8vcGUbmNNY-vygGfsYG4CA&ved=0CEkQsAQ&biw=1033&bih=513. 장가계 국가 삼림 공원에 관한 개략적 설명은 http://en.wikipedia.org/wiki/Zhangjiajie_National_Forest_Park에서 볼 수 있다.

저자 약력: Bill Laumeister는 Maxim Integrated의 정밀 제어 그룹 전략 애플리케이션 엔지니어입니다. DAC 디지털 포텐셔미터 전압 레퍼런스를 이용하는 고객들을 지원하는 업무를 맡고 있습니다. 이 분야에서 30년 이상 종사하고 있으며 다수의 특허를 보유하고 있습니다.