KR100869567B1 - 무선 usb 시스템의 데이터 송수신 방법 - Google Patents

무선 usb 시스템의 데이터 송수신 방법 Download PDF

Info

Publication number
KR100869567B1
KR100869567B1 KR1020080064543A KR20080064543A KR100869567B1 KR 100869567 B1 KR100869567 B1 KR 100869567B1 KR 1020080064543 A KR1020080064543 A KR 1020080064543A KR 20080064543 A KR20080064543 A KR 20080064543A KR 100869567 B1 KR100869567 B1 KR 100869567B1
Authority
KR
South Korea
Prior art keywords
register
bit
data
bit vector
sequence number
Prior art date
Application number
KR1020080064543A
Other languages
English (en)
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 KR1020080064543A priority Critical patent/KR100869567B1/ko
Application granted granted Critical
Publication of KR100869567B1 publication Critical patent/KR100869567B1/ko

Links

Images

Classifications

    • 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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3812USB port controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3814Wireless link with a computer system port

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 시스템의 데이터 송수신 방법에 관한 것으로서, 슬라이딩 윈도우 방식을 사용하여 데이터를 버스트 모드로 송수신할 때 다음 슬라이딩 윈도우의 상태를 인식 비트벡터나 송신 비트벡터를 통해 간소화된 로직으로 짧은 시간 안에 간편하게 계산하여 데이터를 송수신할 수 있다.
Figure R1020080064543
무선, WUSB, 버스트 모드, 비트벡터, 슬라이딩 윈도우, 시퀀스 번호

Description

무선 USB 시스템의 데이터 송수신 방법{DATA COMMUNICATION METHOD OF WIRELESS USB SYSTEM}
본 발명은 무선 USB 시스템의 데이터 송수신 방법에 관한 것으로서, 보다 상세하게는 슬라이딩 윈도우 방식을 사용하여 데이터를 버스트 모드로 송수신할 때 슬라이딩 윈도우의 상태를 인식 비트벡터나 송신 비트벡터를 통해 간편하게 계산하여 데이터를 송수신하는 무선 USB 시스템의 데이터 송수신 방법에 관한 것이다.
일반적으로 USB(Universal Serial Bus: 범용 직렬 버스)는 직렬 포트의 일종으로 기존의 외부 확장 포트(시리얼 혹은 패러럴)들의 느린 속도와 제한된 장치 연결 문제를 해결하여, 오디오 플레이어, 조이스틱, 키보드, 전화, 스캐너 및 프린터 등과 같은 주변장치와 컴퓨터 사이를 연결하는 플러그 앤 플레이 인터페이스이다.
이러한 USB는 모뎀, 프린터, 스캐너 등의 디바이스만을 연결하기 위해서 사용되었던 외부 확장 포트들과 달리 서로 다른 방식으로 연결하던 키보드, 모니터, 마우스, 프린터, 모뎀 등 주변기기들을 한 번에 연결할 수 있는 것으로서, PC 본체 에 USB 접속기를 하나만 갖추고 있으면 성형 접속 또는 방사형 형태로 최대 127대의 주변 장치를 연결할 수 있도록 한다.
또한, 최근에는 컴퓨터 시스템과 외부 주변 장치를 접속시키기 위한 USB 케이블을 제거하기 위한 노력으로, 초광대역(Ultra Wide Band : UWB) 기술에 기반 하는 무선 USB(wireless USB : WUSB)가 표준화되었다. 무선 USB는 최대 10미터까지의 거리에 걸쳐 USB 2.0 표준에 필적하는 통신 속도(예를 들어, 최대 480Mbps)를 지향하고 있다.
이러한 무선 USB 시스템은 무선 USB 채널을 생성하고 채널을 관리할 수 있는 기능이 있는 무선 USB 호스트와 무선 USB 호스트에 연결하여 데이터를 송수신할 수 있는 무선 USB 디바이스로 구분된다. 무선 USB 호스트는 마스터의 역할을 수행하며 디바이스는 슬레이브 역할을 수행한다.
도 1은 일반적인 무선 USB 시스템을 간략하게 나타낸 블록구성도이다.
여기에 도시된 바와 같이 무선 USB 시스템은 CPU(10)와, 버퍼 디스크립터 메모리(20)와, 버퍼 메모리(30)와, 버퍼 관리유닛(40)과, DMA 핸들러(50)와, 송수신 제어부(60)를 포함하여 이루어진다.
이때, CPU(10)는 RISC, DSP 등과 기타 커스텀 하드웨어 등이 포함되고, 시스템 버스(BUS)에 의해 주변기기들을 연결하여 CPU(10)의 어드레스 등을 적절한 주변기기들로 전달하여 어드레스에 의해 지정되는 데이터를 CPU(10)와 주변기기간에 주고받을 수 있도록 한다.
송수신제어부(60)는 MMC 패킷과 제어명령을 처리하여 MMC 패킷내의 채널할당 메시지(WCTA)를 토대로 엔드포인트별로 송수신 시간을 관리할 뿐만 아니라 송/수신된 패킷에 헤더를 추가하거나 제거하며 송수신되는 패킷을 일시적으로 저장하여 데이터의 송수신을 제어한다.
버퍼 디스크립터 메모리(20)는 버퍼 관리유닛(40)에서 사용하는 디스크립터를 저장하는 부분이고, 송수신 데이터는 실질적으로 데이터가 저장되는 버퍼 메모리(30)로부터 DMA 핸들러(50)를 통해 송수신 제어부(60)에 입출력된다.
이러한 무선 USB 시스템에서 데이터의 송신은 MMC(Micro-scheduled Management Command) 내에 USB 토큰(Token)을 전달(broadcast) 하며, 데이터와 핸드쉐이크 단계에서 데이터 송수신(data communication)의 방향과 송신타입에 따라 적절하게 TDMA 타임슬롯을 사용하는 방법으로 호스트(Host)는 트랜잭션 그룹(Transaction group)의 송신을 시작할 수 있다. 이는 MMC 내에 무선 USB 트랜잭션에 대한 토큰이 포함되어 있기 때문에 가능하며 호스트는 각각의 트랜잭션 그룹 내에서 각각의 트랜잭션들이 어떻게 스케줄 될지를 결정한다.
도 2는 유선 USB 시스템과 무선 USB 시스템의 트랜잭션을 나타낸 그래프이다.
여기에서 도시된 바와 같이 무선 USB에서의 MMC 내의 토큰블록(token block) 들은 토큰정보, 디바이스, 엔드포인트, 방향 등과, 트랜잭션의 데이터와 핸드쉐이크에 대한 타임슬롯의 설명 등과 같은 중요한 정보들을 포함한다.
유선 USB의 경우 트랜잭션은 각각 하나의 토큰(Token), 데이터 패킷(Data), 핸드쉐이크 패킷(Hndsk)으로 구분되는 반면, 무선 USB는 트랜잭션 그룹 내에 여러 개의 데이터 패킷과 핸드쉐이크 패킷을 포함할 수 있다. 즉 각각의 엔드포인트별로 버스트(burst) 데이터를 송신할 수 있게 구성된다.
무선 USB의 트랜잭션 그룹은 도 3에 도시된 바와 같이 토큰 단계와, 데이터 단계와 핸드쉐이크 단계로 이루어지게 되며 이러한 버스트모드 데이터 단계는 모든 무선 USB의 데이터 단계에서 적용되는 규격으로써 Long packet preambles, MIFS (Minimum Inter Frame Spacing), SIFS (Short Inter Frame Spacing) 등과 같은 패킷 구분문자 오버헤드(packet delimiter overhead) 들로 인해, 무선 USB는 데이터 단계 동안 여러 개의 데이터 패킷을 보낼 수 있는 것으로 이러한 특성은 패킷 구분문자, 인터패킷(inter-packet) 갭을 줄여 주기 때문에 잠재적으로 더 효율적인 송신이 가능하게 한다.
일반적으로 무선 USB는 트랜스미터와 리시버 사이에 데이터 시퀀스 동기(data sequence synchronization)를 보장하기 위한 메카니즘을 제공한다. 즉, 트랜스미터는 데이터 단계에 하나 이상의 데이터 패킷을 송신할 수 있고, 리시버는 핸드쉐이크 단계 동안에 데이터가 수신되었다는 인식(acknowledge) 정보를 제공해야 한다. 데이터 단계 타임슬롯에서 송신된 패킷들은 보통 DATA (or IDATA)의 PID 필드를 갖으며 디바이스는 싱글 핸드쉐이크 패킷으로 WDTCTA 토큰에 응답할 수 있고, 데이터 패킷 내의 무선 USB 헤더는 데이터 시퀀스 카운터로 사용되는 시퀀스 번호 필드(Sequence Number field)를 갖고 있다.
또한, 무선 USB의 데이터 버스팅은 오류없는 데이터 전달을 위해 간단한 슬 라이딩 윈도우 프로토콜을 사용하여 트랜스미터는 시퀀스 오더를 1씩 증가하는 데이터 시퀀스 번호를 사용하며 리시버에서 수신되는 데이터 패킷에도 같은 오더링 규격을 사용한다.
도 4는 무선 USB의 데이터 버스팅에 대한 일반적인 데이터 플로우 모델을 나타낸 도면이다.
여기에 도시된 바와 같이 트랜스미터는 최대 패킷 사이즈 내에서 논리적으로 분리된 DX에서 DX+Y까지의 데이터 스트림을 갖으며, 다음 트랜잭션 데이터 단계에 대한 시퀀스 번호가 각 데이터 패킷과 어떻게 연결될지 조절하는 슬라이딩 송신 윈도우를 갖고, 시퀀스 번호를 데이터 버퍼 세그먼트와 순서가 바뀌지 않도록 정확히 연결시키도록 한다.
또한, 리시버는 다음 트랜잭션에서 사용될 데이터 시퀀스 번호를 가리키는 수신 윈도우를 갖으며, 트랜잭션의 핸드쉐이크 단계 동안 버스트 인식 정보를 제공하고, 1씩 증가하는 시퀀스 번호순으로 정확히 수신된 데이터를 사용해야 한다.
도 5와 도 6은 일반적인 무선 USB 시스템의 슬라이딩 윈도우 방식에 의한 데이터 송수신 과정을 나타낸 도면이다.
여기에 도시된 바와 같이 트랜스미터(70)와 리시버(80)의 송신 비트벡터와 인식 비트벡터에 대해 초기값으로 각각 10'b00_0000_1111로 설정하고, 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '3'으로 설정한다(S10)(S12).
이때 송신 비트벡터와 인식 비트벡터의 10'b00_0000_1111은 10개의 비트로 이루어지며 각각의 비트의 값에 따라 슬라이딩 윈도우의 상태를 나태는 것으로 시퀀스 번호 0부터 시퀀스 번호 3까지의 슬라이딩 윈도우가 열린 상태를 나타내고 있다.
이러한 상태에서 트랜스미터(70)는 데이터 패킷 D0, D1, D2, D3을 송신하게 되고(S14), 리시버(80)는 데이터 패킷 D0, D1, D2, D3을 정상적으로 수신할 경우 인식 비트벡터를 10'b00_1111_0000으로 변경하고, 변경된 인식 비트벡터와 슬라이딩 윈도우의 상태를 토대로 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '4'와, 최종 시퀀스 번호를 '7'로 변경한다(S16).
이후, 변경된 인식 비트벡터를 트랜스미터(70)로 전송한다(S18).
한편, 인식 비트벡터를 수신한 트랜스미터(70)는 리시버(80)가 정상적으로 수신한 것으로 확인하여 인식 비트벡터에 따라 전송비트 벡터를 10'b00_1111_0000으로 변경하고 이를 토대로 다음 송신할 슬라이딩 윈도우의 상태를 찾아 시작 시퀀스 번호를 '4'와, 최종 시퀀스 번호를 '7'로 변경한다(S20).
이후 트랜스미터(70)는 슬라이딩 윈도우의 상태에 따라 패킷 D4, D5, D6, D7을 송신하게 되고(S22), 리시버(80)는 데이터 패킷 D4, D5, D6, D7을 정상적으로 수신할 경우 인식 비트벡터를 10'b11_0000_0011로 변경하고, 변경된 인식 비트벡터와 슬라이딩 윈도우의 상태를 토대로 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '8'과, 최종 시퀀스 번호를 '1'로 변경한다(S24).
그런다음, 변경된 인식 비트벡터를 트랜스미터(70)로 전송한다(S26).
그리고, 인식 비트벡터를 수신한 트랜스미터(70)는 리시버(80)가 정상적으로 수신한 것으로 확인하여 인식 비트벡터에 따라 전송비트 벡터를 10'b11_0000_0011로 변경하고 이를 토대로 다음 송신할 슬라이딩 윈도우의 상태를 찾아 시작 시퀀스 번호를 '8'과, 최종 시퀀스 번호를 '1'로 변경한다(S28).
그런다음 트랜스미터(70)는 슬라이딩 윈도우의 상태에 따라 패킷 D8, D9, D0, D1을 송신한다(S30).
그러나, 도 6에 도시된 송수신 과정 패킷이 정상적으로 수신되지 못한 경우의 송수신 과정으로써 패킷 D0, D1, D2, D3을 정상적으로 송수신한 후(S40∼S50) 트랜스미터(70)에서 슬라이딩 윈도우의 상태에 따라 패킷 D4, D5, D6, D7을 송신하였으나(S52), 리시버(80)에서 패킷 D4를 정상적으로 수신하지 못하였을 경우에는 인식 비트벡터를 10'b11_0001_0001로 변경하고, 변경된 인식 비트벡터와 슬라이딩 윈도우의 상태를 토대로 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '4'와, 최종 시퀀스 번호를 '0'으로 변경한다(S54).
그리고, 변경된 인식 비트벡터를 트랜스미터(70)로 전송하며(S56).
이는 패킷 D4를 정상적으로 수신하지 못함으로써 슬라이딩 윈도우가 전진하지 못하고 수신하지 못한 D4를 다시 수신할 수 있도록 인식 비트벡터를 변경하여 전송함으로써 트랜스미터(70)에서는 송신 비트벡터를 10'b11_0001_0001로 변경하고, 이를 토대로 다음 송신할 슬라이딩 윈도우의 상태를 찾아 다시 송신할 패킷 D4가 포함되도록 시작 시퀀스 번호를 '4'와, 최종 시퀀스 번호를 '0'으로 변경한다(S58).
이후 트랜스미터(70)는 슬라이딩 윈도우의 상태에 따라 패킷 D4, D8, D9, D0을 전송한다(S60).
이와 같은 과정을 반복하면서 트랜스미터(70)와 리시버(80)는 인식 비트벡터를 받으면서 전송비트 벡터 및 슬라이딩 윈도우를 기반으로 버스트 패킷을 송신한다.
위에서 설명한 기술은 본 발명이 속하는 기술분야의 배경기술을 의미하며, 종래기술을 의미하는 것은 아니다.
이와 같이 무선 USB 시스템의 데이터 송수신 과정은 버스트 모드에서 데이터를 송수신할 때 엔드포인트의 최대 시퀀스로 구성된 슬라이딩 윈도우를 기반으로 이루어진다. 이때 트랜스미터와 리시버는 데이터 버스트 동기를 위해 슬라이딩 윈도우의 시작 시퀀스 번호와 최종 시퀀스 번호를 정확하게 알아야 할 필요성이 있다.
본 발명은 상기와 같은 필요성을 충족시키기 위해 창작된 것으로서, 슬라이딩 윈도우 방식을 사용하여 데이터를 버스트 모드로 송수신할 때 슬라이딩 윈도우의 상태를 인식 비트벡터나 송신 비트벡터를 통해 간편하게 계산하여 데이터를 송수신하는 무선 USB 시스템의 데이터 송수신 방법을 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따른 무선 USB 시스템의 데이터 송수신 방법은 버스트 모드에서 슬라이딩 윈도우 방식으로 데이터를 송수신하는 무선 USB 시스템의 데이터 송수신 방법에 있어서, 슬라이딩 윈도우의 상태를 나타내는 비트벡터와 비트벡터를 좌로 최대 시퀀스 만큼 비트쉬프트한 후 서로 연결하여 제 1레지스터에 저장하는 제 1단계; 제 1레지스터에 저장된 값을 좌로 1비트 로테이트 비트쉬프트하여 제 2레지스터에 저장하는 제 2단계; 제 2레지스터에 저장된 값을 비트반전시킨 후 제 1레지스터에 저장된 값과 비트논리곱하여 제 3레지스터에 저장하는 제 3단계; 제 3레지스터에서 이전 시작 시퀀스 번호의 위치로부터 시퀀스를 증가하면서 저장된 값을 비교하여 최초로 1이 검출되는 위치를 최대 시퀀스로 나머지 연산한 값을 시작 시퀀스 번호로 설정하는 제 4단계; 제 1레지스터에 저장된 값을 우로 1비트 비트쉬프트하여 제 4레지스터에 저장하는 제 5단계; 제 4레지스터에 저장된 값을 비트반전시킨 후 제 1레지스터에 저장된 값과 비트논리곱하여 제 5레지스터에 저장하는 제 6단계; 및 제 5레지스터에서 이전 시작 시퀀스 번호와 최대 시퀀스를 합산하여 1을 뺀 위치로부터 시퀀스를 감소하면서 저장된 값을 비교하여 최초로 1이 검출되는 위치를 최대 시퀀스로 나머지 연산한 값을 최종 시퀀스 번호로 설정하는 제 7단계;를 포함하는 것을 특징으로 한다.
본 발명에서 비트벡터는 트랜스미터의 송신 비트벡터나 리시버의 인식 비트벡터인 것을 특징으로 한다.
본 발명의 제 5단계에서 우로 1비트 비트쉬프트한 후 제 4레지스터의 최상위 비트는 '0'을 삽입하는 것을 특징으로 한다.
본 발명에서 제 2단계 내지 제 4단계와 제 5단계 내지 제 7단계는 병렬로 진행되는 것을 특징으로 한다.
상기한 바와 같이 본 발명은 슬라이딩 윈도우 방식을 사용하여 데이터를 버스트 모드로 송수신할 때 다음 슬라이딩 윈도우의 상태를 인식 비트벡터나 송신 비트벡터를 통해 간소화된 로직으로 짧은 시간 안에 간편하게 계산하여 데이터를 송수신할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 무선 USB 시스템의 데이터 송수신 방법의 일 실시예를 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 7은 본 발명의 일 실시예에 따른 무선 USB 시스템의 데이터 송수신 방법을 설명하기 위한 흐름도이고, 도 8은 본 발명의 실시예에 의한 무선 USB 시스템의 데이터 송수신 방법에 의해 리시버에서 시퀀스 번호를 산출하는 과정을 나타낸 도면으로써 도 5의 S16 단계에서 인식 비트벡터를 기반으로 제 1내지 제 5레지스터의 값의 변화를 구체적으로 도시하였다.
먼저, 시작 시퀀스 번호를 계산(S70)하기 위해 리시버(80)에서 슬라이딩 윈도우의 상태를 나타내는 인식 비트벡터와 인식 비트벡터를 좌로 최대 시퀀스 만큼 본 실시예에서는 10비트 만큼 비트쉬프트한 후 서로 연결하여 제 1레지스터(A)에 저장한다(S72).
이렇게 제 1레지스터(A)에 저장된 값을 좌로 1비트 로테이트 비트쉬프트하여 제 2레지스터(B)에 저장한다(S74).
즉, 최상위 비트를 최하위 비트로 이동시키면서 좌로 1비트 만큼 비트쉬프트시킨다.
이는 시작 시퀀스 번호에 해당하는 인식 비트벡터의 비트값은 항상 1이고, 바로 이전 비트값은 항상 0이기 때문에 좌로 비트쉬프트하여 시작 시퀀스 번호를 찾게 된다.
이후 제 2레지스터(B)에 저장된 값을 비트반전시킨 후 제 1레지스터(A)에 저장된 값과 비트논리곱하여 제 3레지스터(C)에 저장한다(S76).
이를 연산식으로 나타낼 경우에는 C = A & !B 로 나타낼 수 있다.
이렇게 구해진 제 3레지스터(C)에서 이전 시작 시퀀스 번호 즉, 본 실시예에서는 이전 단계인 S12단계에서의 시작 시퀀스 번호인 '0'의 위치로부터 시퀀스를 증가하면서 저장된 값을 비교하여 최초로 1이 검출되는 위치를 최대 시퀀스로 나머 지 연산한 값을 시작 시퀀스 번호로 설정한다(S78).
즉, 최초로 1이 검출된 위치가 '4'인 경우 최대 시퀀스인 10으로 나눈 나머지 값을 취하여 시작 시퀀스 번호로 설정한다.
이와 같이 시작 시퀀스 번호를 계산(S70)하면서 병렬로 최종 시퀀스 번호를 계산(S80)할 수 있다.
최종 시퀀스 번호를 계산하기 위해서는 제 1레지스터(A)에 저장된 값을 우로 1비트 비트쉬프트하여 제 4레지스터(D)에 저장한다(S82)(S84).
이때, 우로 1비트 비트쉬프트함에 따라 제 4레지스터(D)의 최상위 비트에는 '0'이 삽입된다.
이는 최종 시퀀스 번호에 해당하는 인식 비트벡터의 비트값은 항상 1이고, 바로 다음 비트값은 항상 0이기 때문에 우로 비트쉬프트하여 최종 시퀀스 번호를 찾게 된다.
이후 제 4레지스터(D)에 저장된 값을 비트반전시킨 후 제 1레지스터(A)에 저장된 값과 비트논리곱하여 제 5레지스터(E)에 저장한다(S86).
이를 연산식으로 나타낼 경우에는 E = A & !D 로 나타낼 수 있다.
이렇게 구해진 제 5레지스터(E)에서 이전 시작 시퀀스 번호 즉, 본 실시예에서는 이전 단계인 S12단계에서의 시작 시퀀스 번호와 최대 시퀀스를 합산하여 1을 뺀 위치 즉, 시작 시퀀스 번호인 '0'에 최대 시퀀스인 10을 합산하여 1을 뺀 '9'의 위치로부터 시퀀스를 감소하면서 저장된 값을 비교하여 최초로 1이 검출되는 위치를 최대 시퀀스로 나머지 연산한 값을 최종 시퀀스 번호로 설정한다(S88).
즉, 최초로 1이 검출된 위치가 '7'인 경우 최대 시퀀스인 10으로 나눈 나머지 값을 취하여 최종 시퀀스 번호로 설정한다.
본 실시예에서는 리시버(80)에서 인식 비트벡터를 기반으로 시작 시퀀스 번호와 최종 시퀀스 번호를 설정하는 방법을 설명하였으나, 트랜스미터(70)에서 송신 비트벡터를 기반으로 시작 시퀀스 번호와 최종 시퀀스 번호를 설정하는 방법도 동일한 방법으로 계산된다.
이와 같이 정확하게 계산된 슬라이딩 윈도우의 시작 시퀀스 번호와 최종 시퀀스 번호를 간소화된 로직으로 짧은 시간 안에 간편하게 계산하여 데이터를 송수신할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
도 1은 일반적인 무선 USB 시스템을 간략하게 나타낸 블록구성도이다.
도 2는 유선 USB 시스템과 무선 USB 시스템의 트랜잭션을 나타낸 그래프이다.
도 3은 일반적인 무선 USB의 트랜잭션 그룹을 나타낸 그래프이다.
도 4는 무선 USB의 데이터 버스팅에 대한 일반적인 데이터 플로우 모델을 나타낸 도면이다.
도 5와 도 6은 무선 USB 시스템의 데이터 송수신 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 의한 무선 USB 시스템의 데이터 송수신 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시예에 의한 무선 USB 시스템의 데이터 송수신 방법에 의해 리시버에서 시퀀스 번호를 산출하는 과정을 나타낸 도면이다.
- 도면의 주요부분에 대한 부호의 설명 -
10 : CPU 20 : 버퍼 디스크립터 메모리
30 : 버퍼 메모리 40 : 버퍼 관리유닛
50 : DMA 핸들러 60 : 송수신 제어부
70 : 트랜스미터 80 : 리시버

Claims (4)

  1. 버스트 모드에서 슬라이딩 윈도우 방식으로 데이터를 송수신하는 무선 USB 시스템의 데이터 송수신 방법에 있어서,
    상기 슬라이딩 윈도우의 상태를 나타내는 비트벡터와 상기 비트벡터를 좌로 최대 시퀀스 만큼 비트쉬프트한 후 서로 연결하여 제 1레지스터에 저장하는 제 1단계;
    상기 제 1레지스터에 저장된 값을 좌로 1비트 로테이트 비트쉬프트하여 제 2레지스터에 저장하는 제 2단계;
    상기 제 2레지스터에 저장된 값을 비트반전시킨 후 상기 제 1레지스터에 저장된 값과 비트논리곱하여 제 3레지스터에 저장하는 제 3단계;
    상기 제 3레지스터에서 이전 시작 시퀀스 번호의 위치로부터 시퀀스를 증가하면서 저장된 값을 비교하여 최초로 1이 검출되는 위치를 상기 최대 시퀀스로 나머지 연산한 값을 시작 시퀀스 번호로 설정하는 제 4단계;
    상기 제 1레지스터에 저장된 값을 우로 1비트 비트쉬프트하여 제 4레지스터에 저장하는 제 5단계;
    상기 제 4레지스터에 저장된 값을 비트반전시킨 후 상기 제 1레지스터에 저장된 값과 비트논리곱하여 제 5레지스터에 저장하는 제 6단계; 및
    상기 제 5레지스터에서 상기 이전 시작 시퀀스 번호와 상기 최대 시퀀스를 합산하여 1을 뺀 위치로부터 시퀀스를 감소하면서 저장된 값을 비교하여 최초로 1 이 검출되는 위치를 상기 최대 시퀀스로 나머지 연산한 값을 최종 시퀀스 번호로 설정하는 제 7단계;를 포함하는 것을 특징으로 하는 무선 USB 시스템의 데이터 송수신 방법.
  2. 제 1항에 있어서, 상기 비트벡터는 트랜스미터의 송신 비트벡터나 리시버의 인식 비트벡터인 것을 특징으로 하는 무선 USB 시스템의 데이터 송수신 방법.
  3. 제 1항에 있어서, 상기 제 5단계에서 우로 1비트 비트쉬프트한 후 상기 제 4레지스터의 최상위 비트는 '0'을 삽입하는 것을 특징으로 하는 무선 USB 시스템의 데이터 송수신 방법.
  4. 제 1항에 있어서, 상기 제 2단계 내지 상기 제 4단계와 상기 제 5단계 내지 상기 제 7단계는 병렬로 진행되는 것을 특징으로 하는 무선 USB 시스템의 데이터 송수신 방법.
KR1020080064543A 2008-07-03 2008-07-03 무선 usb 시스템의 데이터 송수신 방법 KR100869567B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080064543A KR100869567B1 (ko) 2008-07-03 2008-07-03 무선 usb 시스템의 데이터 송수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080064543A KR100869567B1 (ko) 2008-07-03 2008-07-03 무선 usb 시스템의 데이터 송수신 방법

Publications (1)

Publication Number Publication Date
KR100869567B1 true KR100869567B1 (ko) 2008-11-21

Family

ID=40284508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080064543A KR100869567B1 (ko) 2008-07-03 2008-07-03 무선 usb 시스템의 데이터 송수신 방법

Country Status (1)

Country Link
KR (1) KR100869567B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060140293A1 (en) 2004-12-27 2006-06-29 Ko-Yin Lai Method for detecting signal and estimating symbol timing
KR20060093959A (ko) * 2005-02-23 2006-08-28 엘지전자 주식회사 인터리빙 어드레스 발생 방법
KR20080035404A (ko) * 2006-10-19 2008-04-23 삼성전자주식회사 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법
KR20080075720A (ko) * 2007-02-13 2008-08-19 주식회사 코아로직 위치확인 장치 및 그 방법.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060140293A1 (en) 2004-12-27 2006-06-29 Ko-Yin Lai Method for detecting signal and estimating symbol timing
KR20060093959A (ko) * 2005-02-23 2006-08-28 엘지전자 주식회사 인터리빙 어드레스 발생 방법
KR20080035404A (ko) * 2006-10-19 2008-04-23 삼성전자주식회사 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법
KR20080075720A (ko) * 2007-02-13 2008-08-19 주식회사 코아로직 위치확인 장치 및 그 방법.

Similar Documents

Publication Publication Date Title
US10241955B2 (en) Dynamically adjustable multi-line bus shared by multi-protocol devices
WO2021129689A1 (zh) 数据位宽转换方法和装置
US11843529B2 (en) Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus
US20150370735A1 (en) Dynamically adjustable multi-line bus shared by multi-protocol devices
TWI423007B (zh) 串列匯流排裝置以及其時脈差補償方法
WO2015120149A1 (en) Increasing throughput on multi-wire and multi-lane interfaces
US7584313B1 (en) Method and system for connecting a wireless USB host and a wired USB device
US20200142854A1 (en) Multilane heterogeneous serial bus
KR20160125411A (ko) 에러 검출 최적화를 용이하게 하는 공유된 버스를 통한 비트 할당
JP2016539533A (ja) CCIeプロトコルを介したエラー検出能力
US6886062B2 (en) Method and apparatus for improving time constraints and extending limited length cables in a multiple-speed bus
WO2021244065A1 (zh) 一种均衡训练方法、装置及系统
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
US7177283B2 (en) Transmitting and receiving circuit and transmitting and receiving method
US9990330B2 (en) Simultaneous edge toggling immunity circuit for multi-mode bus
US6385319B1 (en) Encoding circuit and method of detecting block code boundary and establishing synchronization between scrambler and descrambler
RU2677376C2 (ru) Регулировка синхронизации стека для последовательной связи
CN114442514B (zh) 一种基于fpga的usb3.0/3.1控制系统
KR100869567B1 (ko) 무선 usb 시스템의 데이터 송수신 방법
KR100869569B1 (ko) 마스크를 이용한 무선 usb 시스템의 데이터 송수신 방법
RU2700560C1 (ru) Устройство коммуникационного интерфейса gigaspacewire
CN102111329A (zh) 基于嵌入式高速收发器的校准逻辑系统
CN107810495B (zh) 具有线活动检测器的uart
KR100720709B1 (ko) 무선 usb 시스템
CN112214438B (zh) 数据传输装置、方法、网络设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee