KR20030068621A - 무선 통신 모듈 및 방법 - Google Patents

무선 통신 모듈 및 방법 Download PDF

Info

Publication number
KR20030068621A
KR20030068621A KR1020020008084A KR20020008084A KR20030068621A KR 20030068621 A KR20030068621 A KR 20030068621A KR 1020020008084 A KR1020020008084 A KR 1020020008084A KR 20020008084 A KR20020008084 A KR 20020008084A KR 20030068621 A KR20030068621 A KR 20030068621A
Authority
KR
South Korea
Prior art keywords
data packet
host
external device
rate
data
Prior art date
Application number
KR1020020008084A
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 KR1020020008084A priority Critical patent/KR20030068621A/ko
Publication of KR20030068621A publication Critical patent/KR20030068621A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

데이터의 전송 효율을 높일 수 있는 무선 통신 모듈 및 방법이 개시된다. 전송률 산출부는 외부기기로 전송되는 무선데이터 패킷에 대한 제1전송률을 산출한다. 인터페이스부는 호스트와 데이터 패킷을 송수신 하며, 외부기기로 전송한 무선데이터 패킷의 전송개수를 호스트에 통지한다. 제어부는 호스트로부터 유입되는 데이터 패킷에 대한 제2전송률과 제1전송률을 비교하며, 제1전송률이 제2전송률보다 큰 경우에 전송된 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트에 통지하도록 제어한다. 이에 의해, 제1전송률이 제2전송률보다 큰 경우에 외부기기로 전송된 무선데이터 패킷의 전송개수를 호스트에 보고할 때 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트에 통지함으로써 데이터의 전송 효율을 높일 수 있다.

Description

무선 통신 모듈 및 방법{Wireless communication module and method thereof}
본 발명은 무선 통신 모듈 및 방법으로, 보다 상세하게는, 호스트로부터 전송된 데이터 패킷을 무선데이터 패킷으로 변환하여 외부기기에 전송하는 무선 통신 모듈 및 방법에 관한 것이다.
블루투스(Bluetooth)는 전기통신, 네트워킹, 컴퓨팅, 소비재 부문 전반에 걸친 무선 데이터 통신기술의 코드명이다. 블루투스 기술은 근거리 내에서 하나의 무선 연결을 통해서 장치간에 필요한 여러 케이블 연결을 대신하게 해준다.
일반적으로, 블루투스는 최대 데이터 전송속도 1Mbps 및 최대 전송거리 10 m를 갖는다. 1Mbps는 사용자가 면허없이 이용할 수 있는 2.4 GHz의 ISM(Industrial Scientific Medical) 주파수대역 내의 범주에 있는 주파수로서 손쉽고 저렴한 비용으로 실현될 수 있는 전송속도이다. 또한, 전송거리 10 m는 사무실 내에서 사용자가 휴대하고 있는 기기와 책상에 설치해 둔 PC 간 전송거리로 충분하다는 판단에 따른 결정이다.
또한, 블루투스는 잡음이 많은 라디오주파수 환경에서 작동되도록 고안되었기 때문에, 초당 1600회에 이루는 주파수 호핑(hopping)방식을 사용함으로써 잡음이 많은 무선 주파수에서도 안정적으로 데이터를 주고 받을 수 있게 한다.
또한, 블루투스 시스템은 일대일 뿐만아니라 일대다중 연결을 지원한다. 블루투스 시스템은, 여러개의 피코넷(piconet)들이 함께 조직되고 연결될 수 있으며, 각각의 피코넷들은 서로 다른 주파수 호핑 순서에 의해 구분된다. 여기서, 피코넷이란 하나의 마스터(Master) 기기에 대해 하나 이상의 슬레이브(Slave) 기기가 연결되어 형성된 블루투스 유닛의 구성단위를 말하며, 피코넷은 하나의 마스터와 최대 7개의 슬레이브를 가질 수 있다. 마스터 기기와 슬레이브 기기는 기본적으로는 1호핑슬롯(625μs=1/1600초)을 단위로 하여 시분할방식(TDD : Time Division Duplex)에 의해 양방향 통신을 수행한다. 복수의 피코넷이 함께 조직적으로 연결된것을 스캐터넷(scatternet)이라 한다.
한편, 호스트 컨드롤러 인터페이스(Host Controller Interface : 이하 HCI라고 함)는 블루투스 모듈(Bluetooth Modul)과 블루투스 호스트(Bluetooth Host)와의 중개적인 연결을 담당하는 프로토콜(Protocol) 이다. HCI는 블루투스 프로토콜 소프트웨어(Software) 중에서 가장 중요하고, 블루투스의 특성과 가장 밀접하게 관련된 부분이다. HCI는 블루투스 프로토콜 중 소프트웨어 사양과 관련이 있는 것으로 블루투스 하드웨어 모듈과 서로 주고받는 명령구조를 정의하고 있다. 블루투스에서 HCI와 같은 인터페이스 방법까지 표준으로 정한 이유는 하드웨어와 소프트웨어를 완전히 분리함으로써 제품의 블루투스 하드웨어 모듈을 교체할 경우 소프트웨어까지 교체해야하는 경우를 방지하기 위해서이다.
HCI의 역할은 블루트스 모듈과 주고받는 패킷의 포맷과 절차를 정의한다. 즉, 블루투스 모듈이 이해할 수 있는 포준 포맷으로 데이터를 만들어 전송하고, 블루투스 모듈은 그 결과를 표준 패킷으로 만들어 블루투스 호스트로 전송하는 방법을 이용하고 있다.
도 1은 HCI 패킷(packet)의 구조를 도시한 도면이다.
도 1을 참조하면, 블루투스 호스트(100)(이하 호스트라 칭함)와 블루투스 모듈(110)(이하 모듈이라 칭함)은 명령 패킷(Command packet), 이벤트 패킷(Event packet), 및 데이터 패킷(Data packet)의 3가지 종류의 패킷을 통해 통신을 한다. 명령 패킷은 모듈(110)을 제어하기 위해 호스트(100)가 사용하는 명령어 패킷이다. 명령 패킷은 호스트(100)에서 모듈(110) 방향으로 전달되는 패킷으로, 실제 블루투스 모듈(110)에 어떤 명령을 전달하면 모듈(110)이 이 패킷을 해석하여 명령을 수행하게 된다.
이벤트 패킷은 호스트(100)에서 보내는 명령에 대한 결과나 하위계층에서의 변화를 호스트(100)에 알리기 위해 모듈(110)에서 호스트(100)로 보내는 패킷이다. 모듈(110)은 호스트(100)가 보낸 명령의 수행을 완료했을 때 완료 사실을 호스트(100)에 알리기 위해 명령 완료 이벤트(Command Complete Event)를 보낸다.
데이터 패킷은 데이터 패킷은 비동기화 전송(Asynchronous Connection-Less : ACL)패킷과 동기화 전송(Syncronous Connection Oriented : SCO)패킷의 두가지로 나뉜다. ACL 패킷은 데이터를 실어나르는데 기본으로 사용하는 패킷이다. SCO 패킷은 필요에 따라 ACL 패킷연결이 활성화된 후에 설정되며, 피코넷(Piconet) 연결이나 음성데이터등에 사용되는 패킷이다.
모듈(110)은 하드웨어에 대용량의 메모리 버퍼를 갖고 있지 않다. 예컨대, 에릭슨 모듈(110)의 경우 800 바이트(byte) 패킷 10개를 동시에 받아들일 수 있다. 이와 같은 이유로 HCI 명령은 대용량의 데이터가 모듈(110)로 전송되는 것을 방지하기 위해서 데이터 송수신에 대해 제어하는 방법을 정의하고 있다. HCI 레벨에서의 데이터 송수신에 대한 제어는 모듈 데이터 버퍼의 '버퍼 풀'(Buffer Full)이 발생하는 것을 방지하기 위해서 호스트(100)에서 모듈(110) 방향으로 한다. 즉, 호스트(100)가 모듈(110)의 데이터의 버퍼를 관리하는 것이다.
도 2는 HCI 데이터 송수신 제어에 대한 일 실시예의 흐름도이다.
도 2를 참조하면, 호스트(100)는 상대 블루투스 하드웨어의 실제 버퍼 사이즈(Buffer Size)를 알기위해 모듈(110)로 버퍼 사이즈 독출명령을 전송한다. 이 때, 모듈(110)은 명령 완료 이벤트 패킷에 버퍼의 길이와 개수를 포함하여 호스트(100)로 전송한다. 따라서, 호스트(100)는 버퍼 사이즈 독출명령에 의해 ACL과 SCO 데이터 패킷의 최대 크기와 모듈(110)이 무선으로 데이터를 전송하기 전에 내부 버퍼에 유지할 수 있는 ACL과 SCO 데이터 패킷의 총 개수를 알 수 있다.
호스트(100)는 ACL과 SCO 데이터 패킷의 최대 크기와 내부 버퍼에 유지할 수 있는 ACL과 SCO 데이터 패킷의 총 개수에 대한 정보를 바탕으로 해당 범위 내의 데이터 패킷을 전송한다. 모듈(110)은 호스트(100)에서 받은 데이터 패킷을 무선으로 외부기기에 전송함으로써 버퍼가 비게 되면, 몇 개의 데이터 패킷을 전송 완료했다는 정보를 포함한 패킷 전송완료 이벤트를 호스트(100)로 보낸다. 호스트(100)로 패킷 전송완료에 대한 이벤트를 전송함으로써 모듈(110)의 데이터 버퍼가 비었다는 정보를 알려준다. 호스트(100)는 모듈(110)로 부터 전송된 패킷 전송완료 이벤트에 의해 현재 보낼 수 있는 데이터 패킷의 수를 다시 계산할 수 있다.
상기와 같이 호스트(100)와 모듈(110)간의 통신은 호스트(100)에서 모듈(110)로 명령 전송 및 모듈(110)에서 호스트(100)로 명령에 대한 이벤트를 전송함으로써 통신이 가능하다. 그러나, 종래의 HCI의 데이터 송수신 제어에서 모듈(110)이 전송한 데이터 패킷의 개수를 호스트(100)로 이벤트를 전송하는 시점에 대해서는 구체적으로 기재 되어있지 않다.
이벤트를 전송하는 시점이 중요한 이유는, 예컨대, 호스트(100)가 모듈(110)로 데이터 패킷을 전송하는 전송률보다 모듈(110)이 외부기기(도시하지 않음)로 데이터 패킷을 전송하는 전송률이 좋거나 같은 경우이다. 하나의 데이터 패킷을 송신 완료 할때 마다 이벤트를 발생한다면 빈도가 너무 잦기 때문에 비효율 적일 수 있다.
일반적으로 HCI 전송층(Transport Layer)에 사용되는 것은 시리얼(Serial) 통신 매체인 USB나 UART이기 때문에 호스트(100)로 이벤트 전송은 모듈(110)의 수신 대역폭을 감소시킨다. 즉, 하나의 이벤트에 모듈(110)에 연결된 복수의 외부기기다로 복수개의 데이터 패킷 전송에 대한 보고가 가능한 경우한 데도 패킷의 전송시 마다 이벤트를 발생 시키는 것은 비효율 적이다. 또한, 호스트(100)는 데이터 패킷을 모듈(110)로 보낸 후 모듈(110)로부터 전송된 패킷의 수에 대한 이벤트가 전달되기 전까지 모듈(110) 내의 버퍼 상태를 알 수 없다. 그러므로, 모듈(110)로 데이터 패킷을 전송하지 않는다. 따라서, 하나의 데이터 패킷의 전송에 소요되는 전송시간은 길어지게 된다.
모듈(110)의 입장에서는 현재 버퍼에 있는 데이터 패킷을 모두 전송한 후에 이벤트를 발생시키는 것 또한 비효율 적일 수 있다. 무선으로 외부기기에 데이터 패킷을 전송하는 동안 호스트(100)로부터 전송되는 다른 데이터 패킷을 수신할 수 있기 때문이다. 또한, 외부기기의 해당하는 모듈의 수신 버퍼가 충분하지 못하거나 외부기기의 HCI 전송층의 전송률이 무선으로 데이터 패킷을 전송하는 전송률 보다 저하되는 경우 데이터 패킷의 송신은 잠시 중단된다. 이 시간 동안 호스트(100)는 데이터 패킷을 전송하지 못하므로 비효율적 이다.
본 발명이 이루고자 하는 기술적 과제는, 호스트로부터 유입되는 데이터의 전송률보다 외부기기로 전송하는 무선데이터의 전송률이 빠른 경우에 예비버퍼를 형성하여 데이터의 전송 효율을 높일 수 있는 무선 통신 모듈 및 방법을 제공하는 데 있다.
도 1은 HCI 패킷(packet)의 구조를 도시한 도면,
도 2는 HCI 데이터 송수신 제어에 대한 일 실시예의 흐름도,
도 3은 본 발명에 따른 무선 통신 모듈에 대한 일 실시예의 블록도,
도 4는 블루투스 패킷의 구조를 도시한 도면, 그리고,
도 5는 본 발명에 따른 무선 통신 방법에 대한 일 실시예의 흐름도이다.
* 도면의 주요부분에 대한 부호의 설명 *
300 : 호스트310 : 무선 통신 모듈
312 : 인터페이스부314 : 전송률 산출부
316 : 제어부318 : 데이터송수신부
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 호스트로부터 유입된 데이터 패킷을 버퍼에 저장하며, 상기 버퍼에 저장된 상기 데이터 패킷을 무선데이터 패킷으로 변환하여 외부기기에 전송하는 무선 통신 모듈은, 상기 외부기기로 전송되는 상기 무선데이터 패킷에 대한 제1전송률을 산출하는 전송률 산출부, 상기 호스트와 상기 데이터 패킷을 송수신 하며 상기 외부기기로 전송한 상기 무선데이터 패킷의 전송개수를 상기 호스트에 통지하는 인터페이스부, 및 상기 호스트로부터 유입되는 상기 데이터 패킷에 대한 제2전송률과 상기 제1전송률을 비교하며 상기 제1전송률이 상기 제2전송률보다 큰 경우에 전송된 상기 무선데이터 패킷의 개수보다 큰 상기 무선데이터 패킷의 전송개수를 상기 호스트에 통지하도록 제어하는 제어부를 갖는다.
여기서, 상기 제1전송률은 상기 외부기기로 상기 무선데이터 패킷을 전송하여 상기 외부기기로부터 수신완료에 대한 응답을 수신하기까지 단위시간당 전송된 상기 무선데이터 패킷의 개수이다. 한편, 상기 제2전송률은 상기 호스트가 전송한 상기 데이터 패킷의 전송 시작시점부터 상기 데이터 패킷이 상기 버퍼에 저장 완료된 시점까지의 단위시간당 전송된 상기 데이터 패킷의 개수이다.
한편, 상기 제어부는 상기 제1전송률이 상기 제2전송률보다 큰 경우에 상기 버퍼에 예비버퍼를 형성하도록 제어하며, 상기 외부기기로 전송한 상기 무선데이터 패킷의 개수에 상기 예비버퍼 사이즈의 일부를 가산하여 산출된 상기 무선데이터 패킷의 전송개수를 상기 호스트로 통지하도록 제어한다.
상기의 다른 기술적 과제를 해결하기 위한, 본 발명에 따른 호스트로부터 유입된 데이터 패킷을 버퍼에 저장하며, 상기 버퍼에 저장된 상기 데이터 패킷을 무선데이터 패킷으로 변환하여 외부기기에 전송하는 무선 통신 방법은, 상기 호스트로부터 유입되는 상기 데이터 패킷에 대한 제2전송률을 수신하는 단계, 상기 외부기기로 전송되는 상기 무선데이터 패킷에 대한 제1전송률을 산출하는 단계, 수신된 상기 제1전송률과 상기 제2전송률을 비교하는 단계, 및 상기 비교결과 상기 제1전송률이 상기 제2전송률보다 큰 경우에 상기 외부기기로 전송된 상기 무선데이터 패킷의 개수보다 큰 상기 무선데이터 패킷의 전송개수를 상기 호스트로 통지하는 단계를 갖는다.
여기서, 상기 제1전송률 산출단계는 상기 외부기기의 수신버퍼상태를 체크하여 상기 외부기기의 상기 수신버퍼에 여분의 저장용량이 존재하지 않는 경우에 상기 제1전송률을 재산출하는 단계;를 포함한다.
이에 의해, 제1전송률이 제2전송률보다 큰 경우에 무선 통신 모듈의 버퍼에 예비버퍼를 형성하여 외부기기로 전송된 무선데이터 패킷의 전송개수를 호스트에 보고시, 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트에통지함으로써 데이터의 전송 효율을 높일 수 있다.
이하, 첨부된 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 3은 본 발명에 따른 무선 통신 모듈에 대한 일 실시예의 블록도이다.
도 3을 참조하면, 무선 통신 모듈(310)은 전송률 산출부(312), 인터페이스부(314), 제어부(316), 및 데이터송수신부(318)를 갖는다. 전송률 산출부(312)는 외부기기로 전송되는 무선데이터 패킷에 대한 제1전송률을 산출한다. 여기서, 제1전송률이란 외부기기로 무선데이터 패킷을 전송하여 외부기기로부터 수신완료에 대한 응답을 수신하기까지 단위시간당 전송된 무선데이터 패킷의 개수이다.
인터페이스부(314)는 호스트(300)와 데이터 패킷을 송수신 하며, 외부기기로 전송한 무선데이터 패킷의 전송개수를 호스트(300)에 통지한다. 무선 통신 모듈(310)은 인터페이스부(314)를 통해 호스트(300)와 접속되어 있다. 여기서 호스트(300)는 노트북, 핸드폰, 프린터등과 같은 각종 통신 단말기가 적용될 수 있다.
제어부(316)는 호스트(300)로부터 유입되는 제2전송률과 제1전송률을 비교하며, 제1전송률이 제2전송률보다 큰 경우에 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트(300)에 통지하도록 제어한다. 여기서, 제2전송률은 호스트가 전송한 데이터 패킷의 전송 시작시점부터 데이터 패킷이 버퍼에 저장 완료된 시점까지의 단위시간당 전송된 데이터 패킷의 개수이다.
여기서, 제1전송률이 제2전송률보다 크다는 의미는 호스트(300)에서 인터페이스부(314)를 통해 모듈(310)로 전송되는 데이터 패킷의 전송률보다 모듈(310)에서 데이터송수신부(318)를 통해 외부기기로 전송하는 무선 데이터 패킷의 전송률이 더 빠르다는 의미이다.
호스트(300)로부터 인터페이스부(314)를 통해 전송되는 데이터 패킷은 버퍼(도시하지 않음)에 저장된다. 이때, 호스트(300)는 모듈(310)의 버퍼 사이즈를 알고 있기 때문에 버퍼 사이즈에 맞추어 송신할 데이터 패킷의 길이를 정하고, 송신 버퍼의 개수에 따라 데이터 패킷을 전송한다. 일단 호스트(300)가 버퍼를 채울 만큼 충분한 데이터 패킷을 전송하고 나면, 호스트(300)는 모듈(310)이 버퍼에 빈공간이 있다는 통지를 할 때까지 기다려야 한다.
제어부(316)는 인터페이스부(314)를 통해 데이터 패킷이 수신되면, 수신된 데이터 패킷을 버퍼에 저장하도록 제어한다. 또한, 제어부(316)는 버퍼에 저장된 데이터 패킷을 무선데이터 패킷으로 변환하여 외부기기로 전송하도록 제어한다. 데이터송신부(318)는 변환된 무선데이터 패킷을 외부기기로 전송한다. 또한, 데이터송신부(318)는 외부기기로 전송한 무선데이터 패킷의 수신여부에 대한 응답을 외부기기로부터 수신한다. 이때, 외부기기로부터 전송된 무선데이터 패킷의 헤더를 확인하여 외부기기로 전송한 무선데이터 패킷의 수신여부를 확인할 수 있다.
도 4는 블루투스 패킷의 구조를 도시한 도면이다.
도 4를 참조하면, 패킷은 접속코드(Access Code), 헤더(Header), 페이로드(Payload)로 구성된다. 일반적으로, 호스트(300)와 무선 통신 모듈(310)사이의 데이터의 송수신 및 무선 통신 모듈(310)과 외부기기 사이의 무선 데이터의송수신시 데이터는 패킷 단위로 전송된다. 접속코드는 패킷의 존재를 검출하고 특정 장치에 피캣을 전달하는데 사용된다. 접속코드의 길이는 68비트 또는 72비트이다.예컨대, 슬레이브는 저장된 마스터 접속코와 접속코드를 정합시킴으로서 패킷의 존재를 검출한다. 헤더는 패킷이 의미하는 슬레이브 주소와 같은 패킷과 링크에 관련된 모든 제어 정보를 포함하며, 헤더의 길이는 54비트이다. 페이로드는 L2CAP나 LM으로부터 보내지는 상위 계층의 프로토콜 메시지일 때는 메시지 정보를 포함한다. 또는, 이것이 스택에 저장된 실제 데이터일 때는 데이터에 포한한다. 페이로드의 길이는 0에서 2744비트이다.
제어부(316)는 전송한 무선 데이터 패킷의 수신여부에 대한 응답 패킷을 외부기기로부터 데이터송수신부(318)를 통해 수신한다. 제어부는 수신한 패킷의 헤더를 확인하여 전송한 무선데이터 패킷의 전송 성공여부를 확인한다. 여기서, 패킷 헤더는 AM_ADDR, 패킷 타입(Packet type), 흐름(Flow), 응답(ARQN), 시컨스(SEQN), 및 헤더 오류 검사(Header Error Check : HEC)로 구성된다.
제어부(316)는 헤더의 응답(Acknowledge)플래그에 의해 외부기기로 전송한 무선데이터 패킷의 전송 성공여부를 확인한다. 예컨대, 헤더의 응답 플래그가 1인 경우 긍정응답(ACK)로 수신이 성공적으로 이루어졌을음 나타내고, 0인 경우 부정응답(NAK) 조건으로 수신이 성공적으로 이루어지지 않았음을 나타낸다. 그러므로, 제어부(316)는 헤더를 확인하여 1인경우 전송이 성공적으로 이루어진 것으로 판단하여 다음 무선데이터 패킷을 전송하도록 제어한다. 이와 달리, 0인 경우에 전송 오류로 판단하여 전송한 무선데이터 패킷을 재전송한다.
또한, 제어부(316)는 외부기기의 수신 버퍼 상태를 나타내는 플래그인 흐름(Flow) 플래그를 확인하여 외부기기의 수신 버퍼의 상태를 확인한다. 예컨대,흐름 플래그가 1인 경우 수신 버퍼가 비어있어 데이터를 수신할 수 있음을 나타내고, 0인 경우 수신 버퍼가 비어있지 않아 더 이상 데이터를 수신할 수 없음을 나타낸다. 흐름 플래그가 0인 경우에 제어부(316)는 전송률 산출부(312)를 통해 무선데이터 패킷에 대한 제1전송률을 재산출하도록 제어한다. 제어부(316)는 흐름 플래그가 1인 경우에는 기 산출된 제1전송률과 제2전송률을 비교하고, 0인 경우에는 재산출된 제1전송률과 제2전송률을 비교하도록 제어한다.
제어부(316)는 제1전송률과 호스트(300)로부터 유입되는 제2전송률을 비교하며, 제1전송률이 제2전송률보다 큰 경우에 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트(300)에 통지하도록 제어한다. 예컨대, 제1전송률이 제2전송률보다 큰 경우에는 버퍼가 비어있을 확률이 높다. 그러므로 제어부(316)는 외부기기로 전송한 실제 무선데이터 패킷의 전체개수보다 더 많은 개수를 호스트(300)에 통지하도록 제어한다.
한편, 제1전송률이 호스트(300)로부터 유입되는 제2전송률보다 큰 경우에, 인터페이스부(314)는 호스트(300)로부터 버퍼 사이즈 독출 명령이 있을 때 실제 버퍼 사이즈 보다 작은 버퍼 사이즈를 호스트(300)에 알려준다. 즉, 버퍼에 예비버퍼를 형성하여 외부기기로 전송한 무선데이터 패킷의 개수를 호스트(300)로 통지할 때, 예비버퍼를 고려하여 예비버퍼 사이즈의 일부를 가산하여 호스트(300)로 통지하는 것이다. 여기서, 예비버퍼란 실제 버퍼 사이즈에서 호스트(300)로 보고한 버퍼 사이즈를 감산한 버퍼 사이즈를 의미한다.
이 때, 인터페이스부(314)는 외부기기로 전송한 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트(300)에 통지한다. 즉, 버퍼에서 제거된 무선데이터 패킷의 개수에 예비버퍼 사이즈의 일부를 가산하여 호스트(300)에 통지하는 것이다. 이는 무선데이터 패킷들이 이미 다 전송되어 버렸거나 또는 이미 다 삭제되었기 때문에 버퍼에서 소거 될 수 있다. 호스트(300)는 인터페이스부(314)로 수신한 통지에 의해 현재 보낼 수 있는 데이터 패킷의 수를 다시 계산할 수 있게 된다. 따라서, 제1전송률이 제2전송률보다 큰 경우에, 호스트(300)로 통지하는 무선 데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 통지함으로써 호스트(300)로부터 더 많은 데이터 패킷을 수신할 수 있다.
이와 달리, 제어부(316)는 무선데이터 패킷의 전송률이 데이터 패킷의 전송률보다 작은 경우에 외부기기로 실제로 전송한 무선데이터 패킷의 전송개수를 호스트(300)에 통지하도록 제어한다. 인터페이스부(314)는 외부기기로 실제로 전송한 무선데이터 패킷의 전송개수를 호스트(300)에 통지한다.
도 5는 본 발명에 따른 무선 통신 방법에 대한 일 실시예의 흐름도이다.
도 5를 참조하면, 무선 통신 모듈(310)은 인터페이스부(314)를 통해 호스트(300)로부터 제2전송률을 수신한다(S500). 여기서 제2전송률은 호스트가 전송한 데이터 패킷의 전송 시작시점부터 데이터 패킷이 무선 통신 모듈(310)의 버퍼(도면에 도시되지 않음)에 저장 완료된 시점까지의 단위시간당 전송된 데이터 패킷의 개수이다.
일반적으로 호스트(300)와 무선 통신 모듈(310)간의 통신은 USB나 UART와 같은 직렬 전송 매체를 통해 이루어진다. 여기서, USB 전송 방식이 이용되는 경우, 호스트(300)와 무선 통신 모듈(310)간의 통신 속도는 최대 12Mb/s가 된다. 따라서, 호스트(300)와 무선 통신 모듈(310)간에 사용되는 전송 매체에 따라 제2전송률이 결정되는 것이다.
전송률 산출부(312)는 외부기기로 전송되는 무선데이터 패킷에 대한 제1전송률을 산출한다(S502). 제어부(316)는 인터페이스부(314)를 통해 호스트(300)로부터 유입되는 데이터 패킷을 수신한다. 제어부(316)는 인터페이스부(314)를 통해 데이터 패킷이 수신되면, 수신된 데이터 패킷을 버퍼에 저장하도록 제어한다. 또한, 제어부(316)는 버퍼에 저장된 데이터 패킷을 무선데이터 패킷으로 변환하여 외부기기로 전송하도록 제어한다.
데이터송신부(318)는 변환된 무선데이터 패킷을 외부기기로 전송한다(S504). 또한, 데이터송신부(318)는 외부기기로 전송한 무선데이터 패킷의 수신여부에 대한 응답을 외부기기로부터 수신한다. 제어부(316)는 외부기기로부터 수신된 무선데이터 패킷의 헤더를 확인하여 외부기기로 전송한 무선데이터 패킷의 수신여부를 확인할 수 있다.
제어부(316)는 헤더의 응답 플래그에 의해 외부기기로 전송한 무선데이터 패킷의 전송 성공여부를 확인한다. 외부기기로부터 수신한 무선데이터 패킷의 헤더에 포함된 응답 플래그가 1인가를 확인한다(S506). 여기서, 헤더의 응답 플래그가 1인 경우 긍정응답(ACK)으로 수신이 성공적으로 이루어졌을음 나타내고, 0인 경우부정응답(NAK)으로 수신이 성공적으로 이루어지지 않았음을 나타낸다. 헤더를 확인하여 1인경우 전송이 성공적으로 이루어진 것으로 판단하여 외부기기의 수신버퍼 상태가 1인가를 확인한다(S508).
제어부(316)는 외부기기의 수신 버퍼 상태를 나타내는 플래그인 흐름(Flow) 플래그를 확인하여 외부기기의 수신 버퍼의 상태를 확인할 수 있다. 예컨대, 흐름 플래그가 1인 경우 수신 버퍼가 비어있어 데이터를 수신할 수 있음을 나타내고, 0인 경우 수신 버퍼가 비어있지 않아 더 이상 데이터를 수신할 수 없음을 나타낸다. 흐름 플래그가 0인 경우에 제어부(316)는 전송률 산출부(312)를 통해 무선데이터 패킷에 대한 제1전송률을 재산출하도록 제어한다. 전송률 산출부(312)는 제1전송률을 재산출 한다(S510).
한편, 제어부(316)는 흐름 플래그가 1인 경우에는 기 산출된 제1전송률과 제2전송률을 비교한다(S512). S514 단계의 비교결과 제1전송률이 제2전송률보다 더 작은 경우, 제어부(316)는 외부기기로 전송한 무선데이터 패킷의 전송개수가 호스트(300)로부터 수신한 데이터 패킷의 개수를 2로 나눈 데이터 패킷의 개수보다 큰가를 확인한다(S514). S514 단계의 확인결과 무선데이터 패킷의 전송개수가 데이터 패킷을 2로 나눈 데이터 패킷의 개수보다 작은 경우에, 제어부(316)는 외부기기로 데이터 패킷을 전송하도록 제어한다.
이와 달리, 제어부(316)는 무선데이터 패킷의 전송개수가 데이터 패킷을 2로 나눈 데이터 패킷의 개수보다 큰 경우에 호스트(300)에 외부기기로 전송한 무선데이터 패킷의 전송개수를 통지하도록 제어한다. 인터페이스부(314)는 외부기기로전송한 무선데이터 패킷의 전송개수를 호스트(300)에 통지한다(S520).
S512 단계의 비교결과 제1전송률이 제2전송률보다 큰 경우에 무선 통신 모듈(314)의 버퍼에 예비버퍼가 존재하는가를 확인한다(S516). S516 단계의 확인결과 예비버퍼가 존재하는 경우 호스트(300)로 통지되는 무선데이터 패킷의 개수는 외부기기로 전송된 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트(300)에 전송하도록 제어한다(S518).
즉, 제1전송률이 제2전송률보다 큰 경우에 버퍼에 예비버퍼를 형성하여 외부기기로 전송한 무선데이터 패킷의 개수를 호스트(300)로 통지할 때, 예비버퍼를 고려하여 예비버퍼 사이즈의 일부를 가산하여 호스트(300)로 통지하도록 한다. 이 경우, 인터페이스부(314)는 외부기기로 전송한 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트(300)에 통지한다(S520).
이로써, 버퍼에서 제거된 무선데이터 패킷의 개수를 호스트(300)에 보고시 실제로 제거된 무선데이터 패킷의 개수보다 더 많은 개수를 통지함으로써 데이터의 전송효율을 높일 수 있다.
본 발명에 따른 무선 통신 모듈 및 방법에 의하면, 외부기기로 전송되는 무선데이터 패킷에 대한 제1전송률이 호스트로부터 유입되는 데이터 패킷에 대한 제2전송률보다 큰 경우에, 외부기기로 전송된 무선데이터 패킷의 전송개수를 호스트에 보고할 때 무선데이터 패킷의 개수보다 큰 무선데이터 패킷의 전송개수를 호스트에 통지함으로써 데이터의 전송 효율을 높일 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해정해져야 한다.

Claims (8)

  1. 호스트로부터 유입된 데이터 패킷을 버퍼에 저장하며, 상기 버퍼에 저장된 상기 데이터 패킷을 무선데이터 패킷으로 변환하여 외부기기에 전송하는 무선 통신 모듈에 있어서,
    상기 외부기기로 전송되는 상기 무선데이터 패킷에 대한 제1전송률을 산출하는 전송률 산출부;
    상기 호스트와 상기 데이터 패킷을 송수신 하며, 상기 외부기기로 전송한 상기 무선데이터 패킷의 전송개수를 상기 호스트에 통지하는 인터페이스부; 및
    상기 호스트로부터 유입되는 상기 데이터 패킷에 대한 제2전송률과 상기 제1전송률을 비교하며, 상기 제1전송률이 상기 제2전송률보다 큰 경우에 전송된 상기 무선데이터 패킷의 개수보다 큰 상기 무선데이터 패킷의 전송개수를 상기 호스트에 통지하도록 제어하는 제어부;를 포함하는 것을 특징으로 하는 무선 통신 모듈.
  2. 제 1항에 있어서,
    상기 제1전송률은 상기 외부기기로 상기 무선데이터 패킷을 전송하여 상기 외부기기로부터 수신완료에 대한 응답을 수신하기까지 단위시간당 전송된 상기 무선데이터 패킷의 개수인 것을 특징으로 하는 무선 통신 모듈.
  3. 제 1항에 있어서,
    상기 제2전송률은 상기 호스트가 전송한 상기 데이터 패킷의 전송 시작시점부터 상기 데이터 패킷이 상기 버퍼에 저장 완료된 시점까지의 단위시간당 전송된 상기 데이터 패킷의 개수인 것을 특징으로 하는 무선 통신 모듈.
  4. 제 1항에 있어서,
    상기 제어부는 상기 제1전송률이 상기 제2전송률보다 큰 경우에 상기 버퍼에 예비버퍼를 형성하도록 제어하며, 상기 외부기기로 전송한 상기 무선데이터 패킷의 개수에 상기 예비버퍼 사이즈의 일부를 가산하여 산출된 상기 무선데이터 패킷의 전송개수를 상기 호스트로 통지하도록 제어하는 것을 특징으로 하는 무선 통신 모듈.
  5. 호스트로부터 유입된 데이터 패킷을 버퍼에 저장하며, 상기 버퍼에 저장된 상기 데이터 패킷을 무선데이터 패킷으로 변환하여 외부기기에 전송하는 무선 통신 방법에 있어서,
    상기 호스트로부터 유입되는 상기 데이터 패킷에 대한 제2전송률을 수신하는 단계;
    상기 외부기기로 전송되는 상기 무선데이터 패킷에 대한 제1전송률을 산출하는 단계;
    수신된 상기 제1전송률과 상기 제2전송률을 비교하는 단계; 및
    상기 비교결과 상기 제1전송률이 상기 제2전송률보다 큰 경우에 상기 외부기기로 전송된 상기 무선데이터 패킷의 개수보다 큰 상기 무선데이터 패킷의 전송개수를 상기 호스트로 통지하는 단계;를 포함하는 것을 특징으로 하는 무선 통신 방법.
  6. 제 5항에 있어서,
    상기 제1전송률 산출단계는,
    상기 외부기기의 수신버퍼상태를 체크하여 상기 외부기기의 상기 수신버퍼에 여분의 저장용량이 존재하지 않는 경우에 상기 제1전송률을 재산출하는 단계;를 포함하는 것을 특징으로 하는 무선 통신 방법.
  7. 제 5항에 있어서,
    상기 제1전송률은 상기 외부기기로 상기 무선데이터 패킷을 전송하여, 상기 외부기기로부터 수신완료에 대한 응답을 수신하기까지 단위시간당 전송된 상기 무선데이터 패킷의 개수인 것을 특징으로 하는 무선 통신 방법.
  8. 제 5항에 있어서,
    상기 제2전송률은 상기 호스트가 전송한 상기 데이터 패킷의 전송 시작시점부터 상기 데이터 패킷이 상기 버퍼에 저장 완료된 시점까지의 단위시간당 전송된 상기 데이터 패킷의 개수인 것을 특징으로 하는 무선 통신 방법.
KR1020020008084A 2002-02-15 2002-02-15 무선 통신 모듈 및 방법 KR20030068621A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020008084A KR20030068621A (ko) 2002-02-15 2002-02-15 무선 통신 모듈 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020008084A KR20030068621A (ko) 2002-02-15 2002-02-15 무선 통신 모듈 및 방법

Publications (1)

Publication Number Publication Date
KR20030068621A true KR20030068621A (ko) 2003-08-25

Family

ID=32221438

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020008084A KR20030068621A (ko) 2002-02-15 2002-02-15 무선 통신 모듈 및 방법

Country Status (1)

Country Link
KR (1) KR20030068621A (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001043371A2 (en) * 1999-12-06 2001-06-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement in a communication network
KR20010047950A (ko) * 1999-11-24 2001-06-15 윤종용 블루투스 모듈 내에서 데이터 통신 방법
KR20010086123A (ko) * 1999-10-19 2001-09-07 롤페스 요하네스 게라투스 알베르투스 블루투스 통신 장치 및 방법, 무선 통신 장치 및 방법
KR20010094310A (ko) * 2000-04-06 2001-10-31 윤종용 Bluetooth 무선 통신을 지원하는 통신장치에서의 수신 데이터 처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010086123A (ko) * 1999-10-19 2001-09-07 롤페스 요하네스 게라투스 알베르투스 블루투스 통신 장치 및 방법, 무선 통신 장치 및 방법
KR20010047950A (ko) * 1999-11-24 2001-06-15 윤종용 블루투스 모듈 내에서 데이터 통신 방법
WO2001043371A2 (en) * 1999-12-06 2001-06-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement in a communication network
KR20010094310A (ko) * 2000-04-06 2001-10-31 윤종용 Bluetooth 무선 통신을 지원하는 통신장치에서의 수신 데이터 처리 방법

Similar Documents

Publication Publication Date Title
US7376435B2 (en) Transferring multiple data units over a wireless communication link
US6836862B1 (en) Method of indicating wireless connection integrity
US6996100B1 (en) Method and system for medium access on a radio channel
JP3828863B2 (ja) 無線通信機器及びその無線通信方法
CN110679105B (zh) 无线链路控制传输方法及相关产品
JP2006262468A (ja) ブルートゥース無線装置を備える通信端末間のリンク連結方法
JP2001285315A (ja) 無線通信リンクの高品質化のための再送信スロットの動的割当て
EP1231736B1 (en) Wireless data communication
WO2021197317A1 (zh) 混合自动重传请求应答反馈方法、终端及网络节点
US20040198223A1 (en) Flow control in a bluetooth wireless communication system
US7161941B1 (en) Wireless packet communications with extended addressing capability
US8144733B2 (en) Partitioned medium access control implementation
US7298748B2 (en) Method of packet transmission and wireless communication device
JP7125431B6 (ja) フィードバック応答情報の長さ確定方法及び関連製品
EP2062396B1 (en) Coexistance device communication
KR20030068621A (ko) 무선 통신 모듈 및 방법
JP4246034B2 (ja) 送信端末、通信端末、無線通信システム、及び無線通信方法
KR20080025914A (ko) 이동통신 단말기에 구비된 지그비 심카드를 통해 데이터를송수신하는 시스템 및 방법
KR100998895B1 (ko) 블루투스 모듈을 이용한 단문 메시지 전송 방법
KR20020002792A (ko) 근거리 무선 통신장치에서의 마스터와 슬레이브간통신방법
JP2004165920A (ja) 無線通信方法
KR20040037332A (ko) 블루투스 시스템에서 다단계 버퍼와 송신 버퍼를 통한효율적인 버퍼 관리 기법
CN116208939A (zh) 低功耗蓝牙连接功率消耗
JP2006019881A (ja) 無線ネットワーク通信方法および無線ネットワーク通信システム
KR20030094479A (ko) 블루투스 시스템의 피코넷에서 브로드캐스트 패킷을전송하는 방법 및 브로드캐스트 패킷의 전송횟수를결정하는 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee