2009년 3월 23일 월요일
[잡담] LDO냐 DC / DC conv erter냐? 이것이 문제로다 ^^
♬ 자유게시판 putsalgu99(설렁설렁)
대충대충 회로 설계하던 시절 부터, evaluation용으로 보드 만들 때,
아무 생각 없이 편하다는 이유로...또 코일이나 이런 부품 수배하기도 귀챦고 해서...
Linear Reguator나 LDO 등을 써서 프로세서나 메모리로 가는 전원을 많이 만들었었는데...
간 크게도 입력 DC 전원은 대충 5V도 좋고, 9V도 좋고, RS232C 필요 할 때는 아무 생각 없이 12V도 쓰고...
이렇게 해도, 레귤레이터에서 열은 좀 많이 나서 잘 못하면 델 정도이기도 하지만,
그럭저럭 동작은 하니까 좋았던 시절이 많았네요...
그런데 요즘 와서, 이렇게 해서 조금 동작하다가 죽는데, 어떡하면 되냐는 질문들이 조금씩 있습니다.
옛날에는, 작은 마이컴 종류의 CPU나 메모리 등이 대략 3.3V 정도에서 동작하고, 전류도 별로 안 먹었기 때문에 문제가 없었지만,
요즘 고속의 arm core 같은 놈들은 1.2V 근처에서 동작하고,
전류도 몇백 mA 이상 먹기 때문에 linear regulator를 사용할 때는 발열로 인해 많은 문제가 생길 수 밖에 없습니다.
Linear Regulator는 간단하게 말해서, FET나, Transistor의 linear 영역에서 동작하는데,
결국, 가변 저항 비슷한 역할을 해서, 입력 전압을 출력 전압으로 내려 주는 것인데...
즉, 입력 전압이 Vin, 출력이 Vout이고 전류가 I라면,
이놈이 R = (Vin - Vout) / I 정도의 저항치를 가진다는 말이지요...
따라서 이놈들이 소비하는 전력(손실전력이라 합니다.)은,
P = 전압차 * 전류 = (Vin - Vout) * I 정도가 되고,
12V에서 1.2V로 다운시킬 경우, 손실전력 P = (12V - 1.2V) * I = 10.8 * I (Watt)
전류가 100mA만 흘러도 regulator에서 10.8V * 100mA = 1080mW = 1.08Watt...
정작 CPU가 소비하는 전력은 100mA * 1.2V = 120mW...
즉, 입력 전력의 90% 정도가 regulator에서 소모되고 이에 따라 엄청난 열이 발생하게 됩니다.
그러니 얼마 못 버티고 동작을 멈추게 되겠지요...
이에 반해 DC/DC는 대부분의 경우 100mA 정도의 영역에서는 90% 이상의 효율을 보이므로,
출력이 100mA 일때 12V 입력 측의 전류는, 100% 효율일 때, 1.2/12 * 100 = 10mA
90%의 효율이라도 11mA 정도이며, 이 중 1mA 정도만 손실되는 것이므로,
12mW 정도의 손실만 있어 발열이 거의 없고, 잘 동작하게 되지요...
보드 설계할 때, 특히 외부 입력 전원을 내부 3.3V나 1.8V로 바꿔 주는 부분 만이라도,
DC/DC를 사용한다면, 발열 및 기타 문제를 많이 줄일 수 있습니다.
그럼에도 불구하고 굳이 linear regulator를 사용하고 싶다면, 방열에 엄청난 노력을 기울여야 하는데,
이렇게 하더라도, CPU쪽에서 몇백 mA씩 사용한다면, 한두번 손을 데는 사고는 감수해야 합니다...
[잡담] 강압형 DC / DC converter의 효율...
CQ출판사의 "트랜지스트 기술"을 뒤적거리다 보니,
8월호에 휴대기기 전원 IC에 대한 내용이 많이 나와 있는데,
그중 강압형 DC/DC conveter (Buck regulator)에 대해서 짤막하게 나온 부분이 있네요...
강압형 컨버터는 간단히 말하면,
PWM 방식의 square wave로 스위치를 구동하고, 이때 흐르는 전류가 inductor의 자장으로 축적되어,
switch-off시에서 연속적인 전류가 흐르게 하여 고효율의 컨버팅 기능을 제공하는 제품인데,
문제는 항상 일정 주파수로 스위칭하기 때문에, 스위칭에 의한 전류 소모가 수mA까지 올라가게 되는 것이다.
특히, inductor와 capacitor의 용량을 작게 하여 실장 면적을 줄이려면,
switching 주파수를 높게 하여야 하는게 이때 더욱 큰 전류를 소모하게 된다.
따라서, 부하전류(출력전류)가 수mA수준으로 낮을 때는, 효율이 급격히 떨어지게 되는데,
이 경우 효율을 높히기 위해서는 낮은 전류에서 스위칭 주파수를 낮춰주는 PFM (Pulse Frequency Modulation) 모드를 사용하여야 한다.
따라서 휴대기기의 전원을 디자인할 때, Buck regulator 등의 강압형 DC/DC 컨버터를 선택할 때,
PWM /PFM 모드의 자동 전환이 이루어 지는지, 혹은 PFM 모드를 선택할 수 있는지 반드시 확인해야,
sleep등 대기 상태에서의 전력 소모를 최소화 할 수 있고 이에 따라 대기 시간을 늘일 수 있게 된다.
요즘 휴대전화 등의 휴대기기는 최장 400시간 까지의 대기 시간도 요구하게 되는데,
800mAh의 배터리를 사용할 경우 2mA 이하의 대기 전류를 소모해야 하므로, 전원 선택에 더욱 주의하여야 하는 것이다.
2009년 3월 4일 수요일
LDO와 DC/DC 컨버터
2009년 3월 3일 화요일
[Mango Story - WINCE #2-4] Windows CE 이미지 퓨징하기
"6) Program disk image into SmartMedia card: Enable"
"W) Write Configuration Right Now"
"9) Format Boot Meida for BinFS"
[Mango Story - WINCE #2-2] BSP 설치
Catalog 파일이 임포트 되었으면 아래와 같이 Catalog 창에서 확인할 수 있다.
EBOOT: EBOOT.bin, EBOOT.nb0
HKEY_LOCAL_MACHINE\Driver\BuiltIn 아래에 있는 드라이버들은 장치관리자(Device.exe)에 의해 부팅할 때 로딩됩니다. 실제 로딩된 드라이버들은 HKEY_LOCAL_MACHINE\Driver\Active 에서 찾아보시면 될겁니다.
그리고 망고보드에서 ActiveSync가 되니 Platform Builder에서 "Tools -> Remote System Information" 을 실행해서 확인해도 됩니다.
[Mango Story - WINCE #2-1] 플랫폼 빌더 설치
.NET Framework 2.0이 깔려있는 경우에도 플랫폼 빌더가 설치되지 않는다 따라서, .NET Framework 2.0이 깔려있으면 먼저 제거한 후 1.1을 설치해야 한다.
"Shared Source for Windows CE 5.0" 선택 - 소스 코드가 추가됨.
"ARMV4I" 선택 - S3C2443의 경우 반드시 선택해야 함.
[Mango Story - WINCE #1]Windows CE 개요
오늘은 WINCE 역사와 버젼 등에 대해 정리했습니다
중요한 내용은 아니고 WINCE가 어떤 건지 간략히 정리해 본 것이니 가벼운 마음으로 읽어 보세요.
- x86
- MIPS
- SH4
- ARM
- 휴대용 미디어 플레이어(PMP)
- 휴대용 GPS 장치(PND) / Car navigation
- PDA
- 스마트 폰
- VoIP 전화
- 네트워크 디지털 TV
- 셋톱박스
- 의료장비, 각종 산업용 디바이스

[Mango Story - WinCE #0] WINCE 출발
타겟 보드 : 망고 보드 MANGO-S3C2443
WinCE for Mango - 시작하며
[Mango 메뉴얼] Ethernet
[Mango 매뉴얼] Ethernet
Mango 보드에는 부트로드 다운로드 및 기타 넷트웍 접속을 위한 10Mbps Ethernet이 장착되어 있다. CS8900A를 Ethernet Controller로 사용하며, hardware sleep 모드를 구현하여 Ethernet을 사용하지 않을 경우 수십 uA 정도의 전류만이 흐르게 되어 전력 절감이 가능하여 모바일 보드에 적합하게 설계 되었다.
[그림 1] Ethernet 관련 부품 실장도
위 그림에 나타난 Ethernet 관련 부품 실장을 보면, CS8900A, E2023 Transformer 및 RJ45 Ethernet Connector의 세가지 중요 부품으로 구성되어 있으며, CS8900A 왼쪽 위에 Ethernet에 클럭을 제공하기 위한 크리스탈이 붙어 있음을 볼 수 있다.
RJ45 connector 및 Transformer는 수동적인 소자이므로, 프로그래머의 관점에서는 신경 쓸 필요가 없다. 소프트웨어 프로그래머의 관점에서, Ethernet을 구동하기 위해 중요한 것은 CS8900A Ethernet Controller와 S3C2443 ARM9 CPU 사이의 결선이다.
[그림 2] Mango 보드 Ethernet 결선도
Mango 보드에서 Ethernet 관련 소프트웨어를 작성할 때 특히 주의해야 할 점은, Mango 보드가 CS8900A의 하드웨어 슬립 기능을 사용한다는 것이다. [그림 2]에서 볼 때, LAN_SLEEPN 신호 (S3C2443의 TCLK_GPB4, CS8900A의 SLEEP#)가 LOW이면 “Hardware Suspend Mode”로 진입하여 최대 100uA의 전류만을 소모한다. 이는 “Software Suspend Mode”에서 소모하는 1mA의 10%에 해당하는 수치로, 대기 전류가 중요한 모바일 환경을 위해서는 이와 같이 전류 소모를 최소화 시켜 줄 필요가 있다. 이 기능으로 인해, Ethernet Controller를 사용하기 전에 먼저 LAN_SLEEPN 신호를 HIGH로 만들어 줄 필요가 있다. 오픈 소스로 구할 수 있는 대부분의 디바이스 드라이브에 이 기능이 고려되지 않았을 것이므로 소프트웨어 작성시 반드시 이 신호선을 HIGH로 한 후 CS8900A를 사용하고, Ethernet을 사용하지 않고 대기할 경우에는 LAN_SLEEPN 신호를 LOW로 하면 된다.