KR20090043724A - 대용량 데이터의 직렬 송수신 방법 - Google Patents

대용량 데이터의 직렬 송수신 방법 Download PDF

Info

Publication number
KR20090043724A
KR20090043724A KR1020070109435A KR20070109435A KR20090043724A KR 20090043724 A KR20090043724 A KR 20090043724A KR 1020070109435 A KR1020070109435 A KR 1020070109435A KR 20070109435 A KR20070109435 A KR 20070109435A KR 20090043724 A KR20090043724 A KR 20090043724A
Authority
KR
South Korea
Prior art keywords
packet
message
data
transmission
received
Prior art date
Application number
KR1020070109435A
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 KR1020070109435A priority Critical patent/KR20090043724A/ko
Publication of KR20090043724A publication Critical patent/KR20090043724A/ko

Links

Images

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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

대용량 데이터의 직렬 송수신 방법이 개시된다. 본 데이터 직렬 송신 방법은, 송신하고자 하는 명령과 이에 대응하는 데이터를 포함하는 메시지를 구성하는 단계, 메시지를 복수개의 계층적 데이터 처리방식에 따라 각각 정의된 포맷으로 순서대로 처리하는 단계, 및 처리된 메시지를 바이트 단위로 분할하고 각각의 바이트를 직렬 비트로 변환하여 순서대로 송신하는 단계를 포함한다.
UART, 직렬 송수신, 계층적 구조, 우선 순위, 에러 처리

Description

대용량 데이터의 직렬 송수신 방법{A Method For Serial Transmitting/Receiving High Volume Data}
본 발명은 대용량 데이터의 직렬 송수신 방법에 관한 것이다.
컴퓨터와 그 주변장치 외에도 최근 다양한 전자 기기의 네트워크화에 따라 서로 다른 장치 간의 통신이 일반화되었다. 이와 같이 서로 다른 장치 간의 통신에는 일반적으로 데이터 비트를 1개의 비트 단위로 송수신하는 직렬 통신 방식이 적용된다.
그러나, 일반적인 직렬 통신 방식은 병렬 통신 방식에 비해 비교적 작은 용량의 데이터 송수신에 적응하여 발전하였다. 일반적인 직렬 통신 방식에 따르면 송수신되는 데이터 중 바이트 단위의 데이터에 대해서는 유효성 검사 기능이 제공되나 송수신되는 전체 데이터에 대한 유효성 검사 기능은 제공되지 않는다. 또한, 송수신 데이터가 단순히 교환되는 이외에 특정 목적을 위해 대응하는 데이터를 교환하기 위한 방법이 제시되지 않고 있다.
따라서, 직렬 통신 방식으로 대용량 데이터를 송수신할 경우 통신의 효율 및 신뢰성을 담보하고 송수신되는 데이터의 체계적인 관리가 가능한 데이터 송수신 방식이 요구되는 실정이다.
본 발명의 목적은 대용량 데이터를 송수신할 수 있는 직렬 송수신 방법을 제공하기 위한 것이다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 송신하고자 하는 명령과 이에 대응하는 데이터를 포함하는 메시지를 구성하는 단계; 상기 메시지를 복수개의 계층적 데이터 처리방식에 따라 각각 정의된 포맷으로 순서대로 처리하는 단계; 및 상기 처리된 메시지를 바이트 단위로 분할하고 각각의 바이트를 직렬 비트로 변환하여 순서대로 송신하는 단계를 포함하는 데이터의 직렬 송신 방법이 제공된다.
여기서, 상기 메시지 처리 단계는, 상기 메시지를 적어도 하나의 기설정된 길이의 데이터 부분으로 각각 분할하고, 상기 분할된 각 데이터 부분에 대한 정보를 각각 삽입하여 패킷으로 각각 처리하는 단계; 및 상기 각 패킷에 오류 검출을 위한 정보를 부가하고, 그 길이를 나타내는 정보 및 상기 각 패킷의 시작 부분과 끝 부분을 표시하기 위한 정보를 각각 부가하여 프레임으로 처리하는 단계를 포함할 수 있다.
또한, 상기 분할된 각 데이터 부분에 대한 정보는, 상기 분할된 각 데이터 부분이 상기 메시지에서 차지하는 순서에 대한 정보, 상기 패킷의 종류 또는 상기 메시지의 총길이 중 적어도 하나를 포함할 수 있다.
그리고, 상기 송신 단계에서 하나의 패킷에 해당하는 프레임의 직렬 비트의 송신을 완료한 후 적어도 기설정된 패킷 송신 기간이 도과한 후 다음번 패킷에 해당하는 프레임의 직렬 비트를 송신할 수 있다.
또한, 상기 송신 단계는, 기설정된 응답 수신 시간 동안 상기 메시지에 응답하는 메시지를 수신하지 못한 경우 상기 처리된 메시지를 직렬 비트로 재송신할 수 있다.
또한, 송신된 상기 메시지 대응하는 에러 패킷이 수신되면, 상기 송신 단계는 상기 송신 동작을 중단할 수 있다.
한편, 본 발명의 다른 측면에 따르면, 직렬 비트를 순서대로 수신하여 바이트 단위의 데이터 열로 변환하는 단계; 상기 바이트 데이터 열을 조합하여 복수개의 계층적 데이터 처리방식에 따라 오류를 검출하고 각각 정의된 포맷으로 순서대로 처리하는 단계; 및 상기 처리된 데이터를 하나의 명령과 이에 대응하는 데이터를 포함하는 메시지로 재구성하는 단계를 포함하는 데이터의 직렬 수신 방법이 제공된다.
여기서, 상기 데이터 처리 단계는, 상기 바이트 데이터 열 중 시작 부분과 끝 부분을 표시하는 바이트를 기준으로 순서대로 조합하여 각각 하나의 프레임으로 재조합하고, 재조합된 각각의 프레임에 대해 오류를 검사하는 단계; 및 상기 각 프레임의 상기 시작 부분과 끝 부분을 표시하는 바이트와 오류 검출을 위한 정보가 부가된 부분을 제거하고 패킷으로 재구성하는 단계를 포함할 수 있다.
그리고, 상기 각 패킷은 상기 메시지에서 차지하는 순서에 대한 정보, 상기 각 패킷의 종류 또는 상기 메시지의 총길이 중 적어도 하나의 정보를 포함하고, 상기 메시지 재구성 단계는, 상기 적어도 하나의 정보를 이용하여 상기 재구성된 패킷 중 적어도 하나의 패킷을 조합하여 상기 메시지로 재구성할 수 있다.
또한, 상기 패킷 재구성 단계는, 일 메시지로 조합될 패킷의 수신이 완료되기 전에 타 메시지로 조합될 패킷이 수신되는 경우 상기 일 메시지로 조합될 패킷들을 폐기할 수 있다.
그리고, 상기 패킷 재구성 단계는, 하나의 패킷이 기설정된 패킷 수신 기간 내에 수신되지 않으면 상기 수신된 패킷 부분을 폐기할 수 있다.
한편, 본 발명의 또 다른 측면에 따르면, 송신하고자 하는 명령과 이에 대응하는 데이터를 포함하는 송신 메시지를 복수개의 계층적 데이터 처리방식에 따라 각각 정의된 포맷으로 순서대로 처리하는 단계; 및 상기 처리된 메시지로부터 바이트 단위로 변환된 직렬 비트를 순서대로 송신하는 단계;를 포함하고, 상기 송신 단계는 직렬 비트를 순서대로 수신하여 바이트 단위의 데이터 열로 조합하는 동작을 상기 송신과는 병렬적으로 수행하며, 상기 처리 단계는 수신된 상기 바이트 단위의 데이터 열을 조합하여 복수개의 계층적 데이터 처리방식에 따라 오류를 검출하고 각각 정의된 포맷으로 순서대로 처리하여 하나의 명령과 이에 대응하는 데이터를 포함하는 수신 메시지로 재구성하는 동작을 상기 처리와는 병렬적으로 수행하는 것을 특징으로 하는 데이터의 직렬 송수신 방법이 제공된다.
여기서, 상기 처리 단계는, 상기 송신 메시지를 적어도 하나의 기설정된 길이의 데이터 부분으로 각각 분할하고, 상기 분할된 각 데이터 부분에 대한 정보를 각각 삽입하여 패킷으로 각각 처리하는 단계; 및 상기 각 패킷에 오류 검출을 위한 정보를 부가하고, 그 길이를 나타내는 정보 및 상기 각 패킷의 시작 부분과 끝 부분을 표시하기 위한 정보를 각각 부가하여 프레임으로 처리하는 단계;를 포함하고, 상기 프레임 처리 단계는 수신된 상기 바이트 단위의 데이터 열을 조합하여 각각 하나의 프레임으로 재조합하고, 재조합된 각각의 프레임에 대해 오류를 검사하는 동작을 상기 프레임 처리와는 병렬적으로 수행하고, 상기 패킷 처리 단계는 상기 각 프레임의 상기 시작 부분과 끝 부분을 표시하는 바이트와 오류 검출을 위한 정보가 부가된 부분을 제거하고 패킷으로 재구성하는 동작을 상기 패킷 처리와는 병렬적으로 수행할 수 있다.
또한, 상기 송신 메시지로부터 분할된 패킷으로부터 변환된 직렬 비트 송신 중 수신된 상기 수신 메시지가 상기 송신 메시지에 대응하는 에러 메시지인 경우, 상기 송신 단계는 상기 송신 동작을 중단할 수 있다.
그리고, 상기 처리 단계는, 상기 수신 메시지에 해당하는 패킷들에 해당하는 직렬 비트의 수신이 완료되기 전에 타 수신 메시지에 해당하는 패킷이 수신되는 경우 상기 수신 메시지를 폐기하고, 상기 타 수신 메시지에 해당하는 패킷들을 처리할 수 있다.
또한, 상기 송신 메시지로부터 분할된 패킷으로부터 변환된 직렬 비트 송신 중 수신된 상기 수신 메시지가 상기 송신 메시지에 대응하는 에러 메시지가 아닌 경우, 상기 처리 단계는 상기 송신 메시지와 상기 수신 메시지의 처리 동작을 병렬적으로 수행할 수 있다.
본 발명에 따르면, 직렬 통신 방식으로 대용량 데이터를 송수신할 경우 통신의 효율 및 신뢰성을 담보할 수 있다.
또한, 데이터 송수신이 체계적으로 관리되어 통신시 발생하는 각종 에러에 대한 적절한 대처가 가능하다.
또한, 통신의 다양한 목적에 대응할 수 있는 적응적인 데이터 송수신 방식을 제공하여 다양한 장치 간의 통신에 활용할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.
도 1은 본 발명에 따라 계층적 데이터 처리 방식에 따라 대용량 데이터를 처리하고 직렬 송수신하는 방법 및 장치를 설명하기 위한 도면이고, 도 2 및 도 3은 각 처리 단계에서 처리되는 데이터의 구성을 설명하기 위한 도면이다. 이하, 도 1 내지 도 3을 참조하여, 본 발명에 따른 계층적 데이터 처리방식 및 이에 따라 각 단계에서 처리되는 데이터의 구성에 대해 상세히 설명한다.
도 1을 참조하면, 본 발명의 대용량 데이터 직렬 송수신 방법 및 장치는 5개의 계층적 데이터 처리 방식을 거쳐, 송수신되는 데이터를 처리하고 시리얼 포트를 통해 송수신한다.
계층적 데이터 처리방식에 따른 각각의 처리 단계는, 상위 계층으로부터 애플리케이션 계층(Application Layer), 메시지 계층(Message Layer), 패킷 계층(Packet Layer), 프레임 계층(Frame Layer) 및 UART 계층(Universal Asynchronous Receiver/Transmitter:UART Layer)의 5개 단계로 분류된다.
애플리케이션 계층은 타 송수신기와 실제 통신하여 동작하는 애플리케이션을 구현하며, 이를 위해 나머지 하위 계층들을 통해 데이터를 처리하도록 한다.
메시지 계층은 애플리케이션에서 수행하고자 하는 통신에 따라 메시지를 생성하거나 수신된 메시지를 해석하여 애플리케이션 계층에 전달한다. 여기서, 쌍방향 통신을 위한 서로 쌍이 되는 메시지, 즉 후술하는 요청(Request)을 위한 메시지와 이에 따른 응답(Response)을 위한 메시지가 정의되며 각 메시지에 대한 통신 방식이 정의된다.
패킷 계층은 메시지 계층에서 전달된 메시지를 기설정된 길이의 패킷 데이터로 각각 분할한 후(Fragmentation) 이들 각각에 패킷 헤더(Header)를 부가하여 패킷화(Packetize)하고 프레임 계층으로 전송하거나, 프레임 계층으로부터 전달된 패킷들을 파싱하여 패킷 헤더를 분리하고(De-packetize) 패킷 데이터들을 메시지로 재조합하여(De-fragmentation) 메시지 계층으로 전달한다.
프레임 계층은 패킷 계층에서 전달된 패킷에, 예를 들면 프레임 헤더(Frame Header) 부분에 시작 바이트(Start)와 프레임의 길이를 나타내는 필드(LEN)를 부가하고, 예를 들면 프레임 테일(Frame Tail) 부분에 전송 오류 검출을 위한 CRC(Cyclic Redundancy Check) 바이트와 종료 바이트(End) 등을 삽입하여 프레임을 생성한다. 프레임 계층은 생성된 프레임을 바이트 단위로 분할하여 UART 계층으로 전송한다. 또한, 프레임 계층은 UART 계층에서 전달된 바이트 단위의 데이터를 해석하여 프레임으로 재조합한 후 CRC 오류 검출을 수행하고 패킷을 추출하여 패킷 계층으로 전송한다.
UART 계층은, 타 송신기로부터 전송된 직렬 비트 스트림을 바이트 단위의 데이터로 재조합하여 프레임 계층으로 전달한다. 또한, UART 계층은 상위 계층인 프레임 계층으로부터 전달된 바이트 단위의 데이터를 직렬 비트 스트림으로 변환하여 출력한다.
도 2를 참조하면, 메시지는 애플리케이션 계층에서 타 송수신기와 통신하고자 하는 요청(Request) 또는 응답(Response)을 포함하는 명령(Command)을 싣는 명령(CMD) 필드를 포함한다. 또한, 메시지는, 이러한 명령에 대응하는 데이터, 예를 들면 명령 실행에 필요하거나 명령 실행에 따라 생성된 데이터를 싣는 데이터(DATA) 필드를 더 포함한다.
상술한 바와 같은 메시지는 패킷 계층으로 전달되어 기설정된 길이의 데이터 섹션으로 각각 분할된다. 여기서, 기설정된 길이의 데이터 섹션을 패킷 데이터(PDATA)라 칭한다. 패킷 계층에서는 패킷 데이터에, 예를 들면 3 바이트의, 패킷 데이터에 대한 정보를 포함하는 패킷 헤더(PI)를 부가하여 패킷을 생성한다(Packetize). 패킷 데이터의 길이는 변경가능하며(Variable Length), 예를 들면 2045 byte를 초과하지 않는 범위에서 적절하게 설정할 수 있다.
또한, 프레임 계층에서 생성되는 프레임은, 상술한 바와 같이 프레임 데이터 필드(FDATA)에 하나의 패킷이 포함되며, 프레임 헤더와 프레임 테일 부분이 부가된다. 따라서, 프레임 데이터 필드(FDATA)의 길이는 패킷의 길이에 연동하며 예를 들면 최소 3 byte에서 최대 2048 byte가 될 수 있다.
도 3은 패킷의 구성과 종류에 대해 설명하기 위한 도면으로서, 패킷 헤더(PI)는 패킷 데이터(PDATA)의 종류를 나타내는 예를 들면 3비트의 패킷 제어 정보 필드(PCI: Packet Control Info)와 예를 들면 21비트의 부가 정보 필드(AI: Auxiliary Info)를 포함한다.
패킷 제어 정보 필드(PCI)는 그 포함된 값에 의해 아래 표 1과 같이 패킷의 종류를 나타낼 수 있다.
PCI 패킷 종류
0 Single Packet (SP)
1 First Packet (FP)
2 Consecutive Packet (CP)
3 Error Packet (EP)
4 Notification Packet (NP)
상기 표에서 PCI 값은 일 예에 불과하며 다양한 변형이 가능하다.
여기서, 단일 패킷(SP)은 예를 들어 2045 byte 이하의 하나의 패킷으로 전송 가능한 데이터를 전송할 때 사용되며 그 부가정보 필드(AI)에는 단일 패킷 데이터의 길이(SP_LEN)가 삽입된다.
예를 들어 2045 byte 이상의 대용량 데이터의 경우 데이터를 여러 개의 패킷으로 분할하여 전송한다. 이 때, 첫번째 패킷(FP)은 부가 정보 필드(AI)에 전체 데이터, 즉 해당 메시지의 총 길이(FP_LEN)가 삽입된다. 두번째 및 이에 연속하는 패킷들(CP)에는 부가 정보 필드에 해당 패킷의 순서(Sequence Number: SN)가 예를 들면 1부터 순서대로 삽입될 수 있다. 이경우 첫번째 패킷의 순서(SN)는 '0'으로 간주할 수 있다.
또한, 메시지가 여러 개의 패킷으로 분할되는 경우에는 첫번째 패킷(FP)은 메시지 중에서 3 byte의 명령(CMD) 필드와 데이터 필드(DATA)의 일부분을 포함하나, 이에 연속하는 패킷들(CP)은 메시지 중에서 데이터 필드(DATA) 부분만을 포함한다.
에러 패킷(EP)은 패킷 수신시 수신 측에서 에러가 검출되면 송신 측에 발생한 에러 상태를 알리기 위한 것으로서, 부가 정보 필드(AI)에 에러의 내용(Error Status)을 나타내는 에러 상태 값(ERROR_STA)을 포함하며, 예를 들면 아래 표 2와 같이 에러 상태 값에 대응하여 각각 에러의 내용을 나타낼 수 있다.
ERROP_STA Value Error Status
0 Rcvtimer TimeOut
1 Wrong SN
2 CRC Error
3 Frame Format Error
4 Wrong PI
5 Notification Tx Error
상기 표의 에러 상태 값과 에러의 내용은 일 예에 불과하며 필요한 경우 변경하거나 확장하여 사용할 수 있다.
알림 패킷(Notification Packet: NT)은 수신 측 또는 송신 측에서 상대측에 알리고자 하는 내용이 있는 경우에 보내는 메시지로 단방향으로 정의되며, 하나의 패킷으로 보내며, 이에 따라 데이터의 총 크기(Data Size)가 2045 byte 이하로 생성된다.
도 4는 본 발명에 따른 상술한 데이터 처리방식에 대응하여 대용량 데이터를 처리하여 직렬 송수신을 수행하는 직렬 송수신 장치를 나타낸 블럭도이다.
본 발명에 따른 대용량 데이터 직렬 송수신 장치(100)는, 도 1에 도시된 바와 같이 정의된 계층적 데이터 처리방식에 따라 각 단계에 대응하는 데이터 처리를 수행하기 위해 각각 적응된 애플리케이션부(110), 메시지 처리부(120), 패킷 처리부(130), 프레임 처리부(140), 및 UART 드라이버(150)를 포함한다. 또한, 직렬 송수신 장치(100)는 직렬 데이터를 송수신하기 위한 인터페이스(160)를 더 포함할 수 있다.
본 발명에 따른 직렬 송수신 장치(100)는, 상술한 각 구성요소들에 대해 각각 자체적으로 제어 유닛을 포함하고 있을 수도 있으나 각 구성요소를 전반적으로 제어하는 중앙 제어 장치(미도시)를 더 포함할 수 있다. 또한, 직렬 데이터 송수신 장치(100)는 각종 데이터 및 사용자 명령을 입력받기 위한 입력부(170)를 별도로 구비할 수 있으며, 데이터 송수신에 필요한 각종 제어 정보 및 데이터 송수신에 따라 발생하는 각종 데이터를 저장하기 위한 메모리(180)를 더 포함할 수 있다. 또한, 직렬 데이터 송수신 장치(100)는 타이머(미도시)를 별도로 더 포함할 수 있으나, 타이머는 별도로 구비되지 않고 필요한 경우 각 구성요소 내에 구비될 수도 있다.
또한, 본 직렬 송수신 장치(100)의 각 구성요소는, 하위 계층의 데이터 처리를 위해 적응된 구성요소의 동작이 상위 계층의 데이터 처리를 위해 적응된 구성요소에 의해 제어되도록 구현될 수 있다.
한편, 본 발명의 직렬 송수신 장치(100)의 UART 드라이버(150)는 UART 통신을 수행하기 위한 UART 제어장치로서 기능하며, 별개의 송신 채널과 수신 채널을 통해 이중 채널 통신(Full-Duflex Communication)을 수행할 수 있는 장치이다. 따라서, 직렬 송수신 장치(100)는 UART 드라이버(150)를 통해 직렬 데이터 송신과 수신을 병렬적으로 동시에 수행할 수 있다.
이하, 본 발명의 데이터 직렬 송수신 장치(100)의 데이터 송수신 동작을 특히 프레임, 패킷 및 메시지의 송수신 동작을 중심으로 상세히 설명한다.
UART 드라이버(150)는 수신된 바이트 중에서 에러가 발견되면 에러가 발견된 바이트는 무시하고 프레임 처리부(140)로 전달하지 않는다.
프레임 전송시 프레임 처리부(140)는 프레임을 1byte씩 UART 드라이버(150)로 전송한다. 그리고, 소정 시간(Byte Interval: BI)이 지난 후 다음번 1byte를 전송한다. 이는 전송되는 매 byte 간에 소정 시간 기간을 두어 수신 측의 수신 편의와 노이즈 감소 및 송신 측의 UART 드라이버(150)의 오버 로드를 방지하기 위한 것이다.
한편, 프레임 수신시 프레임 처리부(140)는 프레임의 시작 바이트(Start)가 수신되기 전까지는 수신되는 데이터를 무시하고 상위 계층의 데이터 처리를 위해 적응된 패킷 처리부(130)로 전달하지 않는다. 프레임 처리부(140)는 프레임의 시작 바이트(Start)가 수신되면, 프레임의 길이를 나타내는 길이 필드(LEN)와 CRC를 체크하고 바이트 시퀀스가 프레임 포맷을 만족하는지 여부 등을 체크한다. 여기서, CRC는 예를 들면 3byte의 범위 내에서 사용자가 정의하여 사용할 수 있다.
그리고, 프레임 처리부(140)는 프레임 포맷이 잘못되거나 CRS 오류 등이 발생한 경우 패킷 처리부(130)로 에러 발생 사실을 알린다.
패킷 처리부(130)는 상위 계층의 데이터 처리를 위해 적응된 메시지 처리부(120)로부터 메시지 전송 요청이 있으면 현재 수신된 메시지 처리 동작과 병렬적으로 메시지 전송을 위한 처리 동작을 수행한다.
이 경우, 패킷 처리부(130)가 메시지 전송 요청을 받은 시점에 송신을 위해 처리중인 다른 작업이 없는 경우에는 즉시 전송 요청을 수행할 수 있으나 요청을 받은 시점에 전송을 위해 처리중인 다른 작업이 있는 경우에는 예를 들면 새로운 작업 우선, 즉 처리중인 다른 작업을 무시하고 새로운 요청에 따른 전송 작업을 수행하도록 할 수 있다.
그러나, 이는 작업 우선 순위의 설정 방식에 따라 달라질 수 있으며 예를 들면, 기존의 처리 작업이 종료될 때까지 대기하고 종료되면 새로운 작업을 수행하도록 하거나 기설정된 작업, 즉 메시지의 종류에 따라 우선 순위를 설정하고 새로운 요청이라도 우선 순위가 높은 작업이면 기존 작업을 무시하고 새로운 작업을 수행하도록 할 수도 있다.
패킷 처리부(130)는 메시지 처리부(120)에서 전송 요청한 메시지의 길이가 기준치 예를 들면 2045byte를 초과하면 메시지를 분할하여 복수 개의 패킷에 실어 전송하는 멀티 패킷 형태로 전송하고, 그렇지 않은 경우에는 단일 패킷(Single Packet) 형태로 전송한다.
또한, 패킷 처리부(130)는 모든 종류의 패킷 전송시 패킷 전송을 시작할 때마다 패킷 송신 기간(SndTime)을 확인하기 위한 타이머를 시작하도록 하고, 패킷 송신 기간(SndTime)이 도과(Timeout)되면 다음번 전송할 패킷을 전송하도록 한다. 패킷 송신 기간(SndTime)은 서로 다른 패킷 전송을 위한 최소 시간을 정의하며 그 운용에 대해서는 상세히 후술한다.
또한, 메시지 처리부(120)로부터 알림 메시지 전송이 요청되면, 패킷 처리부(130)는 수신 또는 송신을 위한 작업에 무관하게 어느 때나 현재 설정된 패킷 송신 기간(SndTime)이 도과되면(TimeOut) 요청된 알림 메시지를 알림 패킷(NP)으로 패킷화하여 전송한다.
또한, 패킷 처리부(130)는 모든 종류의 패킷 수신시 패킷 수신 기간(RcvTime)을 확인하기 위한 타이머를 종료시킨다. 그리고, 패킷 처리부(130)는 예를 들면 멀티 패킷 수신과 같이 현재 추가적인 작업이 수행 중이면 패킷 수신 기간(RcvTime)을 확인하기 위한 타이머를 다시 시작한다. 패킷 수신 기간(RcvTime)은 하나의 패킷 수신을 위한 최대 시간을 정의하며 그 운용에 대해서는 상세히 후술한다.
이하, 패킷 처리부(130)의 송수신 패킷 처리 방식에 대해 설명한다.
송수신 장치(100)가 멀티 패킷 송신 중에 상대 측으로부터 패킷을 수신하면, 패킷 처리부(130)는 수신된 패킷이 단일 패킷(SP)이거나 첫번째 패킷(FP)인 경우에는 현재 패킷 송신을 그대로 수행하면서 동시에 패킷 수신을 수행하고 송신이 완료되면 상위 계층에 알린다.
또한, 패킷 처리부(130)는 멀티 패킷 송신 중에 수신된 패킷이 연속되는 패킷(CP)인 경우에는 현재 수신 대기(Idle) 상태인 경우에는 상기 패킷은 잘못 전송된 패킷이므로 폐기하고, 송신이 완료되면 상위 계층에 알린다.
또한, 패킷 처리부(130)는 멀티 패킷 송신 중에 에러 패킷(EP)이 수신되면 알림 패킷(NP) 송신에 대한 에러 패킷인 경우에는 상위 계층에 알리고, 그 외의 에러 패킷인 경우에는 현재의 패킷 송신을 중단하고 상위 계층에 알린다.
또한, 패킷 처리부(130)는 멀티 패킷 송신 중에 알림 패킷(NP)이 수신되면 현재 패킷 송신을 그대로 수행하면서, 알림 패킷(NP)의 패킷 데이터, 즉 알림 메시지를 상위 계층에 전달한다.
한편, 패킷 처리부(130)는 멀티 패킷의 수신 중에 단일 패킷(SP) 또는 첫번째 패킷(FP)을 수신하는 경우에는 기존에 수신된 멀티 패킷을 폐기하고 새로운 패킷의 수신을 수행한다. 이 경우 단일 패킷(SP)의 수신이 완료되면 상위 계층에 수신 완료를 알리고, 첫번째 패킷(FP)의 경우에는 연속되는 패킷의 수신을 기다린다.
또한, 패킷 처리부(130)는 멀티 패킷의 수신 중에 연속되는 패킷을 수신한 경우 패킷 순서(SN), 패킷 정보(PI) 등 해당 패킷이 본 발명에 따른 각종 규격에 맞는지를 확인하고, 수신 중인 멀티 패킷의 순서에 따른 패킷인 경우에는 계속하여 수신 동작을 수행한다. 한편, 해당 멀티 패킷 중 첫번째 패킷(FP)의 패킷 정보(PI) 중 부가정보 필드(AI)에 삽입되어 있는 전체 데이터, 즉 해당 메시지의 총 길이(FP_LEN)에 대응하는 길이의 데이터의 수신이 완료되면 패킷 처리부(130)는 수신이 완료되었음을 상위 계층에 알린다.
또한, 패킷 처리부(130)는 멀티 패킷의 수신 중에 에러 패킷(EP)이 수신되면 알림 메시지에 대한 에러 패킷(EP)인 경우를 제외하고는 해당 에러 패킷(EP)을 무시한다. 알림 메시지에 대한 에러 패킷(EP)인 경우에는 상위 계층에 알린다. 그리고, 알림 패킷(NP)을 수신하는 경우에는 기존의 수신을 그대로 수행하면서 알림 메시지를 상위 계층에 전달한다.
한편, 패킷 처리부(130)는 현재 수신 및 송신 중 어느 동작도 수행하지 않는 대기 상태(Idle)인 경우에 단일 패킷(SP) 또는 첫번째 패킷(FP)을 수신하면 새로운 수신으로 인식하고 해당 수신 패킷을 처리한다. 그러나, 대기 상태 중 수신된 패킷이 연속되는 패킷(CP)이거나 에러 패킷(EP)인 경우에는 해당 패킷을 무시한다. 그러나, 수신된 에러 패킷(EP)이 알림 메시지에 대한 에러 패킷(EP)인 경우에는 상위 계층에 알린다. 또한, 알림 패킷(NP)을 수신한 경우에도 상위 계층에 알린다.
메시지 처리부(120)에서 처리하는 메시지는 알림 메시지를 제외하고는 요청 메시지와 응답 메시지가 쌍을 이루어 양방향으로 송수신되며, 요청 메시지와 응답 메시지는 상술한 메시지의 명령 필드(CMD)에 의해 구별된다.
따라서, 하나의 요청 메시지에 대한 응답 메시지가 수신된 이후에 다음번 요청 및 응답 메시지의 송수신이 수행된다. 그러나, 알림 메시지는 예를 들면 송신측(서버)에서 수신측(클라이언트)에게 알려야 하는 이벤트가 발생하는 경우에, 다른 메시지들에 대한 진행 여부에 상관없이 전송하게 된다.
서버와 클라이언트는 본 실시예에 따른 송수신 방법을 수행할 수 있는 장치이나, 이하 요청 메시지를 주로 전송하는 장치를 클라이언트라 칭하고, 응답 메시지를 주로 전송하는 장치를 서버라 칭한다.
메시지 처리부(120)는 요청 메시지 송신을 완료한 직후 기설정된 메시지 응답 수신 시간(CTime)을 체크하기 위한 타이머를 작동하고 해당 요청 메시지에 대한 응답 메시지에 해당하는 단일 패킷(SN) 또는 첫번째 패킷(FP)이 수신되면 타이머를 정지시킨다. 이에 대해, 서버 측에서는 요청 메시지를 수신하면, 요청 메시지에 대응하는 응답 메시지를 최대 기설정된 메시지 응답 송신 시간(STime) 내에 클라이언트 측으로 전송한다.
그러나, 기설정된 메시지 응답 수신 시간(Ctime) 내에 응답 메시지가 수신되지 않으면, 메시지 처리부(120)는 기설정된 횟수(Max.X) 만큼 요청 메시지를 서버로 재전송할 수 있다. 여기서, 기설정된 횟수(Max.X)는 최대값으로서 사용자에 의해 설정될 수 있다. 기설정된 횟수(Max.X)의 요청 메시지 전송에도 불구하고 서버 측으로부터 응답 메시지가 수신되지 않을 경우 메시지 처리부(120)는 애플리케이션부(110)에 메시지 전송 실패를 알린다.
메시지 전송 실패는 이외에도 하위 계층인 패킷 처리부(130), 프레임 처리부(140) 또는 UART 드라이버(150) 등으로부터의 에러 리포트에 의해 요청 메시지의 전송이 중단되면 상술한 기설정된 횟수(Max.X)의 메시지 전송 실패 횟수에 추가되어 계산된다.
한편, 알림 메시지의 경우에는 상술한 바와 같이 알림 패킷(NP)으로 전송되며, 알림 패킷은 타 패킷의 전송과 무관하게 언제나 전송이 가능하다. 알림 메시지의 경우에도 하위 계층으로부터 에러 리포트에 의해 전송이 중단되면 최대 기설정된 횟수(Max.X) 만큼 재전송할 수 있다.
도 5a 및 도 5b는 본 발명에 따른 패킷 송수신 방식에 대해 설명하기 위한 도면이다.
도 5a를 참조하면, 패킷을 송신하는 경우 송신 측에서는 이전 패킷(예를 들면, FP)과 다음번 패킷(예를 들면, CP)의 전송 사이에는 최소한 패킷 송신 기간(SndTime)에 해당하는 기설정된 시간 간격을 두는 것을 원칙으로 한다. 즉, 송신 측에서는 예를 들면, FP를 전송하면서 패킷 송신 기간(SndTime) 확인을 위한 타이머를 동작시키고, 패킷 송신 기간(SndTime) 타이머가 종료(TimeOut)된 상태에서 다음번 패킷을 전송한다.
패킷 송신 기간(SndTime)은, 예를 들면 패킷 송신 시간(PTT: Packet Transmit Time)과 2*PTT 사이의 임의 값으로 설정할 수 있다.
한편, 패킷 송신 시간(PTT)은 다음의 수학식1과 같이 산출할 수 있다.
Figure 112007077824830-PAT00001
여기서, BI는 상술한 바와 같이 연속하는 바이트(Byte) 간 전송 시간 간격으로서 사용자가 미리 설정할 수 있고, FML(Frame Maximum Length)은 프레임의 최대 길이로서 단위는 바이트이다. 상술한 예에서 FML은 예를 들면 2048Byte가 될 수 있다. BT(Byte Time)는 하나의 바이트를 전송하는데 소요되는 시간으로서 예를 들면 8/BR로 산출될 수 있으며, BR(Baud Rate)는 초당 전송되는 단위 신호의 수를 말하며 예를 들면 인터페이스(160)의 성능 또는 상대측 송수신기의 환경 등 각종 조건에 기초하여 설정될 수 있다.
도 5b를 참조하면, 패킷을 수신하는 경우 수신 측에서는 패킷이 수신되면 패 킷 수신 기간(RcvTime)에 해당하는 타이머를 동작시키고, 해당 패킷 수신이 완료되면 타이머를 종료시킨다. 그러나, 패킷 수신 기간(RcvTime)이 종료될 때까지 해당 패킷의 수신이 완료되지 않으면 해당 패킷을 폐기하고, 에러 패킷(EP)을 송신 측에 전송하여 에러가 발생하였음을 알린다.
패킷 수신 기간(RcvTime)은 예를 들면 다음의 수학식2를 이용하여 산출할 수 있다.
Figure 112007077824830-PAT00002
여기서, Δt는 네트워크 지연과 UART 드라이버(150) 자체 및 타 애플리케이션에 의한 인터럽트 등 각종 요인으로 인한 전송 지연을 고려한 변수이다.
한편, 수신 측이 에러 패킷(EP)을 전송하는 경우에는, 수신 측이 수신 동작과는 별도로 송신을 하게 되는 것이므로 에러 패킷(EP)을 전송하기 시작함과 동시에 패킷 송신 기간(SndTime) 타이머를 동작시키게 되며, 이에 따라 수신 측은 타이머가 종료된 이후에 새로운 패킷을 전송할 수 있게 된다.
상술한 바와 같이 패킷 송신 기간(SndTime)은 연속하는 패킷 간의 송신에 있어서 요구되는 최소한의 시간이며, 패킷 수신 기간(RcvTime)은 하나의 패킷 수신에 소요될 수 있는 최대 시간임을 알 수 있다.
도 6a 내지 도 6d는 본 발명에 따른 패킷 송수신 방식을 더욱 상세하게 설명하기 위한 도면이다.
도 6a를 참조하면, 수신 측에서 하나의 메시지에 해당하는 패킷들의 수신 동작 수행 중에 새로운 메시지에 해당하는 패킷이 수신되는 경우 기존에 수신된 메시지에 해당하는 패킷들을 폐기하고 새로운 메시지에 해당하는 패킷들을 수신한다.
예를 들면, 첫번째 패킷(FP)을 수신한 후 다음번 패킷(CP)를 수신하고 있는 중 또는 수신 후에, 새로운 첫번째 패킷(FP)이 수신된 경우에는 이전에 수신된 패킷들을 폐기하고 새로운 첫번째 패킷(FP) 및 이에 따른 후속 패킷들에 대한 수신을 수행한다.
도 6b를 참조하면, 수신 측에서는 하나의 메시지에 해당하는 패킷들의 수신 중에 알림 패킷(NP)을 수신하는 경우 기존에 진행되고 있던 패킷 수신 기간(RcvTime)을 확인하기 위한 타이머를 다시 시작하고 알림 패킷(NP)을 수신한 후, 기존에 수신하던 메시지에 해당하는 패킷들을 이어서 수신한다. 수신 측은 타 패킷 수신 도중 에러 패킷(EP)이 수신된 경우에도 패킷 수신 기간(RcvTime) 확인을 위한 타이머를 다시 시작한다. 그러나, 수신 측은 마지막 패킷(CP)이 수신되는 경우에는 패킷 수신 기간(RcvTime)을 확인하기 위한 타이머를 시작하지 않을 수 있다.
도 6c를 참조하면, 송신 측은 알림 패킷(NP)을 포함한 모든 종류의 패킷 송신시 패킷 송신 기간(SndTime)을 확인하여, 패킷 송신 기간(SndTime)이 지날때 까지 다음번 패킷을 송신하지 않는다.
도 6d를 참조하면, 수신 측은 하나의 메시지에 해당하는 패킷들을 수신하는 도중에 송신 측에 알림 패킷(NP)을 전송할 필요가 있을 경우에는, 현재 패킷을 송 신이 수행되고 있지 않는 한 언제든지 패킷 송신 기간(SndTime)을 확인하기 위한 타이머를 시작하고 알림 패킷(NP)을 전송하며, 만약 현재 타 패킷이 송신되고 있는 경우에는 패킷 송신 기간(SndTime)이 경과한 후 알림 패킷(NP)을 전송한다.
도 7a 및 도 7b는 본 발명에 따른 메시지의 송수신 방식에 대해 보다 상세히 설명하기 위한 도면이다.
도 7a를 참조하면, 수신 측(클라이언트)은 요청 메시지 송신을 완료한 직후 메시지 응답 수신 시간(CTime)을 체크하기 위한 타이머를 작동하고 해당 요청 메시지에 대한 응답 메시지에 해당하는 단일 패킷(SN) 또는 첫번째 패킷(FP)이 수신되면 타이머를 정지시킨다.
메시지 응답 수신 시간(CTime)은 예를 들면 다음의 수학식3을 이용하여 산출할 수 있다.
Figure 112007077824830-PAT00003
도 7b를 참조하면, 수신 측이 요청 메시지 송신 완료 후 작동시킨 응답 수신 시간(CTime)을 확인하기 위한 타이머는 알림 메시지에 해당하는 알림 패킷(NP) 수신시에는 정지시키지 않는다. 즉, 알림 메시지의 송신 및 수신은 요청 메시지 또는 응답 메시지와는 달리 메시지 응답 수신 시간(CTime) 또는 메시지 응답 송신 시간(Stime)과는 무관하게 언제든지 송신 또는 수신할 수 있다.
또한, 메시지 응답 송신 시간(CTime)은 예를 들면 최소 0값에서 최대 2*PTT 값 사이의 임의의 값으로 설정할 수 있다.
이하, 본 발명에 따른 송수신 장치에서 패킷 또는 메시지의 에러 발생시 처리 방식에 대해 설명한다.
패킷 수신 중 수신 측의 패킷 처리부(130)는 패킷 수신 기간(RcvTime)이 도과(TimeOut)하도록 해당 패킷 수신이 완료되지 않으면, 수신 측은 송신 측으로 에러 패킷(EP)을 전송한 후, 현재 수신된 패킷을 폐기하고 상위 계층에 해당하는 메시지 처리부(120)에 에러 발생을 알린다.
또한, 수신 측의 패킷 처리부(130)는 해당 메시지의 첫번째 패킷(FP)이 아닌 연속되는 패킷(CP)의 패킷 순서(SN)을 확인하고 잘못된 SN인 경우에는 송신 측에 에러 패킷(EP)을 전송하고 해당 패킷을 폐기한 후 상위 계층에 해당하는 메시지 처리부(120)에 에러 발생을 알린다.
또한, 패킷 처리부(130)는 수신된 패킷의 패킷 정보(PI)가 잘못된 경우 송신 측에 에러 패킷(EP)을 전송하고 해당 패킷을 폐기한 후 상위 계층에 해당하는 메시지 처리부(120)에 에러 발생을 알린다.
프레임 수신시 수신 측의 프레임 처리부(140)는 해당 프레임의 CRC를 체크하고 에러 발생시 상위 계층에 해당하는 패킷 처리부(130)에 에러 발생을 알려 송신 측에 에러 패킷(EP)을 전송하고 해당 프레임은 폐기한다.
또한, 수신 측의 프레임 처리부(140)는 해당 프레임의 포맷이 잘못된 경우 상위 계층에 해당하는 패킷 처리부(130)에 에러 발생을 알려 송신 측에 에러 패킷(EP)을 전송하고 해당 프레임은 폐기한다.
한편, 송신 측은 에러 패킷(EP) 수신시 현재 진행 중인 송신 작업을 중단하고 상위 계층에 에러 발생을 알린다.
또한, 수신 측 또는 송신 측은 자신이 전송한 알림 패킷(NP)에 대한 에러 패킷(EP)이 수신되면 상위 계층으로 에러 발생을 알린다.
요청(Request) 메시지를 송신한 클라이언트의 메시지 처리부(120)는 메시지 응답 수신 시간(CTime) 도과시까지 응답 메시지가 수신되지 않으면, 상술한 바와 같이 최대 횟수(Max.X)까지 서버로 해당 요청 메시지를 재전송할 수 있다.
한편, 응답 메시지를 수신한 클라이언트의 메시지 처리부(120)는 메시지의 명령(CMD)이 잘못된 경우, 예를 들면 정의되지 않은 명령이거나 대응되지 않는 응답 명령인 경우에는 해당 메시지를 폐기한다.
또한, 요청 메시지를 수신한 서버의 메시지 처리부(120) 또한 메시지의 명령(CMD)이 잘못된 경우, 예를 들면 정의되지 않은 명령인 경우에는 해당 메시지를 폐기한다.
또한, 요청 메시지 송신 중 클라이언트 측의 메시지 처리부(120)는 하위 계층으로부터 에러가 보고되면 현재 진행 과정을 중단하고 최대 횟수(Max.X)까지 해당 요청 메시지를 서버로 재전송할 수 있다.
서버에서는, 클라이언트로부터 요청 메시지 수신중 하위 계층으로부터 에러가 보고되면 메시지 처리부(120)는 현재 진행 과정을 중단하고 대기(Idle) 상태에서 요청 메시지가 다시 수신되기를 기다린다.
또한, 서버의 메시지 처리부(120)는 알림 메시지, 즉 알림 패킷 전송 후 하 위 계층으로부터 에러가 수신되면 해당 알림 패킷을 최대 횟수(Max.X)까지 재전송할 수 있다.
도 8은 본 발명 따른 직렬 송수신 방법이 적용되는 일 예를 설명하기 위한 메시지 시퀀스 차트이다.
도면에서, 클라이언트 장치로는 호스트 시스템과 같이 주로 요청 메시지를 주로 송신하는 장치를 예로 들 수 있으며, 서버 장치로는 DVB-T 모듈과 같이 응답 메시지를 주로 송신하는 장치를 예로 들 수 있다. 클라이언트 장치와 서버 장치는 상술한 바와 같은 본 발명에 따른 직렬 송수신을 수행하는 장치로서 2개의 직렬 통신 라인을 통해 송수신 이중 채널 통신을 수행할 수 있다.
도면을 참조하면, 알림 메시지의 예로는, 서버 장치가 부팅이 완료되면 이를 알리는 알림 메시지를 알림 패킷 형태로 클라이언트 장치에 전송하는 알림 메시지(210), 이후 채널 검색 결과를 알리기 위한 알림 메시지(240)와 방송 시청 중 약전계로 진입하는 경우 이를 알리기 위한 알림 메시지(270) 등이 나타나 있다.
또한, 도면에는 요청 메시지와 응답 메시지의 예로는, 서버 장치에 모듈의 초기화를 요청하는 메시지(221)와 서버 장치로부터의 이에 대한 응답 메시지(222), 서버 장치에 채널 검색을 요청하는 메시지(231)와 이에 대한 응답 메시지(232), 클라이언트 장치에 채널 검색의 완료를 요청하는 요청 메시지(251)와 이에 대해 클라이언트 장치로부터의 응답 메시지(252) 등이 있다.
알림 메시지는 클라이언트 장치로부터의 요청 메시지가 없는 경우에 클라이언트 장치에 알리고자 하는 사항이 발생하는 경우 주로 이용되며, 클라이언트 장치 로부터 수신되는 요청 메시지에 대해서는 항상 응답 메시지가 이에 대응하여 서버 장치로부터 송신된다.
상술한 바와 같이 알림 메시지는 응답이 필요하지 않은 경우에 정의하여 사용할 수 있고, 요청 메시지는 상대측으로부터의 응답이 필요한 메시지인 경우에 정의하여 사용할 수 있다.
따라서, 상술한 바와 같이 요청 메시지에 대한 응답이 없는 경우에는 요청 메시지를 송신한 장치에서 이를 확인할 수 있어 메시지를 소정 횟수 재송신하고 그런 후에도 응답이 없으면 사용자에게 알리는 등의 동작을 수행할 수 있어 사용자 친화적인 인터페이스의 구축이 가능하다.
도 1은 본 발명에 따라 대용량 데이터를 처리하고 직렬 송수신하는 방법 및 장치를 설명하기 위한 도면이다.
도 2 및 도 3은 본 발명에 따른 대용량 데이터의 각각의 처리 단계에서 처리되는 데이터의 구성을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 대용량 데이터를 처리하여 직렬 송수신을 수행하는 직렬 송수신 장치를 나타낸 블럭도이다.
도 5a 및 도 5b는 본 발명에 따른 패킷 송수신 방식에 대해 설명하기 위한 도면이다.
도 6a 내지 도 6d는 본 발명에 따른 패킷 송수신 방식을 더욱 상세하게 설명하기 위한 도면이다.
도 7a 및 도 7b는 본 발명에 따른 메시지의 송수신 방식에 대해 설명하기 위한 도면이다.
도 8은 본 발명 따른 직렬 송수신 방법이 적용되는 일 예를 설명하기 위한 도면이다.

Claims (16)

  1. 송신하고자 하는 명령과 이에 대응하는 데이터를 포함하는 메시지를 구성하는 단계;
    상기 메시지를 복수개의 계층적 데이터 처리방식에 따라 각각 정의된 포맷으로 순서대로 처리하는 단계; 및
    상기 처리된 메시지를 바이트 단위로 분할하고 각각의 바이트를 직렬 비트로 변환하여 순서대로 송신하는 단계;를 포함하는 데이터의 직렬 송신 방법.
  2. 제 1 항에 있어서,
    상기 메시지 처리 단계는,
    상기 메시지를 적어도 하나의 기설정된 길이의 데이터 부분으로 각각 분할하고, 상기 분할된 각 데이터 부분에 대한 정보를 각각 삽입하여 패킷으로 각각 처리하는 단계; 및
    상기 각 패킷에 오류 검출을 위한 정보를 부가하고, 그 길이를 나타내는 정보 및 상기 각 패킷의 시작 부분과 끝 부분을 표시하기 위한 정보를 각각 부가하여 프레임으로 처리하는 단계;를 포함하는 것을 특징으로 하는 데이터의 직렬 송신 방법.
  3. 제 2 항에 있어서,
    상기 분할된 각 데이터 부분에 대한 정보는, 상기 분할된 각 데이터 부분이 상기 메시지에서 차지하는 순서에 대한 정보, 상기 패킷의 종류 또는 상기 메시지의 총길이 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터의 직렬 송신 방법.
  4. 제 2 항에 있어서,
    상기 송신 단계에서 하나의 패킷에 해당하는 프레임의 직렬 비트의 송신을 완료한 후 적어도 기설정된 패킷 송신 기간이 도과한 후 다음번 패킷에 해당하는 프레임의 직렬 비트를 송신하는 것을 특징으로 하는 데이터의 직렬 송신 방법.
  5. 제 4 항에 있어서,
    상기 송신 단계는, 기설정된 응답 수신 시간 동안 상기 메시지에 응답하는 메시지를 수신하지 못한 경우 상기 처리된 메시지를 직렬 비트로 재송신하는 것을 특징으로 하는 데이터의 직렬 송신 방법.
  6. 제 2 항에 있어서,
    송신된 상기 메시지 대응하는 에러 패킷이 수신되면, 상기 송신 단계는 상기 송신 동작을 중단하는 것을 특징으로 하는 데이터의 직렬 송신 방법.
  7. 직렬 비트를 순서대로 수신하여 바이트 단위의 데이터 열로 변환하는 단계; 및
    상기 바이트 데이터 열을 조합하여 복수개의 계층적 데이터 처리방식에 따라 오류를 검출하고 각각 정의된 포맷으로 순서대로 처리하는 단계; 및
    상기 처리된 데이터를 하나의 명령과 이에 대응하는 데이터를 포함하는 메시지로 재구성하는 단계;를 포함하는 것을 특징으로 하는 데이터의 직렬 수신 방법.
  8. 제 7 항에 있어서,
    상기 데이터 처리 단계는,
    상기 바이트 데이터 열 중 시작 부분과 끝 부분을 표시하는 바이트를 기준으로 순서대로 조합하여 각각 하나의 프레임으로 재조합하고, 재조합된 각각의 프레임에 대해 오류를 검사하는 단계; 및
    상기 각 프레임의 상기 시작 부분과 끝 부분을 표시하는 바이트와 오류 검출을 위한 정보가 부가된 부분을 제거하고 패킷으로 재구성하는 단계;를 포함하는 것 을 특징으로 하는 데이터의 직렬 수신 방법.
  9. 제 8 항에 있어서,
    상기 각 패킷은 상기 메시지에서 차지하는 순서에 대한 정보, 상기 각 패킷의 종류 또는 상기 메시지의 총길이 중 적어도 하나의 정보를 포함하고,
    상기 메시지 재구성 단계는, 상기 적어도 하나의 정보를 이용하여 상기 재구성된 패킷 중 적어도 하나의 패킷을 조합하여 상기 메시지로 재구성하는 것을 특징으로 하는 데이터의 직렬 수신 방법.
  10. 제 9 항에 있어서,
    상기 패킷 재구성 단계는, 일 메시지로 조합될 패킷의 수신이 완료되기 전에 타 메시지로 조합될 패킷이 수신되는 경우 상기 일 메시지로 조합될 패킷들을 폐기하는 것을 특징으로 하는 데이터의 직렬 수신 방법.
  11. 제 8 항에 있어서,
    상기 패킷 재구성 단계는, 하나의 패킷이 기설정된 패킷 수신 기간 내에 수신되지 않으면 상기 수신된 패킷 부분을 폐기하는 것을 특징으로 하는 데이터의 직 렬 수신 방법.
  12. 송신하고자 하는 명령과 이에 대응하는 데이터를 포함하는 송신 메시지를 복수개의 계층적 데이터 처리방식에 따라 각각 정의된 포맷으로 순서대로 처리하는 단계; 및
    상기 처리된 메시지로부터 바이트 단위로 변환된 직렬 비트를 순서대로 송신하는 단계;를 포함하고,
    상기 송신 단계는 직렬 비트를 순서대로 수신하여 바이트 단위의 데이터 열로 조합하는 동작을 상기 송신과는 병렬적으로 수행하며,
    상기 처리 단계는 수신된 상기 바이트 단위의 데이터 열을 조합하여 복수개의 계층적 데이터 처리방식에 따라 오류를 검출하고 각각 정의된 포맷으로 순서대로 처리하여 하나의 명령과 이에 대응하는 데이터를 포함하는 수신 메시지로 재구성하는 동작을 상기 처리와는 병렬적으로 수행하는 것을 특징으로 하는 데이터의 직렬 송수신 방법.
  13. 제 12 항에 있어서,
    상기 처리 단계는,
    상기 송신 메시지를 적어도 하나의 기설정된 길이의 데이터 부분으로 각각 분할하고, 상기 분할된 각 데이터 부분에 대한 정보를 각각 삽입하여 패킷으로 각각 처리하는 단계; 및
    상기 각 패킷에 오류 검출을 위한 정보를 부가하고, 그 길이를 나타내는 정보 및 상기 각 패킷의 시작 부분과 끝 부분을 표시하기 위한 정보를 각각 부가하여 프레임으로 처리하는 단계;를 포함하고,
    상기 프레임 처리 단계는 수신된 상기 바이트 단위의 데이터 열을 조합하여 각각 하나의 프레임으로 재조합하고, 재조합된 각각의 프레임에 대해 오류를 검사하는 동작을 상기 프레임 처리와는 병렬적으로 수행하고,
    상기 패킷 처리 단계는 상기 각 프레임의 상기 시작 부분과 끝 부분을 표시하는 바이트와 오류 검출을 위한 정보가 부가된 부분을 제거하고 패킷으로 재구성하는 동작을 상기 패킷 처리와는 병렬적으로 수행하는 것을 특징으로 하는 데이터의 직렬 송수신 방법.
  14. 제 13 항에 있어서,
    상기 송신 메시지로부터 분할된 패킷으로부터 변환된 직렬 비트 송신 중 수신된 상기 수신 메시지가 상기 송신 메시지에 대응하는 에러 메시지인 경우, 상기 송신 단계는 상기 송신 동작을 중단하는 것을 특징으로 하는 데이터의 직렬 송수신 방법.
  15. 제 13 항에 있어서,
    상기 처리 단계는, 상기 수신 메시지에 해당하는 패킷들에 해당하는 직렬 비트의 수신이 완료되기 전에 타 수신 메시지에 해당하는 패킷이 수신되는 경우 상기 수신 메시지를 폐기하고, 상기 타 수신 메시지에 해당하는 패킷들을 처리하는 것을 특징으로 하는 데이터의 직렬 송수신 방법.
  16. 제 13 항에 있어서,
    상기 송신 메시지로부터 분할된 패킷으로부터 변환된 직렬 비트 송신 중 수신된 상기 수신 메시지가 상기 송신 메시지에 대응하는 에러 메시지가 아닌 경우, 상기 처리 단계는 상기 송신 메시지와 상기 수신 메시지의 처리 동작을 병렬적으로 수행하는 것을 특징으로 하는 데이터의 직렬 송수신 방법.
KR1020070109435A 2007-10-30 2007-10-30 대용량 데이터의 직렬 송수신 방법 KR20090043724A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070109435A KR20090043724A (ko) 2007-10-30 2007-10-30 대용량 데이터의 직렬 송수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070109435A KR20090043724A (ko) 2007-10-30 2007-10-30 대용량 데이터의 직렬 송수신 방법

Publications (1)

Publication Number Publication Date
KR20090043724A true KR20090043724A (ko) 2009-05-07

Family

ID=40854399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070109435A KR20090043724A (ko) 2007-10-30 2007-10-30 대용량 데이터의 직렬 송수신 방법

Country Status (1)

Country Link
KR (1) KR20090043724A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975424A (zh) * 2016-04-28 2016-09-28 北京信息科技大学 一种主从串行通讯协议
KR20160121034A (ko) * 2015-04-09 2016-10-19 한국전자통신연구원 시리얼 통신 제어 장치 및 방법
KR20190100823A (ko) * 2018-02-21 2019-08-29 조선대학교산학협력단 이종 통신 송수신기간의 교차 통신 수행 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160121034A (ko) * 2015-04-09 2016-10-19 한국전자통신연구원 시리얼 통신 제어 장치 및 방법
CN105975424A (zh) * 2016-04-28 2016-09-28 北京信息科技大学 一种主从串行通讯协议
CN105975424B (zh) * 2016-04-28 2018-06-26 北京信息科技大学 一种主从串行通讯协议
KR20190100823A (ko) * 2018-02-21 2019-08-29 조선대학교산학협력단 이종 통신 송수신기간의 교차 통신 수행 방법

Similar Documents

Publication Publication Date Title
CN101656597B (zh) 数据接收和发送方法、装置及数据传输系统
US8024788B2 (en) Method and apparatus for reliable, high speed data transfers in a high assurance multiple level secure environment
JP4153502B2 (ja) 通信装置及び論理リンク異常検出方法
KR102046792B1 (ko) 송신 노드로부터 목적지 노드로의 데이터 전송 방법
CN105657646A (zh) 一种基于蓝牙4.0的设备间大数据通信方法
CN106209915A (zh) 一种实时流媒体无线传输方法及其系统
KR101224334B1 (ko) 고속 데이터 처리를 위한 재전송 장치 및 방법
KR20080005150A (ko) 무선통신 시스템에서 전송오류를 처리하는 방법 및 장치
US8467302B2 (en) Wireless data transmission method, transmitting system, and receiving system
US6925096B2 (en) Method and apparatus for managing traffic flows
KR20050078096A (ko) 데이터 프레임 재전송 방법 및 상기 방법을 사용하는네트워크 장치
CN101605128A (zh) Linux主从设备通过以太网接口进行通信的方法
KR20090043724A (ko) 대용량 데이터의 직렬 송수신 방법
KR20060079570A (ko) 통신 시스템에서 데이터 재전송 장치 및 방법
CN112737739A (zh) 一种两设备间多包通讯的方法
CN108183767A (zh) 一种适用于空间dtn网络的可靠传输方法
JP2009212796A (ja) 送信装置、データ転送システム、データ転送方法およびデータ転送プログラム
US8225161B2 (en) Retransmissions of data using increased data rate
JP2004187099A (ja) 通信制御方法、通信システム及び通信装置
WO2005069528A1 (ja) 通信システム及びそのデータ再送制御方法並びにそれに用いる無線送受信装置
JP3148733B2 (ja) 信号処理装置及び信号処理システム
US7013418B1 (en) Method and apparatus for reliable delivery of status information for multiple sets of data units in a single packet
JP2013026820A (ja) 通信装置、通信方法、及び通信システム
KR100780921B1 (ko) 청크첵섬을 사용하는 무선 인터넷 에스씨티피 송수신시스템 및 방법
JP5665675B2 (ja) クライアント及びサーバにおけるリモートプロシージャコールハンドラを動作させる方法並びに当該クライアント及びサーバを含むコンピュータシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application