전원 시퀀싱 겸 감시 IC의 성공적인 활용을 위한 Tip!
  • 2017-11-06
  • 글 | Nathan Enger, Applications Engineer, Analog Devices’ Power by Linear Group


전원 시퀀싱 겸 감시 회로는 전원 관리를 위해 다수 레일의 타이밍, 시퀀싱, 전압 감시, 결함 처리, 디버깅 같은 다양한 기능을 필요로 한다.

전원 시퀀싱 겸 감시 회로는 전원 관리를 위해서 다양한 기능들을 필요로 한다. 다수 레일의 타이밍과 시퀀싱, 신속한 전압 감시, 결함 처리, 디버깅 같은 것들을 매끄럽게 처리해야 한다. EEPROM 메모리를 사용해서 완벽한 자율성이 가능해야 하고, I2C/SMBus 인터페이스는 실시간으로 상호작용할 수 있어야 한다.

하지만 유연성을 위해서는 얼마간의 복잡성이 따르며, 성공적인 디자인을 달성하기 위해서는 설계 상의 의사결정을 해야 한다. 이 글에서는 몇 가지 구체적인 사례들을 들어서 전원 시퀀싱 겸 감시 IC인 LTC2937의 기능들을 어떻게 성공적으로 활용할 수 있는지 설명한다.

이 글에서는 다음에 대해서 설명한다:
- 기본형 회로
- 이 회로로 기능 추가
- LTC2937 프로그래밍
- LTpowerPlay GUI
- 추가적인 회로 향상

먼저 기본형 하드웨어 구성을 살펴보고, 그런 다음 LTC2937의 추가적인 기능들을 활용하고 유연성을 높이는 방법에 대해서 살펴본다.


기본형 회로

기본형 회로는 극히 소수의 외부 소자만을 사용해서 전원 관리를 달성할 수 있다(그림 1). LTC2937 전원 시퀀싱 겸 감시 IC는 파워업 및 파워다운 시퀀싱, 전압 감시, 결함 관리를 완벽하게 자율적으로 처리하도록 프로그램 할 수 있다. 또한 이 구성은 최소한의 외부 풀업 저항 및 바이패스 커패시터만을 필요로 한다.

회로 연결

- SHARE_CLK를 3.3k 풀업 저항을 거쳐서 VDD로 연결한다. 이 개방 드레인 핀이 토글(toggle)하지 않으면 시퀀서가 진행하지 않는다.
- 개방 드레인 ENn 라인들을 풀업 저항을 거쳐서 적절한 전압(최대 16.5V)으로 연결한다. 일부 DC/DC 컨버터는 자체적인 풀업 저항을 포함함으로써 외부 저항을 필요로 하지 않는다.
- SCL 및 SDA를 GND로 연결하거나, 또는 선택적으로 10k 풀업 저항을 통해서 VDD로 연결한다. 이 구성에서는 이들 핀이 사용되지 않는데, 그렇더라도 플로팅 시키지 않도록 한다.
- 다른 모든 핀들은 플로팅 시킨다. ON, MARGB, WP, ALERTB, FAULTB, RSTB, SPCLK은 모두 자체적으로 약한 풀업을 포함한다. ASEL1, 2, 3 핀을 플로팅 시키면(7비트) 디바이스 I2C 어드레스를 0x44로 설정하고, WP는 쓰기 보호 상태로 풀링한다. 하지만 이 구성에서는 I2C 버스가 사용되지 않으므로 아무래도 상관없다.

기본 기능

이 기본형 구성에서, LTC2937은 12V 입력으로부터 전원을 끌어와서 VDD LDO 레귤레이터를 파워업 한다. VDD가 저전압 록아웃(UVLO) 임계값보다 높게 상승하면 EEPROM으로부터 작업 메모리로 설정을 로드 한다(이 작업에 약 2ms 소요). 그리고 ON 핀이 하이(high)로 풀링함으로써 곧바로 파워업 시퀀싱을 시작한다. 그러면 EEPROM에 사전에 프로그램 되어 있는 규칙에 따라서 모든 전원이 정연하게 시퀀싱한다.

전원들이 켜진 후에는 LTC2937이 전압이 지정된 OV 및 UV 한계를 벗어나는지를 모니터링하고 이러한 이탈이 발생되었을 때 35㎲ 이내에 결함을 검출한다(순간적인 짧은 글리치는 무시).

결함을 검출했을 때는 (구성에 따라서) 자동으로 모든 전원을 다운시키고 일정한 지연시간 후에 파워업 시퀀싱을 다시 시작할 수 있다. 이 디바이스가 외부 개입 없이 이렇게 하므로 시스템이 손상되는 것을 방지한다. EEPROM 메모리로 다양한 제어 동작을 완벽하게 구성 가능하다.

기본형 회로로 기능 추가

이 기본형 회로만으로도 완벽하게 동작할 수 있다. 하지만 LTC2937이 제공하는 모든 기능들을 활용하지는 못한다.
이 기본형 회로는 디바이스를 I2C 버스로 연결하지 않는다. 그러므로 디바이스의 EEPROM에 들어 있는 프로그래밍만을 따른다. 보드 상에서 디바이스를 재프로그램할 수 있게 구성되지 않았으므로, 사전에 프로그램 된 디바이스를 필요로 한다. LTC2937에 공장 설정 디폴트 프로그래밍이 들어 있으면 아무 일도 하지 않는다(그렇다고 어떤 해를 일으키지는 않는다).

LTC2937을 I2C/SMBus로 연결하면, 전압 및 시퀀스 규칙을 업데이트하고, EEPROM을 재프로그램하고, LTpowerPlay를 사용하고, 결함 디버깅을 하고, 싱글 스텝핑(single-stepping)을 하고, 펌웨어 제어를 하는 것과 같은 향상된 기능들이 가능해진다. 이에 관해서는 뒤에서 자세히 설명한다.

이 기본형 회로에서는 디바이스로 하여금 언제 파워다운 시퀀싱을 할지 말해주지 않는다. ON 핀도 I2C 버스 명령도 사용되지 않는다. 12V가 떨어지더라도 ENn 출력이 계속해서 하이(high)로 있는다. 디바이스가 이들 출력을 로우(low)로 풀링하지 않기 때문이다. 시퀀서가 다운 시퀀싱을 하지 않으므로 셧다운을 할 때까지 출력 레귤레이터가 그대로 있다.

VPWR 모니터링 추가

이 기본형 회로는 즉시 파워업 시퀀싱을 하고 12V 전원이 붕괴될 때까지 계속해서 그대로 있으므로, 결과적으로 전원 파워다운은 시퀀싱 되지 않고 순서를 예측할 수 없게 될 수 있다.

 

이러한 문제를 극복하기 위해서는 몇 가지 방법을 쓸 수 있다. 가장 간단한 방법은, 감시 채널 중의 하나를 사용해서 제어 메커니즘을 구현하고 저항 분할기를 통해서 12V 전압을 모니터링하는 것이다. 그리고 이 전압이 너무 낮아지면 결함을 선언할 수 있다(그림 2). 이 방법은 이상적인 것은 아니지만, 적어도 모든 ENn 핀을 동시적으로 로우(low)로 풀링함으로써 12V 전압이 붕괴하기 앞서 전원들을 셧오프 시킬 수 있다. 이것은 비정연한 붕괴에 대비한 최소한의 조치라고 할 수 있다.

이러한 경우에는 LTC2937의 결함 재시도 지연시간을 12V 전원이 붕괴하는 데 걸리는 예상 시간보다 길게 프로그램해야 한다. 이렇게 함으로써 전원이 떨어지고 있는 중에 디바이스가 다시 시작하려고 시도하는 것을 막을 수 있다. 그러려면 FAULT_RESPONSE[7:5] = 3'b111(13.1초)로 설정한다.

완전한 파워다운 시퀀스를 구현하기 위해서는 몇 가지 옵션을 사용할 수 있다. 가장 좋은 방법은 ON 핀을 사용해서 파워업 또는 파워다운 시퀀스를 명령하는 것이다. ON 핀의 로직 레벨을 가지고서 전원들이 언제 온 또는 오프가 될지를 제어할 수 있다. 또 다르게는 버스 마스터가 있어서 I2C 명령을 전송할 수 있으면, 이 명령을 전송해서 파워업 및 파워다운 시퀀싱을 행하도록 할 수 있다. 두 방법 모두 디바이스로 명령하기 위해서 추가적인 회로를 필요로 한다. 이에 관해서는 뒤에서 자세히 설명한다.

I2C/SMBus(DC1613)

LTC2937은 완벽하게 프로그램 가능한 레지스터들을 포함하며, 이를 통해서 시스템 가동에 관한 중요한 상태 및 결함 정보를 제공한다. 이들 레지스터는 I2C/SMBus 인터페이스를 통해서 액세스할 수 있다. SMBus 프로토콜과 적절한 신호 레벨을 사용하는 어떤 버스 마스터로도 이 디바이스와 통신할 수 있다. 사용자가 LTC2937과 상호작용하기 위한 가장 손쉬운 방법은 윈도우즈 PC, LTpowerPlay GUI, DC1613 I2C/SMBus/PMBus 컨버터를 사용하는 것이다.

 

DC1613 I2C/SMBus/PMBus 컨버터는 PC의 USB 커넥터를 보드 상의 I2C 버스로 연결할 수 있는 작은 동글(dongle)이다(그림 3). PC가 이 버스를 액세스할 수 있게 되면 LTpowerPlay GUI를 통해서 LTC2937의 추가적인 향상 기능들을 액세스할 수 있다. 그러므로 자신의 보드에 DC1613 용의 커넥터를 구비할 것을 권장한다.

DC1613 12핀 커넥터

DC1613은 표준 12핀 리본 케이블을 사용해서 보드로 연결할 수 있다. 제대로 된 연결을 위해서 12개 핀 중의 일부만을 필요로 한다. 다른 핀들은 Linear Technology 데모 보드 용이다. 핀 2, 3, 4를 LTC2937로 연결한다. 핀 5는 아래에서 보듯이 3.3V 전원을 제공할 수 있다. SDA 및 SCL에서 VDD 핀으로 10k 풀업 저항을 사용한다. 핀 1과 핀 6부터 12까지는 연결하지 않는다.

DC1613과 LTC2937 사이에 연결을 위해서 4핀만 필요하므로 12핀-대-4핀 어댑터를 사용하면 더 작은 커넥터를 사용할 수도 있다.


DC1613으로부터 전원 공급

많은 경우에 메인 12V 전원을 켜지 않고서 I2C 버스를 통해서 LTC2937과 통신할 수 있으면 유용하다. 이렇게 하면 VIN을 인가하거나 제거할 때 발생될 수 있는 우발적인 전원 시퀀싱을 방지할 수 있으므로 프로그래밍이나 디버깅 시에 안전성 기능으로도 사용될 수 있다. LTC2937은 VPWR 핀과 함께 VDD 핀을 포함하므로, VPWR가 꺼져 있을 때는 간편하게 DC1613(핀 5)으로부터 LTC2937의 VDD로 3.3V를 제공할 수 있다. (그림 4)의 간단한 회로로 이 일을 하고 있다.

 

PMOS 디바이스(M1)를 소스가 LTC2937을 향하도록 추가하고, 다이오드 D1을 사용해서 VPWR로부터 12V로 전류가 흐르는 것을 방지한다. R1과 R2는 12V가 ~4.5V보다 높아졌을 때 PMOS를 턴오프하고 게이트 과전압을 방지할 수 있을 만큼의 크기로 한다. 12V가 낮아지면 PMOS가 턴온 하고 동글(dongle)에서 이 디바이스로 3.3V를 제공한다.

12V 전원이 존재하면 이 전원이 LTC2937로 전원을 제공한다. 12V 전원이 부재하면, 3.3V 전원이 이 디바이스와 SCL/SDA 버스 라인으로 대체 전원을 제공할 수 있다. LTC2937로 전원이 공급되고 I2C 버스를 통해서 통신할 수 있다. 그러므로 전원들을 파워업 시퀀싱을 하려고 시도하더라도 메인보드 전원이 없으므로 어떠한 해도 일으키지 않을 것이다.

쓰기 보호

WP 핀은 정상적으로는 VDD로 풀링 해서 RAM이나 EEPROM으로 어떠한 변경을 하지 못하도록 한다. 쓰기를 가능하게 하기 위해서는 WP 핀을 GND로 연결한다. 다만 I2C 버스가 작동하고 있을 때는 쓰기 보호가 작동되어서 메모리로의 어떠한 쓰기든 방지한다. 그럼으로써 인-시스템 프로그래밍이나 I2C 버스를 통한 기능 제어를 방지한다.

또한 LTC2937은 WRITE_PROTECTION 레지스터(0x00)를 포함한다. bit0 = 1이면 쓰기 보호가 된다. 읽기-수정-쓰기 기법을 사용해서 이 비트를 0으로 설정할 수 있다. 먼저 레지스터를 읽는다. 이 레지스터는 비트 15부터 2까지는 키를 저장하고 있다. bit0 → 0으로 수정하고, 키 값은 그대로 둔다. 끝으로, 수정된 내용을 다시 레지스터로 쓴다. 메모리가 록이 해제되었을 때는 원한다면 키 값을 변경할 수 있다.

디바이스로 쓰기를 하기 위해서는 WP 핀과 WRITE_PROTECTION 레지스터 둘 다 록이 해제되어야 한다. 또 다른 방법으로는 PCB 상에서 (임시적으로) WP 핀을 GND로 풀링 해서 인-시스템 프로그래밍, 보드 브링업, 디버깅 같은 때에 디바이스로 쓰기를 할 수 있다.

LTC2937 프로그래밍

회로 스키매틱을 구성한 다음에는 레지스터 설정을 통해서 동작 규칙을 설정해야 한다. 공장에서의 디폴트 레지스터 설정으로는 디바이스가 파워업 시퀀싱을 하지 않는다. 프로그래밍 편의를 위해서 레지스터들을 기능별로 그룹화할 수 있으며, 레지스터 그룹들을 이해함으로써 잘 작동하는 시스템을 편리하게 프로그램 할 수 있다.

다음의 예들은 디바이스를 어떻게 특정한 전압 및 타이밍으로 프로그래밍하는지 보여준다. 이러한 설정은 애플리케이션마다 비슷하지만 똑같지 않다. 레지스터와 구성 비트에 대한 상세한 설명은 데이터 시트에서 볼 수 있다.

RAM 및 EEPROM 구성하기

레지스터를 구성하는 절차는 TIMING 파라미터를 설정하고, VOLTAGE 파라미터를 설정하고, FAULT CONTROL 및 OTHER 기능을 구성하는 것으로 이루어진다. 다음의 레지스터 설정은 LTC2937의 시퀀서 구성 예를 보여준다. 다시 말하지만, 이들 모든 레지스터와 기능에 대해서는 데이터 시트에서 상세한 설명을 볼 수 있다.

 

LTC2937(그 외 많은 Linear Technology 디바이스)로 레지스터를 프로그램하고 살펴보기 위해서 가장 손쉬운 방법은 LTpowerPlay를 사용하는 것이다. 이에 관해서는 뒤에서 자세히 설명한다.


파워업 시퀀스 제어

(그림 5)를 보자. 각 채널에 대해서 다수의 타이밍 파라미터들을 설정해야 한다. 첫 번째는 SEQ_UP_POSITION이다. 이 파라미터는 SEQ_UP_POSITION_n 레지스터에 들어있다. 0부터 1023까지의 값을 취할 수 있으며, 0이면 시퀀싱을 하지 않는다. 주어진 시퀀스 순위로 지정된 지연시간에 각 시퀀서 이벤트가 행해진다. 다중의 이벤트가 하나의 시퀀스 순위를 차지할 수 있다.

 

두 번째 타이밍 파라미터는 TON_DELAY이다(지정된 시퀀스 순위에 이 시간만큼 기다렸다가 켜짐). 이 파라미터는 TON_TIMERS_n 레지스터에 들어 있다. 80㎲ 간격으로 0㎲부터 655ms까지 값을 취할 수 있다.

 

세 번째 타이밍 파라미터는 TON_MAX이다(켜진 후에 전압이 UV 임계값보다 높게 상승하도록 이 시간만큼 기다렸다가 시퀀스 결함 선언). 이 파라미터는 TON_TIMERS_n 레지스터에 들어 있다. 160㎲부터 655ms까지의 값이거나 무한대일 수 있다.


파워다운 시퀀스 제어

파워다운 시퀀스 타이밍은 파워업 시퀀스 타이밍과 비슷하기는 하지만 별개이다(그림 6). 각 채널로 다수의 파워다운 시퀀스 타이밍 파라미터들을 설정해야 한다. 첫 번째는 SEQ_DOWN_POSITION이다. 이 파라미터는 SEQ_DOWN_POSITION_n 레지스터에 들어 있다. 0부터 1023까지의 값을 취할 수 있다.

두 번째 타이밍 파라미터는 TOFF_DELAY이다(지정된 시퀀스 순위에 이 시간만큼 기다렸다가 채널을 정지시킴). 이 파라미터는 TOFF_TIMERS_n 레지스터에 들어 있다. 80μs 간격으로 0μs부터 655ms까지의 값을 취할 수 있다.

 

세 번째 타이밍 파라미터는 TOFF_MAX이다(정지시킨 후에 이 시간만큼 전압이 떨어지기를 기다렸다가 결함 선언). 이 파라미터는 TOFF_TIMERS_n 레지스터에 들어 있다. 2.6ms부터 10.5s까지의 값이거나 무한대일 수 있다.


전압 감시기 제어

전압 한계는 두 가지다. 과전압(OV)과 저전압(UV)이다. UV 한계를 사용해서는 시퀀싱 시에 전원이 켜졌는지를 판단할 수 있다. 또한 감시 용도로 이 두 한계를 사용해서 전원 건전성을 모니터링할 수 있다.

 

전압 한계를 설정하기 위해서는 각 채널에 대해서 V_RANGE를 선택한다(1V~6V, 0.5V~3V, 0.2V~1.2V). 그런 다음 이 범위에 대해서 OV 및 UV 임계값을 선택할 수 있다.

 

접지보다 높은 전원들에 대해서는 전압 설정을 선택하기가 간단하다. 몇몇 설정 예를 들면 다음과 같다:
시퀀서 채널을 잘 활용하는 한 가지 방법은 시퀀싱 시에 로직 핸드쉐이킹 용으로 사용하는 것이다. 예를 들어서 한 채널을 용해서 마이크로프로세서로 하여금 시퀀싱을 하기 앞서 초기화를 하도록 명령할 수 있다. 그러면 ENn 출력이 초기화를 하고, 준비가 되었다는 신호를 회신해서 시퀀서로 하여금 시퀀싱을 진행하도록 할 수 있다.

로직 (핸드쉐이킹) 핀으로 연결된 전압 감시기는 전압 한계를 매우 느슨하게 할 수 있다. 전압이 로직 1인지 아닌지 검출하면 되기 때문이다.


결함 제어

지정된 범위를 벗어나면(전압이든 타이밍이든) 결함이 발생된다. 다양한 결함이 발생될 수 있는데, 가장 중요한 두 가지는 SEQUENCE 결함과 SUPERVISOR 결함이다. 시퀀스 결함은 시퀀싱 시에 발생되며 MARGB 핀(마진 기능)으로 마스킹 할 수 없다. 감시기 결함은 전원이 켜져 있을 때(시퀀싱이 이루어지고 나서) 발생되며, 이 결함은 MARGB 핀으로 마스킹 할 수 있다.

결함이 발생되면 LTC2937이 여러 가지 조치를 취할 수 있다. 턴오프 하고 그대로 있거나, 턴오프 하고 다시 시도하거나 할 수 있다. 턴오프는 모든 것을 일시에 다운시키는 것을 말한다. 결함이 발생되었을 때는 파워다운 시퀀싱을 하지 않는다.

 

예를 들어서 디바이스를 턴오프하고, 모든 전원이 방전되도록 13.1초를 기다렸다가, 다시 시도하도록 프로그램 할 수 있다.
전압이 지정된 과전압 한계를 넘는 것과 같은 결함이 발생되면 즉시 모든 ENn 출력을 셧다운 시키고 모든 전원을 동시에 정지시킨다(결함이 발생되면 파워다운 시퀀스를 하지 않는다).

그 밖의 구성 레지스터

이들 구성 레지스터는 기타 제어 및 디버그 기능에 관한 것이다. 이러한 것으로는 ON/OFF 제어와 쓰기 보호 등을 포함한다.
ON_OFF_CONTROL 설정은 LTC2937로 하여금 ON 입력 핀이 하이(high)가 되면 파워업 시퀀싱을 하고 이 핀이 로우(low)가 되면 파워다운 시퀀싱을 하도록 명령한다. 이 레지스터의 다른 비트들로 추가적인 기능들을 제공할 수 있다. 이에 관해서는 데이터 시트 참조.

 

RSTB_CONFIG는 디바이스로 하여금 모든 OV 및 UV 결함을 감시하고 파워업 시퀀싱 시에 모든 전원이 유효하게 되고서 200ms 후에 RSTB 출력을 해제하도록 명령한다. 또 다르게는, CH5와 CH6을 OV 결함을 무시하도록 설정할 수 있다. 이 예의 경우에 이들 채널을 로직 핸드쉐이킹 신호로만 사용하기 때문이다. 그러려면 RSTB_CONFIG = 0xB3FF로 설정한다.

 

WRITE_PROTECTION 레지스터는 쓰기 보호를 제어하기 위한 하나의 비트(bit 0)와 14개 비트의 키 값을 포함한다. 키가 일치하지 않으면쓰기 보호를 록을 해제할 수 없다. 쓰기 보호 비트의 록을 해제하기 위해서는, 먼저 레지스터를 읽고, 비트 0만 소거하고, 레지스터를 동일 키 값으로 쓴다. 이 레지스터를 록을 해제했을 때는 원하면 새로운 키 값을 쓸 수도 있다.


LTpowerPlay GUI

개요

LTpowerPlay는 I2C 버스를 통해서 LTC2937과 인터페이스 할 수 있는 가장 손쉬운 방법이다. LTpowerPlay를 사용함으로써 LTC2937을 비롯한 많은 Linear Technology 디바이스의 내부 구성 및 상태 레지스터를 직관적이고, 유연하고, 포괄적으로 살펴볼 수 있다. 또한 LTpowerPlay는 MS 윈도우 PC 상에서 상세한 도움말 도큐멘테이션, 구성 파일, 그 밖의 지원을 제공한다. (그림 7)은 LTpowerPlay 툴을 디바이스로 연결한 화면을 보여준다.
 

LTpowerPlay를 사용해서는 다음과 같은 것을 할 수 있다.
- LTC2937 내의 모든 레지스터 프로그램
- 레지스터 설정을 프로젝트 파일로 저장 및 복구, 구성 설정 저장
- 디바이스의 비휘발성 EEPROM 메모리 프로그램
- 시퀀서가 무엇을 하고 있는지에 관해서 실시간으로 상태 정보를 읽고 그래픽적으로 시각화
- 결함 디버깅, 싱글 스텝핑(single-stepping) 기능을 사용해서 파워업 또는 파워다운 시퀀스를 한 스텝씩 진행
- 구성 레지스터를 읽고 쓰기
- 온라인 도큐멘테이션, 비디오, 라이브 지원 직원으로부터 도움말 얻기

LTpowerPlay GUI는 채널 별로 및 기능 별로(타이밍, 전압 등) 구성 레지스터들을 그룹화한다. Config 창에서는 각 레지스터를 선택하고 편집할 수 있다. 상단의 버튼 바에서 PC → RAM 버튼을 클릭하면 LTC2937 RAM으로 변경 내용을 쓸 수 있다. Telemetry 창에는 상태 레지스터들이 실시간으로 표시된다. 상단 오른쪽의 Chip Dashboard 창에서는 축약적인 형태로 상태 정보를 볼 수 있다.
Help 메뉴에서는 FAQ, 도큐멘테이션, 비디오 등을 포함한 추가 정보를 볼 수 있다.

추가적인 회로 향상

어떤 두 디자인도 똑같지 않으며, 각 디자인마다 기본 구성에 더해서 어느 정도의 맞춤화를 필요로 한다. 몇 가지 간단한 조정만으로 LTC2937을 다양한 환경에 따라서 맞춤화할 수 있다. 몇 가지 예를 들어서 살펴보자.

I2C/SMBus 어드레스

I2C 버스 어드레스는 두 가지 방식으로 표현할 수 있다. 이 어드레스는 하나의 8비트 바이트로 표현하고, 직렬 버스를 통해서 최상위 비트부터 먼저 전송할 수 있다. 그런데 이 어드레스 바이트에서 LSB는 언제나 읽기/쓰기 비트이다. 그러므로 인접한 8비트 어드레스(홀수/짝수)들이 동일한 어드레스이다. 짝수는 WRITE이고, 홀수는 READ이다. 그러므로 흔히 도큐멘테이션에서 최하위 비트는 무시하고 최상위 7비트만 언급한다. 그래서 7비트 어드레스라고 한다. 예를 들면 다음과 같다.

 

이 글에서 언급되는 모든 어드레스는 7비트 형식이다.
LTC2937은 I2C 버스를 통해서 지정된 어드레스에 응답할 수 있다. 이 버스로 다른 디바이스들이 사용된다면 LTC2937로 어떤 어드레스를 사용할지를 잘 고려해야 한다. 어드레스는 세 종류가 있다.

 

각 LTC2937에 대해서 ASEL0, 1, 2 핀을 사용해서 슬레이브 I2C 어드레스를 설정할 수 있다. 각 핀을 VDD나 GND로 연결하거나 플로팅 시킴으로써 가능한 27가지 어드레스 중에서 하나를 선택할 수 있다. 유연성을 높이기 위해서는 각 ASELn 핀으로 풀업 및 풀다운 저항 둘 다를 배치하고 필요에 따라서 연결해서 어드레스를 설정한다.

I2C 버스 버퍼

많은 경우에 시스템으로 다중의 I2C 버스 전압 레벨이 사용된다. 기존의 I2C 버스 마스터가 2.5V 또는 1.8V 도메인으로 동작하고 있다면 이것을 LTC2937 핀들의 3.3V I2C 버스 레벨로 연결하지 말아야 한다. 이렇게 하면 디바이스가 손상되거나 동일한 로직 레벨이 아니어서 받지 못할 수 있다. 또 어떤 경우에는 나머지 버스 세그먼트들은 계속해서 작동하는데 일부 버스 세그먼트가 켜지지 않아서 SCL 및 SDA 라인들을 끌어내릴 수 있다. 이럴 때는 LTC4313 같은 버스 버퍼를 사용하는 것이 해결책이 될 수 있다(그림 8).

 

이렇게 하면 정상적으로 버스 마스터로서 동작하는 마이크로프로세서나 FPGA가 켜지지 않은 상태에서 DC1613 동글이 LTC2937과 통신하는 것이 가능해진다.

더 나은 온/오프 제어

위에서 이미 LTC2937의 감시 채널 중의 하나를 사용해서 12V 입력 전압을 모니터링하는 시퀀싱 제어 메커니즘에 대해서 살펴보았다. 하지만 이 방법은 적절한 파워다운 시퀀스를 가능하게 하지 않으므로 이상적인 솔루션은 아니다. 단지 전압 결함만을 검출하고 모든 것을 일시에 셧다운 시킨다. 이보다 좀더 견고한 방법은, LTC2955를 사용해서 12V 전압 레벨에 따라서 LTC2937의 ON 핀을 하이(high)나 로우(low)로 구동하는 것이다.

 

이 방법은 푸시 버튼을 사용해서 수동 제어가 가능한 부가적인 이점이 따른다. 또한 그림 9에서는, 시퀀서가 파워다운 시퀀싱을 하는 동안에 LTC2937로 전원을 공급하기 위해서 VPWR로 10μF 홀드업 커패시터를 사용하고 있다는 것을 알 수 있다. 또한 다이오드를 사용해서 이 홀드업 커패시터가 하강하는 12V 전원으로 전하를 흘려보내지 못하도록 차단한다.

또한 이 온/오프 회로를 그림 4의 동글 전원 회로와 함께 사용할 수도 있다. 그러면 12V 전원이 낮은 한은 ON 핀을 로우로 유지할 것이다.

더 많은 채널, 더 많은 LTC2937

하나의 LTC2937은 6개 채널을 시퀀싱 및 감시할 수 있다. 전원이 6개 이상인 시스템에서는 이 디바이스를 추가하기만 하면 되므로 시퀀싱을 간소화할 수 있다. 시퀀서들이 타이밍, 시퀀스, 결함 정보를 통신하고 함께 응답할 수 있기 때문이다.

 

(그림 10)은 LTC2937들 사이의 연결을 보여준다. 다음과 같은 규칙들을 지켜야 한다.
- 시스템 내의 모든 LTC2937의 SHARE_CLK을 연결한다. 한 VDD로 하나의 3.3㏀만 사용하면 된다. 모든 LTC2937들이 이 공유 클록 라인으로부터 타이밍 큐를 취한다. SHARE_CLK을 시스템 내의 어떤 다른 지점으로 연결하지 않도록 한다.
- 모든 LTC2937의 SPCLK를 연결한다. 풀업 저항은 필요하지 않다. 모든 LTC2937이 이 공유 라인으로부터 시퀀싱 큐를 취한다. SPCLK를 시스템 내의 어떤 다른 지점으로 연결하지 않도록 한다.
- 시스템 내의 모든 LTC2937의 FAULTB를 연결한다. 풀업 저항은 필요하지 않다. 각 LTC2937이 자신의 VDD로 풀업하기 때문이다. 각 디바이스를 FAULTB 라인이 로우(low)가 되면 응답하도록 프로그램 할 수 있다.
- 시스템 내의 모든 LTC2937의 ON 핀을 연결한다. 풀업 저항은 필요하지 않다. 각 디바이스가 자신의 VDD로 풀업하기 때문이다. 이렇게 연결하면 다중의 시퀀서에 걸쳐서 일관된 상태를 유지할 수 있다. 이 핀을 제어해서 파워업 및 파워다운 시퀀싱을 명령할 수 있다.
- 버스를 통해서 통신을 하기 위해서는 시스템 내의 각 LTC2937로 고유의 I2C 슬레이브 어드레스를 필요로 한다. ASEL1, 2, 3 라인을 GND나 VDD(각각의 칩)로 연결하거나 플로팅 시켜서 고유의 어드레스를 선택할 수 있다. 한 가지 유의할 점은, 전역 7비트 어드레스 0x36과 SMBus ARA 0x0C에 대해서는 ASEL 설정에 상관 없이 모든 LTC2937이 응답한다는 것이다.

로직 핸드쉐이크

하나의 LTC2937 채널(ENn 출력과 Vn 입력)을 전원 시퀀서/감시기가 아니라 로직 핸드쉐이크 용도로 사용할 수 있다. ENn을 사용해서 시스템 내의 CPLD, FPGA, 여타 로직으로 신호를 전송하고, Vn을 사용해서 프로세스가 완료되었을 때 로직 신호를 수신할 수 있다. 이 방법은 자체적인 내부 스타트업 회로를 포함하고 파워업 시퀀스로 비확정 시간 지연을 필요로 하는 디바이스에 유용하다. 이렇게 해서 LTC2937이 간편하게 시퀀스 상의 그 디바이스와 핸드쉐이크를 할 수 있다.

사용되지 않는 채널

사용되지 않는 Vn 입력은 GND로 연결한다. 사용되지 않는 채널의 시퀀스 순위는 0으로 설정한다(SEQ_UP_POSITION_n = 0x0000). 그러면 시퀀싱 시에 켜지지 않는다. 그리고 RSTB_CONFIG 레지스터에서 vn_ov_enable = 0 및 vn_uv_enable = 0으로 설정해서 OV 및 UV 조건이 결함 의사결정에 끼어들지 않도록 한다.

하지만 채널을 사용하지 않고 두기보다는, 사용되지 않는 채널을 뭔가 유용하게 활용할 수 있지 않을까 고려해 보는 것도 좋은 방법이다. 이들 핀은 범용 입력 및 출력으로서 사용될 수 있기 때문이다. 각 ENn 핀은 프로그램 된 레지스터 비트에 대한 로직 지시를 제공할 수 있으며, 각 비교기 입력은 시스템 내의 어떤 전압 또는 로직 핀이든 모니터링할 수 있다. I2C 버스를 통해서 이러한 모든 기능들을 액세스할 수 있다.

리셋 및 Power Good

하나 이상의 전원 레일이 양호하지 않으면 시스템이 리셋 신호를 작동해야 한다. LTC2937은 다수의 비교기를 사용해서 모든 입력 전압의 상태를 모니터링하고 모든 전원이 지정된 범위 이내이면(Power Good) RSTB 핀을 해제한다. RSTB는 입력들에 대해서 어떠한 OV 및 UV 한계 조합이든 모니터링하도록 프로그램할 수 있으며, 또한 모든 전원이 양호하게 된 후 일정한 지연 시간을 두고서 해제를 하도록 프로그램할 수 있다.

RSTB 출력을 사용해서 시스템 내의 다른 디바이스들을 리셋할 수도 있다. RSTB 핀은 LTC2937로의 입력은 아니고, 하지만 MONITOR_STATUS(0x30) 레지스터로 이의 상태를 읽을 수 있다.


전류 감시

LTC2937은 전압 검출 디바이스이다. 그러므로 입력에서 전압을 검출한다. 하지만 어떤 시스템에서는 전류가 지정된 한계 이내인지를 확인하고 과전류 조건에 응답해야 할 수 있다. LTC6101의 도움을 받아서 LTC2937이 이 일을 할 수 있다(그림 11).

LTC6101은 하이사이드 전류 검출 증폭기로서, 전류 검출 저항 상의 차동 전압을 측정하고 비례적인 접지 참조 전압을 발생시킨다. 전류 신호가 이 형식으로 되어 있으면 LTC2937이 다른 어떤 전압을 모니터링하는 것과 마찬가지로 과전류를 모니터링할 수 있다.
예를 들어서 LTC2937을 다음과 같이 프로그램 한다고 하자(CH6으로 전류를 모니터링하고, 1.0A가 한계이다).

 

그러면 LTC2937이 이 전류 모니터링 채널은 시퀀싱하지 않고, 전류가 1.0A보다 높아지면 응답한다. 조절가능 범위를 사용함으로써 V6 핀으로 최대 1.2V에 이르는 높은 분해능이 가능하다.

 

LTC6101 회로의 이득에 따라서 적합한 설정(V_RANGE 및 V_THRESHOLD)을 결정할 수 있다. 그림 11에서 이 회로의 이득은 다음과 같다.


맺음말

LTC2937 전원 시퀀싱 겸 감시 IC는 유연하고, 강력하고, 사용하기 편리하다. 간편하게 시스템으로 연결할 수 있으며 소수의 외부 소자만을 필요로 한다. 완벽하게 자율적인 시스템으로 독립적으로 작동할 수 있으며, 몇몇 간편한 기법들을 활용해서 수십 개 혹은 수백 개 전원으로 이루어진 어떤 전원 공급 시스템으로든 강력한 기능들을 추가할 수 있다.

또한 강력한 LTpowerPlay 소프트웨어가 초기 개발에서부터 EEPROM 구성과 보드 브링업 및 디버깅에 이르기까지 포괄적인 지원을 제공한다. 그러므로 LTC2937은 하나의 통합적인 플랫폼을 통해서 전원 시스템을 향상된 방식으로 제어할 수 있다.  

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>



  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP