KR101355779B1 - 휴대용 단말기기 및 이의 호스트 제어방법 - Google Patents

휴대용 단말기기 및 이의 호스트 제어방법 Download PDF

Info

Publication number
KR101355779B1
KR101355779B1 KR1020060130207A KR20060130207A KR101355779B1 KR 101355779 B1 KR101355779 B1 KR 101355779B1 KR 1020060130207 A KR1020060130207 A KR 1020060130207A KR 20060130207 A KR20060130207 A KR 20060130207A KR 101355779 B1 KR101355779 B1 KR 101355779B1
Authority
KR
South Korea
Prior art keywords
host
portable terminal
terminal device
usb
descriptor
Prior art date
Application number
KR1020060130207A
Other languages
English (en)
Other versions
KR20080056963A (ko
Inventor
강성철
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020060130207A priority Critical patent/KR101355779B1/ko
Publication of KR20080056963A publication Critical patent/KR20080056963A/ko
Application granted granted Critical
Publication of KR101355779B1 publication Critical patent/KR101355779B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1698Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a sending/receiving arrangement to establish a cordless communication link, e.g. radio or infrared link, integrated cellular phone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/169Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated pointing device, e.g. trackball in the palm rest area, mini-joystick integrated between keyboard keys, touch pads or touch stripes
    • G06F1/1692Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated pointing device, e.g. trackball in the palm rest area, mini-joystick integrated between keyboard keys, touch pads or touch stripes the I/O peripheral being a secondary touch screen used as control interface, e.g. virtual buttons or sliders

Abstract

본 발명은 USB 인터페이스를 통해 호스트에 연결된 휴대용 단말기기가 데이터 저장 장치와 동시에 휴먼 인터페이스 장치로 인식되어 호스트를 제어하는 휴대용 단말기기의 호스트 제어장치 및 방법에 관한 것이다. 본 발명은 휴대용 단말기기(2)에 구비되고 호스트(1) 제어를 위한 이벤트를 발생시키는 입력부(50)와 상기 휴대용 단말기기(2)에 휴먼 인터페이스 디바이스 클래스를 포함한 복수 개의 클래스가 정의된 디스크립터부(32)를 포함하여 구성된다. 상술한 바와 같이 구성되는 본 발명에 의하면, USB 인터페이스를 통해 호스트와 연결된 휴대용 단말기기는 휴먼 인터페이스 장치로 사용될 수 있으므로 휴대용 단말기기가 호스트 측으로 필요한 명령 신호를 전송하여 호스트를 제어하는 이점이 있다.
USB 인터페이스, HID, 호스트제어, 휴먼 인터페이스 장치

Description

휴대용 단말기기 및 이의 호스트 제어방법{portable terminal and method for controlling host of portable terminal}
도 1은 본 발명에 의한 바람직한 실시예에 따른 구성이 도시된 블록도이다.
도 2는 본 발명에 의한 실시예에 따른 휴대용 단말기기의 디스크립터 구성이 도시된 블록도이다.
도 3은 본 발명에 의한 실시예에 따른 휴대용 단말기기가 호스트를 제어하는 과정이 도시된 흐름도이다.
도 4는 본 발명에 의한 실시예에 따른 휴대용 단말기기의 이뉴머레이션 과정이 도시된 흐름도이다.
*도면의 주요 부분에 대한 부호의 설명*
1 : 호스트 2 : 휴대용 단말기기
3 : USB 통신매체 10 : USB 호스트 컨트롤러
12 : 클래스지원부 14 : USB 드라이버부
16 : CPU 20 : USB 디바이스 컨트롤러
30 : 메모리부 32 : 디스크립터부
34 : 디바이스 디스크립터 36 : 컨피규레이션 디스크립터
38 : 인터페이스 디스크립터 40 : 벌크 IN 엔드포인트 디스크립터
42 : 벌크 OUT 엔드포인트 디스크립터
44 : 인터럽트 IN 엔드포인트 디스크립터
46 : HID 디스크립터 48 : 리포트 디스크립터
50 : 입력부 60 : 제어부
본 발명은 휴대용 단말기기에 관한 것으로, 더욱 상세하게는 USB 인터페이스를 통해 호스트에 연결된 휴대용 단말기기가 데이터 저장 장치와 동시에 휴먼 인터페이스 장치로 인식되어 호스트를 제어하는 휴대용 단말기기의 호스트 제어장치 및 방법에 관한 것이다.
범용 직렬 버스(Universal Serial Bus, 이하 USB라 칭함)는 공통의 커넥터(Connector)로 다양한 주변기기를 접속 가능하게 하는 인터페이스(Interface) 규격이다. 이 규격은 P2P(Point-to-Point)방식을 사용하는 스타(Star)형 디자인을 가지기 때문에 허브(Hub)를 통해 호스트에 최대 127개까지의 장치들이 연결될 수 있다. 그리고 USB는 1개의 IRQ(Interrupt ReQuest)를 가지므로 통상의 USB 장치가 설치될 경우 IRQ가 따로 고려되지 않아 호스트에 쉽게 설치된다. 또한 USB 장치의 설정이 변경되기 위해 호스트가 재부팅될 필요도 없으며 호스트의 사용 중에 USB 장치를 연결하거나 제거하여도 문제가 되지 않는다. 바로 이러한 USB의 특징때문에 휴대용 단말기기가 호스트에 연결될 때 주로 USB가 사용되고 있다.
종래 기술에서는 휴대용 단말기기가 USB 인터페이스를 통해 호스트에 연결될 때 별도의 드라이버 설치 없이 데이터 저장 장치로 인식된다. 이는 USB가 매스 스토리지 클래스(Mass Storage Class)를 지원하고 상기 호스트의 운영체제가 표준적인 매스 스토리지 클래스 드라이버를 기본적으로 제공하기 때문이다. 그러므로 상기 휴대용 단말기기와 상기 호스트가 USB 인터페이스를 통해 연결되면 서로 데이터를 교환할 수 있게 된다. 즉, 상기 호스트에 저장된 데이터가 상기 휴대용 단말기기에 저장되기 위해 상기 휴대용 단말기기로 다운로드되거나 이와 반대로 상기 휴대용 단말기기에 저장된 데이터가 상기 호스트에 저장되기 위해 상기 호스트로 업로드된다.
그러나 상기한 바와 같은 종래 기술에서는 다음과 같은 문제점이 있다.
USB 인터페이스를 통해 호스트와 연결된 휴대용 단말기기는 호스트에 의해 데이터 저장 장치로 인식되어 호스트의 일방적인 제어를 통한 데이터 교환용으로만 사용된다.
따라서, 본 발명의 목적은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 휴대용 단말기기의 USB 클래스에 휴먼 인터페이스 디바이스 클래스가 포함된 휴대용 단말기기의 호스트 제어장치 및 방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 휴대용 단말기기에 구비되고 호스트 제어를 위한 이벤트를 발생시키는 입력부와 상기 휴대 용 단말기기에 휴먼 인터페이스 디바이스 클래스를 포함한 복수 개의 클래스가 정의된 디스크립터부를 포함하여 구성된다.
이때 상기 휴대용 단말기기는, 엠피쓰리(MPEG Audio Layer-3,MP3)플레이어, 핸드폰, 개인 휴대용 정보단말기(personal digital assistant, PDA), 휴대용 멀티미디어 플레이어(portable multimedia player, PMP), 플레이스테이션 포터블(PlayStation Portable, PSP) 중 어느 하나이다.
그리고 상기 디스크립터부는 상기 입력부의 이벤트에 따른 커맨드 정보를 나타내는 리포트 디스크립터를 포함하여 구성된다.
상기 입력부는 상기 휴대용 단말기기의 종류에 따라 버튼 방식, 터치펜 방식, 터치스크린방식, 키(key) 방식, 조그(jog) 방식을 포함하여 구성된다.
이때 상기 휴대용 단말기기를 상기 호스트에 연결시키는 인터페이스는, 유에스비 케이블 또는 울트라와이드밴드(Ultra WideBand;UWB)를 이용하는 무선 유에스비를 통한 인터페이스를 포함하여 구성된다.
한편, 상기 휴대용 단말기기는 HID Usage Tables 내의 휴먼 인터페이스 장치들 중 하나 이상으로 구현된다.
본 발명의 다른 특징에 따르면 (A) 휴대용 단말기기가 유에스비 인터페이스를 통해 호스트와 연결되는 단계와 (B) 상기 휴대용 단말기기가 휴먼 인터페이스 디바이스 클래스와 매스 스토리지 클래스를 포함한 복수 개의 클래스가 정의된 USB 장치로 상기 호스트에 설정되는 단계와 (C) 상기 휴대용 단말기기에 구비된 입력부에서 이벤트가 발생되는 단계와 (D) 상기 이벤트에 따른 커맨드가 포함된 데이터 프레임이 상기 호스트 측으로 전송되는 단계와 (E) 상기 데이터 프레임이 상기 호스트에서 상기 이벤트에 따른 특정한 커맨드로 해석되는 단계 그리고 (F) 상기 해석된 커맨드가 상기 호스트에서 실행되는 단계를 포함하여 구성된다.
상기 (B) 단계에서, (B1) 상기 휴대용 단말기기가 상기 호스트의 겟_디스크립터 리퀘스트에 대한 응답으로 디바이스 디스크립터를 상기 호스트로 전송하는 단계와 (B2) 상기 디바이스 디스크립터에 나타난 정보를 통해 상기 휴대용 단말기기가 상기 호스트에 대용량 저장 장치임과 동시에 휴먼 인터페이스 장치로 인식되는 단계와 (B3) 상기 휴대용 단말기기에 해당되는 드라이버가 상기 호스트에 로딩되는 단계 그리고 (B4) 상기 휴대용 단말기기가 상기 로딩된 드라이버를 통해 USB 장치로 상기 호스트에 설정되는 단계를 포함하여 구성된다.
상기 (B2) 단계에서, 상기 디바이스 디스크립터는 매스 스토리지 클래스와 휴먼 인터페이스 디바이스 클래스를 포함한 기타 클래스가 각각 정의된 복수 개의 인터페이스 디스크립터를 포함하여 구성된다.
상기 (D)단계에서 상기 데이터 프레임은, 데이터의 시작을 알리는 동기 신호, 해당 데이터 프레임이 휴먼 인터페이스 장치에 대한 제어 명령임을 알리는 데이터 코드 그리고 데이터 프레임 전송시 발생할 수 있는 에러를 정정하기 위한 CRC코드를 포함하여 구성된다.
상기 (E)단계에서, 상기 데이터 프레임은 상기 호스트에 로딩된 상기 HID 호환 드라이버에 의해 해석됨을 포함하여 구성된다.
이와 같은 구성을 가지는 본 발명에 의하면 USB 인터페이스를 통해 호스트와 연결된 휴대용 단말기기는 휴먼 인터페이스 장치로 사용될 수 있으므로 휴대용 단말기기가 호스트 측으로 필요한 명령 신호를 전송하여 호스트를 제어하는 이점이 있다.
이하 본 발명에 의한 휴대용 단말기기의 호스트 제어장치 및 방법을 첨부된 도면에 도시된 바람직한 실시예를 참고하여 상세하게 설명한다.
도 1은 본 발명에 의한 바람직한 실시예에 따른 구성이 도시된 블록도이고, 도 2는 본 발명에 의한 실시예에 따른 휴대용 단말기기의 디스크립터 구성이 도시된 블록도이며, 도 3은 본 발명에 의한 실시예에 따른 휴대용 단말기기가 호스트를 제어하는 과정이 도시된 흐름도이고, 도 4는 본 발명에 의한 실시예에 따른 휴대용 단말기기의 이뉴머레이션 과정이 도시된 흐름도이다.
도 1에 도시된 바와 같이, 본 발명에 의한 바람직한 실시예는 호스트(1)와 휴대용 단말기기(2)를 포함하여 구성된다. 상기 호스트(1)는 모든 USB 연결의 중심이 되고 상기 휴대용 단말기기(2)는 엠피쓰리(MPEG Audio Layer-3,MP3)플레이어, 핸드폰, 개인 휴대용 정보단말기(personal digital assistant, PDA), 휴대용 멀티미디어 플레이어(portable multimedia player, PMP), 플레이스테이션 포터블(PlayStation Portable, PSP) 중 어느 하나임이 바람직하다.
상기 호스트(1)와 상기 휴대용 단말기기(2)는 USB 통신매체(3)를 통해 USB 인터페이스가 이루어진다. 데이터 선(D+,D-), 전원(Vbus) 그리고 그라운드(GND)를 포함한 4개의 선으로 구성된 USB 케이블 또는 울트라와이드밴드(Ultra WideBand;UWB)를 이용하는 무선 USB가 상기 USB 통신매체(3)에 포함된다.
상기 호스트(1)에 구비된 USB 호스트 컨트롤러(10)는 상기 호스트(1) 측에서의 USB 인터페이스를 제어한다. 즉, 상기 USB 호스트 컨트롤러(10)는 상기 호스트(1)와 상기 휴대용 단말기기(2) 간의 USB 통신을 제어하는 부분으로 USB 인터페이스와 관련된 상기 호스트(1) 상의 소프트웨어와 하드웨어가 포함된다.
상기 휴대용 단말기기(2)가 상기 USB 표준 클래스에 따라 설계되었다면 상기 호스트(1)는 상기 USB 표준 클래스를 지원해야 하고, 상기 호스트(1)에 구비된 클래스지원부(12)가 상기 USB 표준 클래스를 지원한다. 상기 클래스지원부(12)는 USB Device Working Group에 의해 정의된 USB 스펙을 따르는 USB 표준 클래스를 지원한다. 또한 상기 클래스지원부(12)는 상기 호스트(1)의 운영체제에 포함되는 것이 바람직하다.
그러나 상기 휴대용 단말기기(2)가 상기 USB 표준 클래스만으로 설계되지 않은 경우 상기 휴대용 단말기기(2)에 따라 별도의 드라이버(Driver)가 필요하다. 이때, 상기 호스트(1)에 구비된 USB 드라이버부(14)가 상기 드라이버를 포함하는 부분이다. 즉, 상기 USB 드라이버부(14)는 상기 휴대용 단말기기(2)의 종류에 따라 독립적으로 상기 호스트(1)에 등록된 HID(Human Interface device) 호환 드라이버를 포함한다. 상기 USB 드라이버부(14)는 상기 휴대용 단말기기(2)가 휴먼 인터페이스 장치로 동작될 때 상기 휴대용 단말기기(2)에서 발생된 특정 이벤트에 대응하는 커맨드를 해석한다. 이때 상기 휴먼 인터페이스 장치란 상기 호스트(1)에 대한 입출력 데이터 서비스를 제공하는 장치로 사람과 직접 상호작용하는 장치를 뜻한 다. 상기 휴먼 인터페이스 장치에 키보드, 마우스, 조이스틱, 스위치, 리모컨이 포함된다.
그리고 CPU(16)는 상기 호스트(1)의 구동에 필요한 제어를 담당하며 상기 호스트(1)에 설치된 운영프로그램과 응용프로그램의 실행을 담당한다. 특히, 상기 휴대용 단말기기(2)가 휴먼 인터페이스 장치로 동작될 때, 상기 CPU(16)는 상기 휴대용 단말기기(2)로부터 상기 호스트(1) 측으로 전송된 명령신호에 따른 특정 커맨드를 실행한다.
한편, 상기 휴대용 단말기기(2)에 구비된 USB 디바이스 컨트롤러(20)는 상기 USB 호스트 컨트롤러(10)와 대응하는 부분으로 상기 휴대용 단말기기(2) 측에서의 USB 인터페이스를 제어한다. 즉, 상기 USB 디바이스 컨트롤러(20)는 상기 휴대용 단말기기(2)와 상기 호스트(1) 간의 USB 통신을 제어하는 부분으로 USB 인터페이스와 관련된 상기 휴대용 단말기기(2) 상의 소프트웨어와 하드웨어가 포함된다.
그리고 상기 휴대용 단말기기(2)는 펌웨어와 각종 데이터 파일이 저장되는 메모리부(30)를 포함하여 구성된다. 상기 메모리부(30)는 상기 휴대용 단말기기(2)의 종류에 따라 휘발성 메모리(RAM)와 비휘발성 메모리(ROM)를 포함하는 다양한 형태의 저장장치로 구성된다.
상기 메모리부(30)는 디스크립터부(32)를 포함한다. 상기 디스크립터부(32)는 상기 휴대용 단말기기(2)에 대한 정보를 나타내는 부분으로 상기 펌웨어의 일부이다. 상기 디스크립터부(32)를 통해 상기 휴대용 단말기기(2)가 상기 호스트(1)에 대용량 저장 장치로 인식될 뿐만 아니라 휴먼 인터페이스 장치로 인식된다. 상기 디스크립터부(32)는 도 2에 도시된 바와 같이 여러 계층의 디스크립터(descriptor)로 이루어진다. 이때 디스크립터는 상기 휴대용 단말기기(2)의 여러 가지 특성을 구조체로 나타낸 것이다.
우선, 디바이스 디스크립터(Device descriptor)(34)는 상기 휴대용 단말기기(2)가 상기 호스트(1)에 상기 USB 통신매체(3)를 통해 연결된 후 가장 먼저 상기 호스트(1)로 전송되는 디스크립터이다. 상기 디바이스 디스크립터(34)에는 상기 휴대용 단말기기(2)의 전송속도에 관련된 스펙, 한번에 전송가능한 패킷의 크기 그리고 벤더(Vendor) ID에 관한 필드가 포함된다. 특히, 상기 디바이스 디스크립터(34)가 가지는 컨피규레이션 디스크립터(Configuration Descriptor)(36) 수에 관한 필드가 포함된다.
상기 컨피규레이션 디스크립터(36)는 상기 휴대용 단말기기(2)의 전원 소스, 최대 전력소모에 관한 필드가 포함된다. 또한 상기 컨피규레이션 디스크립터(36)가 가지는 인터페이스 디스크립터(Interface Descriptor)(38) 수에 관한 필드도 포함된다. 이때 상기 휴대용 단말기기(2)는 매스 스토리지 클래스와 휴먼 인터페이스 디바이스 클래스(Human Interface Device Class, 이하 HID 클래스라 칭함)를 포함하므로 상기 인터페이스 디스크립터(38) 수는 2 이상임이 바람직하다.
그리고 각각의 상기 인터페이스 디스크립터(38)는 상기 휴대용 단말기기(2)의 기능에 따라 어떤 클래스가 정의되는지에 관한 필드가 포함된다. 즉, 상기 휴대용 단말기기(2)가 HID 클래스와 매스 스토리지 클래스를 포함하므로 bInterfaceClass 필드값은 각각 03h와 08h로 정의된다. 이때 03h는 HID 클래스, 08h는 매스 스토리지 클래스로 USB 클래스 스펙상에 이미 설정되어 있는 값이다. 또한, 상기 인터페이스 디스크립터(38)는 엔드포인트(Endpoint) 수에 관한 필드도 포함된다. 이때 상기 엔드포인트는 상기 휴대용 단말기기(2)와 상기 호스트(1) 간의 실제 데이터들이 상호 전달되는 논리 포트를 의미한다.
먼저 bInterfaceClass = 08h인 상기 인터페이스 디스크립터(38)는 상기 휴대용 단말기기(2)가 대용량 저장장치로 동작될 때 데이터 교환에 관한 정보를 나타내는 엔드포인트 디스크립터(Endpoint Descriptor)를 포함하여 구성된다. 참고로 USB 통신상의 데이터 이동 방향은 상기 호스트(1)를 중심으로 정해진다. 즉, 상기 호스트(1)로 데이터가 들어오면 IN이 되고, 나가면 OUT이 된다. 또한 상기 전송 타입은 컨트롤(Control), 인터럽트(Interrupt), 벌크(Bulk), 아이소크로너스(Isochronous)의 4가지 방식이 있다. 상기 전송 타입 중 상기 휴대용 단말기기(2)가 대용량 저장장치로 동작될 때는 주로 시간에 구애받지 않고 대용량의 데이터 통신이 이루어지는 벌크 전송방식이 사용된다. 그러므로 bInterfaceClass = 08h인 상기 인터페이스 디스크립터(38)의 상기 엔드포인트 디스크립터는 벌크 IN 엔드포인트 디스크립터(Bulk IN Endpoint Descriptor)(40)와 벌크 OUT 엔드포인트 디스크립터(Bulk OUT Endpoint Descriptor)(42)가 포함된다. 상기 벌크 IN 엔드포인트 디스크립터(40)와 벌크 OUT 엔드포인트 디스크립터(42)에는 상기 휴대용 단말기기(2) 상에서의 엔드포인트 주소와 패킷사이즈에 관한 필드가 포함된다.
한편, bInterfaceClass = 03h인 상기 인터페이스 디스크립터(38)도 상기 휴대용 단말기기(2)가 휴먼 인터페이스 장치로 동작될 때 데이터 교환에 관한 정보를 나타내는 엔드포인트 디스크립터를 포함하여 구성된다. 참고로 상기 휴대용 단말기기(2)가 휴먼 인터페이스 장치로 동작될 때는 주로 일정시간마다 적은 량의 데이터 통신이 이루어지는 인터럽트 전송방식이 사용됨이 바람직하다. 상기 휴대용 단말기기(2)가 휴먼 인터페이스 장치로 동작될 때 상기 호스트(1)로 데이터가 전송되므로 상기 엔드포인트 디스크립터는 인터럽트 IN 엔드포인트 디스크립터(Interrupt IN Endpoint Descriptor)(44)가 필수적으로 포함된다. 물론 상기 휴대용 단말기기(2)가 어떤 휴먼 인터페이스 장치로 동작하느냐에 따라 인터럽트 OUT 엔드포인트 디스크립터(Interrupt OUT Endpoint Descriptor,미도시)가 포함될 수 있다. 상기 인터럽트 IN 엔드포인트 디스크립터(44)와 인터럽트 OUT 엔드포인트 디스크립터(미도시)에는 엔드포인트가 다룰 수 있는 패킷의 최대 크기와 폴링간격에 관한 필드가 포함된다.
그리고 bInterfaceClass = 03h인 상기 인터페이스 디스크립터(38)는 HID 디스크립터(Human Interface Device Descriptor)(46)를 더 포함하여 구성된다. 상기 휴대용 단말기기(2)를 하나 이상의 휴먼 인터페이스 장치로 동작되게 하려면 상기 HID 디스크립터(46)를 더 추가하면 된다. 상기 HID 디스크립터(46)는 상기 HID 디스크립터(46)의 하위 디스크립터인 리포트 디스크립터(Report Descriptor)(48)의 수에 관한 필드가 포함된다. 이때 리포트(Report)는 상기 휴대용 단말기기(2)가 상기 휴먼 인터페이스 장치로 동작될 때 데이터를 교환하기 위해 사용된다.
상기 리포트 디스크립터(48)는 상기 휴대용 단말기기(2)가 휴먼 인터페이스 장치로 동작될 때 실제로 발생되거나 측정되는 데이터와 실제 상기 휴대용 단말기 기(2)의 동작 상태를 나타내는 아이템(Item)들을 정의한다. 상세하게 설명하자면 상기 리포트 디스크립터(48)는 상기 휴대용 단말기기(2)가 휴먼 인터페이스 장치로 사용될 때의 일반적인 기능을 뜻하는 Usage Page를 포함한다. 일반적인 데스크탑 컨트롤, 시뮬레이션 컨트롤, 게임 컨트롤을 포함하는 상기 Usage Page이 HID Usage Tables에 정의되어 있다. 또한 상기 리포트 디스크립터(48)는 상기 Usage Page에서 개별적인 리포트의 기능을 뜻하는 Usage를 포함한다. 예를 들어 Generic Desktop Page는 포인터, 마우스, 조이스틱, 게임패드를 포함하여 다수의 상기 Usage가 정의된다. 이와 같이 상기 휴대용 단말기기(2)가 어떤 기능을 하고 어떤 방식으로 그 기능을 수행하게 되는지에 대한 실질적인 부분이 바로 상기 리포트 디스크립터(48)이다.
한편, 상기 휴대용 단말기기(2)에 구비된 입력부(50)는 사용자에 의해 직접 조작되는 부분이다. 상기 입력부(50)는 상기 휴대용 단말기기(2)가 가진 기능의 실행을 위한 입력장치일 뿐 아니라 상기 호스트(1)의 제어를 위한 이벤트를 발생시키는 입력장치가 된다. 상기 입력부(50)는 상기 휴대용 단말기기(2)의 종류에 따라 버튼 방식, 터치펜 방식, 터치스크린 방식, 키(key) 방식, 조그(jog) 방식을 포함한다.
그리고 제어부(60)는 상기 휴대용 단말기기(2)의 구동시 필요한 제어를 담당하는 부분으로 상기 휴대용 단말기기(2)가 휴먼 인터페이스 장치로 사용될 때 상기 입력부(50)에서 발생된 이벤트를 상기 USB 디바이스 컨트롤러(20)로 전달한다.
이하 상기한 바와 같은 구성을 가지는 본 발명에 의한 휴대용 단말기기의 호 스트 제어장치의 작용을 상세하게 설명한다.
도 3에 도시된 바와 같이 본 발명에 의한 실시예에 따른 휴대용 단말기기의 호스트 제어과정은 먼저 상기 휴대용 단말기기(2)가 USB 인터페이스를 통해 상기 호스트(1)와 연결된다(S100). 이때 상기 USB 디바이스 컨트롤러(20)와 상기 USB 호스트 컨트롤러(10)가 상기 USB 통신매체(3)를 통해 서로 연결된다. 상기 호스트(1)의 USB 포트(미도시)의 수가 부족할 시에는 상기 USB 디바이스 컨트롤러(20)와 상기 USB 호스트 컨트롤러(10)의 사이에 USB 허브(미도시)가 사용된다.
상술된 바와 같이 상기 휴대용 단말기기(2)와 상기 호스트(1)의 물리적 결합이 이루어지고 나면 상기 휴대용 단말기기(2)에 대한 정보를 주고 받는 이뉴머레이션(Enumeration) 과정이 수행된다(S200). 제 200단계에서 상기 호스트(1)는 상기 휴대용 단말기기(2)의 전송속도를 파악한다. 상기 휴대용 단말기기(2)의 종류에 따라 상기 전송속도는 달라진다. 상기 전송속도는 저속 모드(Low Speed), 풀 모드(Full Speed), 고속 모드(High Speed)가 있고 상기 고속 모드는 USB 2.0부터 지원된다. 상기 휴대용 단말기기(2)의 전송속도를 파악한 상기 호스트(1)는 상기 휴대용 단말기기(2)로 패킷의 최대 사이즈를 파악하기 위한 겟_디스크립터 리퀘스트(Get_Descriptor Request)를 전송한다. 상기 겟_디스크립터 리퀘스트에 대한 응답으로 상기 휴대용 단말기기(2)는 상기 호스트(1)로 상기 디바이스 디스크립터(34)를 전송한다. 이때 상기 호스트(1)와 상기 휴대용 단말기기(2)는 엔드포인트 0, 즉 어드레스 0으로 통신한다. 상기 휴대용 단말기로부터 상기 디바이스 디스크립터(34)를 수신받은 상기 호스트(1)는 상기 휴대용 단말기기(2)의 주소를 할당하 기 위한 셋_어드레스 리퀘스트(Set_Address Request)를 상기 휴대용 단말기기(2)로 전송한다. 이로써 상기 휴대용 단말기기(2) 고유의 어드레스가 할당된다. 상기 호스트(1)는 상기 어드레스로 상기 휴대용 단말기기(2)의 나머지 정보를 얻기 위해 상기 겟_디스크립터 리퀘스트를 상기 휴대용 단말기기(2)로 다시 전송한다. 상기 겟_디스크립터 리퀘스트에 대한 응답으로 상기 휴대용 단말기기(2)는 상기 디바이스 디스크립터(34)와 그 하위 디스크립터를 상기 호스트(1)로 전송한다.
도 4에 도시된 바와 같이 매스 스토리지 클래스가 정의된 상기 인터페이스 디스크립터(38)에 나타난 정보를 통해 상기 휴대용 단말기기(2)가 상기 호스트(1)에 대용량 저장장치로 인식된다(S210). 제 210단계에서 상기 인터페이스 디스크립터(38)와 함께 상기 호스트(1)로 전송된 상기 벌크 IN 엔드포인트 디스크립터(40)와 상기 벌크 OUT 엔드포인트 디스크립터(42)를 통해 상기 휴대용 단말기기(2)와 상기 호스트(1) 간에 데이터 교환이 가능해진다. 그리고 상기 휴대용 단말기기(2)의 플래시 메모리 또는 소형 하드 디스크의 ID 테이블을 통하여 제조회사, 메모리용량, 인터페이스 방식에 관한 정보가 상기 호스트(1)에 전달된다(S220). 이러한 정보에 해당되는 드라이버가 상기 호스트(1)에 로딩된다(S230).
다음으로 HID 클래스가 정의된 상기 인터페이스 디스크립터(38)에 나타난 정보를 통해 상기 휴대용 단말기가 상기 호스트(1)에 휴먼 인터페이스 장치로 인식된다(S240). 제 240단계에서 상기 인터페이스 디스크립터(38)와 함께 상기 호스트(1)로 전송된 상기 인터럽트 IN 엔드포인트 디스크립터(44)를 통해 상기 입력부(50)에서 발생된 이벤트가 상기 호스트(1)에 인식된다. 그리고 HID 클래스가 정의된 상기 인터페이스 디스크립터(38)에 포함된 상기 HID 디스크립터(46)와 리포트 디스크립터(48)가 상기 호스트(1) 측으로 전송된다(S250). 상기 호스트(1)는 HID 클래스가 정의된 상기 인터페이스 디스크립터(38)와 그 하위 디스크립터에 나타난 정보에 해당되는 HID 호환 드라이버를 상기 USB 드라이버부(14)에서 검색하여 로딩한다(S260). 이로써 상기 휴대용 단말기기(2)는 상기 로딩된 드라이버를 통해 USB 디바이스로 상기 호스트(1)에 설정된다(S270).
상술한 상기 휴대용 단말기기(2)의 이뉴머레이션 이후 상기 호스트(1)는 상기 휴대용 단말기기(2)로부터의 인터럽트를 기다리는 대기상태가 된다(S300).
우선 상기 휴대용 단말기기(2)가 대용량 저장장치로 상기 호스트(1)에 접근할 수 있다(S400). 이때 상기 호스트(1)의 제어에 따라 상기 휴대용 단말기기(2)에서 읽기 또는 쓰기 동작이 수행된다(S410). 이후 상기 호스트(1)는 상기 휴대용 단말기기(2)가 상기 호스트(1)와 연결된 상태인지를 판단하고(S420), 연결된 상태라면 다시 제 300단계로 회귀한다.
다음으로 상기 휴대용 단말기기(2)가 대용량 저장장치로 상기 호스트(1)에 접근하는 대신 상기 입력부(50)에서 이벤트가 발생된다(S500). 이때 상기 휴대용 단말기기(2)는 휴먼 인터페이스 장치로 동작된다. 그리고 상기 이벤트에 따른 커맨드가 포함된 데이터 프레임이 상기 호스트(1) 측으로 전송된다(S600). 이때 상기 데이터 프레임은 데이터의 시작을 알리는 동기 신호, 휴먼 인터페이스 장치의 제어 명령임을 알리는 데이터 코드 그리고 전송시 발생할 수 있는 에러를 정정하기 위한 CRC코드를 포함하여 구성된다. 상기 데이터 프레임은 상기 호스트(1)에서 상기 입 력부(50)의 이벤트에 따른 특정한 커맨드로 해석된다(S700). 그리고 상기 커맨드가 상기 호스트(1)에서 실행된다(S800). 이후 상기 호스트(1)는 상기 휴대용 단말기기(2)가 상기 호스트(1)와 연결된 상태인지를 판단하고(S900), 연결된 상태라면 다시 제 300단계로 회귀한다.
본 발명의 권리는 위에서 설명된 실시예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 기술분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.
위에서 상세히 설명한 바와 같은 본 발명에 의한 휴대용 단말기기의 호스트 제어장치 및 방법은 다음과 같은 효과를 얻을 수 있다.
휴먼 인터페이스 디바이스 클래스가 포함된 휴대용 단말기기는 상기 호스트를 제어하는 효과가 있다.
또한 상기 휴대용 단말기기가 대용량 저장장치와 함께 휴먼 인터페이스 장치로 사용되므로 기기의 활용도가 높아지는 효과가 있다.

Claims (11)

  1. 호스트의 제어를 위한 이벤트를 발생시키는 입력부와;
    호스트스와의 USB 통신을 제어하는 USB 디바이스 컨트롤러;
    호스트가 휴먼 인터페이스 디바이스로 인식할 수 있는 정보를 가지는 휴먼 인터페이스 디바이스 클래스 및 호스트가 대용량 저장장치로 인식될 수 있는 정보를 가지는 매스 스토리지 클래스가 각각 정의된 복수의 인터페이스 디스트립터를 포함하는 메모리; 그리고
    상기 입력부에서 발생된 이벤트를 USB 디바이스 컨트롤러에 전달하는 제어부를 포함하여 구성되고;
    호스트와 USB 인터페이스에 의한 통신에 의하여, 상기 복수의 인터페이스 디스크립터의 정보에 기초하여 저장장치 및 휴먼 인터페이스 디바이스로 각각 인식될 수 있는 것을 특징으로 하는 호스트 제어 기능이 구비된 휴대용 단말기기.
  2. 제 1 항에 있어서,
    상기 휴대용 단말기기는,
    엠피쓰리(MPEG Audio Layer-3,MP3)플레이어, 핸드폰, 개인 휴대용 정보단말기(personal digital assistant, PDA), 휴대용 멀티미디어 플레이어(portable multimedia player, PMP), 플레이스테이션 포터블(PlayStation Portable, PSP) 중 어느 하나임을 특징으로 하는 호스트 제어 기능이 구비된 휴대용 단말기기.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 디스크립터부는,
    상기 입력부의 이벤트에 따른 커맨드 정보를 나타내는 리포트 디스크립터를 포함하여 구성됨을 특징으로 하는 호스트 제어 기능이 구비된 휴대용 단말기기.
  4. 제 3 항에 있어서,
    상기 입력부는,
    상기 휴대용 단말기기의 종류에 따라 버튼 방식, 터치펜 방식, 터치스크린방식, 키(key) 방식, 조그(jog) 방식을 포함하여 구성됨을 특징으로 하는 호스트 제어 기능이 구비된 휴대용 단말기기.
  5. 제 4 항에 있어서,
    상기 휴대용 단말기기를 상기 호스트에 연결시키는 인터페이스는,
    유에스비 케이블 또는 울트라와이드밴드(Ultra WideBand;UWB)를 이용하는 무선 유에스비를 통한 인터페이스를 포함하여 구성됨을 특징으로 하는 호스트 제어 기능이 구비된 휴대용 단말기기.
  6. 제 5 항에 있어서,
    상기 휴대용 단말기기는,
    HID Usage Tables 내의 휴먼 인터페이스 장치들 중 하나 이상으로 구현됨을 특징으로 하는 호스트 제어 기능이 구비된 휴대용 단말기기.
  7. (A) 휴대용 단말기기가 유에스비 인터페이스를 통해 호스트와 연결되는 단계와;
    (B) 호스트와의 통신에 의하여, 휴대용 단말기에 내장된, 휴먼 인터페이스 디바이스 클래스 및 매스 스토리지 클래스가 각각 정의된 복수 개의 인터페이스 디스크립터에 기초하여, 호스트에 저장장치 또는 휴먼 인터페이스 디바이스로 인식되는 단계;
    (C) 상기 휴대용 단말기기에 구비된 입력부에서 이벤트가 발생되는 단계와;
    (D) 상기 이벤트에 따른 커맨드가 포함된 데이터 프레임이 상기 호스트 측으로 전송되는 단계와;
    (E) 상기 데이터 프레임이 상기 호스트에서 상기 이벤트에 따른 특정한 커맨드로 해석되는 단계; 그리고
    (F) 상기 해석된 커맨드가 상기 호스트에서 실행되는 단계를 포함하여 구성됨을 특징으로 하는 휴대용 단말기기의 호스트 제어방법.
  8. 제 7항에 있어서,
    상기 (B) 단계에서,
    (B1) 상기 휴대용 단말기기가 상기 호스트의 겟_디스크립터 리퀘스트에 대한 응답으로 디바이스 디스크립터를 상기 호스트로 전송하는 단계와;
    (B2) 상기 디바이스 디스크립터에 나타난 정보를 통해 상기 휴대용 단말기기가 상기 호스트에 대용량 저장 장치임과 동시에 휴먼 인터페이스 장치로 인식되는 단계와;
    (B3) 상기 휴대용 단말기기에 해당되는 드라이버가 상기 호스트에 로딩되는 단계; 그리고
    (B4) 상기 휴대용 단말기기가 상기 로딩된 드라이버를 통해 USB 장치로 상기 호스트에 설정되는 단계를 포함하여 구성됨을 특징으로 하는 휴대용 단말기기의 호스트 제어방법.
  9. 제 8항에 있어서,
    상기 (B2) 단계에서,
    상기 디바이스 디스크립터는 매스 스토리지 클래스와 휴먼 인터페이스 디바이스 클래스를 포함한 기타 클래스가 각각 정의된 복수 개의 인터페이스 디스크립터를 포함하여 구성됨을 특징으로 하는 휴대용 단말기기의 호스트 제어방법.
  10. 제 7항에 있어서,
    상기 (D)단계에서,
    상기 데이터 프레임은,
    데이터의 시작을 알리는 동기 신호, 해당 데이터 프레임이 휴먼 인터페이스 장치에 대한 제어 명령임을 알리는 데이터 코드 그리고 데이터 프레임 전송시 발생할 수 있는 에러를 정정하기 위한 CRC코드를 포함하여 구성됨을 특징으로 하는 휴대용 단말기기의 호스트 제어방법.
  11. 제 7항에 있어서,
    상기 (E)단계에서,
    상기 데이터 프레임은,
    상기 호스트에 로딩된 상기 HID 호환 드라이버에 의해 해석됨을 포함하여 구성됨을 특징으로 하는 휴대용 단말기기의 호스트 제어방법.
KR1020060130207A 2006-12-19 2006-12-19 휴대용 단말기기 및 이의 호스트 제어방법 KR101355779B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060130207A KR101355779B1 (ko) 2006-12-19 2006-12-19 휴대용 단말기기 및 이의 호스트 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060130207A KR101355779B1 (ko) 2006-12-19 2006-12-19 휴대용 단말기기 및 이의 호스트 제어방법

Publications (2)

Publication Number Publication Date
KR20080056963A KR20080056963A (ko) 2008-06-24
KR101355779B1 true KR101355779B1 (ko) 2014-01-24

Family

ID=39802968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060130207A KR101355779B1 (ko) 2006-12-19 2006-12-19 휴대용 단말기기 및 이의 호스트 제어방법

Country Status (1)

Country Link
KR (1) KR101355779B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180089327A (ko) * 2017-01-31 2018-08-08 한국전자통신연구원 Usb 인식 장치 및 방법, 그리고 이를 위한 리더의 동작 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101893124B1 (ko) 2012-03-07 2018-08-30 삼성전자주식회사 모바일 장치 및 유에스비 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311228B1 (en) 1997-08-06 2001-10-30 Microsoft Corporation Method and architecture for simplified communications with HID devices
KR20040100495A (ko) * 2003-05-23 2004-12-02 주식회사 정소프트 매스 스토리지 클래스 인터페이스 규격의 대용량 저장장치 기능과 컨텐츠 보호 기능을 지원하는 휴대용 응용기기, 이를 구비한 매스 스토리지 클래스 인터페이스시스템, 및 그 방법
JP2005182630A (ja) * 2003-12-22 2005-07-07 Sony Corp 携帯型情報端末装置およびその制御方法、並びに制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311228B1 (en) 1997-08-06 2001-10-30 Microsoft Corporation Method and architecture for simplified communications with HID devices
KR20040100495A (ko) * 2003-05-23 2004-12-02 주식회사 정소프트 매스 스토리지 클래스 인터페이스 규격의 대용량 저장장치 기능과 컨텐츠 보호 기능을 지원하는 휴대용 응용기기, 이를 구비한 매스 스토리지 클래스 인터페이스시스템, 및 그 방법
JP2005182630A (ja) * 2003-12-22 2005-07-07 Sony Corp 携帯型情報端末装置およびその制御方法、並びに制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180089327A (ko) * 2017-01-31 2018-08-08 한국전자통신연구원 Usb 인식 장치 및 방법, 그리고 이를 위한 리더의 동작 방법
KR102509982B1 (ko) * 2017-01-31 2023-03-14 한국전자통신연구원 Usb 인식 장치 및 방법, 그리고 이를 위한 리더의 동작 방법

Also Published As

Publication number Publication date
KR20080056963A (ko) 2008-06-24

Similar Documents

Publication Publication Date Title
JP6552517B2 (ja) Usbハブのためのポート切断充電機能
US7921244B2 (en) Data sharing and transfer systems and methods
US20180104574A1 (en) Universal game controller
US7895386B2 (en) USB interface provided with host/device function and its control method
US20090210608A1 (en) KVM switch and operation method thereof
US20050216620A1 (en) KVM and USB peripheral switch
TW594548B (en) Multimode non-standard universal serial bus computer input device
CN102749985B (zh) 动态调整总线时钟的方法及其装置
WO2015059654A1 (en) Universal serial bus (usb) hub for switching downstream ports between host mode and slave mode
JP2000066997A (ja) コンピュ―タ周辺装置用ユニバ―サルシリアルバスノ―ド
US20080244127A1 (en) Computer interface controller for portable plug-and-play peripherals
US20080215774A1 (en) Wireless Universal Serial Bus Dual Role Device
KR20120061711A (ko) 모바일 장치 및 이를 포함하는 컴퓨팅 시스템
TW200415828A (en) Interface integrated circuit device for a USB connection
JP2008500656A (ja) 2台のデュアルロールデバイスでジョブを処理する方法及びシステム
US20180048753A1 (en) Operating method for universal serial bus hub supporting role-switch function
KR20090048925A (ko) 유에스비 장치 및 그것을 포함하는 유에스비 시스템
US20050091437A1 (en) Multi-function universal serial bus wireless bridge
KR101355779B1 (ko) 휴대용 단말기기 및 이의 호스트 제어방법
KR20100090946A (ko) 다중 인터페이스 변환 장치 및 그 제어 방법
JP3102459U (ja) Usbとps/2共用の信号アダプタ
WO2013049980A1 (zh) 一种转接装置及转接方法
KR100758219B1 (ko) 유에스비 장치의 동작을 통제하는 방법
CN112770307A (zh) 一种多模式蓝牙适配器及其工作方法
JP2001282425A (ja) リモコン接続用制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant