전원 모니터링과 원격 온도 검출을 하나의 디바이스로 처리 ① | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

전원 모니터링과 원격 온도 검출을 하나의 디바이스로 처리 ①


PDF 다운로드



글/Nathan Enger, Senior Applications Engineer, 아나로그 디바이스(Analog Devices)


전원 레귤레이터를 사용하는 많은 애플리케이션이 모니터링과 제어를 위해 전원 관리 IC를 사용한다. 그런데 대다수 전원 관리 IC는 하나 이상의 채널을 제공한다. 그러므로 하나의 전원만 사용하는 애플리케이션에서는 사용되지 않는 DAC 및 ADC 핀들이 있을 것이다. 이렇게 사용되지 않는 채널을 쓸모 없이 놔두는 것이 아니라, 이들 핀과 약간의 마이크로컨트롤러 코드를 사용해서 원격 온도 검출을 할 수 있다. LTC2970은 2채널 전원 모니터링 겸 제어 IC이다. 각 채널은 전압과 전류를 측정하기 위한 2개 14비트 ADC와 전원 전압을 서보 제어하기 위한 하나의 8비트 DAC를 포함한다. 이 채널로 연결된 바이폴라 정션 트랜지스터를 구동하고 ΔVBE 측정을 할 수 있으며, 이렇게 측정된 전압을 가지고서 마이크로컨트롤러가 온도를 계산할 수 있다. 그러므로 이 일을 하기 위해서 3~4센트어치의 소자들만 추가하면 된다.

회로 설명


LTC2970을 사용해서 원격 온도 센서를 구현하기 위해서는, 트랜지스터로 2개의 서로 다른 전류(ILOW와 IHIGH)를 인가하고 두 전류의 VBE(VBE_LOW와 VBE_HIGH)를 측정한다. 이 두 VBE 측정의 차(ΔVBE)가 곧바로 온도에 대한 함수이다. 공식 1을 사용해서 BJT의 온도를 계산할 수 있다.
그림 1에서는 LTC2970이 두 채널 중의 한 채널로 이 일을 하기 위해서 필요한 모든 것을 제공한다는 것을 알 수 있다. IDAC 출력은 0μA부터 255μA까지 프로그램 가능한 전류를 구동할 수 있다. ADC 입력 중의 하나는 곧바로 BJT 상에서 VBE를 측정할 수 있다. 또 다른 ADC 입력은 저항 상의 전압을 샘플링하고 이것을 가지고 전류를 측정할 수 있다. 이 방식의 구현은 반도체 온도 센서를 사용할 때 흔히 직면하는 문제들을 피할 수 있다. 첫째, 측정된 VBE 전압으로 전류 소스와 트랜지스터 사이의 배선으로 인한 전압 강하가 얼마인지 알아야 하는 문제이다. 이 글에서 설명하는 구현은, VBE를 DAC 출력 핀이 아니라 곧바로 트랜지스터 단자에서 측정하므로, 라인 상의 저항이 덜 중요해진다(다만 트랜지스터 내부 저항이 다소간 측정에 영향을 미칠 수는 있다). 두 번째 문제는, ILOW와 IHIGH 전류의 정확한 비를 알기가 어렵다는 것이다. 이 문제에 있어서도 역시, 이 구현은 꼭 IDAC의 정확성에 의존할 필요 없이 저항 상에서 전압을 측정하므로 전류 비를 잘 알 수 있다. DAC가 정확한 비의 전류를 제공하는지 알 필요가 없으며, 또 저항 값이 실제로 얼마인지 알 필요가 없다. 이 저항 상의 전압은 순수하게 전류에 대한 함수이며, 두 전압의 비는 두 전류의 비와 같을 것이기 때문이다.

프로그래밍


LTC2970은 프로그래머블 디바이스로써, IDAC 전류를 제어하고 ADC 리딩을 보고하기 위한 레지스터들을 포함한다. 하지만 외부적인 온도 계산은 소프트웨어로 해야 한다. Linduino™를 사용해서 이러한 소프트웨어를 곧바로 실행할 수 있다. Linduino는 Linear Technology가 제공하는 Arduino 호환 플랫폼으로서 절연 전원을 포함한다. Linduino가 I2C/SMBus를 통해서 LTC2970과 통신할 수 있으며, 적은 수의 C 코드 라인만으로 필요한 온도 계산을 할 수 있다. 그 밖에도 I2C/SMBus 버스를 통해서 LTC2970과 통신할 수 있는 어떤 유사한 시스템으로도 위와 같은 방법으로 C 코드를 실행하고 온도를 계산할 수 있다.
그림 3은 온도를 측정하기 위한 간단한 알고리즘의 흐름도를 보여준다. 파란색은 I2C 버스 트랜잭션이고, 빨간색은 지연이고, 녹색은 계산을 하는 것이다. 이 그림에서는 온도 결과를 필터링하기 위한 단계들은 생략했다. 필터링에 대해서는 뒤에서 별도의 주제로 다룬다.
그림 2는 Linduino 코드를 발췌한 것이다. 그림 3의 흐름도와 일치하도록 라인들을 기능에 따라서 각각 다른 색상으로 분류하고 있다. 이 알고리즘의 뼈대는, 서로 다른 두 전류를 인가하고, 결과 전압들을 측정하고, 공식을 풀어서 온도를 계산하는 것이다.
LTC2970은 한 ADC와 다중화기 프론트엔드를 사용해서 7개 입력에서 측정을 취할 수 있다. 이들 입력을 라운드 로빈 방식으로 샘플링하며, 한 입력으로 샘플들 사이의 시간은 ADC_MON 레지스터로 샘플링을 위해서 얼마나 많은 입력들을 선택하느냐에 따라서 달라진다. 이 라운드 로빈 ADC를 모든 입력을 샘플링 하도록 프로그램 하면, 각 입력을 매 240ms마다 샘플링 한다. LTC2970은 각 ADC 레지스터로 하나의 ‘new’ 지시 비트를 포함한다. ADC가 새로운 변환 결과를 저장할 때 마다 ‘new’ 비트가 설정되고, 이 레지스터를 읽을 때마다 이 비트가 소거된다.

테스트 하드웨어


테스트 하드웨어는 단순하다. 기본적으로 LTC2970에다 BJT와 저항을 연결한 것이다. 하지만 실제에 있어서는 추가적인 것들을 잘 고려해야 한다. 잡음이 가장 어려운 문제이다. 이 회로는 온도를 원격으로 측정하므로, 그 사이의 배선들이 커패시티브 결합 잡음을 일으키고 측정을 오염시킬 수 있다. 이를 방지하기 위해서 잡음 필터를 추가할 수 있는데, 필터 회로는 아날로그 안정화 시간을 지체시킴으로써 측정 시간이 길어진다. 가장 좋은 방법은 차동적으로 짧은 검출 라인들을 사용하고, 보드 상에서 잡음이 심한 라인들로부터 적절히 절연 및 차폐를 하는 것이다. 이렇게 하면 필요한 필터 시간 상수와 회로의 안정화 시간을 줄일 수 있다1. 이 측정을 하기 위해서는 2개 동작 지점과 밀리볼트 이하의 전압 수준을 사용해야 하므로 잡음 필터링과 측정 시간 사이에 적절한 절충이 필요할 수 있다...(중략)

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정