ENGLISH 简体中文 日本語 한국어  

    로그인 | 회원가입 


   
 
키워드나 부품번호를 입력해주세요    




애플리케이션 노트 4011

DS1803/DS1805 디지털 포텐쇼미터를 위한 푸시버튼 컨트롤러 구성 방법

개요: 이 애플리케이션 노트에서는 푸시버튼과 마이크로컨트롤러를 사용하여 DS1803 또는 DS1805 디지털 포텐쇼미터의 저항을 변경하는 간편한 방법에 대해 설명한다.

머리말

이 애플리케이션 노트에서는 DS1803 또는 DS1805 디지털 포텐쇼미터의 저항을 변경하는 간단한 방법에 대해 설명한다. Microchip PIC12F509 마이크로컨트롤러가 4개의 스위치를 디지털 포텐쇼미터에 인터페이싱하는 데 사용되며 그 밖에 필요한 부품 수는 최소화하였다.

하드웨어

이 애플리케이션 노트의 하드웨어 회로도는 그림 12에 나와 있다. PIC12F509에는 6개의 I/O가 있으며, 이들은 SDA, SCL, 및 단일 LED에 제어 신호를 출력하고 4개의 스위치로부터 입력을 받아들이는 데 사용된다.

그림 1은 PIC12F509가 내장된 플러그 방식 또는 내장형 제어 회로의 회로도이다. R1, R2, R3은 PIC12F509를 사용할 경우에는 실장할 필요가 없는 풀 업 저항 옵션이다. 그림 2는 평가를 위해 DS1803을 연결하는 방법을 보여준다. 또 어드레스 핀을 선택하고, 공유된 VCC(VDD)를 분리하며 SDA와 SCL을 절연할 수 있는 점퍼가 제공된다.

3개의 스위치는 순간 푸시버튼 방식이며 중간 포텐쇼미터 값(MID)을 증가(UP), 감소 (DWN) 및 프로그래밍하는 데 사용된다. 이들 스위치를 누르면 마이크로컨트롤러의 범용 I/O 3개 (GP0, GP1, and GP3)는 로우가 된다. 이들 I/O로 특히 내부 (옵션) 풀 업 저항을 가지고 있고 저전류 SLEEP 모드에서 동작할 때 웨이크 업 인터럽트를 발생시킬 수 있다. 다른 입력 스위치는 GP2에 할당된 DPDT 토글로, 프로그래밍을 위해 POT0 또는 POT1을 선택할 때 사용할 수 있다.

SDA, SCL, LED상의 출력 신호는 각각 GP5, GP4 및 GP0에 할당된다. SDA와 SCL은 4.7kΩ 풀 업 저항을 가지며 디지털 포텐쇼미터의 통신 핀에 직접 연결된다. LED와 MID 순간 스위치는 모두 리소스로 GP0 핀을 사용한다. GP0 핀은 대부분 입력으로 동작하며 MID 푸시버튼에 의해 발생된 LOW를 폴링한다. 그러나 다른 순간 푸시버튼 중 하나 또는 둘 다를 누르면 PIC는 LOW를 출력하고 LED가 구동된다. 이러한 방식으로 MID 버튼을 누를 때마다 그리고 PIC에 의해 다른 푸시버튼 스위치가 작동될 때마다 LED가 구동된다.

Figure 1. PIC12F509 interface circuitry.
그림 1. PIC12F509 인터페이스 회로

Figure 2. DS1803 digital potentiometer connected to PIC controller.
그림 2. PIC 컨트롤러에 연결된 DS1803 디지털 포텐쇼미터

펌웨어

이 프로젝트의 펌웨어는 MPLAB IDE(버전 7.31)로 컴파일링된 어셈블리 언어로 작성되었다. 이 툴은 현재 Microchip에서 무료로 제공되고 있다. 전체 프로그램은 512개 미만의 명령 프로그램 공간(플래시)과 11개 위치 데이터 공간(RAM)으로 구성된다.

명령은 초기화, 읽기, UP, DWN 및 MID의 5개 블록으로 구성된다. 이 PIC에는 인터럽트 기능이 없기 때문에 펌웨어는 연속적으로 입력 핀을 폴링하는 루프에서 실행된다. 스위치 디바운싱은 프로그램의 내부 지연과 논리적 흐름으로 인해 자동으로 소프트웨어에 포함된다.

초기화 블록은 PIC 파워 업 시 또는 웨이크 업 후 (SLEEP 모드에 있을 때) 한 번 실행된다. 초기화 블록에서 명령이 실행되면 동작 레지스터, 플래그 및 변수들이 알려진 상태로 로드된다. 이들 명령이 실행되면 나머지 블록은 연속적으로 무한 루프를 형성하여 I²C 인터페이스를 통해 스위치를 폴링하고 새로운 포텐쇼미터 값을 읽거나 쓴다.

포텐쇼미터 값의 I²C READ는 RD_FLAG가 설정되었을 때만 발생한다. 이 플래그는 초기화 동안 한 번 설정되며, 그런 다음에는 푸시버튼으로 포텐쇼미터 레지스터에 새로운 값을 쓰도록 요청할 때마다 설정된다. I²C READ는 포텐쇼미터 값이 변경될 때 그리고 시동 시에만 수행되기 때문에 UP, DWN 또는 MID 버튼을 누르지 않았을 때 버스에서 불필요한 통신 버스트가 발생하지 않는다. 예를 들어 포텐쇼미터가 이미 전원 트림 파라미터를 제어하고 있는 동안에는 인 서킷 프로그래밍을 수행하기 위해 푸시버튼 컨트롤러가 연결된다. 포텐쇼미터 값의 I²C WRITE가 수행되기 전에 현재 포텐쇼미터 값이 읽혀진다. 일단 I²C WRITE가 완료되면 RD_FLAG가 다시 설정되어 새로운 포텐쇼미터 값으로 하나의 최종 I²C READ를 발생시킨다.

UP, DWN 및 MID 블록은 Read 블록 후 순차적으로 실행된다. 각각의 블록에서 해당 핀은 LOW 상태로 폴링된다. 만약 HIGH 상태가 나타나면 프로그램은 빠르게 블록을 종료하고 I²C 통신은 더 이상 발생하지 않는다. LOW가 검출되면 프로그램은 논리 블록 다이어그램에 나와 있는 순서대로 진행된다.

이 프로젝트 설계에 대한 완전한 설명을 보려면 펌웨어 플로우차트(PDF)와 소스 코드(ASM)를 참조한다.

기능 설명

이 프로젝트의 펌웨어와 하드웨어는 DS1803/DS1805에 대한 포텐쇼미터 값을 프로그래밍하면서 여러 가지 다른 동작을 수행할 수 있게 한다. 스위치와 LED 기능은 다음과 같다.

POT0/1 (선택 토글 스위치) 이 스위치는 다음 루프 반복에서 제어할 Pot을 선택한다(필요한 경우). 이 스위치의 상태를 변화시키면 Pot 0 또는 1이 선택되고 I²C 읽기가 발생하며 LED에는 영향을 미치지 않는다.
MID, UP, DWN 버튼 탭 (< 400ms) 이들 스위치 중 하나를 태핑하면 선택된 Pot은 증가(UP), 감소(DWN)하거나 직접 0x80의 중간 위치(MID)가 로드된다. LED는 I²C 쓰기가 수행되는 동안 잠시 점등된다. I²C 읽기는 다음 루프 반복에서 발생한다.
UP 또는 DWN 버튼 누르고 있기
(> 400ms)
UP 또는 DWN 버튼을 누르고 있으면 선택된 Pot은 고속 증가 또는 감소 모드에 들어간다. 이 모드에서 Pot 값은 버튼이 해제되거나 최대/최소 위치에 도달할 때까지 계속 변화한다. LED는 I²C 쓰기가 수행되는 동안 점등되며 버튼이 해제될 때까지 점등 상태가 유지된다. 버튼을 해제하면 I²C 읽기가 다음 루프 반복에서 발생한다.
UP을 누르고 있다가 DWN 버튼 탭 UP 버튼을 누르고 있으면 선택된 Pot이 증가하기 시작한다. 그런 다음 (UP 버튼을 계속 누르고 있는 상태에서) DWN 버튼을 태핑하면 선택된 Pot에 0xFF의 최대 위치가 바로 로드된다. LED는 스위치가 해제될 때까지 점등된다. 버튼을 해제하면 I²C 읽기는 다음 루프 반복에서 발생한다.
DWN을 누르고 있다가 UP 버튼 탭 DWN 버튼을 누르고 있으면 선택된 Pot이 감소되기 시작한다. 그런 다음 (DWN 버튼을 계속 누르고 있는 상태에서) UP 버튼을 선택하면 선택된 Pot에 0x00의 최소 위치가 바로 로드된다. LED는 스위치가 해제될 때까지 점등된다. 버튼을 해제하면 I²C 읽기가 다음 루프 반복에서 발생한다.
LED 세 번 점멸 PIC 컨트롤러가 파워 업 시 초기화될 때마다 또는 워치독 타이머가 시스템 리셋을 발생시킬 때마다 (인에이블된 경우) LED는 세 번 점멸된다.
LED가 빠르게 연속적으로 점멸 I²C 오류가 발생할 때마다 LED가 연속적으로 빠르게 점멸한다. 오류가 교정되면 LED는 정상 동작을 재개한다. 소자의 어드레스가 정확한지, I²C 버스가 연결되어 있는지 확인하여 문제를 해결한다.

결론

이 애플리케이션 노트에서는 DS1803/DS1805 비휘발성 디지털 포텐쇼미터를 위해 간단하고 경제적인 컨트롤러를 사용하고 구성하는 방법에 대해 설명하였다. 버튼 입력은 I²C 명령으로 변환되어 증가, 감소 또는 중간 위치 설정을 수행한다. 이 설계에는 호스트 컴퓨터가 필요 없으며, 이 프로젝트 또한 최소한의 외부 부품을 사용하여 포텐쇼미터 제어를 구현하였다.

이 애플리케이션 노트에 대한 질문/의견/제안은 으로 보내주시기 바랍니다.


관련 부품  APP 4011: Dec 02, 2008
DS1803 주소지정이 가능한 듀얼 디지털 포텐쇼미터 전체 데이터 시트
(PDF, 304kB)
무료 샘플
DS1805 어드레스 지정이 가능한 디지털 포텐쇼미터 전체 데이터 시트
(PDF, 260kB)
무료 샘플

자동 업데이트
관심 분야의 애플리케이션 노트가 나올 때 자동으로 업데이트를 원하십니까? 그렇다면 EE-Mail™을 신청하십시오.


We Want Your Feedback!



의견을 보내주세요!
위 내용이 도움이 되셨나요?
여러분의 의견을 기다립니다 — Maxim은 보내주신 정정이나 제안사항을 반영하고 있습니다. 이 페이지를 평가하고 의견을 보내주십시오.

 

다운로드, PDF 형식다운로드, PDF 형식 (52kB)
 AN4011, AN 4011, APP4011, Appnote4011, Appnote 4011

        •         •         •     개인정보보호 정책     •     법적 고지

    Copyright © 2009 by Maxim Integrated Products