KR100869569B1 - 마스크를 이용한 무선 usb 시스템의 데이터 송수신 방법 - Google Patents

마스크를 이용한 무선 usb 시스템의 데이터 송수신 방법 Download PDF

Info

Publication number
KR100869569B1
KR100869569B1 KR1020080064544A KR20080064544A KR100869569B1 KR 100869569 B1 KR100869569 B1 KR 100869569B1 KR 1020080064544 A KR1020080064544 A KR 1020080064544A KR 20080064544 A KR20080064544 A KR 20080064544A KR 100869569 B1 KR100869569 B1 KR 100869569B1
Authority
KR
South Korea
Prior art keywords
register
data
value
bit vector
sequence number
Prior art date
Application number
KR1020080064544A
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 KR1020080064544A priority Critical patent/KR100869569B1/ko
Application granted granted Critical
Publication of KR100869569B1 publication Critical patent/KR100869569B1/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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/764Masking
    • 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)
  • Communication Control (AREA)

Abstract

본 발명은 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법에 관한 것으로서, 슬라이딩 윈도우 방식을 사용하여 데이터를 버스트 모드로 송수신할 때 수신버퍼가 작은 리시버에서 핸드쉐이크의 인식 비트벡터를 전송할 때 마스크를 통해 수신할 수 있는 데이터의 개수를 조절함으로써 수신버퍼의 부족으로 인한 전송의 중지를 줄일 수 있다.
Figure R1020080064544
무선, WUSB, 버스트 모드, 비트벡터, 슬라이딩 윈도우, 마스크, 수신버퍼, 트랜잭션

Description

마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법{DATA COMMUNICATION METHOD OF WIRELESS USB SYSTEM USED MASK}
본 발명은 마스크를 이용한 무선 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에 도시된 송수신 방법은 수신버퍼의 부족으로 트랜잭션이 중지되는 경우를 설명한다.
본 실시예에서 무선 USB 시스템은 수신버퍼가 패킷을 최대 8개까지 저장할 수 있으며, 시작 시퀀스 번호와 최종 시퀀스 번호의 사이의 간격으로 정의되는 최대 시퀀스 간격으로 9로 정의하였으며, 최대 시퀀스 간격 이상으로는 슬라이딩 윈도우를 전진시킬 수 없는 것으로 한다.
도 6에 도시된 바와 같이 트랜스미터(70)와 리시버(80)의 송신 비트벡터와 인식 비트벡터에 대해 초기값으로 각각 10'b00_0000_1111로 설정하고, 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '3'으로 설정한다(S40)(S42).
이때 송신 비트벡터와 인식 비트벡터의 10'b00_0000_1111은 10개의 비트로 이루어지며 각각의 비트의 값에 따라 슬라이딩 윈도우의 상태를 나태는 것으로 시퀀스 번호 0부터 시퀀스 번호 3까지의 슬라이딩 윈도우가 열린 상태를 나타내고 있 다.
이러한 상태에서 트랜스미터(70)는 데이터 패킷 D0, D1, D2, D3을 송신하였으나(S44), 리시버(80)에서 패킷 D0을 정상적으로 수신하지 못하였을 경우에는 인식 비트벡터를 10'b00_0111_0001로 변경하고, 변경된 인식 비트벡터와 슬라이딩 윈도우의 상태를 토대로 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '6'으로 변경한다(S46).
그리고, 변경된 인식 비트벡터를 트랜스미터(70)로 전송한다(S48).
이는 패킷 D0을 정상적으로 수신하지 못함으로써 슬라이딩 윈도우가 전진하지 못하고 수신하지 못한 D0을 다시 수신할 수 있도록 인식 비트벡터를 변경하여 전송함으로써 트랜스미터(70)에서는 송신 비트벡터를 10'b00_0111_0001로 변경하고, 이를 토대로 다음 송신할 슬라이딩 윈도우의 상태를 찾아 다시 송신할 패킷 D0이 포함되도록 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '6'으로 변경한다(S50).
이후 트랜스미터(70)는 슬라이딩 윈도우의 상태에 따라 패킷 D0, D4, D5, D6을 전송한다(S52).
그러나, 이번에도 리시버(80)에서 패킷 D0을 정상적으로 수신하지 못하였을 경우에는 인식 비트벡터를 10'b01_1000_0001로 변경하고, 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '8'로 변경한다(S54).
그리고, 변경된 인식 비트벡터를 트랜스미터(70)로 전송한다(S56).
이는 슬라이딩 윈도우를 최대 시퀀스 간격인 9 이상 전진할 수 없어 최종 시 퀀스 번호가 '8'로 제한된다.
이후 인식 비트벡터를 수신한 트랜스미터(70)에서는 송신 비트벡터를 10'b01_1000_0001로 변경하고, 이를 토대로 다음 송신할 슬라이딩 윈도우의 상태를 찾아 다시 송신할 패킷 D0이 포함되도록 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '8'로 변경한다(S58).
그런다음 트랜스미터(70)는 슬라이딩 윈도우의 상태에 따라 패킷 D0, D7, D8을 전송한다(S60).
그러나, 이번에도 리시버(80)에서 패킷 D0을 정상적으로 수신하지 못하였을 경우에는 슬라이딩 윈도우를 최대 시퀀스 간격인 9 이상 전진할 수 없어 인식 비트벡터를 10'b00_0000_0001로 변경하고, 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '8'로 변경한다(S62).
그런다음 인식 비트벡터를 트랜스미터로 전송한다(S64).
이후 인식 비트벡터를 수신한 트랜스미터(70)에서는 송신 비트벡터를 10'b00_0000_0001로 변경하고, 이를 토대로 다음 송신할 슬라이딩 윈도우의 상태를 찾아 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '8'로 변경한다(S66).
그러나, 이와 같은 경우 슬라이딩 윈도우는 단지 하나의 패킷 크기만을 갖게 된다.
그런다음 트랜스미터(70)는 슬라이딩 윈도우의 상태에 따라 패킷 D0을 전송한다(S68). 그러나, 리시버(80)는 수신버퍼가 부족하여 전송된 패킷 D0을 수신할 수 없어 트랜잭션이 중지된다(S70).
위에서 설명한 기술은 본 발명이 속하는 기술분야의 배경기술을 의미하며, 종래기술을 의미하는 것은 아니다.
이는 리시버(80)의 수신버퍼는 패킷을 최대 8개까지밖에 저장할 수 없어 이미 패킷 D1∼D8까지 8개를 저장하고 있을 뿐만 아니라 시작 시퀀스 번호 1인 패킷 D0을 아직 수신하지 못해 비울 수도 없기 때문에 패킷 D0이 정상적으로 수신된다 하더라도 패킷을 더 이상 저장할 있는 공간이 부족하여 수신을 완료 할 수 없게 됨에 따라 트랜잭션이 중지되어 데이터 전송을 더 이상 진행할 수 없게 된다.
이와 같이 무선 USB 시스템에서 리시버의 수신버퍼가 작은 경우 위와 같이 트랜잭션이 중지되는 상황을 회피할 수 있도록 하는 방법이 요구된다.
본 발명은 상기와 같은 요구를 충족시키기 위해 창작된 것으로서, 슬라이딩 윈도우 방식을 사용하여 데이터를 버스트 모드로 송수신할 때 수신버퍼가 작은 리시버에서 핸드쉐이크의 인식 비트벡터를 전송할 때 마스크를 통해 수신할 수 있는 데이터의 개수를 조절함으로써 수신버퍼의 부족으로 인한 전송의 중지를 줄일 수 있도록 하는 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법을 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따른 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법은 버스트 모드에서 슬라이딩 윈도우 방식으로 데이터를 송수신함에 따라 리시버에서 인식 비트벡터를 전송하는 무선 USB 시스템의 데이터 송수신 방법에 있어서, 리시버에서 인식 비트벡터를 전송할 때 수신버퍼의 크기만큼 윈도우가 오픈되는 비트마스크를 설정하고 시작 시퀀스 번호의 위치에서 인식 비트벡터를 비트마스크로 마스킹하여 전송하는 것을 특징으로 한다.
본 발명에서 수신버퍼의 크기는 최대 수신버퍼의 크기보다 작은 것을 특징으로 한다.
또한, 수신버퍼의 크기는 최대 시퀀스 간격보다 작은 것을 특징으로 한다.
또한, 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법은 버스트 모드에서 슬라이딩 윈도우 방식으로 데이터를 송수신함에 따라 리시버에서 인식 비트벡터를 전송하는 무선 USB 시스템의 데이터 송수신 방법에 있어서; 비트 마스크값을 설정하여 제 1레지스터에 저장하는 단계; 제 1레지스터에 저장된 값을 최대 시퀀스 크기만큼 우로 로테이트 비트 쉬프트하여 제 2레지스터에 저장하는 단계; 제 1레지스터의 하위비트에 제 2레지스터를 연결하여 제 3레지스터에 저장하는 단계; 인식 비트벡터에 의한 시작 시퀀스 번호만큼 제 3레지스터를 좌로 쉬프트하여 제 4레지스터에 저장하는 단계; 제 4레지스터의 중앙위치에서 상위측 값을 제 5레지스터에 저장하는 단계; 및 제 5레지스터와 인식 비트벡터를 비트논리곱하여 마스킹한 값을 제 6레지스터에 저장하여 전송하는 단계;를 포함한 것을 특징으로 한다.
본 발명에서 비트마스크 값은 수신버퍼의 크기를 비트값으로 나타낸 값인 것을 특징으로 한다.
이때 수신버퍼의 크기는 최대 수신버퍼의 크기보다 작은 것을 특징으로 한다.
또한, 수신버퍼의 크기는 최대 시퀀스 간격보다 작은 것을 특징으로 한다.
상기한 바와 같이 본 발명은 슬라이딩 윈도우 방식을 사용하여 데이터를 버스트 모드로 송수신할 때 수신버퍼가 작은 리시버에서 핸드쉐이크의 인식 비트벡터를 전송할 때 마스크를 통해 수신할 수 있는 데이터의 개수를 조절함으로써 수신버퍼의 부족으로 인한 전송의 중지를 줄일 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법의 일 실시예를 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 7은 본 발명의 일 실시예에 따른 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법을 설명하기 위한 흐름도이고, 도 8은 본 발명의 실시예에 의한 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법에 의해 인식 비트벡터를 마스킹하여 송수신하는 과정을 나타낸 도면이다.
본 발명의 실시예에 의한 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법은 버스트 모드에서 슬라이딩 윈도우 방식으로 데이터를 송수신함에 따라 리시버에서 인식 비트벡터를 전송할 때 수신버퍼의 크기만큼 윈도우가 오픈되는 비트마스크를 설정하고 시작 시퀀스 번호의 위치에서 인식 비트벡터를 비트마스크로 마스킹하여 전송하는 것을 특징으로 한다.
이때 수신버퍼의 크기는 최대 수신버퍼의 크기보다 작거나 최대 시퀀스 간격보다 작게 설정하여 수신버퍼의 여유를 갖고 데이터 패킷을 수신함으로써 정상적으로 패킷을 수신하지 못하여 수신버퍼를 비울 수 없을 경우에도 트랜잭션의 중지없어 데이터를 수신할 수 있도록 한다.
이를 구체적으로 설명하면 다음과 같다.
도 8에 도시된 바와 같이 트랜스미터(70)에서 데이터 패킷 D0, D1, D2, D3을 송신하였으나(S81), 리시버(80)에서 패킷 D0을 정상적으로 수신하지 못하였을 경우에는 인식 비트벡터를 10'b00_0111_0001로 변경하고, 변경된 인식 비트벡터와 슬라이딩 윈도우의 상태를 토대로 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '6'으로 변경한다(S82).
그리고, 변경된 인식 비트벡터를 트랜스미터(70)로 전송할 때 본 발명에 의한 비트마스크로 마스킹을 하여 구해진 인식 비트벡터를 전송한다(S83).
미트마스킹의 과정은 도 7에 도시된 바와 같이 먼저 비트마스크값을 설정하여 제 1레지스터(A)에 저장한다(S71).
비트마스크값은 리시버에서 데이터 패킷을 수신할 수 있는 수신버퍼의 크기를 설정한 값으로써 최대 수신버퍼의 크기보다는 작게 설정하여 정상적으로 수신하지 못한 패킷에 의해 수신버퍼를 점유하고 있을 경우에도 지속적으로 데이터 패킷을 수신할 수 있도록 여유를 확보할 수 있도록 설정한다.
또한, 수신버퍼의 크기는 최대 시퀀스 간격보다 작게 설정할 수도 있다.
이렇게 저장된 제 1레지스터의 값을 최대 시퀀스 크기만큼 우로 로테이트 비트 쉬프트하여 제 2레지스터(B)에 저장한다(S72).
본 실시예에서는 제 1레지스터(A)와 제 2레지스터(B)의 크기를 최대 시퀀스 크기인 10비트로 설정하였기 때문에 제 1레지스터(A)와 제 2레지스터(B)가 동일한 값으로 설정되었으나 더 큰 값으로 설정하였을 경우에는 최대 시퀀스 크기의 간격으로 비트마스크값이 반복되도록 설정하여 이후 제 1레지스터(A)와 제 2레지스터(B)를 서로 연결할 경우 비트마스크에 의해 슬라이딩 윈도우가 연속적으로 이동될 수 있도록 설정한다.
예를들어 제 1레지스터(A)의 크기가 16비트일 경우 16'b0000_0000_0111_1111을 우로 10비트만큼 로테이트 비트 쉬트프할 경우 16'b0001_1111_1100_0000이 제 2레지스터(B)에 저장된다.
이후 제 1레지스터(A)가 상위비트에 위치하도록 제 2레지스터(B)와 연결하여 제 3레지스터(C)에 저장한다(S73).
그런다음 제 3레지스터(C)에 저장된 값을 시작 시퀀스 번호만큼 좌로 쉬프트하여 제 4레지스터(D)에 저장한다(S74).
S82단계에서의 시작 시퀀스 번호는 '0'이기 때문에 제 3레지스터(C)의 값과 제 4레지스터(D)의 값은 동일하다.
이와 같이 비트마스크를 시작 시퀀스 번호의 위치로 쉬프트시킴으로써 시작 시퀀스 번호로부터 패킷을 수신할 수 있도록 한다.
이렇게 시작 시퀀스 번호의 위치로 쉬프트된 비트마스크로 마스킹을 하기 위해 제 4레지스터(D)의 중앙위치에서 상위측 값을 제 5레지스터(E)에 저장하여 마스크를 완성한다(S75).
이와 같이 완성된 제 5레지스터(E)와 인식 비트벡터를 비트논리곱하여 마스킹한 값을 제 6레지스터(F)에 저장한다(S76).
따라서, S82단계에서 트랜스미터(70)로 전송하는 인식 비트벡터는 제 6레지스터에 저장된 마스킹된 인식 비트벡터를 전송한다(S77).
S83단계에서 보는 바와 같이 트랜스미터로 전송되는 마스킹된 인식 비트벡터는 수신버퍼의 크기 이내일 경우에는 마스킹되지 않은 인식 비트벡터와 동일하다.
그러면, 트랜스미터에서는 마스킹된 인식 비트벡터에 따라 패킷 D0, D4, D5, D6을 전송한다(S84).
그러나, 이번에도 리시버(80)에서 패킷 D0을 정상적으로 수신하지 못하였을 경우에는 인식 비트벡터를 10'b01_1000_0001로 변경하고, 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '8'로 변경한다(S85).
그런다음 인식 비트벡터를 제 5레지스터(E)의 값으로 마스킹을 할 경우 제 6레지스터(F)의 값과 같이 10'b00_0000_0001이 되기 때문에 이를 인식 비트벡터로써 트랜스미터(70)로 전송한다(S86).
이는 비트마스크의 크기로 설정한 수신버퍼가 이미 채워졌기 때문에 수신버퍼를 여유를 확보하면서 정상적으로 수신하지 못한 패킷 D0을 수신하기 위해 패킷 D0 하나만의 전송을 요청하게 된다.
그러나 이번에도 리시버(80)에서 패킷 D0을 정상적으로 수신하지 못하였을 경우에는 슬라이딩 윈도우를 최대 시퀀스 간격인 9 이상 전진할 수 없어 인식 비트벡터를 10'b01_1000_0001로 변경하고, 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '0'과, 최종 시퀀스 번호를 '8'로 변경한다(S88).
이후 S86단계에서와 같이 인식 비트벡터를 제 5레지스터(E)의 값으로 마스킹을 할 경우 제 6레지스터(F)의 값과 같이 10'b00_0000_0001이 되기 때문에 이를 인식 비트벡터로써 트랜스미터(70)로 전송한다(S89).
이를 수신받은 트랜스미터(70)에서 패킷 D0만을 송신하고(S90), 이를 정상적으로 수신하였을 경우에는 리시버(80)에서 인식 비트벡터를 10'b11_1000_0001로 변경하고, 다음 슬라이딩 윈도우의 시작 시퀀스 번호를 '7'과, 최종 시퀀스 번호를 '0'으로 변경한다(S91).
그런다음 마스크를 위해 제 3레지스터(C)에 저장된 값을 시작 시퀀스 번호만 큼 즉, 7비트 만큼 좌로 쉬프트하여 제 4레지스터(D)에 저장하고, 제 4레지스터(D)의 중앙위치에서 상위측 값인 10'b11_1000_1111을 제 5레지스터(E)에 저장하여 마스크를 완성하여 인식 비트벡터와 비트논리곱하여 마스킹한 값을 10'b11_1000_0001을 제 6레지스터(F)에 저장하고 이를 트랜스미터(70)로 전송한다(S92).
이와 같이 인식 비트벡터에 수신버퍼에 맞도록 마스킹을 함으로써 트랜스미터(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 (7)

  1. 버스트 모드에서 슬라이딩 윈도우 방식으로 데이터를 송수신함에 따라 리시버에서 인식 비트벡터를 전송하는 무선 USB 시스템의 데이터 송수신 방법에 있어서;
    상기 리시버에서 상기 인식 비트벡터를 전송할 때 수신버퍼의 크기만큼 윈도우가 오픈되는 비트마스크를 설정하고 시작 시퀀스 번호의 위치에서 상기 인식 비트벡터를 상기 비트마스크로 마스킹하여 전송하는 것을 특징으로 하는 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법.
  2. 제 1항에 있어서, 상기 수신버퍼의 크기는 최대 수신버퍼의 크기보다 작은 것을 특징으로 하는 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법.
  3. 제 1항에 있어서, 상기 수신버퍼의 크기는 최대 시퀀스 간격보다 작은 것을 특징으로 하는 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법.
  4. 버스트 모드에서 슬라이딩 윈도우 방식으로 데이터를 송수신함에 따라 리시 버에서 인식 비트벡터를 전송하는 무선 USB 시스템의 데이터 송수신 방법에 있어서;
    비트 마스크값을 설정하여 제 1레지스터에 저장하는 단계;
    상기 제 1레지스터에 저장된 값을 최대 시퀀스 크기만큼 우로 로테이트 비트 쉬프트하여 제 2레지스터에 저장하는 단계;
    상기 제 1레지스터의 하위비트에 상기 제 2레지스터를 연결하여 제 3레지스터에 저장하는 단계;
    상기 인식 비트벡터에 의한 시작 시퀀스 번호만큼 상기 제 3레지스터를 좌로 쉬프트하여 제 4레지스터에 저장하는 단계;
    상기 제 4레지스터의 중앙위치에서 상위측 값을 제 5레지스터에 저장하는 단계; 및
    상기 제 5레지스터와 상기 인식 비트벡터를 비트논리곱하여 마스킹한 값을 제 6레지스터에 저장하여 전송하는 단계;를 포함한 것을 특징으로 한다.
  5. 제 4항에 있어서, 상기 비트마스크 값은 수신버퍼의 크기를 비트값으로 나타낸 값인 것을 특징으로 하는 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법.
  6. 제 4항에 있어서, 상기 수신버퍼의 크기는 최대 수신버퍼의 크기보다 작은 것을 특징으로 하는 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법.
  7. 제 4항에 있어서, 상기 수신버퍼의 크기는 최대 시퀀스 간격보다 작은 것을 특징으로 하는 마스크를 이용한 무선 USB 시스템의 데이터 송수신 방법.
KR1020080064544A 2008-07-03 2008-07-03 마스크를 이용한 무선 usb 시스템의 데이터 송수신 방법 KR100869569B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080064544A KR100869569B1 (ko) 2008-07-03 2008-07-03 마스크를 이용한 무선 usb 시스템의 데이터 송수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080064544A KR100869569B1 (ko) 2008-07-03 2008-07-03 마스크를 이용한 무선 usb 시스템의 데이터 송수신 방법

Publications (1)

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

Family

ID=40284510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080064544A KR100869569B1 (ko) 2008-07-03 2008-07-03 마스크를 이용한 무선 usb 시스템의 데이터 송수신 방법

Country Status (1)

Country Link
KR (1) KR100869569B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247209A (ja) * 1996-03-12 1997-09-19 Chokosoku Network Computer Gijutsu Kenkyusho:Kk 資源予約チャネル用トランスポートレイヤプロトコルのフロー制御方式
JP2003087541A (ja) 2001-09-07 2003-03-20 Ricoh Co Ltd 通信端末装置の伝送制御方法
JP2004282688A (ja) 2003-02-28 2004-10-07 National Institute Of Information & Communication Technology 抑制フロー制御方法、フロー制御を実行するノード間のデータ伝達方法、並びに、フロー制御を実行する送信ノードおよび受信ノード
JP2008067102A (ja) 2006-09-07 2008-03-21 Victor Co Of Japan Ltd コンテンツ配信サーバ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247209A (ja) * 1996-03-12 1997-09-19 Chokosoku Network Computer Gijutsu Kenkyusho:Kk 資源予約チャネル用トランスポートレイヤプロトコルのフロー制御方式
JP2003087541A (ja) 2001-09-07 2003-03-20 Ricoh Co Ltd 通信端末装置の伝送制御方法
JP2004282688A (ja) 2003-02-28 2004-10-07 National Institute Of Information & Communication Technology 抑制フロー制御方法、フロー制御を実行するノード間のデータ伝達方法、並びに、フロー制御を実行する送信ノードおよび受信ノード
JP2008067102A (ja) 2006-09-07 2008-03-21 Victor Co Of Japan Ltd コンテンツ配信サーバ

Similar Documents

Publication Publication Date Title
US11843529B2 (en) Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus
US9479279B2 (en) Multiple protocol tunneling using time division operations
US20190146944A1 (en) Dynamically adjustable multi-line bus shared by multi-protocol devices
US7584313B1 (en) Method and system for connecting a wireless USB host and a wired USB device
US20100188980A1 (en) Explicit Flow Control in a Gigabit/10 Gigabit Ethernet System
CN101882116A (zh) 音频传输的实现方法及移动终端
EP2832075A1 (en) Superspeed inter-chip communications
CN104714908B (zh) 支持主从模式的spi接口
US20200142854A1 (en) Multilane heterogeneous serial bus
CN102263698A (zh) 虚拟通道的建立方法、数据传输的方法及线卡
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
US7353300B2 (en) Apparatus to improve the firmware efficiency for a multiframe serial interface
CN112328523A (zh) 传输双倍速率信号的方法、装置及系统
JP2002009796A (ja) データ転送システム及びデータ転送管理装置並びにデータ転送方法
US9722702B2 (en) SATA host bus adapter using optical signal and method for connecting SATA storage using the same
KR100869569B1 (ko) 마스크를 이용한 무선 usb 시스템의 데이터 송수신 방법
US10043480B2 (en) Inter-device conflict resolution on a multimedia link
WO2018196833A1 (zh) 报文发送方法和报文接收方法及装置
CN1972314B (zh) 以太网接口上模拟串行接口的方法以及应用该方法的部件
KR100869567B1 (ko) 무선 usb 시스템의 데이터 송수신 방법
CN1581126A (zh) Iic总线控制系统及其实现方法
CN205983449U (zh) 一种基于pci‑e总线的数据传输装置
CN111832049B (zh) 一种基于spi的数据传输方法及系统
CN110958503B (zh) 一种带宽分配装置及方法
CN114615357B (zh) 一种sata物理链路建立方法和装置

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