KR20150068701A - 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법 - Google Patents

호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법 Download PDF

Info

Publication number
KR20150068701A
KR20150068701A KR1020130154666A KR20130154666A KR20150068701A KR 20150068701 A KR20150068701 A KR 20150068701A KR 1020130154666 A KR1020130154666 A KR 1020130154666A KR 20130154666 A KR20130154666 A KR 20130154666A KR 20150068701 A KR20150068701 A KR 20150068701A
Authority
KR
South Korea
Prior art keywords
power
host
usb device
signal
usb
Prior art date
Application number
KR1020130154666A
Other languages
English (en)
Other versions
KR102153384B1 (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 KR1020130154666A priority Critical patent/KR102153384B1/ko
Publication of KR20150068701A publication Critical patent/KR20150068701A/ko
Application granted granted Critical
Publication of KR102153384B1 publication Critical patent/KR102153384B1/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/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 호스트로부터 별도의 전원을 갖는 USB 장치를 켜거나 끌 수 있는 전원 제어 장치 및 이의 작동 방법에 관한 것이다. 이를 위한 본 발명의 전원 제어 장치는, 호스트와 연결된 USB(Universal Serial Bus) 장치에 대해, 호스트에서 인코딩하여 전송한 USB 장치의 전원을 켜거나 끄기 위한 전원 온/오프 신호를 수신하는 수신부; 및 전원 온/오프 신호를 디코딩하고, 디코딩 결과를 근거로 전원부에 대한 전원 제어 신호를 생성하여 전원부로 송신하는 처리부를 포함하며, 전원 온/오프 신호는 호스트와 USB 장치간 데이터 송수신에 사용되는 SETUP 단계, DATA 단계 및 STATUS 단계 중, SETUP 단계의 SETUP 패킷에 포함되어 송신되는 것을 특징으로 한다.

Description

호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법{POWER CONTROL APPARATUS FOR POWER ON OR OFF OF USB DEVICE FROM HOST AND METHOD FOR OPERATING THE SAME}
본 발명은 호스트로부터 별도의 전원을 갖는 USB 장치를 켜거나 끌 수 있는 전원 제어 장치 및 이의 작동 방법에 관한 것이다.
USB(Universal Serial Bus) 장치는 4개의 선을 이용하여 호스트 컴퓨터와 연결된다. 이들 4개의 선 중 2개의 선은 전원(5V, 0V)이며 다른 2개의 선은 데이터+와 데이터- 이다. 이러한 USB 장치는 호스트에 연결되면 일련의 초기화 절차를 통하여 인식되고 그 후, 장치의 번호가 할당되어 통신이 가능하다. 또한, USB 장치는 수동적으로 응답하기만 한다. 이에 따라, 데이터를 쓸 때는 호스트에서 먼저 어느 장치에 데이터를 쓰는 것인지 토큰을 보내 주고 ACK을 받은 다음에 데이터를 쓰도록 되어 있다. 또한 USB 장치는 데이터를 읽을 때, 어느 장치로부터 데이터를 읽을 것인지 토큰을 보내 준 후에 ACK을 받고 나서 데이터가 수신되도록 되어 있다. 이러한 방식은 SD 카드와 비슷하나 USB에서는 다수의 장치가 HUB를 통해 연결될 수 있으므로 별도의 어드레싱이 필요하다는 것이 다르다. 하지만, USB 장치의 이러한 방식은 SD 카드 또한 버스 방식으로 연결되는 경우를 위해 어드레싱이 사용될 수도 있다.
이러한 USB 장치는 1.5Mbps 속도의 Low-Speed, 12Mbps의 Full-Speed 장치, USB2.0에서 규격화된 480Mbps의 High-speed 장치, 그리고 USB3.0 규격에 의한 최대 5Gbps의 Super-Speed 장치로 나눌 수 있다. USB3.0 규격의 경우 5개의 핀이 추가되었다. 하지만 역호환성이 유지되도록 표준화되어 있어 기존의 장치 감지나 초기화 부분은 같이 사용된다.
이러한 스스로의 전원을 가지는 USB 장치(self-powered USB devices)의 경우, 보통 외부 전원을 사람이 켜거나 꺼주어야 한다. 대부분의 경우 사람이 전원을 켜는 것은 특별히 불편하지는 않으나, 원격으로 호스트에 접속한 경우에는 프로그램을 사용하여 외부 전원을 켜고 끄는 것이 필요하며 일반적인 장치도 USB 인터페이스를 통하여 외부 전원을 자동으로 켤 수 있다면 편리할 것이다.
이에 관련하여, 발명의 명칭이 "USB 호스트 장치 및 그 전원 관리 방법"인 한국공개특허 제2013-0074055호가 존재한다.
본 발명은 외부에 별도의 전원을 갖는 USB 장치가 USB 포트를 통해 호스트에 연결되어 있을 때, 호스트를 통한 USB 장치의 전원 온/오프를 가능케 하는 전원 제어 장치 및 이의 작동 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 호스트를 통해 USB 장치의 전원 온/오프 상태를 확인할 수 있는 전원 제어 장치 및 이의 작동 방법을 제공하는데 그 목적이 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 전원 제어 장치는 호스트와 연결된 USB(Universal Serial Bus) 장치에 대해, 호스트에서 인코딩하여 전송한 USB 장치의 전원을 켜거나 끄기 위한 전원 온/오프 신호를 수신하는 수신부; 및 전원 온/오프 신호를 디코딩하고, 디코딩 결과를 근거로 전원부에 대한 전원 제어 신호를 생성하여 전원부로 송신하는 처리부를 포함하며, 전원 온/오프 신호는 호스트와 USB 장치간 데이터 송수신에 사용되는 SETUP 단계, DATA 단계 및 STATUS 단계 중, SETUP 단계의 SETUP 패킷에 포함되어 송신되는 것을 특징으로 한다.
또한, 처리부는, 수신부를 통해 상기 호스트로부터 전원부에 대한 상태 확인 요청을 수신하면, 전원부에 대한 상태 확인 후, 상태 확인 정보를 상기 호스트로 송신할 수 있다.
또한, 상태 확인 요청 정보는, USB 제어 전달에 사용되는 SETUP 단계, DATA 단계 및 STATUS 단계 중, SETUP 단계의 SETUP 패킷에 포함되어 송신될 수 있다.
본 발명의 전원 제어 장치 및 이의 작동 방법에 따르면 외부에 별도의 전원을 갖는 USB 장치에 대해, 호스트를 통한 USB 장치의 전원 온/오프가 가능하여, USB 장치에 대해 전원선을 연결해둔 상태에서 필요한 경우에만 전원을 인가할 수 있으므로 전력 소비를 줄일 수 있고, 원격으로 호스트에 접속할 때 직접 USB 장치가 있는 곳까지 이동할 필요 없이 원격으로 USB 장치의 전원을 조작할 수 있는 장점을 갖는다.
또한, 본 발명의 전원 제어 장치 및 이의 작동 방법에 따르면 호스트를 통해 USB 장치의 전원 온/오프 상태를 확인할 수 있는 장점을 갖는다.
도 1은 본 발명의 일 실시예에 따른 USB 장치의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 전원 제어 장치의 블록도이다.
도 3은 제어 전달 통신에 이용되는 SETUP 단계의 흐름에 대한 도면이다.
도 4는 제어 전달 통신에 이용되는 DATA 단계의 흐름에 대한 도면이다.
도 5는 제어 전달 통신에 이용되는 STATUS 단계의 흐름에 대한 도면이다.
도 6은 USB 표준에 따른 SETUP 패킷의 구성을 나타내는 도표이다.
도 7은 USB 표준에 따른 SETUP 패킷의 내용을 나타내는 도표이다.
도 8은 본 발명의 일 실시예에 따른 전원 제어 장치의 작동 방법에 대한 흐름도이다.
도 9는 본 발명의 일 실시예에 따라 호스트에서 USB 장치의 전원을 켜는 방법에 대한 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 도 1 및 도 2를 참조로 본 발명의 실시예에 따른 USB 장치(10)에 대하여 설명하도록 한다. 도 1은 본 발명의 일 실시예에 따른 USB 장치(10)의 블록도이다. 본 발명의 일 실시예에 따른 USB 장치(10)는 전원부(11), 인터페이스 처리부(12) 및 기능 처리부(13)를 포함하여 구성된다. 이하의 실시예에서, USB 장치(10)는 호스트 컴퓨터와 연결된 단자를 통한 전원 공급뿐만 아니라, 별도의 전원부를 통해 전원이 공급되어야 작동되는 USB 장치(10)를 나타낸다.
전원부(11)는 본 발명의 USB 장치(10)에 전원을 공급하는 기능을 한다. 이러한 전원부(11)는 외부 전원 콘센트를 통해 또는 배터리를 통해 전원을 공급할 수 있다. 또한, 예를 들어, 스위치와 같은 전원 버튼을 통해 USB 장치(10)에 전원을 공급 또는 차단할 수 있다.
인터페이스 처리부(12)는 USB 장치(10)와 호스트(20)간의 연결을 담당한다. 즉, 인터페이스 처리부(12)는 예를 들어, 프린터와 같이 USB 선을 통해 호스트 컴퓨터와 연결되고, USB 프로토콜 처리를 통해 장치 인식 및 데이터 송수신을 처리하며 외부 전원을 통해 전원을 공급받는 USB 장치(10)와 소프트웨어 및 하드웨어적인 연결을 수행한다.
또한, 인터페이스 처리부(12)는 본 발명의 전원 제어 장치(100)를 포함하여 구성될 수 있다. 이러한 전원 제어 장치(100)는 호스트를 통한 본 발명의 USB 장치(10)의 전원 온 또는 오프, 그리고 USB 장치(10)의 전원 켜짐 상태 여부를 판단하는 기능을 한다. 이를 위해, 본 발명의 전원 제어 장치(100)는 수신부(110), 처리부(120) 및 송신부(130)를 포함하여 구성될 수 있다.
수신부(110)는 호스트(20)와 연결된 USB 장치(10)에 대해, 호스트에서 인코딩하여 전송한 USB 장치(10)의 전원을 켜거나 끄기 위한 전원 온/오프 신호를 수신하는 기능을 한다. 즉, 수신부(110)는 호스트(20)에서 송신한 USB 장치(10)의 전원 인가 또는 차단 요청 신호를 수신하는 기능을 한다. 이러한 전원 온/오프 신호는 호스트(20)에서 만들어 USB 장치(10)로 송신된다. 즉, 호스트(20)와 USB 장치(10) 간의 데이터 송수신은 USB 데이터 송수신에 대한 표준에 따라, 제어 전달, 인터럽트 전달, 등시 전달 및 대량 전달(control transfer, interrupt transfer, isochronous transfer, bulk transfer)로 나누어지는데, 본 발명에서는 전원 신호의 전달을 위해 제어 전달(control transfer)을 사용한다. 여기서, 제어 전달은 일반적으로 SETUP 단계(stage), DATA 단계 및 STATUS 단계를 거쳐 이루어진다. 또한, 여기서 전원 온/오프 신호는 이들 단계 중 SETUP 단계의 SETUP 패킷을 통하여 송신될 수 있다. 이러한 SETUP 패킷에 대한 서술은 도 3 내지 7을 참조로 보다 상세히 이루어진다.
처리부(120)는 수신부(110)를 통해 수신한 전원 온/오프 신호를 근거로, USB 장치(10)의 전원을 온 또는 오프시키는 기능을 한다. 구체적으로, 처리부(120)는 먼저, 수신부(110)를 통해 수신한 전원 온/오프 신호를 디코딩한다. 즉, 처리부(120)는 디코딩 과정을 통해, 수신부(110)를 통해 수신한 신호가 전원 온/오프 요청 신호인지, 아니면 이하에서 언급되는 상태 확인 요청 신호인지를 판단할 수 있다. 그 후, 이러한 디코딩 결과를 근거로, 전원 온/오프 신호가 수신되면, 처리부(120)는 해당 신호가 전원 인가 요청인지 또는 전원 차단 요청인지를 더 판단한다. 그 후, 처리부(120)는 수신한 전원 인가 요청 또는 전원 차단 요청에 근거하여, 전원부에 대한 전원 제어 신호를 생성한다. 즉, 여기서 전원 제어 신호는 전원부(11)를 통한 전원 인가 또는 차단을 제어하는 신호이다.
또한, 본 발명의 다른 실시예에 따라, 호스트(20)에서 USB 장치(10)의 전원 인가 상태에 대한 확인을 원한다고 가정하자. 이 때, 호스트(20)는 USB 장치(10)로 전원부(11)에 대한 상태 확인 요청 신호를 송신한다. 이러한 상태 확인 요청 신호는 수신부(110)를 통해 본 발명의 전원 제어 장치(100)에서 수신된다. 이렇게 상태 확인 요청 신호를 수신하면, 처리부(120)는 전원부(11)에 대한 상태 확인 후, 상태 확인 정보를 호스트(20)로 송신한다. 즉, 처리부(120)는 USB 장치(10)에 전원이 인가되어 있는지 또는 차단되어 있는지를 확인한 후, 이에 대한 상태 확인 정보를 송신부(130)를 통해 호스트(20)로 송신한다. 여기서, 상태 확인 요청 신호 는 전원 온/오프 신호와 마찬가지로, SETUP 패킷에 포함되어 송신될 수 있으며, 전원의 상태 정보는 후속하는 DATA 단계의 DATAx 패킷에 의해 전달될 수 있다. 여기서, SETUP 패킷에 대한 서술은 이하에서 도 3 내지 도 7을 참조로 상세히 이루어지므로, 여기선 생략된다.
상술한 본 발명의 전원 제어 장치(100)는 전원부(11)를 통해 전원이 공급되는 것이 아닌 USB 버스에서 공급되는 전류를 이용한다. 즉, 본 발명의 전원 제어 장치(100)는 USB 버스에서 제공하는 전원(5V,0V)를 사용하므로, USB 장치(10) 의 최소 영역만 전원을 공급하고 호스트에서는 특별히 정의된 패킷을 USB 장치(10)에 보냄으로써 전원을 켜거나 끄도록 하는 것이 가능하다. 이를 통해, USB 장치(10)에 전원이 인가되어 있지 않더라도, USB 포트를 통해 USB 장치(10)의 전원의 인가가 가능하다. 또한 USB 장치(10)에 전원이 인가된 상태에서도, 전원부(11)를 이용하는 것이 아닌 USB 포트를 이용하므로, 전원부(11)의 효율적인 운용이 가능하게 된다.
일반적으로 USB 장치는 자신이 완전히 준비가 된 상태에서 자신의 존재를 호스트에 알리기 위해 풀-업(pull-up) 저항을 인에이블시킨다. 따라서, 상술한 외부 전원을 제어하는 동작은 USB 장치(10)가 준비되기 전에 이루어지게 된다. USB 장치(10)의 일부에만 USB 버스에서 공급하는 전원을 사용하는 것은, 이더넷(Ethernet)에서 Wake on LAN 기능을 구현하기 위해 칩의 최소영역만 전원을 공급하여 특정 패턴이 입력되는 것을 감시하는 것과 비슷하다. 여기서, Wake on LAN 기능은 이더넷에 연결된 PC를 특별히 정의된 매직 패킷을 사용하여 켜는 기능을 의미한다.
또한, USB는 고속통신을 위한 차동직렬 선을 사용한다. 그러므로, USB에서 전원을 켜거나 끄게하는 신호를 전달하기 위해, D+, D- 선에 다른 것을 연결하는 것은 바람직하지 않다는 것이 이해되어야 한다.
마지막으로, USB 장치(10)에 포함된 기능 처리부(13)는 실질적인 USB 장치(10)의 기능 즉, 예를 들어 프린터의 경우 호스트 컴퓨터에서 보내 준 데이터 예를 들어, Postscript, PCL 등을 출력하는 기능을 한다.
이하 도 3 내지 도 7을 참조로, 본 발명의 USB 장치와 호스트간 송수신되는 SETUP 패킷을 더 서술한다. 도 3은 제어 전달 통신에 이용되는 SETUP 단계의 흐름에 대한 도면이다. 도 4는 제어 전달 통신에 이용되는 DATA 단계의 흐름에 대한 도면이다. 도 5는 제어 전달 통신에 이용되는 STATUS 단계의 흐름에 대한 도면이다. 도 6은 USB 표준에 따른 SETUP 패킷의 구성을 나타내는 도표이다. 도 7은 USB 표준에 따른 각 요구(bRequest)에 대한 SETUP 패킷의 내용을 나타내는 도표이다.
앞서 언급한 바와 같이, USB 장치와 호스트간의 제어 전달 통신은 SETUP, DATA 그리고 STATUS 단계를 거친다. 이들 단계 중, 본 발명의 전원 제어 장치는 SETUP 단계에서 송신 되는 SETUP 패킷에 해당 데이터를 추가하여 전원 관련 명령 전달 기능을 수행할 수 있으며, 전원 상태 확인은 후속하는 DATA 입력 단계를 사용할 수 있다. 즉, 본 발명을 통해 이루어지는 제어 전달은 SETUP 단계만으로 처리가 가능하다. 이러한 SETUP 단계는 도 3에 도시된 바와 같이, SETUP 패킷과 선택적인 DATA(DATA0) 패킷 그리고 ACK 패킷으로 구성된다. 여기서, DATA 입력 단계는 도 4의 윗부분에 도시된 바와 같이 호스트에서 보내 주는 IN 패킷과 장치에서 보내 주는 DATAx(x=0또는1) 또는 STALL, NAK 패킷, 그리고 다시 호스트에서 보내 주는 ACK 패킷으로 구성된다. 그리고, 데이터 입력 단계가 있는 경우에는 STATUS 단계도 포함해야 하는데 도 5에 나타난 바와 같이 호스트가 STATUS 패킷을 보낸 후 길이가 0인 DATA 패킷을 보내고, 장치(USB device)가 ACK를 보내게 되어 있다. 전달될 데이탸의 양이 많은 경우 최대 패킷 크기에 맞추어 중간에 많은 수의 데이터 전달 단계를 거치며 마지막에 STATUS 단계는 한 번 처리된다.
또한, 이러한 SETUP 패킷은 도 6에 도시된 것처럼 구성될 수 있다. 도 6에서, bmRequestType은 제어의 방향과 종류, 상대를 나타낸다. bRequest는 실제 제어의 내용을 나타내며 이들 각 속성에 대한 내용은 도 6 및 도 7에 상세히 도시된다.
전원부를 포함하는 장치의 전원 온과 오프를 위해 RequestType에서 vendor specific한 명령을 정의할 수도 있고 표준에 반영한다면 Standard 타입에 정의할 수도 있다. Standard 타입으로 정의할 경우는 이미 정의되어 있는 bRequest 값 외의 값을 추가하면 된다. 예를 들어 추가되는 명령을 POWER_ON(0xF0)과 POWER_OFF(0xF1)와 같이 정의하고 나머지 값은 0으로 할 수도 있다.
마찬가지로 호스트에서 USB 장치의 자체 전원의 온/오프 상태를 알기 위해 별도의 새로운 bRequest SETUP 명령을 정의하여(예를 들면 GET_POWER_STATUS(0xF2)) USB 장치에 보내고 IN 토큰을 통해 USB 장치로부터 자체 전원의 상태를 읽어내는 방법이 가능하다(Vendor specific한 request를 사용할 수도 있다).
위와 같이 SETUP 패킷을 통해 호스트에서 USB 장치로 별도의 전원을 켜거나 끄도록 하는 메시지를 보내 주면 USB 장치의 칩은 전원부에 신호를 전달하여 전원을 켜거나 끄게 할 수 있다. 이러한 동작은 USB 버스 파워로 동작하는 프로세서를 통해 할 수도 있고 별도 회로를 구현하여 할 수도 있으나 별도로 간단한 회로를 구성하는 것이 전력소모에 있어 훨씬 효율적이고 구현도 간단하다. USB 장치의 외부 전원은 디지털 신호를 통해 켜거나 끄는 것이 가능해야 한다. 이러한 켜거나 끄는 과정은 예를 들어, 릴레이 또는 파워 스위치를 사용하여 구현 가능하다.
위에 설명한 최소 기능을 위해서 별도의 디지털 회로를 구현하여 처리하는 경우, 이 회로는 앞에 설명된 전원 온/오프 SETUP 패킷을 디코딩하여 시스템 전원을 제어하기 위한 신호를 발생하고 전원 온/오프 상태를 알기 위한 SETUP 패킷을 디코딩하여 ACK 신호로 응답하고, 뒤따르는 IN 패킷에 응답하여 DATA0 패킷을 통해 응답을 해 준 후, STATUS 패킷과 길이가 0인 데이터 패킷에 응답하여 ACK을 올려 보내주는 기능만 하면 된다. 최근의 좀 더 복잡한 USB 장치의 경우에는 자신의 초기화가 다 끝난 후에 풀-업 저항을 인에이블 시킴으로써 호스트에게 자신의 존재를 알리는 경우도 많다. USB 장치가 연결되어 있으나 전원이 켜 있지 않은 경우에는 풀-업 저항이 인에이블되어 있지 않고 어떤 종류(low-speed/full-speed/high-speed/super-speed)인지 알 수 없는 상태에서 전원을 켜야 한다.
따라서 USB 호스트는 low-speed를 가정하여 링크 속도를 설정한 후 POWER_ON 명령을 보내보고 ACK가 있으면 전원이 켜진 것을 알 수 있고 ACK가 없는 경우는 다시 full-speed를 가정하여 링크 속도를 설정한 후 POWER_ON 명령을 보내어 ACK가 있으면 전원이 켜진 것을 알 수 있다. USB 장치에서도 단순한 부착 상태에서도 이러한 것이 가능하도록 최소기능을 구현해 두어야 한다. 또한, high-speed나 super-speed인 경우에는 별도의 프로토콜을 통해 속도를 올리게 된다. 전원을 끄는 경우는 어떤 장치가 연결되어 있는지 알고 있으므로 보통의 절차를 완료한 후에 마지막으로 POWER_OFF 패킷을 보내면 되고 GET_POWER_STATUS로 확인을 할 수도 있다.
이하 도 8을 참조로, 본 발명의 일 실시예에 따른 전원 제어 장치의 작동 방법을 서술한다. 도 8은 본 발명의 일 실시예에 따른 전원 제어 장치의 작동 방법에 대한 흐름도이다. 이하의 서술에서 도 1 내지 도 7을 참조로 서술한 사항과 중복되는 부분은 명세서의 명료함을 위해 생략된다.
상술한 바와 같이, 본 발명의 전원 제어 장치는 크게 2가지 실시예로 활용될 수 있다. 이들 실시예 중 제 1 실시예는 본 발명의 전원 제어 장치를 통해, 호스트에서 USB 장치의 전원을 인가 또는 차단하는 것이고, 제 2 실시예는 본 발명의 전원 제어 장치를 통해, 호스트에서 USB 장치의 전원 여부를 판단하는 것이다. 이하의 서술에서 S801 단계 부터 S804 단계는 제 1 실시예에 해당하고, S805 단계 부터 S808 단계는 제 2 실시예에 해당한다. 또한, 이하에서 언급되는 USB 장치는 전원부를 포함하여, 전원부로부터 공급되는 전류 또는 전압을 통해 구동되는 장치를 의미한다.
호스트(20)에서 USB 장치의 전원을 온 또는 오프시킬 때, 먼저, 호스트(20)에 의해 전원 제어 장치(100)로 인코딩하여 전송한 전원 온/오프 신호를 송신하는 단계(S801)가 수행된다. 여기서, 전원 온/오프 신호는 위에서 언급한 것처럼, SETUP 패킷에 포함되어 송신되는 신호로서, USB 장치의 전원 인가 또는 전원 차단을 요청하는 신호이다. 또한, SETUP 패킷에 대한 것은 도 3 내지 도 7을 참조로 상세히 언급되었으므로, 여기서 이에 대한 추가적인 서술은 생략한다.
그 후, 전원 제어 장치(100)에서 S801 단계에서 수신한 전원 온/오프 신호를 디코딩하는 단계(S802)가 수행된다. S802 단계에서는 S801 단계에서 수신한 신호를 디코딩하여, 이 신호가 전원 온/오프 신호인지 상태 확인 요청 신호인지를 판단한다. 이러한 판단 결과, 신호가 전원 온/오프 신호로 판단되면, 신호에 대응하는 전원 온 또는 오프를 위한 전원 제어 신호를 생성한다.
그 후, 전원 제어 신호를 전원부로 송신하여, 해당 전원 온 또는 오프 과정(S803)을 수행한다. 앞서 언급한 것처럼, 전원 제어 신호는 전원부를 통한 전원 인가 또는 차단을 제어하는 신호이다. 이렇게 전원 제어 신호를 통하여 전원부에 대한 전원 인가 또는 차단을 수행한 후, 전원 제어 장치(100)에서 호스트(20)로 ACK 패킷을 송신하는 단계(S804)가 수행된다.
또한, 다른 실시예에 따라, 호스트(20)에서 USB 장치의 전원 인가 여부를 확인할 때, 먼저 호스트(20)에서 전원 제어 장치(100)로 인코딩하여 전송한 상태 확인 요청 신호를 송신하는 단계(S805)가 수행된다. S805 단계에서 상태 확인 요청 신호는 앞서 S801 단계에서 언급된 전원 온/오프 신호와 마찬가지로, SETUP 패킷에 포함되어 송신된다. 또한, SETUP 패킷에 대한 것은 도 3 내지 도 7을 참조로 상세히 언급되었으므로, 여기서 이에 대한 추가적인 서술은 생략한다.
그 후, 수신한 상태 확인 요청 신호를 디코딩한 후(S806), 전원부를 통해 USB 장치에 전원이 온 또는 오프인지에 대한 상태 판단이 수행된다(S807). S807 단계에서, 상태 판단이 완료되면, 이에 대한 정보를 다시 호스트(20)로 송신한다(S808). 그 후 호스트(20)에서 STATUS 패킷과 함께 길이가 0인 데이터 패킷이 오게 되면 ACK 신호로 응답해 준다.
본 발명에 따른 호스트에서 USB 장치의 자체 전원을 켜는 방법은 도 9와 같다. 일반적으로 USB 장치는 여러 개의 포트 중에서 어떤 포트에 어떠한 장치가 연결되면, 그것을 감지한 후 해당 포트에 파워를 추가한 후 어떤 장치인지 알아낸다. 이러한 과정 이후, USB 장치는 해당 장치에 reset을 명령을 보내고 다시 해당 장치가 무슨 장치인지 Configuration descriptor, Device descriptor, Interface descriptor, Endpoint descriptor들을 판독하게 된다. 이러한 판독 과정을 거쳐 각 인터페이스를 해당하는 드라이버에 연결하는 작업을 수행한다. 여기서, Configuration descriptor는 자체 power, 즉 자가-전원을 가진 장치인지 나와 있지만, 본 발명은 해당 USB 장치가 자가-전원이 있는지도 모르는 상태에서 동작하는 것이므로 플러그-앤-플레이(plug-and-play) 개념이 아니라 주로 원격으로 특정 장치의 전원을 켜고 끄는 것을 목적으로 한다. 이를 위해, 본 발명에 따른 호스트에서 USB 장치의 자체 전원을 켜는 방법은 도 9에 도시된 처리 과정을 통해 수행된다.
또한, 상술한 것처럼, USB 장치가 연결되어 있으나 전원이 켜 있지 않은 경우에는 연결된 USB가 어떤 종류인지 즉, low-speed, full-speed, high-speed ,super-speed 중 어느 것인지 알 수 없는 상태에서 전원을 켜야 한다. 따라서, 호스트는 먼저, low-speed를 가정하여 링크 속도를 설정한 후 POWER_ON 패킷을 전원 제어 장치로 송신한다.
그 후, ACK 신호의 수신 여부를 판단하는 단계(S902)가 수행된다. S902 단계에서, ACK 신호를 수신하였다고 판단되면 제어는 S906 단계로 전달되어 USB 디바이스가 부착되고 전원이 켜졌다고 판단한다. 그렇지 않다면 단계는 S903 단계로 전달한다.
S903 단계는 ACK 신호를 수신하지 못할 때 수행되는 단계로서, full-speed를 가정하여 링크 속도를 설정한 후 POWER_ON 패킷을 전원 제어 장치로 송신하는 단계이다.
그 후, ACK 신호의 수신 여부를 판단하는 단계(S904)가 수행된다. S904 단계에서, ACK신호를 수신하였다고 판단되면, 제어는 S906 단계로 전달되어, USB 디바이스가 부착되고 전원이 켜졌다고 판단하게 된다. 그렇지 않다면, 제어는 S905 단계로 전달된다.
S905 단계는 USB 장치가 high-speed 또는 super-speed인지의 판단을 위해, 별도의 프로토콜을 통해 속도를 더 올리게 된다. 속도 증가를 통해 ACK 신호를 수신하게 되면, 제어는 S906 단계로 전달되고, 그렇지 않다면 디바이스의 부착 여부를 알 수 없음으로 판단하게 된다.
또한, 전원을 끄는 경우는 어떤 장치가 연결되어 있는지 알고 있으므로 보통의 절차를 완료한 후에 마지막으로 POWER_OFF 패킷을 보내면 되고 GET_POWER_STATUS로 확인을 할 수도 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : USB 장치 100 : 전원 제어 장치
110 : 수신부 120 : 처리부
130 : 송신부

Claims (1)

  1. 호스트와 연결된 USB(Universal Serial Bus) 장치에 대해, 상기 호스트에서 인코딩하여 전송한 상기 USB 장치의 전원을 켜거나 끄기 위한 전원 온/오프 신호를 수신하는 수신부; 및
    상기 전원 온/오프 신호를 디코딩하고, 디코딩 결과를 근거로 전원부에 대한 전원 제어 신호를 생성하여 상기 전원부로 송신하는 처리부를 포함하며, 상기 전원 온/오프 신호는 상기 호스트와 상기 USB 장치간 데이터 송수신에 사용되는 SETUP 단계, DATA 단계 및 STATUS 단계 중, SETUP 단계의 SETUP 패킷에 포함되어 송신되는 것을 특징으로 하는, 전원 제어 장치.
KR1020130154666A 2013-12-12 2013-12-12 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법 KR102153384B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130154666A KR102153384B1 (ko) 2013-12-12 2013-12-12 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130154666A KR102153384B1 (ko) 2013-12-12 2013-12-12 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법

Publications (2)

Publication Number Publication Date
KR20150068701A true KR20150068701A (ko) 2015-06-22
KR102153384B1 KR102153384B1 (ko) 2020-09-08

Family

ID=53516079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130154666A KR102153384B1 (ko) 2013-12-12 2013-12-12 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법

Country Status (1)

Country Link
KR (1) KR102153384B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018973A (zh) * 2019-04-10 2019-07-16 广州朗国电子科技有限公司 电子白板***的操作控制方法及操作控制装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030024068A (ko) * 2001-09-15 2003-03-26 엘지전자 주식회사 유에스비 전원 제어장치
JP2005129008A (ja) * 2003-09-29 2005-05-19 Sharp Corp ホスト側コントローラ,usbシステム,通信コントローラ,パケット通信方法,パケット通信プログラムおよび記録媒体
KR100633120B1 (ko) * 2005-08-19 2006-10-11 엠텍비젼 주식회사 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치
KR20130074055A (ko) * 2011-12-26 2013-07-04 삼성전자주식회사 Usb 호스트 장치 및 그 전원 관리 방법
JP2013142908A (ja) * 2012-01-06 2013-07-22 Canon Inc 電子機器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030024068A (ko) * 2001-09-15 2003-03-26 엘지전자 주식회사 유에스비 전원 제어장치
JP2005129008A (ja) * 2003-09-29 2005-05-19 Sharp Corp ホスト側コントローラ,usbシステム,通信コントローラ,パケット通信方法,パケット通信プログラムおよび記録媒体
KR100633120B1 (ko) * 2005-08-19 2006-10-11 엠텍비젼 주식회사 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치
KR20130074055A (ko) * 2011-12-26 2013-07-04 삼성전자주식회사 Usb 호스트 장치 및 그 전원 관리 방법
JP2013142908A (ja) * 2012-01-06 2013-07-22 Canon Inc 電子機器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018973A (zh) * 2019-04-10 2019-07-16 广州朗国电子科技有限公司 电子白板***的操作控制方法及操作控制装置

Also Published As

Publication number Publication date
KR102153384B1 (ko) 2020-09-08

Similar Documents

Publication Publication Date Title
EP1002275B1 (en) A universal serial bus device controller
TWI393009B (zh) 資料共享及傳輸之系統及方法
US7337259B2 (en) Smart card virtual hub
EP1643372B1 (en) USB device with secondary USB on-the-go function
US20040148451A1 (en) USB controlling apparatus for data transfer between computers and method for the same
JP2010086524A (ja) 省電力機能を有するブリッジ装置
US20080178011A1 (en) Method and apparatus for usb/otg connection providing active hnp requests and saving host power
US20060075152A1 (en) USB attach detection for USB 1.1 and USB OTG devices
US20140006654A1 (en) Device connect detection
JP2006500679A (ja) Usb接続のためのインタフェース集積回路デバイス
KR20140069054A (ko) 대역폭 설정가능한 io 커넥터
JPH10301898A (ja) 電子機器及びインタフェース回路
WO2014023247A1 (zh) 嵌入式设备和基于该设备进行数据通信的控制方法
US7549009B2 (en) High-speed PCI interface system and a reset method thereof
KR102153384B1 (ko) 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법
JP2008065364A (ja) 拡張システム、アドインカード及び外部装置
CN116541329A (zh) 一种数据传输方法、装置、设备及介质
JP2008129836A (ja) 処理装置
JP2003337639A (ja) Iso準拠の接続端子を備えた電子装置及びアダプタ装置
KR100980311B1 (ko) Usb 디바이스 시스템 및 그것을 제어하는 방법
JP4823273B2 (ja) 組込みシステムに応用される信号送信装置およびその方法
CN102073457B (zh) 用于一电脑***的储存控制方法及其相关储存控制装置
US20050273541A1 (en) Circuit and method for adaptively recognizing a data packet in a universal serial bus network device
JP2001067157A5 (ja) コンピュータとその周辺機器のシステム、コンピュータ周辺機器、コンピュータ及びその制御方法並びにコンピュータ可読記憶媒体
JP2002190848A (ja) インターフェース適合化装置

Legal Events

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