개요: 일부 애플리케이션에서 I²C 인터페이스가 내장된 디지털 포텐쇼미터는 연속적으로 변화하는 아날로그 신호에 의해 제어되어야 한다. 이 애플리케이션 노트에서는 이러한 요구사항을 살펴보고 간단한 설계 솔루션을 제공한다. 본문에 제시되는 원리는 다양하게 적용할 수 있으므로 여러 애플리케이션에 이용할 수 있다.
머리말
이 애플리케이션 노트에서는 외부 아날로그 전압을 사용하여 디지털 포텐쇼미터의 저항을 변화시키는 간편한 방법에 대해 설명한다. 아날로그 전압으로부터 I²C 스트림으로 변환하기 위해 Microchip PIC12F683 마이크로컨트롤러가 사용되며, 이렇게 변환된 스트림은 디지털 포텐쇼미터를 제어하는 데 사용된다. 이 애플리케이션 노트에서는 예제 소자로 DS1803 디지털 포텐쇼미터와 최소한의 외부 부품이 사용되었다. 여기에서 제시된 개념은 다른 제어 입력 및 기타 디지털 포텐쇼미터/저항에도 적용할 수 있다.
하드웨어 구성
그림 1은 PIC12F683을 사용하는 제어 회로도를 보여준다. 마이크로컨트롤러의 6개 GPIO 중 4개는 SDA, SCL상의 출력 신호와 단일 LED를 제어하고 1개의 아날로그 입력을 받아들이는 데 사용된다.
SDA, SCL상의 출력 신호와 LED는 각각 GP5, GP4, GP0에 할당된다. SDA와 SCL은 VDD에 대한 4.7kΩ 풀 업 저항을 가지며 DS1803의 SDA와 SCL 핀에 직접 연결된다. 마이크로컨트롤러의 GP1 IO는 아날로그 입력 핀으로 할당된다. 또 어드레스 핀을 선택하고, 공유된 VCC (VDD)를 분리하며 SDA와 SCL을 절연할 수 있는 점퍼가 제공된다.
그림 1. 디지털 포텐쇼미터의 아날로그 전압 제어를 보여주는 회로도
프로젝트 펌웨어
이 프로젝트의 펌웨어는 MPLAB IDE(버전 7.40)를 사용하는 어셈블리 언어로 작성되었다. 이 툴은 현재 Microchip에서 무료로 제공된다. 전체 프로그램은 450바이트 미만의 프로그램 공간(플래시)과 8바이트의 데이터 공간(RAM)으로 구성된다.
프로그램은 먼저 ADC와 내부 발진기를 포함하여 PIC의 다양한 구성 비트를 초기화한다. 프로그램은 GP1로부터 입력을 받아들이도록 ADC를 구성하고 125kHz에서 내부 발진기를 사용하도록 변환 클록을 설정한다.
펌웨어는 아날로그 입력에 대한 ADC 변환을 계속 반복하여 실행된다. 변환이 완료되면 8MSB의 10비트 ADC 출력은 I²C 버스를 통해 전송되는 데이터 바이트로 사용된다. 다음으로 이 I²C 신호는 DS1803을 제어하는 데 사용된다. 프로그램은 DS1803에 2개의 포텐쇼미터를 모두 제어하도록 구성되지만 펌웨어를 변경하면 PIC12F683에서 2개의 다른 아날로그 입력을 사용하여 포텐쇼미터를 개별적으로 제어할 수 있다.
사용자는 프로그램을 이용해 PIC12F683의 GP1 입력에서 전압을 변화시켜 포텐쇼미터를 제어할 수 있다. GP1의 입력이 연속적으로 변화하면 포텐쇼미터의 저항도 그에 따라 변한다. 출력 저항(ROUT)은 다음과 같은 입력 전압의 함수로 계산할 수 있다.
설계에 사용되는 DS1803의 전체 저항: 50kΩ
허용되는 VCC 범위: 2.7V to 5V
입력 전압 범위: 0V ~ VCC
관찰되는 출력 저항은 다음과 같다.
ROUT (kΩ) = (50 (kΩ)/VCC) × 입력 전압
ADC가 실행하는 동안 LED는 연속 점멸한다. I²C 에러가 발생하면 LED가 켜짐 (on) 상태를 유지한다. 에러가 교정되면 LED는 다시 정상 동작을 시작한다. 설계자는 소자 어드레스가 정확한지 그리고 I²C 버스가 연결되어 있는지를 확인하여 애플리케이션 문제를 해결한다.
이 설계는 매우 다양한 적용이 가능하므로 유사한 방법을 다양한 애플리케이션에 사용할 수 있다. 다음은 몇 가지 예이다.
정확한 전달 함수를 임베디드 룩업 테이블에 구현하면서 DS3906 가변 저항을 사용하여 비선형 전달 함수(감마 보정 등)를 구현할 수 있다.
서미스터를 입력에 연결하여 주변 온도가 변할 때 I²C 제어 전류 DAC의 출력을 변화시킬 수 있다(DS4402/DS4404).
Conclusion
이 애플리케이션 노트에서는 아날로그 전압을 사용하여 디지털 포텐쇼미터를 제어하는 간편하고 경제적인 메커니즘에 대해 설명하였다. 제시된 애플리케이션 개념은 아날로그 전압을 사용하여 I²C 인터페이스를 갖는 모든 소자를 제어하는 데에도 적용할 수 있다.
이 애플리케이션 노트에 대한 질문/의견/제안은 으로 보내주세요.
유사한 글이 EDN 2008년 4월호에 게재되었습니다.
의견을 보내주세요! 위 내용이 도움이 되셨나요? 여러분의 의견을 기다립니다 — Maxim은 보내주신 정정이나 제안사항을 반영하고 있습니다.
이 페이지를 평가하고 의견을 보내주십시오.