2013년 2월 19일 화요일

안드로이드 스마트폰의 micro USB 포트의 모드 변환

아는 사람의 부탁으로 스마트폰의 micro USB 포트가 USB 뿐만 아니라 오디오, 해드셋, 충전 기타 등등의 많은 기능을 수행한다는 것을 알게되었다. 하지만, 아이폰에서 그 많은 기능을 하기위해서 많은 핀들이 존재하는데 다른 스마트폰에서 5핀 밖에 안되는 micro USB 포트로 수행한다는 것은 뭔가 추가적인 기능을 하는 부분이 존재하리라 짐작된다.
검색을 해보니 삼성 스마트폰에만 해당하는 내용일 수 도 있겠지만 FSA9480라는 Fairchild사의 USB 스위치라는 것이 이러한 기능을 수행하도록 되어 있다고 한다. 기본적인 원리는 USB 포트의 D+와 D- 사이에 걸리는 저항값을 통해서 USB OTG로 동작할 것인지, 해드셋으로 동작할 것이지 등등의 모드 전환을 수행한다고 되어 있다. 


USB ID resistor values


Mode Name
Resisor value
Internal mode value
Description

RID_USB_OTG_MODE
0 (GND)
0 0 0 0 0
USB OTG Mode

RID_AUD_SEND_END_BTN
2 K
0 0 0 0 1
Audio Send_End Button

RID_AUD_REMOTE_S1_BTN
2.604 K
0 0 0 1 0
Audio Remote S1 Button

RID_AUD_REMOTE_S2_BTN
3.208 K
0 0 0 1 1
Audio Remote S2 Button

RID_AUD_REMOTE_S3_BTN
4.014 K
0 0 1 0 0
Audio Remote S3 Button

RID_AUD_REMOTE_S4_BTN
4.82 K
0 0 1 0 1
Audio Remote S4 Button

RID_AUD_REMOTE_S5_BTN
6.03 K
0 0 1 1 0
Audio Remote S5 Button

RID_AUD_REMOTE_S6_BTN
8.03 K
0 0 1 1 1
Audio Remote S6 Button

RID_AUD_REMOTE_S7_BTN
10.03 K
0 1 0 0 0
Audio Remote S7 Button

RID_AUD_REMOTE_S8_BTN
12.03 K
0 1 0 0 1
Audio Remote S8 Button

RID_AUD_REMOTE_S9_BTN
14.46 K
0 1 0 1 0
Audio Remote S9 Button

RID_AUD_REMOTE_S10_BTN
17.26 K
0 1 0 1 1
Audio Remote S10 Button

RID_AUD_REMOTE_S11_BTN
20.5 K
0 1 1 0 0
Audio Remote S11 Button

RID_AUD_REMOTE_S12_BTN
24.07 K
0 1 1 0 1
Audio Remote S12 Button

RID_RESERVED_1
28.7 K
0 1 1 1 0
Reserved Accessory #1

RID_RESERVED_2
34 K
0 1 1 1 1
Reserved Accessory #2

RID_RESERVED_3
40.2 K
1 0 0 0 0
Reserved Accessory #3

RID_RESERVED_4
49.9 K
1 0 0 0 1
Reserved Accessory #4

RID_RESERVED_5
64.9 K
1 0 0 1 0
Reserved Accessory #5

RID_AUD_DEV_TY_2
80.07 K
1 0 0 1 1
Audio Device Type 2

RID_PHONE_PWD_DEV
102 K
1 0 1 0 0
Phone Powered Device

RID_TTY_CONVERTER
121 K
1 0 1 0 1
TTY Converter

RID_UART_CABLE
150 K
1 0 1 1 0
UART Cable

RID_CEA936A_TY_1
200 K
1 0 1 1 1
CEA936A Type-1 Charger 1

RID_FM_BOOT_OFF_USB
255 K
1 1 0 0 0
Factory Mode Boot OFF-USB

RID_FM_BOOT_ON_USB
301 K
1 1 0 0 1
Factory Mode Boot ON-USB

RID_AUD_VDO_CABLE
365 K
1 1 0 1 0
Audio/Video Cable

RID_CEA936A_TY_2
442 K
1 1 0 1 1
CEA936A Type-2 Charger 1

RID_FM_BOOT_OFF_UART
523 K
1 1 1 0 0
Factory Mode Boot OFF-UART

RID_FM_BOOT_ON_UART
619 K
1 1 1 0 1
Factory Mode Boot ON-UART

RID_AUD_DEV_TY_1_REMOTE
1000.07 K
1 1 1 1 0
Audio Device Type 1 with Remote 2

RID_AUD_DEV_TY_1_SEND
1002 K
Audio Device Type 1 / Only Send-End 2

RID_USB_MODE
Open
1 1 1 1 1
USB Mode, Dedicated Charger or Accessory Detach



출처 : http://www.jetdroid.org/moin/SamsungUARTdebugging

이와 같은 기능을 이용해서 삼성 스마트폰 제조 과정에서 스마트폰의 정상동작을 점검하는 디버그 장비로 활용하는 것같다. 이름도 얄딱구리한 Samsung Anyway JIG라는 것이 바로 그것인 것 같다.



출처 : http://forum.xda-developers.com/showthread.php?t=1629359


비슷한 기능의 것들이 다른 스마트폰에도 있을 것이다. 우선은 위의 기능을 이용해서 micro USB 포트를 다른 모드로 동작하도록 해 보아야 겠다. 디버깅 포트로도 해보고 오디오 기능으로도 해보고 말이다. 그런데 삼성 스마트 폰이 없다. ㅋㅋㅋ

댓글 1개:

  1. 아하 그래서 jig 케이블로 다운로드 모드로 진입할수 있는거였군요!!

    답글삭제