주변장치의 전력소모 분석을 위한 USB 전류 측정기 구현
  • 2012-12-07
  • 김창수 기자, cskim@elec4.co.kr
  • 글 | 그레이엄 브라운(Graham Brown) Future Technology Devices International (FTDI)


에너지 효율 향상과 배터리 절약을 고민하고 있는 제조사들은 제품이 소비하는 전력소모량에 대해 잘 알고 있어야 한다. USB 규격에 추가되는 새로운 파워 모드는 USB 디바이스가 어떻게 전류를 호스트로부터 끌어오는지 시각화하기가 더 어려워지고 있다는 의미다. 이 글은 USB 연결 시 공급 전압과 전류량을 측정할 수 있는 시스템을 제작하는 방법에 대해 설명하고 있다.

과거에는 전원공급 장치로서의 USB 호스트가 간단했다. 상대적으로 적은 양의 전류만을 공급했다. 그러나 USB 인터페이스의 확산은 데이터뿐만 아니라, 파워를 위한 중요한 연결 수단이 되고 있다. 갱신된 USB 규격은 USB가 새로운 파워 모드에서 훨씬 더 많은 전류(1.8 A까지)를 공급해야 한다. 이로 인해 제품들이 USB를 통해 충전하는 하는 것이 가능해졌다.



여기서 논의 하고 있는 시스템은 VBUS 상의 전압과 USB 디바이스가 호스트로부터 끌어오는 전류량을 측정하기 위해 별도의 USB 링크로 연결되는 간단한 전압/전류 측정기의 형태로 되어 있다. 그림 1은 시스템의 주요 구성요소를 보여주고 있다. 이 측정기는 마우스와 연결되어 전류와 VBUS의 전압 레벨을 측정하고 다른 USB 연결로 노트북으로 측정된 정보를 전송한다. 따라서 노트북에는 두 개의 호스트 포트가 필요하다. 아날로그 회로는 전압/전류를 12비트 2채널 ADC를 거쳐 디지털 데이터로 변환한다. 이 예에서 사용된 ADC는 통합 SPI 인터페이스를 제공하는 마이크로칩 사의 MCP3201-B라는 제품이다. FT232H 단일 채널 USB 하이-스피드(480 Mbps) 브리지 칩은 ADC로부터 변환 값을 읽어와 그 데이터를 시각적으로 표시하기 위해 별도의 USB 연결을 통해 노트북 컴퓨터로 전송한다. 비주얼 베이직 2008로 작성된 프로그램이 FT232H의 MPSSE(Multi-Protocol Synchronous Serial Engine)를 제어한다. FTDI D2xx 라이브러리에서 명령어는 SPI 인터페이스를 사용하는 ADC와의 인터페이스에서 MPSSE을 설정하는 데 사용한다.



UM232H는 FT232H 브리지 칩을 위한 간단한 평가 모듈이다. 이 모듈은 브레드보드나 IC 소켓에 장착될 수 있으며, 효율적인 USB 시스템 설계를 구현하기 위해 필요한 다양한 외부 부품을 포함하고 있다. mini-B 타입의 USB 커넥터, 오실레이터와 고객사의 설정을 저장하기 위한 EEPROM으로 구성되어 있다. UM232H 모듈과 함께 전류를 측정하기 위한 추가 아날로그 하드웨어 구성이 그림 2에 자세히 나와 있다. 하드웨어에는 총 3개의 USB 포트가 있다. 하나는 mini-B 타입 커넥터로 FT232H를 노트북에서 구동하는 애플리케이션 소프트웨어와 연결하기 위한 포트다. 나머지 두 개는 보드를 측정하기 위한 USB 링크에 직렬로 연결하기 위한 USB 포트이다. 업스트림 연결은 표준 A-B 케이블을 사용해 호스트와 측정기의 USB 타입 B 소켓에 연결한다. 주변장치는 측정기의 USB 타입 A 암 소켓에 연결되고 호스트에 바로 연결된 것처럼 동작한다. 신호의 왜곡을 방지하기 위해, 연결된 USB 데이터 선의 길이는 최소화 되도록 한다.
그 다음은 측정기의 파워를 활성화하기 위해 FT232H의 PWREN#를 사용한다. PWREN# 핀은 USB 대기 모드에 진입했을 때 USB 규격에 명시된 대기 모드에서 최대 2.5 mA 전류로 제한하기 위해 FT232H의 파워를 비활성화 할 수 있다. DC/DC 컨버터에 5V를 공급하기 위해서 P채널 MOSFET이 사용되며, 전체 회로에 전원을 공급한다. Traco의 1W 정격 TMA0512S DC/DC가 여기에 지정돼 있다. TMA0512S는 5V를 12V로 승압한다. 12V에서 증폭기 전원 5V와 ADC 전원 3.3V를 만들기 위해 레귤레이터를 사용한다. 이는 USB 전원으로부터 직접 공급하는 것보다 레귤레이터를 사용하는 것이 아날로그 회로에 안정적이 전원을 공급하기 위한 것이다. 전원 감시 IC는 아날로그 회로의 전원에 너무 낮은 전압이 공급되는 상황을 검지하기 위해 사용된다. 이 예에서는 마이크로칩의 MCP120-450DI/TO 슈퍼바이저 IC가 사용됐다. MCP120-450DI/TO는 오픈 컬렉터 출력으로 FT232H의 GPIO(Ge-neral Purpose Input/Output)의 입력에 연결된다. 이는 측정값이 무효하다는 것을 알리기 위한 표시로 사용될 수 있다.
ADC는 UM232H 모듈과 SPI 인터페이스로 연결된다. ADC 하나는 전류 감지 증폭기의 출력을 측정한다. 다른 ADC는 VBUS의 전압을 측정한다. FT232H의 SPI MISO(Master-In/Slave-Out)/SCK가 ADC와 연결된다. 각 ADC에는 칩 선택(chip select, CS) 단자가 있다. ADC가 마스터 쪽에 데이터 전송을 요구할 일이 없기 때문에, MOSI(Master-Out/Slave-In)는 연결하지 않는다. 그러나 다른 애플리케이션에서는 연결이 필요할 수도 있다. 이 예에서는 SPI 모드 0이 사용됐다. 즉, 데이터가 상승 에지에서 샘플링 된다. FT232H의 초기 핀 상태와 MPSSE 데이터 명령어가 SPI 모드 0으로 동작하도록 설정됐다.




전류 & 전압 측정

전류 측정 회로는 전류 측정용 저항과 전류 측정용 증폭기로 구성돼 있다. 이 예에서는 맥심 사의 MAX4172가 사용됐다. USB ‘In’과 ‘Out’ 커넥터의 5V(VBUS) 핀들 간에 전류 측정 저항을 통해 전류가 흐른다. 저항에 흐르는 전류를 전압으로 변환한다. 0.2Ω 저항은 흐르는 전류량에 따라  0mV~100mV의 전압을 생성한다. 이는 0~500mA 범위의 전류까지 측정 가능하도록 한다. 500mA가 흐를 때 저항 양단의 전압은 다음과 같다.

0.2Ω × 0.5A = 100 mV

이 방법은 비교적 정확한 측정 방법이지만 저항이 측정 대상의 USB 주변장치의 전압 강하를 일으키기 때문에 완벽한 방법은 아니다. 저항값의 선택은 사용할 증폭기와 관계가 있다. USB 주변장치의 전압 강하 없이 정확도를 높이는 것이 선택의 고려사항이다.
증폭기는 저항 양단의 저항에 비례한 크기의 전류를 출력한다. 외부 저항이 출력된 전류를 전압으로 변환하고, 이를 ADC로 측정한다. 이 경우에 3.3kΩ이 출력 범위가 0V~3.3V가 되도록 한다. 저항 양단의 전압을 측정함으로써 흐르는 전류를 감지하도록 설계됐다. 전류를 측정한 예가 표 1에 나와 있다.



전압 측정은 공칭 5V USB 버스 전압을 0~3.3V ADC 입력 범위에 맞추기 위해 분압하도록 했다. ADC는 일반적으로 2.5V의 전압을 측정한다. USB 주변장치에 공급되는 실제 전압이 반영되도록 센싱 저항 다음에서 측정이 이루어진다. 저항으로 인한 전압 강하로, 측정값은 실제 끌어 당겨지는 전류에 따라 호스트 포트에서 출력되는 VBUS보다 낮은 최대 100mV가 될 것이다. 전류와 전압 측정을 위해 PC 소프트웨어는 ADC로 읽혀진 값을 근거로 실제 값이 화면에 표시되도록 계산하다. PC 소프트웨어는 아래 링크에서 내려받을 수 있다.

http://www.ftdichip.com/Support/SoftwareExamples/MPSSE/i-SPI.zip

간단한 구현 예는 제조사의 개발자들이 자신들이 개발하고 있는 USB 제품이 얼마나 많은 전력을 소모하는지 조사가 가능하도록 하여 에너지 효율을 유지할 수 있도록 해준다. 이는 USB 충전 시 좀 더 최적화된 휴대용 제품을 개발하는데 도움이 될 것이다. 

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



  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP