KR100290942B1 - 유니버설 시리얼 버스 디바이스 내부로 및 외부로 데이터를 송신 및 수신하기 위한 장치 및 방법 - Google Patents
유니버설 시리얼 버스 디바이스 내부로 및 외부로 데이터를 송신 및 수신하기 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR100290942B1 KR100290942B1 KR1019990000085A KR19990000085A KR100290942B1 KR 100290942 B1 KR100290942 B1 KR 100290942B1 KR 1019990000085 A KR1019990000085 A KR 1019990000085A KR 19990000085 A KR19990000085 A KR 19990000085A KR 100290942 B1 KR100290942 B1 KR 100290942B1
- Authority
- KR
- South Korea
- Prior art keywords
- endpoint
- mapping
- token
- pipe
- pipes
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000013507 mapping Methods 0.000 claims abstract description 60
- 230000008859 change Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 39
- 238000012546 transfer Methods 0.000 description 19
- 239000000872 buffer Substances 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 12
- 239000002131 composite material Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 208000025967 Dissociative Identity disease Diseases 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- FKDLDISFZUNJQD-FJXQXJEOSA-N (2s)-2-amino-3-(3-amino-4-hydroxyphenyl)propanoic acid;5-amino-2,3-dihydrophthalazine-1,4-dione Chemical compound O=C1NNC(=O)C2=C1C(N)=CC=C2.OC(=O)[C@@H](N)CC1=CC=C(O)C(N)=C1 FKDLDISFZUNJQD-FJXQXJEOSA-N 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
-
- 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
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
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)
Abstract
USB 디바이스를 동적으로 구성하는 방법 및 장치. 상기 USB 디바이스는 수신된 토큰과 종단점 파이프를 연관시키는 복수의 매핑을 포함한다. 상기 매핑은 초기화에서 설정되고, USB 네트워크의 동작중에 동적으로 선택된다.
Description
본 장치 및 방법은 유니버설 시리얼 버스 네트워크를 통한 데이터 송신 및 수신과 관련된 것으로, 특히 복수 종단점 파이프에 데이터를 보내고 그로부터 데이터를 수신하는 것과 관련된다.
유니버설 시리얼 버스(USB) 는 퍼스널 컴퓨터를 다양한 장치들, 즉 디지털 전화선, 모니터, 모뎀, 마우스, 프린터, 스캐너, 게임 제어기, 키보드, 및 다른 주변장치들 등에 접속시키는 표준 주변 인터페이스이다. 따라서, USB 는 RS-232C 시리얼 포트, 병렬 포트, PS/2 인터페이스 및 게임/MIDI 포트 등과 같은 현존 인터페이스를 대신한다.
USB 에 의하면, 모든 부속 디바이스가 타이어드-스타(tiered-star) 토폴로지를 사용하여 단일 커넥터형으로 퍼스널 컴퓨터에 접속된다. 호스트 퍼스널 컴퓨터는 단일 USB 제어기를 포함한다. 상기 호스트 제어기는 USB 네트워크와 호스트 퍼스널 컴퓨터간에 인터페이스를 제공한다. 상기 호스트 제어기는 USB 자원에 대한 모든 액세스를 제어하고 버스의 토폴로지를 모니터한다. USB 허브는 USB 디바이스들에 대한 USB 부착점들을 제공한다.
도 1 에 USB 네트워크의 타이어드-스타 토폴로지의 일례가 도시되어 있다. 호스트 PC (100) 는 호스트 제어기 (102) 를 경유하는 USB 포트 접속부를 갖는 전형적인 퍼스널 컴퓨터이다. 전형적으로 호스트 PC (100) 의 일부로 구현되는 호스트 제어기 (102) 는 루트 허브 (110) 에 직접 접속되어 있다. 복합 디바이스 (120), 허브 (130), 및 디바이스 (140) 는 허브 (110) 를 통하여 호스트 제어기 (102) 에 접속된다. 디바이스 (132 및 134) 는 허브 (130) 및 허브 (110) 를 통해 호스트 제어기 (102) 에 접속된다.
복합 디바이스 (120) 는 디바이스 (124 및 126) 와 허브 (122) 를 포함한다. 복합 디바이스 (120) 의 허브 (122) 는 허브 (110) 를 통해 호스트 제어기 (102) 에 접속된다. 복합 디바이스 (120) 의 디바이스 (124 및 126) 는 호스트 제어기 (102) 에 허브 (122) 및 허브 (110) 를 통해 접속된다. 복합 디바이스의 실례는 통합된 프린터와 팩스이다. 프린터는 디바이스 (124) 이고, 팩스는 디바이스 (126) 이다.
도 1 에 도시된 타이어드-스타 토폴로지에 의하여 데이터가 다양한 디바이스들에서 호스트 PC (100) 의 내부로 송신되고, 호스트 PC (100) 에서 다양한 디바이스들로 데이터가 송신될 수 있다. 데이터가 호스트에서 디바이스로 송신될 때, 데이터는 상호접속 허브들을 통해 하류로 송신된다. 데이터가 디바이스로부터 호스트로 송신될 때는, 데이터는 상호접속 허브를 통해 상류로 송신된다.
상기 USB 허브들과 디바이스들은, USB 네트워크를 완전하게 재가동시키지 않고서 접속될 수도 있고 단절될 수도 있다. 디바이스 또는 허브가 상류 허부에 접속됨과 동시에, 상류 허브는 호스트 제어기에게 상태 변화를 고지한다. USB 프로토콜을 따라, 호스트 제어기는 디바이스에 접속된 허브의 포트를 인에이블한다. 호스트 제어기는 그리고 나서 고유한 기능 어드레스를 각 디바이스에 할당한다. 호스트 제어기 (102) 가 고유한 기능 어드레스들을 할당할 때 포트들은 한번에 하나씩 인에이블된다. 복합 디바이스의 접속과 동시에, 호스트 제어기는 고유한 기능 어드레스를 복합 디바이스 내에 수용된 각 디바이스에 할당한다.
도 1 로 돌아가서, 디바이스 (124, 126, 132, 134, 및 140) 는 USB 네트워크로의 접속과 동시에 고유한 기능 어드레스를 각각 할당받는다. 마찬가지로, 허브 (110, 122, 및 130) 도 각각 고유한 기능 어드레스를 할당받아 USB 네트워크로의 접속과 동시에 USB 디바이스로 작동한다.
USB 펑션(Fuction)은 버스 상에서 정보를 송신 및 수신할 수 있는 USB 디바이스이다. 상기 펑션은 하나 또는 그 이상의 구성들을 가질 수 있으며, 상기 구성 각각은 디바이스를 구성하는 인터페이스들을 정의한다. 각 인터페이스는 차례로 하나 이상의 종단점들로 이루어져 있다.
종단점은 데이터의 궁극적인 소스 또는 싱크이다. 종단점 파이프는 USB 와 메모리간의 데이터 이동을 제공하고, USB 호스트와 펑션 종단점간의 경로를 완성한다. USB 디바이스는 소정의 시간에 상기 종단점 파이프들을 16 개까지 지원할 수도 있다. 각 종단점 파이프는 동일한 기능 어드레스를 갖는다.
종단점 디바이스의 초기화시에, 호스트 제어기는 파이프를 종단점 펑션과 연계시킨다. 파이프에 의하여 호스트 제어기는 데이터를 종단점으로부터 호스트 메모리 버퍼 내로 그리고 데이터를 호스트 메모리 버퍼 외부로부터 종단점내로 이동시킬 수 있다. USB 명세는 두가지 형태의 파이프 통신 모드, 즉 스트림 및 메시지(stream and message) 모드를 구현한다. 스트림 데이터는 정의된 USB 구조를 갖지 않는다. 메시지 데이터는 정의된 USB 구조를 갖는다.
초기화시에, 파이프에 USB 버스 액세스와 대역폭 사용에 대한 청구가 지정된다. 상기 지정은 특정 파이프를 통해 종단점까지 데이터를 송신하기 위한 우선권을 결정한다. 또한, 종단점의 특성은 초기화시의 파이프와 관련되어 있다. 상기 특성은 최대 데이터 페이로드 사이즈(payload size), 전송의 방향성, 및 다른 적절한 특성 데이터를 포함한다. 상기 특성들은 파이프를 통한 데이터 전송시에 호스트에 의해 사용된다.
USB 버스 액세스와 대역폭에 대한 파이프에의 청구 지정에 의하여, 종단점에 대한 모든 입력/출력 데이터 요청이 USB 버스의 가용 대역폭에 대해 적절히 서비스되는 것을 확보하기 위하여 호스트 제어기는 최선을 다할 수 있다. 버스 액세스와 대역폭에 대한 파이프에의 청구 지정은 나중에 구성되는 디바이스로의 할당을 제한한다. USB 버스의 대역폭이 완전히 할당되면, 순차적으로 구성된 디바이스에는 버스 대역폭이 할당될 수 없다. 결과적으로 순차적으로 구성된 디바이스에는 파이프가 할당될 수 없다.
초기화 공정이 완료된 후 얼마뒤에, 디바이스의 특정 종단점에 대한 파이프 할당이 고정된다. 이것은 디바이스의 요청된 기능성이 발달함에 따라 변경될 수 있다. 따라서, 복수의 종단점 펑션들을 포함하는 디바이스들에는 복수의 파이프들(각각은 특정 종단점과 관련됨)이 할당될 것이다.
각 종단점은 USB 상에서 어드레스부여가능한 실체이며, USB 호스트 제어기의 IN 과 OUT 토큰에 응답하도록 요구된다. IN 토큰은 호스트가 종단점으로부터 정보를 수신하도록 요청받았다는 것을 나타내고, OUT 토큰은 호스트가 정보를 종단점에 막 보내려고 한다는 것을 나타낸다.
종단점에 어드레스지정된 IN 토큰을 검지하자마자, 상기 종단점은 데이터 패킷에 따라 반응해야 한다. 상기 종단점이 현재 기능정지되어(stall) 있으면, STALL 핸드쉐이크(handshake) 패킷이 복귀한다. 상기 종단점이 인에이블이지만, 어떤 데이터도 존재하지 않으면, NAK(Negative Acknowledgement) 핸드쉐이크 패킷이 송신된다.
상기와 마찬가지로, 종단점에 어드레스지정된 OUT 토큰의 검지시에, 상기 종단점은 호스트에 의해 보내진 데이터 패킷을 수신하여, 그것을 버퍼에 저장한다. 상기 종단점 파이프가 현재 기능정지되어 있다면, 데이터 송신의 끝에서, STALL 핸드쉐이크 패킷이 보내진다. 종단점 파이프가 현재 디스에이블이면, 데이터 송신의 끝에서, 어떤 핸드쉐이크 패킷도 보내지지 않는다. 종단점 파이프가 인에이블이지만, 데이터를 저장할 어떤 버퍼도 존재하지 않는다면, NAK 핸드쉐이크 패킷이 보내진다.
디스에이블된 종단점, 또는 종단점 파이프에 현재 매핑되지 않은 종단점들은 IN, OUT, 또는 SETUP 토큰들에 응답하지 않는다.
USB 는 파이프를 통한 4 가지 형태의 데이터 전송을 정의한다. 이는 제어, 벌크, 인터럽트, 및 등시성(isochronous) 이다.
제어 이전은 호스트에 의하여 사용되어 허브에 부착시의 디바이스를 구성한다. 제어 이전은 호스트 제어기에 의하여 디바이스와의 특정 트랜잭션을 구현하는데 사용될 수도 있다.
벌크 전송은 통상적으로 대량의 데이터의 순차적 전송이다. 벌크 전송은 에러 검지와 손상된 데이터의 재송신을 사용하여 신뢰성 있는 트랜잭션을 제공한다. 벌크 전송은 시간에 영향을 받지 않으므로, 벌크 전송에 할당된 버스 대역폭은 현재 사용가능한 어느 것이나 될 수 있다.
인터럽트 전송은 디바이스로부터 발생되는 작고 순간적인 데이터 트랜잭션이다.
등시성 전송은 연속적인 실시간 데이터 트랜잭션이다. 등시성 전송은 등시성 전송의 적시 완료를 보장하기 위해 USB 네트워크 대역폭의 전용 부분에 할당된다.
디바이스가 복수의 종단점 펑션을 포함하더라도, 이런 종단점 펑션들은 반드시 동시에 동작하지 않을 수도 있다. 예를 들면, 다기능 디바이스는 팩스와 디지털 전화 기능을 포함할 수도 있다. 초기화동안에, 상기 다기능 디바이스에는 고유한 기능 어드레스가 할당되고, 팩스 및 디지털 전화 기능들은 별개의 종단점 번호들과 각각 관련된다. 데이터를 각 펑션에 송신하는 OUT 파이프는 상기와 마찬가지로 초기화동안 할당된다. 일 OUT 파이프는 팩스 기능용 종단점 번호와 관련되고, 일 OUT 파이프는 프린터 기능용 종단점 번호와 관련된다. 팩스 및 디지털 전화는, 그들의 트랜잭션이 실시간으로 동작해야 하기 때문에 각각 전형적으로 등시성 OUT 파이프를 요구한다.
다기능 디바이스의 동작 동안에, 호스트 제어기는 한번에 펑션 중 하나에만 액세스한다. 결과적으로 팩스 및 디지털 전화 기능에 할당된 OUT 파이프들중 하나만이 소정 시간에 사용될 것이다.
복수의 디바이스가 USB 버스에 접속되어 있는 경우에, 대역폭 자원들은 모든 디바이스의 요구를 충족시킬 수 없을 수도 있다. 결과적으로, 팩스의 OUT 파이프와 디지털 전화의 OUT 파이프 양자로의 버스 액세스 및 대역폭에 대한 요청의 지정은 순차적으로 구성된 디바이스들에 대한 자원들의 할당을 제한할 수 있다. 상기 제한은 팩스 및 디지털 전화가 동시에 사용되지 않아도 순차적 할당에 영향을 미친다.
상기 문제점을 피하는 일방법은, 특정 개성(personality)을 갖는 디바이스를 구성하여, 다른 개성이 요청될 때, 디바이스를 리셋하며, 상이한 개성을 갖도록 구성하는 것이다. 예를 들면, 다기능 팩스 및 프린터 디바이스는 처음에 팩스로서 동작하도록 구성된다. 나중에, 호스트 PC 가 프린터를 요구하면, 호스트 PC 는 디바이스를 리셋하여, 상기 다기능 디바이스를 재구성하여 프린터로서 동작하도록 할 수 있다. 그리하여, 다기능 디바이스를 리셋함으로써, 상기 디바이스는 다중 개성들을 가질 수 있다. 그러나 다기능 디바이스의 리셋은 각 개성 변화를 달성하기 위하여 제어 이전을 요청한다.
선택적으로는, 다중 인터페이스가 종단점 하나를 공유할 수 있다. 이것은 소프트웨어의 부가적 레이어를 제공함으로써 달성될 수 있다. USB 특성 명세는 다중 인터페이스를 경유하는 종단점의 공유에 대한 상기 배치를 설명하고 있다. 그러나, 상기 배치는 소프트웨어 멀티플렉싱, 종단점 디스크립터용 부가적 필드, 및 플로우 제어 메카니즘을 요구한다.
본 발명의 목적은 다기능 USB 디바이스의 개성을 동적으로 변경하는 메카니즘을 제공하는 것이다.
본 발명의 부가적 목적은 복수의 펑션에 단일 파이프를 동적으로 할당하는 것이다.
본 발명의 일태양의 특징은, 동일한 기능 어드레스를 갖는 복수의 종단점에 단일 파이프를 매핑하는 것이다.
본 발명의 일태양의 다른 특징은, 상이한 기능 어드레스를 갖는 복수의 종단점에 단일 파이프를 매핑하는 것이다.
본 발명의 또다른 특징은, 종단점 번호들, 토큰 형태들, 하나 이상의 기능 어드레스 및 종단점 파이프들 간에 매핑을 제공하는 일반적 메카니즘을 제공하는 것이다.
본 발명의 일태양의 장점은, 동일 형태의 토큰들을 특정 종단점에 매핑하는 것이다.
또다른 장점은, 본 발명에 따른, 디바이스의 효율적인 게이트-레벨 구현들을 제공하는 것이다.
도 1 은 유니버설 시리얼 버스 네트워크의 블록도.
도 2 는 유니버설 시리얼 버스 디바이스에 대한 인터페이스 모듈의 바람직한 일실시예의 블록도.
도 3 은 바람직한 실시예의 파이프 맵 인덱스에 대한 도면.
도 4 는 종단점 제어기의 바람직한 실시예에 의해 구현된 매핑예를 나타내는 표.
도 5 는 종단점 제어기의 바람직한 일실시예에 의해 구현된 다른 매핑예를 나타내는 표.
도 6 은 도 2 의 종단점 제어기에 대한 바람직한 실시예의 블록도.
도 7 은 도 2 의 인터페이스 모듈을 포함하는 USB 디바이스의 바람직한 일실시예의 블록도.
*도면의 주요 부분에 대한 부호의 설명*
202 : 종단점 제어기 204 : SIE
602 : MAC 유저 I/F 604 : 디바이스 펑션들
606 : 종단점 상태 608 : PEPS
610 : AD GEN 612 : DALM
712 : RAM 718 : 코어 버스
본 발명의 일태양에 의하면, 유니버설 시리얼 버스 디바이스에서 다중 논리 노드를 가로질러 종단점 파이프를 매핑하는 방법은, 각각 종단점 번호와 관련된 기능 어드레스를 갖는 복수의 종단점을 형성하고, 복수의 종단점 파이프를 구축하며, 복수의 파이프와 복수의 종단점간에 매핑을 정의하고, 복수의 파이프에서 제 1 파이프를 통해 토큰을 수신하며, 그리고 상기 토큰 종단점 번호에 상기 매핑을 적용함으로써 상기 제 1 파이프를 선택된 종단점에 접속시키며, 상기 토큰은 종단점 번호를 가지며, 상기 토큰의 종단점 번호는 상기 선택된 종단점의 종단점 번호와 상이한 것을 특징으로 하는 방법이다.
본 발명의 다른 태양에 의하면, 유니버설 시리얼 버스 디바이스에서 다중 논리 노드를 가로질러 파이프를 매핑하는 방법은, 제 1 종단점 번호를 갖는 토큰을 수신하고, 상기 토큰을 제 2 종단점 번호를 갖는 종단점에 매핑하고, 상기 제 1 종단점 번호는 상기 제 2 종단점 번호와 상이한 것을 특징으로 하는 방법이다.
본 발명의 또다른 태양에 의하면, 유니버설 시리얼 버스 디바이스에서 다중 논리 노드를 가로질러 파이프를 매핑하는 방법은, 제 1 의 기능 어드레스와 제 1 종단점 번호를 갖는 제 1 종단점을 형성하고, 제 2 의 기능 어드레스와 제 2 종단점 번호를 갖는 제 2 종단점을 형성하며, 상기 제 1 의 기능 어드레스와 제 1 종단점 번호에 어드레스지정된 토큰을 수신하고, 상기 토큰을 상기 제 2 종단점에 매핑하고, 상기 제 2 의 기능 어드레스는 상기 제 1 의 기능 어드레스와 상이한 것을 특징으로 하는 방법이다.
본 발명의 또다른 태양에 의하면, 유니버설 시리얼 버스 디바이스는 복수의 종단점, 파이프와 종단점을 연계시키는 복수의 파이프 맵, 및 복수의 파이프 맵으로부터 선택하기 위한 구성 레지스터(configuration register)를 사용한다.
본 발명의 또다른 태양에 의하면, 다기능 USB 디바이스는 수신된 토큰들을 종단점 파이프들에 매핑하기 위한 제 1 매핑 펑션, 상기 제 1 매핑 펑션와는 상이하며 수신된 토큰들을 종단점 파이프들에 매핑하는 제 2 매핑 펑션, 및 복수의 상태를 갖는 구성 레지스터를 구비하는 것으로, 상기 상태들 중 하나 이상은 제 1 매핑 펑션을 선택하고, 상기 상태들 중 하나 이상은 제 2 매핑 펑션을 선택하는 것을 특징으로 하는 디바이스이다. 디바이스의 개성을 동적으로 변경하는 방법은, 디바이스를 초기화하여, 제 1 매핑 펑션을 구현하는 제 1 개성과, 제 2 매핑 펑션을 구현하는 제 2 개성을 정의하고; 상기 구성 레지스터를 제 1 상태로 설정하여 상기 제 1 개성을 선택하며; 그리고 상기 구성 레지스터를 제 2 상태로 설정하여 상기 개성을 선택한다.
상기 목적들 및 다른 목적들, 특징들, 및 장점들은 다음 상세한 설명과 첨부 도면들을 참조하여 고려하면 명백해질 것이다.
본원에 기재된 발명은 본원의 출원인이 모든 권리를 소유하고 있고, 참조로 본 명세서에 포함되는, 미국 출원일이 1998년 1월 7일이고 미국 특허 출원 번호가 09/003,963호이며 발명의 명칭이 'Apparatus and Method for Implementing a Versatile USB Endpoint Pipe' 인 미국출원; 미국 출원일이 1998년 1월 7일이고 미국 특허 출원 번호 제09/004,003호를 우선권 주장하여 본원과 동일자로 99년 1월 6일 한국에 출원된 발명의 명칭이 '이중 버퍼링을 지원하는 유니버설 시리얼 버스 종단점 파이프의 실시장치 및 실시방법' 인 한국출원; 미국 출원일이 1998년 1월 7일이고 미국 특허 출원 번호가 09/003,897호이며 발명의 명칭이 'Apparatus and Method of Transmitting and Receiving USB Isochronous Data' 인 미국출원; 미국 출원일이 98년 1월 7일이고 미국 특허 출원 번호 제09/004,002 호를 우선권 주장하여 본원과 동일자로 99년 1월 6일에 한국에 출원된 발명의 명칭이 '유니버설 시리얼 버스 제어 이전을 처리하는 장치 및 방법' 인 한국출원; 미국 출원일이 98년 1월 7일이고 미국 특허 출원 번호 제09/004,005호를 우선권 주장하여 본원과 동일자로 99년 1월 6일 한국에 출원된 발명의 명칭이 '복합 유니버설 시리얼 버스 제어기에 인터페이스를 제공하기 위한 장치 및 방법' 인 한국출원; 및 미국 출원일이 98년 1월 7일이고 미국 특허 출원 번호 09/003,925호를 우선권 주장하여 본원과 동일자로 99년 1월 6일 한국에 출원된 발명의 명칭이 '유니버설 시리얼 장치를 초기화하는 장치 및 방법' 인 한국 출원에 기재된 더 큰 발명군의 일태양이다.
추가적으로, 내셔널 세미콘덕터(National Semiconductor) 의 문서 USB Node Interface Architecture Specification, Revision 0.6 은 본 출원과 동일자로 심사 참고자료로서 제출하고 참조에 의해 본 명세서에 포함된다.
이제 도 7 을 참조하여, 본 발명에 따른 USB 디바이스 (710) 를 설명한다. 상기 디바이스의 바람직한 실시예는 USB 명세표의 개정판 1.0 을 충족하고, 다수의 장점들을 제공한다. 상기 USB 디바이스 (710) 는 USB 인터페이스 모듈 (200), 레지스터 세트 (714), RAM (712), 및 버스 인터페이스 장치(BIU) (716) 를 포함한다.
상기 인터페이스 모듈 (200) 은 USB 네트워크와 연결되어 데이터를 송신하고 수신한다. 상기 인터페이스 모듈 (200) 은 또한 코어 버스 (718) 를 통해 레지스터 세트 (714), RAM (712), 및 BIU (716) 에 접속된다. 상기 코어 버스 (718) 에 의해 인터페이스 모듈 (200) 은 레지스터 세트 (714) 와 RAM (712) 에 액세스할 수 있다. 상기 BIU (716) 는 코어 버스 (718) 어드레스 스페이스에 액세스를 제공한다.
이제 도 2 로 돌아가서, 도 7 의 USB 인터페이스 모듈 (200) 을 설명한다. 상기 USB 인터페이스 모듈 (200) 은 USB 디바이스 (710) 가 USB 네트워크와 연결되도록 하는 인터페이스를 제공한다. 상기 인터페이스 모듈 (200) 은 통합된 USB 트랜스시버 (206), 시리얼 인터페이스 엔진 (SIE) (204), 및 종단점 제어기 (202) 를 구비한다.
상기 트랜스시버 (206) 는 USB 네트워크와의 물리적 인터페이스를 제공한다. 상기 트랜스시버는 USB 명세의 개정판 1.0 의 물리적 레이어(layer) 명세표들에 부응하는 드라이버와 수신기를 둘다 포함한다.
상기 시리얼 인터페이스 엔진 (204) 은 동작시 트랜스시버 (206) 과 결합되고, 물리적 (PHY) 및 미디어 액세스 제어(MAC) 레벨로 구성된다. 상기 물리적 레벨은 디지털-클럭 회복 회로, 디지털 글리치 필터, End_Of_Packet 검출 회로, 및 비트-채움 및 비움(bit-stuffing and de-stuffing) 논리 회로를 구비한다.
상기 미디어 액세스 제어 레벨은 패킷 포맷팅, 순환적 용장 체크 생성 및 검사(cyclic redundancy check generation and checking), 종단점 어드레스 검출을 포함하고, 특정 종단점 파이프에 대하여 종단점 제어기 (202) 에 의해 결정되는 NAK, ACK 및 STALL 응답을 제공하기에 필요한 제어를 제공한다. 상기 시리얼 인터페이스 엔진 (204) 은 또한 Reset, Suspend 및 Resume 와 같은 USB-특정 이벤트를 검지하고 보고해야 한다.
상기 종단점 제어기 (202) 는 상기 시리얼 인터페이스 엔진 (204) 과 결합하여 동작하고, USB 펑션 종단점들에 대한 인터페이스를 제공한다.
상기 종단점 제어기 (202) 는 코어 버스 (718) 상에서 마스터 및 슬레이브로서 동작하고, 제어, 벌크, 등시성 및 인터럽트의 모든 USB 종단점 분류들을 지원한다. 슬레이브 액세스는 레지스터 세트 (714) 의 내부 제어 레지스터를 액세스하는데 사용되고, 마스터 액세스는 종단점들과 RAM (712) 간에 데이터를 전송하는데 사용된다.
상기 종단점 제어기 (202) 는 각 종단점 파이프에 대해 별개의 상태 정보를 유지한다. NAK 또는 STALL 핸드쉐이크에 따른 반응과 같은, 즉각적인 결정에 필요한 상태 정보가 각 종단점 파이프에 대해 항상 종단점 제어기 (202) 내에 유지된다. 상기 정보는 적절한 ACK, NAK, 및 STALL 응답을 제공하기 위해 시리얼 인터페이스 엔진 (204) 의 미디어 액세스 제어 레이어를 관리하는데 사용된다. 종단점 동작에 필요한 다른 정보는 RAM (712) 의 종단점 어레이에 보존된다. 상기 종단점 제어기 (202) 는 또한 종단점 상태 머신 (606) 을 포함한다. 오직 일 종단점 파이프가 소정 시간에 액티브이므로, 상기 종단점 파이프 상태 머신 (606) 은 모든 종단점 파이프간에 공유된다.
IN 토큰의 경우에, 상기 종단점 제어기 (202) 는 선택된 버퍼로부터 호스트로 데이터를 전송해야 한다. OUT 토큰의 경우에, 상기 종단점 제어기 (202) 는 상기 호스트로부터 선택된 버퍼로 데이터를 전송해야 한다. 버퍼를 종단점 파이프에 할당할 때 더 많은 융통성을 허용하기 위하여, 이중 버퍼링 방식이 각 종단점 파이프에 허용된다. 이에 의하여 종단점 제어기 (202) 가 NAK 에 의지하지 않고서 모든 트랜잭션에 즉각적인 응답을 제공한다.
상기 종단점 제어기 (202) 는 기능 어드레스, 토큰 형태 (IN, OUT, Setup) 및 종단점 번호로부터 종단점 파이프들 중 하나로의 매핑을 제공한다. 바람직한 실시예는 종단점 파이프들에 두 개의 고정된 매핑을 지원한다. 상기 매핑의 선택은 제어 레지스터 (714) 에 위치된 디바이스 구성 레지스터의 종단점 파이프 맵 선택 비트를 설정함으로써 제어된다. 호스트 제어기 (102) 는 상기 파이프 맵 선택 비트의 설정을 제어할 수도 있다.
종단점 제어기 (202) 는 토큰 패킷을 사용하여, 도 3 에 도시된 바이트-와이드의 파이프 맵 인덱스 (300) 를 생성한다. 파이프 맵 인덱스 (300) 의 비트 0-3 은 종단점 번호 (EN) 를 확인하기 위하여 사용된다. 비트 4-5 는 토큰 형태를 확인하기 위해 사용되는데, 00 은 OUT 토큰을 나타내고, 10 은 IN 토큰을 나타내고, 11 은 SETUP 토큰을 나타내며, 그리고 01 은 SOF 토큰을 나타낸다. 비트 6-7 은 선택된 기능 어드레스를 나타내기 위하여 사용된다.
토큰 패킷의 수신과 동시에, 종단점 제어기 (202) 는 파이프 맵 인덱스 (300) 를 생성한다. 그리고 나서 상기 종단점 제어기 (202) 는 종단점 파이프 맵 선택 비트에 액세스하여, 상기 토큰에 대해 적절한 매핑을 선택한다.
USB 디바이스 (710) 의 바람직한 일실시예는 두 가지 매핑을 지원한다. 따라서, 상기 종단점 파이프 선택 비트는 단일 비트로 구성된다. 상기 종단점 파이프 맵 선택 비트가 0 일때의 매핑이 도 4 에 도시되어 있다. 상기 종단점 파이프 맵 선택 비트가 1 일때의 매핑이 도 5 에 도시되어 있다.
상기 종단점 파이프 선택 비트를 변경함으로써, 상기 호스트 제어기 (102) 는 펑션들을 가로질러 종단점 파이프들의 매핑을 변경할 수 있다. 따라서, 상기 호스트 제어기 (102) 는 디바이스가 다중 개성을 가지도록 구성할 수 있다. 상기 호스트 제어기 (102) 는 그리고 나서 단순히 종단점 파이프 맵 선택 비트를 액세스함으로서 상기 디바이스 개성을 동적으로 변경할 수도 있다. 이에 의해 또한 상기 호스트 제어기 (102) 는 기능 어드레스, 토큰 형태 및 종단점을 가로질러 종단점 파이프들을 종단점 파이프들이 자원으로서 가장 필요한 곳에 할당할 수 있다.
먼저 도 4 를 참조하면, 종단점 매핑은 토큰 패킷의 기능 어드레스와 종단점 번호에 따라 관리된다. 지정자 (designator) FAO 는 초기화동안 디바이스 (710) 에 할당된 기능 어드레스를 나타낸다. 도시된 바와 같이, 기능 어드레스 FAO, 토큰 형태 IN, OUT 또는 SETUP 및 종단점 0 을 갖는 토큰 패킷이 종단점 파이프 # 0 에 매핑되어 있다. 이와 유사하게, 기능 어드레스 FAO, 토큰 형태 IN,, OUT 또는 SETUP, 및 종단점 1 - 15 를 갖는 토큰 패킷은 종단점 파이프 # 1 - 15 에 종단점 번호별로 각각 매핑되어 있다. SOF 토큰을 갖는 토큰 패킷은 자동적으로 SOF 종단점 파이프에 매핑된다. FAO 이외의 기능 어드레스를 갖는 토큰 패킷은 무시된다.
다음으로, 도 5 를 참조하여, 종단점 파이프 맵 비트가 설정될 때의 매핑에 대해 설명한다. 기능 어드레스 FAO, 토큰 형태 IN, OUT, 또는 SETUP, 및 종단점 0 을 갖는 토큰 패킷들이 종단점 파이프 # 0 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 IN, OUT, 또는 SETUP, 및 종단점 8 이 종단점 파이프 # 1 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 OUT, 및 종단점 1 을 갖는 토큰 패킷들이 종단점 파이프 # 2 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 IN, 및 종단점 1 을 갖는 토큰 패킷들이 종단점 파이프 # 3 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 OUT, 및 종단점 2 를 갖는 토큰 패킷들이 종단점 파이프 # 4 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 IN, 및 종단점 2 를 갖는 토큰 패킷들이 종단점 파이프 # 5 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 OUT, 및 종단점 3 을 갖는 토큰 패킷들이 종단점 파이프 # 6 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 IN, 및 종단점 3 을 갖는 토큰 패킷들이 종단점 파이프 # 7 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 OUT, 및 종단점 4 를 갖는 토큰 패킷들이 종단점 파이프 # 8 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 IN, 및 종단점 4 를 갖는 토큰 패킷들이 종단점 파이프 # 9 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 OUT, 및 종단점 5 를 갖는 토큰 패킷들이 종단점 파이프 # 10 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 IN, 및 종단점 5 를 갖는 토큰 패킷들이 종단점 파이프 # 11 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 OUT, 및 종단점 6 을 갖는 토큰 패킷들이 종단점 파이프 # 12 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 IN, 및 종단점 6 을 갖는 토큰 패킷들이 종단점 파이프 # 13 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 OUT, 및 종단점 7 을 갖는 토큰 패킷들이 종단점 파이프 # 14 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 IN, 및 종단점 7 을 갖는 토큰 패킷들이 종단점 파이프 # 15 에 매핑되어 있다. 기능 어드레스 FAO, 토큰 형태 SETUP, 및 종단점 1 - 7 을 갖는 토큰 패킷들은 종단점 파이프에 매핑되지 않는다. 기능 어드레스 FAO, 임의의 토큰 형태, 및 종단점 9 - 15 을 갖는 토큰 패킷들은 종단점 파이프에 매핑되지 않는다. 토큰 형태 SOF 를 갖는 토큰 패킷들은 SOF 종단점 파이프에 매핑된다. FAO 이외의 임의의 기능 어드레스를 갖는 토큰 패킷들은 종단점 파이프에 매핑되지 않는다.
상기 매핑에 의하여 IN 과 OUT 동작들에 대한 처음 8 개의 종단점 번호들의 할당이 가능하다. 이에 따라, 종단점 파이프들은 입력 또는 출력으로 사용될 수 있지만, 동시에 양자로는 사용될 수 없다. 그리하여 상기 매핑에 의해 종단점 1 IN 과 종단점 1 OUT 을 가질 수 있다.
도 4 와 도 5 의 종단점 매핑이 FAO 만을 나타내고 있지만, 복합 디바이스에 대한 매핑들은 부가적 기능 어드레스들을 포함할 것이다. 바람직한 실시예는 파이프 맵 인덱스 (300) 의 두 비트를 기능 어드레스에 할당하여, 네 개의 기능 어드레스가 지원될 수 있도록 한다. 상기 디바이스의 바람직한 실시예는 모든 제어 펑션들을 함께 일 종단점 파이프상으로 매핑한다. 이것은 필요한 종단점 파이프들의 전체적 개수를 감소시킨다.
프로그래밍 모델의 바람직한 실시예에서, 종단점 파이프들은 기능 어드레스, 토큰 형태, 및 종단점 번호들을 가로질러 매핑될 수도 있다. 이에 의하여 디바이스의 재구성을 회피할 수 있고, 실제 응용예들의 요구사항들에 기초하여 기능 어드레스들 사이의 종단점 파이프들의 완전히 동적인 할당이 가능하게 된다. 또한, 복수의 매핑이 데이터 레지스터내에 동적으로 프로그래밍될 수도 있다. 차례로 상기 매핑들은 인덱스 레지스터에 의해 동적으로 선택될 수도 있다.
데이터 전송 중 종단점 파이프들에 의해 사용되는 모든 정보는RAM (812) 에 위치한 종단점 어레이에 보전된다. 상기 어레이는 레지스터 세트 (814) 에 위치한 종단점 어레이 베이스 어드레스 레지스터내에 정의된 베이스 어드레스로부터, 종단점 파이프에 의해, 인덱스되어 있다. 상기 어레이는 각 종단점에 대한 제어 워드(control word)를 가지고 있다. 상기 제어 워드는, 관련 버퍼의 시작, 버퍼의 크기, 버퍼의 상태 및 다른 관련 파라미터들에 대한 포인터와 같은, 연계된 종단점 파이프에 대한 명령 및 상태 정보를 가지고 있다.
버퍼 상태는, 버퍼가 입력 또는 출력 트랜잭션용으로 사용되는가의 여부, 버퍼가 현재 액세스되고 있는가의 여부 또는 소망 동작을 완성했는가의 여부를 정의한다.
IN 또는 OUT 전송이 요청될 때, 상기 종단점 제어기 (202) 는 먼저 토큰을 적절한 종단점 파이프로 매핑한다. 상기 토큰이 종단점 파이프에 현존 버퍼로 매핑될 때, 상기 종단점 제어기 (202) 는 적절한 제어 워드를 판독한다. 상기 제어 워드는 트랜잭션 완성법을 종단점 제어기 (202) 에 전달한다. 트랜잭션의 끝에서, 상기 종단점 제어기는, 상기 버퍼를 해제한다는 지시로서 소프트웨어에 의해 사용되는 상태로 상기 제어 워드를 기입하여, 새로운 제어 워드를 제공한다.
종단점 제어기 (202) 는 트랜잭션을 처리하기에 필요한 메모리 액세스의 개수를 최소화한다. 토큰의 수신시에만 종단점 어레이에 액세스하기 위한 메모리 액세스가 필요하다. 상기 액세스는 데이터 전송에 대한 위치 및 크기 정보를 판독한다. 상기 데이터 전송은 연속적인 이중-워드 판독 또는 기입 동작에서 일어난다.
인터페이스 모듈 (200) 의 종단점 제어기 (202) 는 전송용 코어 버스 (718) 상에서 최우선권을 가지며, 전송 비율은 USB 의 전송 비율보다 상당히 높다. 따라서, 다음의 액세스와 현재의 액세스가 중복되는 잉여 워드를 제외하고는, 종단점 제어기 (202) 내에서 데이터 버퍼링에 대한 최소의 요구가 존재한다. 바이트 카운터는 전송되는 바이트들의 개수를 계속 추적한다. 전송의 마지막 액세스는 메모리의 부분적 판독 또는 기입을 요청할 수도 있다. 상기 마지막 액세스의 부분적 기입은 최종 바이트 카운트에 의해 결정된다. 전송의 끝에서, 현재의 제어 워드가 전송 상태로 기입되고, 상기 종단점에 대한 다른 제어 워드는 다른 버퍼가 준비되었는지의 여부를 검사하도록 판독된다. 제어 워드 동작이 종료된 후에, 종단점 파이프 상태는 종단점 파이프 상태 어레이 내에서 갱신된다. 이에 의하여 인터페이스 모듈 (200)의 종단점 제어기 (202) 에 의한 트랜잭션의 처리가 완성된다.
다음으로 도 6 을 참조하여, 종단점 제어기 (202) 의 구조를 더 자세하게 설명한다. 상기 종단점 제어기 (202) 는 몇 개의 기능 블록으로 구성된다. 구체적으로는, 상기 종단점 제어기 (202) 는 미디어 액세스 제어 인터페이스 (62), 디바이스 펑션 블록 (604), 종단점 상태 머신 (606), 부분 종단점 파이프 저장부 (PEPS) (608), 어드레스 발생기 (610), 및 데이터 정렬 멀티플렉서 (612) 를 구비한다.
상기 미디어 액세스 제어 인터페이스 (602) 는 상기 종단점 상태 머신 (606) 과 상기 데이터 정렬 먹스 (612) 와 결합되어, 시리얼 인터페이스 엔진 (204) 의 미디어 액세스 제어 레벨에 인터페이스를 제공한다. 종단점 제어기 (202) 의 어떤 도메인들은 코어 버스 (718) 상에서 클럭을 사용하여 동작하고, 다른 도메인들은 종단점 제어기 (202) 의 로컬 클럭을 사용하여 동작한다. 상기 미디어 액세스 제어 인터페이스 (602) 는 상기 종단점 제어기 (202) 로부터 전송되는 각 바이트에 대하여 비동기의 핸드쉐이크를 갖는 다양한 도메인들간의 데이터 바이트들을 동기화시킨다.
상기 디바이스 펑션 블록 (604) 은 어드레스 검사 및 생성과 같은 디바이스 기능들을 수행한다. 상기 디바이스 펑션 블록 (604) 은 동작시에 상기 종단점 상태 머신 (606) 과 결합되어, 현재 액세스되는 종단점 파이프와 관련한 정보를 제공한다.
상기 종단점 상태 머신 (606) 은 액티브 종단점 파이프의 상태를 유지하는 것과 관련된 기능들을 수행한다. 상기 종단점 상태 머신 (606) 은 하드웨어와 소프트웨의 상호 작용을 동기화하도록 잘 정의된 전이를 갖는 액티브 종단점 파이프의 상태를 유지한다. 호스트 제어기는 종단점 상태 레지스터를 통하여 현재 상태를 알 수 있다.
상기 부분적 종단점 파이프 저장부 (608) 는 각 종단점 파이프에 대한 최소량의 정보를 보유한다. 그 나머지는 로컬 RAM 내의 어레이에 저장된다.
상기 어드레스 발생기 (610) 는 코어 버스 상에서 전송용 어드레스를 생성한다. 통상적으로 상기 어드레스는 메모리 어드레스이다.
상기 데이터 정렬 먹스 (612) 는, 코어 버스 (718) 을 통한 전송이 이루어지기 전에 필요한 데이터 바이트 정렬을 제공한다.
여기에 설명된 실시예들이 특정 매핑들에 관련되어 있지만, 본 발명은 그 요지를 벗어남이 없이 다양한 다른 매핑 기능들에 적용될 수 있다. 이는 UIR 에 의해 결정되는 위치들을 기입함에 의한 프로그래밍가능 매핑들을 포함한다. 종래 분야에서 일반적 기술을 가진 사람들은 여기에 개시된 실시예들로부터 교습없이도 많은 변형예들이 가능하다는 것을 이해할 것이다. 상기의 모든 변형예들은 다음 청구범위내에 포함되도록 의도된다.
본 발명에 의하여, 다기능 USB 장치의 개성을 동적으로 변경할 수 있고, 복수의 펑션에 단일 파이프를 동적으로 할당할 수 있다.
Claims (5)
- 유니버설 시리얼 버스 디바이스에서 다중 논리 노드를 가로질러 종단점 파이프들을 매핑하는 방법에 있어서,각각 종단점 번호와 관련된 기능 어드레스를 갖는 복수의 종단점을 구성하는 단계,복수의 종단점 파이프를 구축하는 단계,상기 복수의 종단점 파이프와 상기 복수의 종단점 간에 매핑을 정의하는 단계,상기 복수의 파이프로부터 제 1 파이프를 통해 종점 번호를 갖는 토큰을 수신하는 단계, 및상기 매핑을 상기 토큰 종단점 번호에 적용함으로써 상기 제 1 파이프를 선택된 종단점에 연결하는 단계를 구비하며,상기 토큰의 상기 종단점 번호는 상기 선택된 종단점의 상기 종단점 번호와는 다른 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 복수의 종단점은 제 1 의 기능 어드레스를 갖는 제 1 종단점과 제 2 의 기능 어드레스를 갖는 제 2 종단점을 구비하고, 상기 제 1 의 기능 어드레스는 상기 제 2 의 기능 어드레스와 다르며,상기 종단점들과 상기 파이프들간의 매핑을 정의하는 단계는 기능 어드레스와 상기 복수의 종단점간에 상기 매핑을 정의하는 단계를 더 구비하고,상기 수신된 토큰은 기능 어드레스 데이터를 가지며, 그리고상기 제 1 파이프를 상기 종단점들 중 하나에 연결하는 단계는 상기 매핑을 상기 기능 어드레스 데이터에 적용하는 단계를 더 구비하는 것을 특징으로 하는 방법.
- 유니버설 시리얼 버스 디바이스에서 다중 논리 노드를 가로질러 파이프들을 매핑하는 방법에 있어서,제 1 종단점 번호를 갖는 토큰을 수신하는 단계와,상기 토큰을 제 2 종단점 번호를 갖는 종단점으로 매핑하는 단계를 구비하고, 상기 제 1 종단점 번호는 상기 제 2 종단점 번호와 다른 것을 특징으로 하는 방법.
- 유니버설 시리얼 버스 디바이스에서 다중 논리 노드를 가로질러 파이프들을 매핑하는 방법에 있어서,제 1 의 기능 어드레스와 제 1 종단점 번호를 갖는 제 1 종단점을 구성하는 단계,제 2 의 기능 어드레스와 제 2 종단점 번호를 갖는 제 2 종단점을 구성하는 단계,상기 제 1 의 기능 어드레스와 제 1 종단점 번호에 어드레스지정된 토큰을 수신하는 단계, 및상기 토큰을 상기 제 2 종단점으로 매핑하는 단계를 구비하고,상기 제 2 의 기능 어드레스는 상기 제 1 의 기능 어드레스와 상이한 것을 특징으로 하는 방법.
- 복수의 다기능 USB 디바이스의 개성을 동적으로 변경하는 방법으로서,상기 디바이스는 수신된 토큰을 종단점 파이프로 매핑하는 제 1 매핑 기능, 상기 제 1 매핑 기능과는 상이하며 수신된 토큰을 종단점 파이프로 매핑하는 제 2 매핑 기능, 및 복수의 상태를 갖는 구성 레지스터를 구비하고, 상기 상태들 중 하나 이상은 상기 제 1 매핑 기능을 선택하고 상기 상태들 중 하나 이상은 상기 제 2 매핑 기능을 선택하며,상기 제 1 매핑 기능을 구현하는 제 1 개성과 상기 제 2 매핑 기능을 구현하는 제 2 개성을 정의하기 위해 USB 디바이스를 초기화하는 단계,상기 구성 레지스터를 제 1 상태로 설정하여 상기 제 1 개성을 선택하는 단계, 및상기 구성 레지스터를 제 2 상태로 설정하여 상기 제 2 개성을 선택하는 단계를 구비하는 것을 특징으로 하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/004,004 US6122676A (en) | 1998-01-07 | 1998-01-07 | Apparatus and method for transmitting and receiving data into and out of a universal serial bus device |
US9/004004 | 1998-01-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990067730A KR19990067730A (ko) | 1999-08-25 |
KR100290942B1 true KR100290942B1 (ko) | 2001-05-15 |
Family
ID=21708661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990000085A KR100290942B1 (ko) | 1998-01-07 | 1999-01-06 | 유니버설 시리얼 버스 디바이스 내부로 및 외부로 데이터를 송신 및 수신하기 위한 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6122676A (ko) |
KR (1) | KR100290942B1 (ko) |
DE (1) | DE19900325B4 (ko) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4026948B2 (ja) * | 1997-09-29 | 2007-12-26 | キヤノン株式会社 | ネットワークシステム、デバイス、デバイスの制御方法、及び、記憶媒体 |
DE19900245B4 (de) | 1998-01-07 | 2005-09-15 | National Semiconductor Corp.(N.D.Ges.D.Staates Delaware), Santa Clara | Vorrichtung und Verfahren zum Senden von Daten von einem USB-Endpunkt an einen USB-Host |
US6363085B1 (en) * | 1998-03-23 | 2002-03-26 | Multivideo Labs, Inc. | Universal serial bus repeater |
US6311294B1 (en) * | 1998-10-20 | 2001-10-30 | Cypress Semiconductor Corp. | Device and method for efficient bulk data retrieval using a universal serial bus |
US6611552B2 (en) * | 1999-01-28 | 2003-08-26 | Intel Corporation | Universal serial bus transceiver and associated methods |
US6601109B1 (en) * | 1999-03-31 | 2003-07-29 | International Business Machines Corporation | USB-based networking and I/O hub |
JP3641169B2 (ja) * | 1999-08-06 | 2005-04-20 | 株式会社エヌ・ティ・ティ・ドコモ | Usb対応電子機器 |
US6629220B1 (en) * | 1999-08-20 | 2003-09-30 | Intel Corporation | Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type |
US6523081B1 (en) * | 1999-11-22 | 2003-02-18 | Texas Instruments Incorporated | Architecture using dedicated endpoints and protocol for creating a multi-application interface and improving bandwidth over universal serial bus |
US6804243B1 (en) * | 1999-11-22 | 2004-10-12 | Texas Instruments Incorporated | Hardware acceleration for segmentation of message packets in a universal serial bus peripheral device |
JP4553279B2 (ja) * | 2000-03-09 | 2010-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ転送システム、データ転送端末、コントローラ、およびインターフェイス方法 |
US6941114B1 (en) * | 2000-03-28 | 2005-09-06 | Behavior Tech Computer Corporation | USB-based wireless transmitting/receiving system |
US6718412B2 (en) * | 2000-12-14 | 2004-04-06 | Agilent Technologies, Inc. | Apparatus and method for universal serial bus communications |
US7076536B2 (en) * | 2000-12-21 | 2006-07-11 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier |
US7165109B2 (en) * | 2001-01-12 | 2007-01-16 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device |
US6895520B1 (en) | 2001-03-02 | 2005-05-17 | Advanced Micro Devices, Inc. | Performance and power optimization via block oriented performance measurement and control |
JP2002312296A (ja) * | 2001-04-10 | 2002-10-25 | Nec Microsystems Ltd | 周辺装置のusbインタフェース装置、その制御方法およびプログラム並びにusbインタフェースシステム |
KR100419278B1 (ko) * | 2001-10-11 | 2004-02-18 | 삼성전자주식회사 | 유에스비 장치 구동 방법 및 이 구동 방법을 사용하는내장형 시스템 |
US20030229811A1 (en) * | 2001-10-31 | 2003-12-11 | Cross Match Technologies, Inc. | Method that provides multi-tiered authorization and identification |
US20030167347A1 (en) * | 2002-02-11 | 2003-09-04 | Combs James Lee | Home network printer adapter |
US6978339B2 (en) * | 2002-02-22 | 2005-12-20 | Canon Kabushiki Kaisha | Communication system and method of controlling same |
US7080189B1 (en) * | 2002-05-31 | 2006-07-18 | Cypress Semiconductor Corp. | USB device communication |
US6959350B1 (en) * | 2002-06-28 | 2005-10-25 | Cypress Semiconductor Corp. | Configurable USB interface with virtual register architecture |
DE10234991B4 (de) * | 2002-07-31 | 2008-07-31 | Advanced Micro Devices, Inc., Sunnyvale | Hostcontrollerdiagnose für einen seriellen Bus |
US7543080B2 (en) * | 2003-03-28 | 2009-06-02 | Peter Arthur Schade | Dual port USB interface |
US7823133B2 (en) * | 2003-04-23 | 2010-10-26 | Stmicroelectronics, Inc. | Smart card device and method for debug and software development |
US7181649B2 (en) * | 2003-05-09 | 2007-02-20 | Stmicroelectronics, Inc. | Universal serial bus (USB) smart card having enhanced testing features and related system, integrated circuit, and methods |
US7373522B2 (en) * | 2003-05-09 | 2008-05-13 | Stmicroelectronics, Inc. | Smart card with enhanced security features and related system, integrated circuit, and methods |
US7143224B2 (en) * | 2003-05-09 | 2006-11-28 | Stmicroelectronics, Inc. | Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods |
US6783078B1 (en) | 2003-05-09 | 2004-08-31 | Stmicroelectronics, Inc. | Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods |
US7080789B2 (en) * | 2003-05-09 | 2006-07-25 | Stmicroelectronics, Inc. | Smart card including a JTAG test controller and related methods |
US7044390B2 (en) * | 2003-06-02 | 2006-05-16 | Stmicroelectronics, Inc. | Smart card emulator and related methods using buffering interface |
US7369982B2 (en) * | 2003-06-04 | 2008-05-06 | Stmicroelectronics, Inc. | Multi-mode smart card emulator and related methods |
US7127649B2 (en) * | 2003-06-09 | 2006-10-24 | Stmicroelectronics, Inc. | Smartcard test system and related methods |
US20040260823A1 (en) * | 2003-06-17 | 2004-12-23 | General Instrument Corporation | Simultaneously transporting multiple MPEG-2 transport streams |
GB2412757B (en) * | 2004-03-31 | 2006-02-15 | Mentor Graphics | Multi-point USB connection |
US7904607B2 (en) * | 2004-04-21 | 2011-03-08 | Stmicroelectronics, Inc. | Smart card with self-reconfiguration features and related methods |
US7328849B2 (en) * | 2004-04-21 | 2008-02-12 | Stmicroelectronics, Inc. | Smart card providing data mapping for multiple applications and related methods |
US8234421B2 (en) * | 2004-04-21 | 2012-07-31 | Stmicroelectronics, Inc. | Smart card with selectively allocatable data buffers and associated methods |
US8046508B2 (en) | 2004-04-21 | 2011-10-25 | Stmicroelectronics, Inc. | Smart card with self-detachment features and related methods |
US7685328B2 (en) * | 2004-09-09 | 2010-03-23 | Stmicroelectronics, Inc. | Generic universal serial bus device operable at low and full speed and adapted for use in a smart card device |
US7188206B2 (en) * | 2004-10-22 | 2007-03-06 | Conwise Technology Corporation Ltd. | USB compound device without embedded hub and implement method in USB system |
US8315269B1 (en) | 2007-04-18 | 2012-11-20 | Cypress Semiconductor Corporation | Device, method, and protocol for data transfer between host device and device having storage interface |
US20080276009A1 (en) * | 2007-05-04 | 2008-11-06 | Joe Mesa | Enabling Efficient Communication Between a Host and Multiple USB Devices |
TW200903262A (en) * | 2007-07-05 | 2009-01-16 | Weltrend Semiconductor Inc | Method and related integrated circuit for dynamically configuring USB endpoint resource |
TWI448902B (zh) * | 2007-08-24 | 2014-08-11 | Cypress Semiconductor Corp | 具頁存取基礎處理器介面之橋接裝置 |
US8090894B1 (en) | 2007-09-21 | 2012-01-03 | Cypress Semiconductor Corporation | Architectures for supporting communication and access between multiple host devices and one or more common functions |
US7895387B1 (en) | 2007-09-27 | 2011-02-22 | Cypress Semiconductor Corporation | Devices and methods for sharing common target device with two different hosts according to common communication protocol |
US7987296B2 (en) * | 2008-05-27 | 2011-07-26 | Eyran Lida | Methods and devices for CEC propagation control |
US20100180064A1 (en) * | 2009-01-14 | 2010-07-15 | Huawei Device Co., Ltd. | Method and device for implementing USB endpoint multiplexing |
KR101566004B1 (ko) * | 2009-03-05 | 2015-11-06 | 삼성전자주식회사 | 엔드 포인트를 복수개로 분할 가능한 반도체 장치 |
JP6531446B2 (ja) * | 2015-03-20 | 2019-06-19 | 富士電機株式会社 | Hid_usb通信を用いたups管理装置及び方法 |
GB202001700D0 (en) * | 2020-02-07 | 2020-03-25 | Blancco Tech Group Ip Oy | USB controller endpoint resource management |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996041274A1 (en) * | 1995-06-07 | 1996-12-19 | Advanced Micro Devices, Inc. | Dynamically reconfigurable data bus |
US5751951A (en) * | 1995-10-30 | 1998-05-12 | Mitsubishi Electric Information Technology Center America, Inc. | Network interface |
US5848293A (en) * | 1995-11-03 | 1998-12-08 | Sun Microsystems, Inc. | Method and apparatus for transmission and processing of virtual commands |
US5729721A (en) * | 1995-11-13 | 1998-03-17 | Motorola, Inc. | Timebase synchronization in separate integrated circuits or separate modules |
US5774680A (en) * | 1995-12-11 | 1998-06-30 | Compaq Computer Corporation | Interfacing direct memory access devices to a non-ISA bus |
US5943506A (en) * | 1996-03-25 | 1999-08-24 | Intel Corporation | System for facilitating data I/O between serial bus input device and non-serial bus cognition application by generating alternate interrupt and shutting off interrupt triggering activities |
US5835791A (en) * | 1996-03-26 | 1998-11-10 | Vlsi Technology, Inc. | Versatile connection of a first keyboard/mouse interface and a second keyboard/mouse interface to a host computer |
US5841471A (en) * | 1996-09-12 | 1998-11-24 | Eastman Kodak Company | Timing control for a digitally interfaced camera using variable line readout intervals |
US5818948A (en) * | 1996-10-23 | 1998-10-06 | Advanced Micro Devices, Inc. | Architecture for a universal serial bus-based PC speaker controller |
US5778218A (en) * | 1996-12-19 | 1998-07-07 | Advanced Micro Devices, Inc. | Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates |
-
1998
- 1998-01-07 US US09/004,004 patent/US6122676A/en not_active Expired - Lifetime
-
1999
- 1999-01-06 KR KR1019990000085A patent/KR100290942B1/ko not_active IP Right Cessation
- 1999-01-07 DE DE19900325A patent/DE19900325B4/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6122676A (en) | 2000-09-19 |
KR19990067730A (ko) | 1999-08-25 |
DE19900325B4 (de) | 2005-12-22 |
DE19900325A1 (de) | 2000-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100290942B1 (ko) | 유니버설 시리얼 버스 디바이스 내부로 및 외부로 데이터를 송신 및 수신하기 위한 장치 및 방법 | |
KR100290943B1 (ko) | 유니버설 시리얼 버스 제어 이전을 처리하는 장치 및 방법 | |
US6651119B2 (en) | Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status | |
KR100290944B1 (ko) | 복합 유니버설 시리얼 버스 제어기에 인터페이스를 제공하기 위한 장치 및 방법 | |
US6219736B1 (en) | Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN) | |
JP3641675B2 (ja) | 分割バッファアーキテクチュア | |
US7356636B2 (en) | Virtualized PCI switch | |
US6353866B1 (en) | Apparatus and method for initializing a universal serial bus device | |
US6073205A (en) | System and method of write posting in a universal serial bus system | |
JP4477613B2 (ja) | AXIプロトコルを適用したNoCシステム | |
US7162566B2 (en) | USB-based host-to-host networking method | |
US6901451B1 (en) | PCI bridge over network | |
US7043568B1 (en) | Configuration selection for USB device controller | |
CN109710548A (zh) | 一种dma控制数据传输方法、系统及设备 | |
JP2015537310A (ja) | データ処理システム及びデータ処理方法 | |
JP2000188626A (ja) | 一体のマイクロコントロ―ラ・エミュレ―タを有するリンク/トランザクション層コントロ―ラ | |
EP1896965A1 (en) | Dma descriptor queue read and cache write pointer arrangement | |
JPH09223089A (ja) | 複数バス・ターゲットへのパケット・データの分割を可能にする方法および装置 | |
US6516371B1 (en) | Network interface device for accessing data stored in buffer memory locations defined by programmable read pointer information | |
US6401142B1 (en) | Apparatus and method for selective bus transfer using master and slave modes | |
WO2005046146A1 (en) | Method, system, and program for constructing a packet | |
US7124227B2 (en) | Programmable interface link layer device | |
US7107381B2 (en) | Flexible data transfer to and from external device of system-on-chip | |
KR20030083572A (ko) | 상위버스와 하위버스를 가지며, 네트워크에서의 데이터액세스의 제어를 행하는 마이크로 컴퓨터 시스템 | |
US6421745B1 (en) | Asynchronous connections with scattering page tables for transmitting data from a producer device to a consumer device over an IEEE 1394 serial data bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130227 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20140227 Year of fee payment: 14 |
|
FPAY | Annual fee payment |
Payment date: 20150227 Year of fee payment: 15 |
|
FPAY | Annual fee payment |
Payment date: 20151230 Year of fee payment: 16 |
|
LAPS | Lapse due to unpaid annual fee |