KR101005397B1 - Bus connection system - Google Patents
Bus connection system Download PDFInfo
- Publication number
- KR101005397B1 KR101005397B1 KR1020057004937A KR20057004937A KR101005397B1 KR 101005397 B1 KR101005397 B1 KR 101005397B1 KR 1020057004937 A KR1020057004937 A KR 1020057004937A KR 20057004937 A KR20057004937 A KR 20057004937A KR 101005397 B1 KR101005397 B1 KR 101005397B1
- Authority
- KR
- South Korea
- Prior art keywords
- host
- station
- bus
- communication port
- communication
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
하드웨어 동글의 형태인 버스 스테이션은 적절한 소프트웨어를 구동하는 USB 장치와 조합해서 동작한다. 버스 스테이션이 버스 호스트가 그 제 1 버스 통신 포트에 접속되었다고 판정하면, 이는 송수신기로 동작해서 이 버스 호스트와 제 2 버스 통신 포트에 접속된 버스 장치 사이의 기존의 버스 통신을 가능하게 한다. 버스 스테이션이 적절한 소프트웨어를 구동하는 버스 장치가 그 제 1 버스 통신 포트에 접속되어 있다고 판정하면, 이는 또 다른 호스트로서 동작해서 제 1 버스 통신 포트에 접속된 제 1 버스 장치와 제 2 버스 통신 포트에 접속된 버스 장치 사이의 버스 통신을 가능하게 한다. The bus station, in the form of a hardware dongle, works in combination with a USB device running the appropriate software. If the bus station determines that the bus host is connected to its first bus communication port, it acts as a transceiver to enable existing bus communication between this bus host and the bus device connected to the second bus communication port. If the bus station determines that a bus device that drives the appropriate software is connected to its first bus communication port, it acts as another host to connect the first bus device and the second bus communication port connected to the first bus communication port. Enable bus communication between connected bus devices.
Description
본 발명은 버스 접속 시스템에 관한 것이고, 특히 버스 통신 시스템 내의 전자 장치와 함께 사용되어 이 전자 장치가 시스템 내에서 호스트의 역할을 할 수 있게 하는 장치에 관한 것이다. The present invention relates to a bus connection system, and more particularly, to a device used with an electronic device in a bus communication system to enable the electronic device to act as a host in the system.
USB(Universal Serial Bus) 통신 시스템이 널리 사용되고 있다. Universal Serial Bus (USB) communication systems are widely used.
USB 시스템에서, 개인용 컴퓨터, 스캐너, 무선 전화, 프린터 등과 같은 많은 전자 장치의 아이템들을 상호 접속시킬 수 있다. 어떤 시스템에서든, 하나의 장치의 아이템이 항상 USB 호스트로 지정되어 있어서, 다른 모든 아이템 또는 USB 장치와의 접속을 제어한다. 개인용 컴퓨터에는 통상 USB 호스트의 역할을 가능하게 하는데 필요한 하드웨어 및 소프트웨어가 제공되지만, 다른 아이템들에는 통상 필수 하드웨어 및 소프트웨어가 제공되지 않으므로, 유일하게 USB 장치의 역할을 할 수 있다. In a USB system, items of many electronic devices such as personal computers, scanners, cordless phones, printers, and the like can be interconnected. In any system, an item on one device is always designated as the USB host, controlling access to all other items or USB devices. Personal computers are usually provided with the hardware and software necessary to enable the role of a USB host, while other items are typically not provided with the necessary hardware and software, so they can only act as USB devices.
그러나, 장치를 크게 수정하지 않고도, USB 호스트의 역할을 할 수 있는 장치의 아이템을 사용해야 하는 상황이 있을 수 있다. However, there may be situations where an item of device can be used that can act as a USB host without significantly modifying the device.
본 발명의 일 측면에 따라서, 바람직하게는 하드웨어 동글(dongle)의 형태인 버스 스테이션이 제공되며, 이는 버스 통신 장치의 버스 통신 포트에 접속되어, 버스 통신 장치가 버스 호스트의 역할을 할 수 있게 한다. 본 발명이 다른 버스 통신 시스템에도 적용될 수 있지만, 본 발명의 바람직한 실시예에서 버스 스테이션은 USB 시스템에서 동작한다. According to one aspect of the invention, there is provided a bus station, preferably in the form of a hardware dongle, which is connected to the bus communication port of the bus communication device, allowing the bus communication device to act as a bus host. . Although the present invention can be applied to other bus communication systems, in a preferred embodiment of the present invention the bus station operates in a USB system.
더 상세하게는, 본 발명의 일 측면은 버스 스테이션을 제공하되, 이 버스 스테이션은 버스 호스트가 그 제 1 버스 통신 포트에 접속되었다고 판정하면, 이 버스 호스트와 그 제 2 버스 통신 포트에 접속된 버스 장치 사이의 규정 버스 통신을 가능하게 하는 송수신기의 역할을 하고, 또한 적절한 소프트웨어를 구동하는 버스 장치가 제 1 버스 통신 포트에 접속되었다고 판정하면 제 1 버스 통신 포트에 접속된 제 1 버스 장치와 제 2 버스 통신 포트에 접속된 버스 장치 사이의 버스 통신을 가능하게 하는 다른 호스트의 역할을 한다. More specifically, one aspect of the present invention provides a bus station, which determines that the bus host is connected to its first bus communication port, and that the bus is connected to this bus host and its second bus communication port. The first bus device and the second bus device connected to the first bus communication port if it is determined that the bus device acting as a transceiver to enable prescribed bus communication between the devices and also driving appropriate software is connected to the first bus communication port. It acts as another host to enable bus communication between bus devices connected to the bus communication port.
도 1은 버스 통신 시스템의 개략 블록도, 1 is a schematic block diagram of a bus communication system;
도 2는 도 1의 시스템의 하드웨어 및 소프트웨어를 도시하는 블록도, 2 is a block diagram illustrating hardware and software of the system of FIG. 1;
도 3은 본 발명의 일 측면에 따른 방법을 도시하는 흐름도.3 is a flow diagram illustrating a method according to one aspect of the present invention.
도 1은 본 발명에 따른 버스 통신 시스템의 개략 블록도이다. 1 is a schematic block diagram of a bus communication system according to the present invention.
시스템(2)은 USB 포트(6)를 구비한 제 1 USB 장치(4), 제 2 USB 장치(8) 및 동글(10)을 포함하고 있다. The
도시된 실시예에서, 제 1 USB 장치(4)는 PDA이지만, 본 발명이 모바일 통신 장치, 디지털 카메라 또는 전자 수첩과 같은 임의의 USB 장치에 적용될 수 있다는 것을 이해할 것이다. In the embodiment shown, the
제 2 USB 장치(8)는 프린터, 마우스, 하드 디스크 또는 모뎀을 포함한 임의의 USB 장치가 될 수 있다. The
동글(10)은 제 1 호스트 포트(H1) 및 제 2 호스트 포트(H2)를 구비한 내장형 USB 호스트/장치 컨트롤러(12) 및 저전력 마이크로컨트롤러 장치(MCU:14)를 포함한다. The
동글(10)의 제 1 호스트 포트(H1)는 도 1에 도시된 바와 같이 PDA(4)의 USB 포트(6)에 접속된다. 동글(10)의 제 1 호스트 포트(H1)가 PDA(4)의 USB 포트(6)에 접속되면, PDA는 USB 호스트의 역할을 효율적으로 수행할 수 있게 되며, 동글(10)의 제 2 호스트 포트(H2)는 PDA(4)의 호스트 포트로서의 역할을 효율적으로 수행한다. 따라서, PDA(4)는 USB 버스(15)를 사용해서 동글(10)의 제 2 호스트 포트(H2)에 접속된 임의의 USB 장치와의 통신을 제어할 수 있다. The first host port H1 of the
제 1 호스트 포트(H1) 및 제 2 포스트 포트(H2)가 같은 USB 호스트/장치 컨트롤러(12)에 접속되는 것으로 도시되어 있지만, MCU(14)가 독립된 USB 호스트/장 치 컨트롤러를 통해서 제 1 호스트 포트(H1) 및 제 2 호스트 포트(H2)와 통신할 수 있다는 것을 이해할 것이며, 여기서 제 1 호스트 포트는 PDA(4)와의 통신 전용이고, 제 2 호스트 포트는 접속된 USB 장치 또는 장치(8)와의 통신 전용이라는 것을 이해할 것이다. Although the first host port H1 and the second post port H2 are shown to be connected to the same USB host /
PDA(4)가 동글(10)에 접속되었을 때, USB 호스트의 역할을 할 수 있게 하기 위해서, PDA(4)는 드라이버 업데이트를 필요로 한다. When the
드라이버 업데이트는 사용되는 특정 USB 장치로 특정되는 것으로, PDA(4) 내의 현재의 USB 장치 하드웨어의 최상위에서 구동중인 가상 하드웨어 추상화 계층(Virtual HAL:Virtual Hardware Abstraction Layer) 소프트웨어 드라이버를 추가하는 역할을 한다. The driver update is specific to the particular USB device used, and serves to add a Virtual Hardware Abstraction Layer (HAL) software driver running on top of the current USB device hardware in the
도 2는 도 1의 시스템의 하드웨어 및 소프트웨어의 블록도이다.2 is a block diagram of hardware and software of the system of FIG.
종래와 같이 USB 장치(4)는 운영 체제(18), 호스트 스택(20) 및 장치 스택과 장치 하드웨어(22)를 구비하고 있다. USB 호스트로서 역할을 할 수 있기 위해서, PDA(4)는 가상 HAL 드라이버 소프트웨어(16)도 구동한다. USB 장치(4)가 가상 HAL 드라이버 소프트웨어(16)를 구동하고 있을 때, 이는 호스트 온 장치(HostOnDevice)라고 표현된다. As is conventional, the
동글(10)은 호스트 하드웨어(12:즉, USB 호스트 컨트롤러), MCU(14) 및 소프트호스트 펌웨어(24)를 포함한다. The
이하 더 상세하게 설명될 소프트호스트 프로토콜 계층은 동글 커넥터(28) 상에서 장치(4)와 동글(10) 사이의 통신을 제어한다. The softhost protocol layer, which will be described in more detail below, controls the communication between the
도 3은 MCU(14)의 제어하에서, 동글(10)의 동작을 나타내는 흐름도이다. 도 3의 단계(32)에서, 전력이 상승하면 MCU는 단계(34)에서 제 1 호스트 포트(H1)를 조사해서 여기에 어떤 접속이 있는지 판정한다. 아무 것도 접속되어 있지 않다면, 단계(36)로 가서 처리를 종료한다. 3 is a flowchart showing the operation of the
무언가 접속되어 있다면, 단계(38)에서 MCU는 USB 호스트가 제 1 호스트 포트(H1)에 접속되어 있는지 측정한다. USB 호스트가 제 1 호스트 포트(H1)에 접속되어 있다면, 처리는 단계(40)로 넘어가고 여기서 동글(10)은 USB 송수신기의 역할을 한다. 즉, 이는 제 1 호스트 포트(H1)와 제 2 호스트 포트(H2) 사이에서 직접 통신해서, 접속된 USB 호스트가 종래의 방식으로 제 2 호스트 포트(H2)에 접속된 임의의 USB 장치(또는 장치)와의 통신을 제어할 수 있게 한다.If something is connected, in
MCU가 단계(38)에서 USB 호스트가 아닌 USB 장치가 제 1 호스트 포트(H1)에 접속되어 있다고 판정하면, 처리는 단계(41)로 넘어가서 제 2 호스트 포트(H2)에 USB 호스트가 접속되어 있는지 판정한다. 접속되어 있다면, 단계(42)에서, USB 호스트/장치 컨트롤러(12) 내에서 USB 장치 코어가 동작해서, 제 1 호스트 포트(H1)에 접속된 USB 장치와 제 2 호스트 포트(H2)에 접속된 USB 호스트 사이에서 종래의 USB 통신을 가능하게 한다. If the MCU determines in
제 2 호스트 포트(H2)에 USB 장치가 접속되어 있다면, MCU(14)는 단계(43)에서 제 1 호스트 포트에 접속된 USB 장치의 수를 세고, 이것이 가상 HAL을 구동하는 장치인지 체크한다. MCU가 단계(43)에서 접속된 장치(4)가 구동 가상 HAL이 아니라고 판정하면, 단계(44)에서 장치(4)를 디스에이블시키고, 예컨대 플래싱 LED를 트리거해서 접속된 장치(4)가 가상 HAL을 지원하지 않는다는 신호를 보낸다. If the USB device is connected to the second host port H2, the
단계(42)에서 MCU가 접속된 장치(4)가 구동 가상 HAL이라고 판정하면(즉, 가상 HAL 드라이버(16)를 갖고 있다고 판정하면), MCU(14)는 단계(46)에서 동작 모드로 들어가서 동글(10:장치(4)와 함께)이 다른 USB 호스트의 역할을 할 수 있게 할 것이다. 이 모드에서, 동글(10)은 제 2 호스트 포트(H2)에 접속된 임의의 USB 장치(또는 장치)와의 통신을 제어할 수 있으며, 이는 이하 더 상세하게 설명될 것이다.If at
개인용 컴퓨터가 USB 호스트인 종래의 시스템에서, 호스트 스택은 호스트 HAL을 통해서 하위의 USB 하드웨어에 액세스한다. 유사하게, 종래의 PDA USB 장치에서, 장치 스택은 장치 HAL을 통해서 하위의 USB 하드웨어에 액세스한다.In a conventional system where a personal computer is a USB host, the host stack accesses the underlying USB hardware through the host HAL. Similarly, in a conventional PDA USB device, the device stack accesses the underlying USB hardware through the device HAL.
그러나, 본 발명에 따라서, 소프트웨어 호스트 시스템에서, 호스트 스택(또는 호스트 스테이션 드라이버 소프트웨어:20)가 호스트 하드웨어(12)에 액세스하려하면, 이는 가상 HAL 드라이버(16)에 액세스 동작의 세부 사항을 전송한다. 가상 HAL 드라이버(16)는 이들 액세스 동작의 세부 사항을 미리 정해진 소프트 호스트 프로토콜 내로 둘러싼다. 소프트 호스트 프로토콜 패킷은 소프트호스트 동글(10)이 자신을 아웃스탠드(outstand)하기 위해서 이를 조사할 때 현재의 USB 장치 하드웨어(22)를 통해서 전송된다. However, in accordance with the present invention, in a software host system, if the host stack (or host station driver software 20) attempts to access the
따라서, 가상 HAL 드라이버 소프트웨어(16)는 호스트 스테이션 드라이버 소프트웨어에 대해서 호스트 컨트롤러의 존재를 에뮬레이트한다. 즉, 호스트 스택(20)의 관점에서 가상 HAL 드라이버(16)와의 통신은 종래의 시스템에서의 호스트 HAL과의 통신과 다르지 않다. 호스트 스택(20)은 가상 HAL 드라이버(16)를 통해서 실제 호스트 하드웨어를 볼 것이다. Thus, the virtual
반대로, 가상 HAL 드라이버 소프트웨어(16)는 장치 컨트롤러(또는 장치 스택:22)에 대해서 장치 컨트롤러의 존재를 에뮬레이트한다. 따라서 가상 HAL 드라이버 소프트웨어(16)는 호스트 스테이션 드라이버 소프트웨어(20)와 장치 컨트롤러 사이의 통신을 변환한다. In contrast, the virtual
소프트 호스트 프로토콜은 다음과 같은 액세스 기능을 제공한다. The soft host protocol provides the following access functions.
동글 호스트 하드웨어(12)에서 레지스터를 판독하는 기능.The ability to read registers from the dongle host hardware (12).
동글 호스트 하드웨어(12)에 레지스터를 기록하는 기능.The ability to write registers to the dongle host hardware (12).
동글 호스트 하드웨어(12) 내의 버퍼 메모리를 판독하는 기능.A function that reads the buffer memory in the
동글 호스트 하드웨어(12) 내의 버퍼 메모리에 기록하는 기능.Write to buffer memory in
예컨대 어떤 값과 AND/OR시키거나, 수정된 값을 레지스터로 재기록시키는 것과 같은 더 개선된 기능이 추가되어 시스템 성능을 개선할 수 있다. For example, more advanced features, such as AND / OR with certain values or rewriting the modified values into registers, can improve system performance.
소프트 호스트 프로토콜은 가상 HAL 상에서 수행 중인 호스트 스택(20)이 장치 컨트롤러 하드웨어를 사용하는 호스트 컨트롤러(12)의 하드웨어를 액세스할 수 있는 방법을 정의한다. 소프트 호스트 프로토콜이 이하 상세하게 설명된다. 이 설명에서, 용어 "호스트 동글"은 동글(10)을 나타내는 데 사용되고, 여기서 용어 "호스트 온 장치"는 장치(4), 즉 가상 HAL(16) 상에서 호스트 스택(20)을 구현하는 USB 장치 하드웨어(22)를 구비한 내장형 시스템을 나타내는 데 사용된다. The soft host protocol defines how the
소프트 호스트 프로토콜은 도 3의 끝에서 시작하고, 여기서 호스트 동글(10) 은 접속된 장치(4)의 수를 세고, 접속된 장치(4)는 호스트 온 장치임이 확인된다. The soft host protocol begins at the end of FIG. 3, where the
동작 모드에서, MCU(14)는 인터럽트 파이프(an interrupt pipe)를 설정하고, 가상 HAL 드라이버(16)에 대해서 데이터를 수 밀리 초마다 조사한다. 장치(4)와 동글(10) 사이에 전송된 데이터는 소프트 호스트 프로토콜을 통해서 소프트 호스트 패킷의 형태로 전송된다. PDA(4) 상의 호스트 스택(20)이 가상 HAL 드라이버(16)를 통해서 하드웨어 액세스 요청을 전송했다면, 동글(10)의 제 1 호스트 포트(H1)가 인터럽트 파이프를 통해서 이를 조사할 때, 가상 HAL 드라이버(16)는 요청을 소프트 호스트 패킷으로 전송할 것이다. In the operating mode, the
MCU(14)는 내장된 USB 호스트 컨트롤러(12)의 버퍼 메모리로부터 이 소프트 호스트 패킷을 검색할 것이며, 따라서 하드웨어 액세스를 수행할 것이다. 리턴되는 데이터가 있다면(판독 동작), MCU(14)는 대응하는 데이터를 호스트(1)를 통해서 전송할 것이다.
트래픽traffic
호스트 동글(10) 및 호스트 온 장치(4)는 전용 양방향 벌크 파이프를 사용해서 통신한다. 4가지의 타입의 패이로드가 있다. The
HRU (호스트 동글 요청 유닛)HRU (Host Dongle Request Unit)
호스트 동글(10)에 의해 전송됨Sent by
8바이트 패이로드의 벌크 패킷Bulk packet with 8 byte payload
호스트 온 장치(4)를 조사하는 데 사용됨Used to investigate host on device (4)
인터럽트 정보(HRU_IRQ)를 포함할 수 있음May contain interrupt information (HRU_IRQ)
호스트 동글(10)은 HRU를 전송한 이후에 항상 64바이트의 벌크 인(bulk-in)을 전송함The
호스트 온 장치(4)는 이 벌크 인을 통해서 NOB 또는 CRP를 가지고 응답할 것임The host on
NOB (아웃스탠딩 비즈니스(Outstanding Business)가 아님)NOB (Not Outstanding Business)
호스트 온 장치(4)에 의해 전송됨Sent by Host On Device (4)
8바이트 패이로드의 벌크 패킷Bulk packet with 8 byte payload
아웃스탠딩 트랜잭션이 없을 때 전송됨Sent when there are no outstanding transactions
CRP (공통 요청 패킷)CRP (Common Request Packet)
호스트 온 장치(4)에 의해 전송됨Sent by Host On Device (4)
16-64 바이트의 벌크 패킷Bulk packet of 16-64 bytes
이전에 수신된 CRP 커맨드 및 최적의 데이터 세트의 결과를 포함Contains the results of previously received CRP commands and optimal data sets
APR (요청되는 바에 따라서)APR (as requested)
호스트 동글(10)에 의해 전송됨Sent by
16-64 바이트의 벌크 패킷Bulk packet of 16-64 bytes
플로우Flow
모든 USB 시스템에서와 같이 호스트에 의한 액션으로 전송이 시작한다. 소프트 호스트 프로토콜의 경우에, 소프트 호스트 동글(10)이 항상 호스트이다. 소프트 호스트 전송 사이클은 위에 설명된 바와 같이 HRU를 통해 시작한다. 현재의 전송 사이클은 호스트 동글(10)이 다음 전송 사이클을 개시하기 전에 완료되어야 한다. As with all USB systems, the transfer begins with action by the host. In the case of a soft host protocol, the
폴 낫씽(Poll-nothing) 사이클 : HRU-NOBPoll-nothing cycle: HRU-NOB
호스트 동글(10)은 아웃스탠딩 커맨드 세트에 관해 호스트 온 장치(4)를 조사한다. 아웃스탠딩 커맨드 세트가 없으면, 호스트 온 장치(4)는 NOB로 응답한다. The
트랜잭션transaction
호스트 동글(10)이 BULK-OUT를 전송한다. The
호스트 동글(10)이 DATA(HRU)를 전송한다. The
호스트 온 장치(4)가 ACK를 전송한다. The host on
호스트 동글(10)은 BUKL-IN을 전송한다. The
호스트 온 장치(4)는 DATA(NOB)를 전송한다. The host on
호스트 동글(10)은 ACK를 전송한다. The
폴 섬씽(Poll-something) 사이클: HRU-CRP-APRPoll-something cycle: HRU-CRP-APR
호스트 동글(10)은 호스트 온 장치(4)에 대해서 아웃스탠딩 커맨드 세트를 조사한다. The
호스트 온 장치(4)는 CRP에 의해 아웃스탠딩 커맨드 세트를 전송한다. 호스트 동글(10)은 커맨드를 수행하고, APR에 의해 결과를 리턴한다. The host on
트랜잭션transaction
호스트 동글(10)은 BULK-OUT을 전송한다. The
호스트 동글(10)은 DATA(HRU)를 전송한다. The
호스트 온 장치(4)는 ACK를 전송한다. The host on
호스트 동글(10)은 BULK-IN을 전송한다. The
호스트 온 장치(4)는 DATA(CRP)를 전송한다. The host on
호스트 동글(10)은 ACK를 전송한다. The
호스트 동글(10)은 BULK-OUT을 전송한다. The
호스트 동글(10)은 DATA(ARP)를 전송한다. The
호스트 온 장치(4)는 ACK를 전송한다.The host on
인터럽트 사이클 : HRU_IRQ-CRP-APRInterrupt cycle: HRU_IRQ-CRP-APR
호스트 동글(10)은 아웃스탠딩 하드웨어 인터럽트시에 호스트 온 장치(4)에 경고한다. The
호스트 온 장치(4)는 적절한 커맨드 세트를 결정해서 이를 CRP에 의해 전송한다. The host on
호스트 동글(10)은 커맨드를 수행해서, APR에 의해 결과를 리턴한다. The
호스트 온 장치(4)는 아웃스탠딩 인터럽트를 제거하거나 HRU_IRQ의 생성을 불가능하게 해야 하며, 혹은 호스트 동글(10)이 계속해서 HRU_IRQ를 계속해서 전송해야 할 것이다. The host on
트랜잭션transaction
호스트 동글(10)은 BULK-OUT을 전송한다. The
호스트 동글(10)은 DATA(HRU_IRQ)를 전송한다. The
호스트 온 장치(4)는 ACK를 전송한다. The host on
호스트 동글(10)은 BULK-IN을 전송한다. The
호스트 온 장치(4)는 DATA(CRP)를 전송한다. The host on
호스트 동글(10)은 ACK를 전송한다. The
호스트 동글(10)은 BULK-OUT을 전송한다. The
호스트 동글(10)은 DATA(ARP)를 전송한다. The
호스트 온 장치(4)는 ACK를 전송한다.The host on
패킷 포맷Packet format
HRU 포맷HRU format
HRU는 다음 정보를 포함한다. The HRU contains the following information.
현재 프레임 번호The current frame number
호스트 동글(10) 내의 호스트 컨트롤러(12)의 HcInterruptStatusHcInterruptStatus of the
장치 컨트롤러(22)의 인터럽트 상태Interrupt status of
NOB 포맷NOB format
특별히 요구되는 정보 없음No information required specifically
CRP 및 APR 포맷CRP and APR Formats
헤더 내의 액티브 비트는 CRP의 경우에 1이고, APR의 경우에 0이다. The active bit in the header is 1 for CRP and 0 for APR.
CRP은 16-64바이트의 크기가 될 수 있다. 전체 크기는 CRP can be 16-64 bytes in size. Overall size
커맨드 세트의 수(각각 8바이트)The number of command sets (8 bytes each)
선택적인 데이터 세트Optional data set
CRP 내의 최대 커맨드 세트의 수는 8이다. The maximum number of command sets in a CRP is eight.
데이터 세트의 최대 크기는 64-(8*커맨드 세트의 수)이다. The maximum size of the data set is 64- (number of 8 * command sets).
단일 커맨드 요청 패킷 내의 다수의 커맨드 세트는 일련의 하드웨어의 액세스가 단일 패킷 내에서 통신될 수 있게 하고, 따라서 지연 전송을 감소시킨다. Multiple command sets in a single command request packet allow access of a set of hardware to be communicated within a single packet, thus reducing delayed transmission.
커맨드 세트 포맷Command set format
커맨드 세트는 8바이트 데이터 구조이다. 이는 다음 정보를 포함한다. The command set is an 8 byte data structure. This includes the following information:
커맨드 세트 헤더(1바이트)Command Set Header (1 byte)
커맨드 세트 인덱스(2바이트)Command set index (2 bytes)
커맨드 세트 데이터(4바이트)Command set data (4 bytes)
커맨드 세트 보조(1바이트)Command set auxiliary (1 byte)
따라서, 가상 하드웨어 추상화 계층(가상 HAL)은 USB 장치 하드웨어를 사용해서 접속된 동글 상의 타겟 하드웨어로의 완전한 액세스를 제공한다. 즉, 현재의 USB 장치 하드웨어는 비동기식 마이크로프로세서 인터페이스 버스로서 사용되어 USB 호스트 드라이버가 타겟 하드웨어에 액세스할 수 있게 한다. Thus, the virtual hardware abstraction layer (virtual HAL) provides full access to the target hardware on the dongle connected using the USB device hardware. That is, current USB device hardware is used as an asynchronous microprocessor interface bus, allowing the USB host driver to access the target hardware.
가상 HAL을 사용함으로써 하드웨어 동글이 USB 소프트웨어를 처리할 필요가 없게 되고, 이로써 동글의 비용이 낮아지고, 호스트 소프트웨어가 USB 장치 상의 내장된 시스템에 의해 처리될 수 있다는 이점을 제공한다. The use of a virtual HAL eliminates the need for hardware dongle to handle USB software, thereby lowering the cost of the dongle and providing the advantage that the host software can be handled by an embedded system on a USB device.
따라서, 본 발명의 바람직한 실시예에서, USB 장치로 하여금 현재의 하드웨어를 변경하는 일 없이 USB 호스트의 성능을 획득할 수 있게 하는 하드웨어 동글이 제공된다. 이를 달성하기 위해서, USB 장치는 USB 장치 상의 내장된 시스템에 의해 처리될 수 있는 에뮬레이션 소프트웨어를 구동한다. 이는 하드웨어 동글이 USB 소프트웨어를 처리할 필요가 없어서, 동글이 저렴해진다고 하는 이점을 제공한다. Thus, in a preferred embodiment of the present invention, a hardware dongle is provided that enables a USB device to obtain the performance of a USB host without changing the current hardware. To achieve this, the USB device runs emulation software that can be processed by the embedded system on the USB device. This provides the advantage that the dongle is inexpensive because the hardware dongle does not have to handle USB software.
본 발명은 가상 HAL 드라이버 소프트웨어가 USB 장치로 하여금 동글(10)과 관련해서 USB 호스트로서 기능하게 하는 시스템에 대해서 설명되었다. 그러나, 유사한 구조의 가상 HAL 드라이버 소프트웨어가 USB 장치 성능을 사용해서 시스템에 다수의 인터페이스/기능을 추가하는데 사용될 수도 있다. 예컨대, 드라이버 소프트웨어는 USB 장치가 블루투스, IrDa, USB-OTG 또는 다른 통신 프로토콜로 통신할 수 있게 한다. The present invention has been described with reference to a system in which virtual HAL driver software enables a USB device to function as a USB host in conjunction with the
Claims (6)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG200200239 | 2002-09-24 | ||
SGPCT/SG02/00239 | 2002-09-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050053683A KR20050053683A (en) | 2005-06-08 |
KR101005397B1 true KR101005397B1 (en) | 2010-12-30 |
Family
ID=37249212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057004937A KR101005397B1 (en) | 2002-09-24 | 2003-05-22 | Bus connection system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101005397B1 (en) |
-
2003
- 2003-05-22 KR KR1020057004937A patent/KR101005397B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050053683A (en) | 2005-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7640385B2 (en) | Dual-mode bus station and system for communications | |
EP2047370B1 (en) | Method and apparatus for distributing usb hub functions across a network | |
KR101497001B1 (en) | Graphics multi-media ic and method of its operation | |
US6618788B1 (en) | ATA device control via a packet-based interface | |
EP1866778B1 (en) | Method and apparatus for improving the performance of usb mass storage devices in the presence of long transmission delays | |
US7162566B2 (en) | USB-based host-to-host networking method | |
CN101937406B (en) | Method and system for driving 1394 devices in VxWorks operating system | |
CA2671610A1 (en) | Enhanced wireless usb protocol and hub | |
JPH07235964A (en) | Data communication system between terminal device (dte) and data communication equipment (dce) and high-speed data-transmitting method | |
US20090063717A1 (en) | Rate Adaptation for Support of Full-Speed USB Transactions Over a High-Speed USB Interface | |
EP1754160B1 (en) | Bus connection device | |
US20070124527A1 (en) | Virtual Serial Apparatus | |
US20070198761A1 (en) | Connection management mechanism | |
US11500541B2 (en) | Memory system and controlling method | |
CN110971621B (en) | Embedded multi-CPU interconnection circuit based on SDIO interface, interconnection method and driving method | |
EP0772831B1 (en) | Bidirectional parallel signal interface | |
KR20040041623A (en) | Bus system and bus interface for connection to a bus | |
KR101005397B1 (en) | Bus connection system | |
US6006284A (en) | Method and apparatus for driving a parallel part to provide multiple modes of communications between a host and a peripheral | |
JP2006243866A (en) | Communication system | |
US20050273541A1 (en) | Circuit and method for adaptively recognizing a data packet in a universal serial bus network device | |
TW200842601A (en) | Method and apparatus for performing full transfer automation in a USB controller | |
CN117971751A (en) | High-efficiency SPI and multi-channel UART conversion system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
N231 | Notification of change of applicant | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131209 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171211 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |