2006년 7월 11일 화요일

자동으로 전원 차단하는 CPLD

자동으로 전원 차단하는 CPLD

by 라파엘 카마로타(Rafael Camarota), 알테라 코퍼레이션
http://www.ednkorea.com/article.asp?articleid=2992 - EDN Asia

요즘 나온 대부분의 CPLD(complex programmable-logic devices)가 절전모드를 갖추고 있다고는 하지만, 시스템이 작동하지 않을 때 완전한 시스템의 중단으로 배터리 에너지 보존을 극대화하는 방법을 설계 엔지어들은 모색하고 있다. 그림 1은 CPLD에 개별 부품들을 추가하는 방법으로 배터리 구동 시스템의 전원차단 회로를 구현하는 방법을 소개한다. 이 회로에는 알테라의 EPM570-T100이 사용됐다. 외부 P 채널 MOSFET인 Q1에는 인터내셔널렉티파이어(www.irf.com)의 IRLML6302 또는 동급 제품이 사용됐다. Q1은 CPLD인 IC1과 시스템의 다른 부품들을 위해 전력을 제어하는 스위치 역할을 한다. CPLD와 스위치들의 배열은 MOSFET의 게이트를 제어하는데, 이는 사용자가 스위치를 누를 때마다 Q1의 스위치를 온(on)시키는 바이어스를 적용함으로써 구현된다. CPLD에는 스위치와 시스템 활동을 모니터링하는 임베디드 타이머가 포함돼 있어, 지정된 비활동 시간이 지나면 이 타이머는 MOSFET의 게이트 구동을 비활성화시키고, CPLD와 기타 MOSFET에 연결된 부품들에 공급되는 전력을 차단한다.

Q1의 소스는 배터리의 양극 단자에 연결된다. 드레인은 IC1의 VCC(INT), VCC(IO1), VCC(IO2) 전력 핀과 전원 차단 제어를 필요로 하는 다른 부품들에 연결된다. 전원 스위치가 오프되면 1kΩ 풀업저항인 R3이 0V 게이트-소스 전압으로 게이트를 유지함으로써 Q1을 오프 상태로 유지한다. IC1을 오프시키면, IC1은 CPLD의 전원차단 핀을 통해 접지에 누설 경로를 제공한다. EPM570-T100은 핫소켓 보호 기능을 포함하고 있는데, 이 기능은 사용자가 접근할 수 있는 디바이스 I/O 핀의 가용 전류를 300μA 미만으로 제한하는 역할을 한다. 따라서 최악의 경우일지라도 I/O 핀이 R3을 통과해 생성하는 전압은, FET의 최소 게이트 임계 턴온 전압인 0.7V에 도달하지 않는다.

아무 스위치나 누르면 스위치의 접점과 이에 연결된 다이오드를 통과하는 전류 경로가 생성된다. 이후 R3을 거쳐 약 2.3V의 게이트 소스 바이어스가 생성된다. 이는 100μsec 동안에 Q1을 온시키고 IC1을 동작시키기에는 충분하다. 기계식 스위치를 작동시키면 온타임이 적어도 3msec 정도가 되지만, 보통 사람들의 수조작에 의한 눌렀다 떼기 동작에는 최소 30msec이 소요된다. 상대적으로 느린 이러한 응답시간 동안에 CPLD는 온 상태가 될 수 있지만, 내부 회로를 리셋하고 전원차단 핀을 로직 제로로 가정함으로써 조작자가 누른 스위치를 떼기 전에 Q1을 온시킬 수 있다.

사용자가 지정한 애플리케이션 로직 외에 이 CPLD의 전력제어 로직은 한 쌍의 표준 파라미터의 라이브러리 매크로 회로를 추가한다. 이 회로는 알테라(www.altera.com)의 Quarus II 개발 툴에 의해 생성된다. 내부 4.4MHz±25% 오실레이터인 Altufm_osc는 modulo-44-million LPM(library-parameterized-module) 카운터를 구동한다. 이 카운터는 CPLD의 애플리케이션 로직이 생성하는 로직 로우 신호 또는 스위치 닫기에 의해 리셋된다. 카운터를 리셋하면 캐리아웃(carry-out) 신호가 낮아지고, 외부 전원차단 핀이 구동된다. 사용자가 리셋을 제거하면 반전된 캐리아웃 신호는 LPM 카운터를 재활성화한다.

모든 스위치를 열어 두고 애플리케이션 로직이 비활성 상태가 되면 카운터는 약 10초 안에 4,400만까지 계산하며, 내부 캐리아웃 신호가 상승하면서 카운터를 비활성화하고 캐리아웃 신호를 높은 상태로 유지한다. 그 다음 전원차단 핀이 VCC를 향해 올라가면서 전력차단 핀의 전압이 2.3V에 이르면 Q1을 오프시킨다. CPLD에서 전력을 제거하면 전원차단 핀이 트라이스테이트(tristate) 또는 연결해제 모드가 되며, R3이 Q1을 오프 상태로 유지히게 된다.

설계 엔지니어는 JTAG 호환 명령을 사용함으로써 다운로드 케이블과 함께 EPM570-T100을 구성할 수 있다. 이 케이블은 제조업체가 정의한 10핀 헤더에 연결될 수 있다. 이 과정에서는 구성 전, 구성 중간, 구성 후에 외부 스위치를 눌러 CPLD가 모든 구성 과정에서 전력을 공급 받도록 해야 한다. 카운터의 계수를 바꾸면 모든 필요한 값으로 비활성 타임아웃을 설정할 수 있다. 전력, 접지, JTAG 신호는 특정 디바이스 핀을 사용하지만, 어떤 범용 CPLD I/O 핀이라도 스위치용 입력과 전원차단 출력으로 할당될 수 있다.

설계 엔지니어의 애플리케이션에 푸시버튼 스위치 매트릭스가 필요한 경우에는 n 다이오드를 사용함으로써 효율적인 파워업(power-up) 감지에 활용되는 nxm 스위치 매트릭스를 구성할 수 있다(그림 2). 이 예에서 다이오드 D1에서 D4까지 MOSFET의 게이트에 스위치 행이 연결된다. 저항 R8~R11은 각 스위치 열에 대한 접지 경로를 제공하고, 키가 닫히는 동안에만 전류를 전달한다. 또한 파워 서플라이 전류 드레인을 최소화하기 위해 대기하는 동안 열(column) 입력을 낮게 유지한다.

사용자가 아무 키를 누르면 Q1의 게이트가 낮아져 CPLD를 온시킨다. 빠른 CPLD 전원 인가 루틴을 통해, 이 애플리케이션은 사용자가 누른 스위치를 떼기 전에 스위치 매트릭스의 행과 열을 검색하고 사용자가 어느 스위치를 눌렀는지 확인할 수 있다. 이 애플리케이션에서 행 신호는 LPM 카운터의 비활성 타이머를 리셋한다.

댓글 없음: