KR20150107223A - 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법 - Google Patents
히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법 Download PDFInfo
- Publication number
- KR20150107223A KR20150107223A KR1020140029791A KR20140029791A KR20150107223A KR 20150107223 A KR20150107223 A KR 20150107223A KR 1020140029791 A KR1020140029791 A KR 1020140029791A KR 20140029791 A KR20140029791 A KR 20140029791A KR 20150107223 A KR20150107223 A KR 20150107223A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- transmission
- queue
- transmitted
- error
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법에 대한 발명이 개시된다. 본 발명의 히스토리 큐를 이용한 통신 에러 복구 장치는 수신측으로부터 전송되는 에러 메시지를 수신하여 버퍼링 하는 수신버퍼와, 수신측으로 전송하기 위한 메시지를 버퍼링하는 송신버퍼와, 송신버퍼에 주기적으로 메시지를 전송하는 송신메시지 큐와, 송신메시지 큐에서 송신버퍼로 전송된 메시지를 저장하는 히스토리 큐 및 에러 메시지의 수신 여부에 따라 송신메시지 큐에서 송신버퍼로의 메시지 전송을 제어하고, 에러 메시지에 따라 히스토리 큐에 저장된 해당 메시지를 송신버퍼로 전송하는 통신제어부를 포함하는 것을 특징으로 한다.
Description
본 발명은 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 차량 인포테인먼트(In-Vehicle Infortainment, IVI) 시스템을 구성하는 두 개 이상의 프로세스에서 비동기 직렬 통신(UART) 방식으로 메시지를 송수신하는 중 에러가 발생하면, 히스토리 큐를 이용하여 에러가 발생한 메시지를 재전송함으로써 시스템 성능을 향상시키는 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법에 관한 것이다.
일반적으로 최근 출시되고 있는 대부분의 자동차는 차량 인포테인먼트(IVI : In-Vehicle Infortainment)시스템을 포함하고 있다.
차량 인포테인먼트 시스템은 차량 내외의 각종 정보를 운전자 및 탑승자에게 최적의 조건으로 제공하는 것으로, 각기 고유한 기능을 수행하는 두 개 이상의 프로세서를 포함한다. 예컨대 인포테인먼트(Information + Entertainment = Infortainment : 정보와 오락을 합친 개념) 주 기능을 수행하는 CPU, 차량과 인터페이스를 담당하는 MCU 및 필요에 따라 추가적인 프로세서가 더 포함될 수 있다.
이러한 두 개 이상의 프로세서(예 : CPU, MCU 등)는 통신을 통해 쌍방의 데이터를 교환하며 기술적 효율성을 이유로 주로 비동기 직렬 통신(UART : Universal Asynchronous Receiver Transmitter) 방식을 사용한다.
이러한 구성에서 두 프로세서 간 데이터 교환에 대한 신뢰성 확보는 매우 중요한 부분이다. 그러나, 비동기 직렬 통신은 그 특성상 전기적 노이즈 등에 취약성을 가지고 있기 때문에 패리티 비트(Parity Bit) 체크 등 다양한 방법을 사용하여 데이터 전송 에러 검출 및 복구를 수행한다.
이러한 데이터 전송 에러 검출 및 복구를 수행하기 위해 최근에는 하드웨어 성능 및 기술적 향상으로 상위 레이어에서 데이터 메시지 프레임 단위의 체크섬(checksum) 비교 방식이 일반적으로 사용되고 있다.
예를들어, MCU가 송신측이고 CPU가 수신측일 때, MCU에서 CPU로 전송한 메시지의 체크섬이 일치하지 않으면 CPU는 MCU로 에러 발생을 통지하고 MCU은 에러가 발생된 메시지를 CPU로 재 전송함으로써 데이터가 복구되도록 한다.
그러나, 이러한 방법은 비동기 통신 방식의 특성에 따라 송신측에서 메시지를 송신한 후 수신측의 에러 발생을 즉시 인지하지 못하기 때문에 이를 해결하기 위해 다음과 같은 방법이 사용되고 있다.
첫 번째 방법으로, 메시지 전송 후 일정시간을 대기한 뒤 다음 메시지 프레임을 전송하고 대기 중 에러 메시지가 수신되는 경우에만 재전송을 수행하는 방법이 있는데, 이러한 방법은 에러가 발생하지 않는 경우에도 일정 시간 대기해야 하므로 수신측의 성능에 따라 통신 버스(Bus)의 성능이 좌우되며 설정된 전송속도(Baudrate)보다 통신속도가 저하되는 문제점이 있다.
두 번째 방법으로, 전송한 모든 메시지에 대한 수신 여부를 확인받고 다음 메시지를 전송하는 방식이 있는데, 이러한 방법은 비동기 통신 방식의 경우 저속으로 통신하거나 메시지가 빈번하게 전송되지 않는 시스템에서만 적용이 가능한 문제점이 있어, 차량 인포테인먼트 시스템과 같이 차량 내부 네트워크와 연결되어 다량의 데이터를 다른 프로세서로 전송해야 하는 경우에는 적합하지 못한 문제점이 있다.
따라서, 이러한 점을 개선하기 위해 시스템 성능이 허용하는 최소 전송 간격으로 메시지를 연속 전송하고 통신 에러 발생 시, 수신측으로부터 에러가 발생된 메시지의 프레임 번호를 포함하는 에러 메시지를 수신 받아 에러가 발생된 메시지 이후에 저장된 메시지를 모두 재전송함으로써 에러를 복구하는 방법을 사용하였다.
그런데, 이러한 방법에서는 일반적으로 구성되는 송신 메시지 큐에서 메시지를 전송한 후, 수신측에서 메시지의 체크섬 에러가 확인되어 에러 메시지를 수신받는 중에도 계속해서 다음 메시지를 전송하므로, 송신 메시지 큐에서 기 전송된 메세지의 존재 여부를 보장할 수 없는 문제점이 발생하게 된다.
본 발명의 배경기술은 대한민국 공개특허공보 제10-2009-0056465호(2009. 06. 03. 공개, 발명의 명칭 : 우선순위에 따른 직렬 데이터 통신 장치 및 방법)에 개시되어 있다.
본 발명은 상기와 같은 문제점을 개선하기 위해 창출된 것으로, 본 발명의 목적은 차량 인포테인먼트 시스템을 구성하는 두 개 이상의 프로세스에서 비동기 직렬 통신 방식으로 메시지를 송수신하는 중 에러가 발생하면, 히스토리 큐를 이용하여 에러가 발생한 메시지와 그 이후에 전송된 메시지를 재전송하는 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법에 관한 것이다.
본 발명의 다른 목적은, 수신측으로부터 에러 메시지가 수신되어 히스토리 큐를 통해 메시지가 재전송될 때, 히스토리 큐의 메시지가 모두 전송되기 전까지 메시지가 송신되지 않도록 송신 메시지 큐를 제어하고, 히스토리 큐의 메시지가 모두 전송되면 히스테리 큐에 존재하는 메시지를 삭제하는 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법에 관한 것이다.
본 발명에 따른 히스토리 큐를 이용한 통신 에러 복구 장치는, 수신측으로부터 전송되는 에러 메시지를 수신하여 버퍼링 하는 수신버퍼; 상기 수신측으로 전송하기 위한 메시지를 버퍼링하는 송신버퍼; 상기 송신버퍼에 주기적으로 메시지를 전송하는 송신메시지 큐; 상기 송신메시지 큐에서 상기 송신버퍼로 전송된 메시지를 저장하는 히스토리 큐; 및 상기 에러 메시지의 수신 여부에 따라 상기 송신메시지 큐에서 상기 송신버퍼로의 메시지 전송을 제어하고, 상기 에러 메시지에 따라 상기 히스토리 큐에 저장된 해당 메시지를 상기 송신버퍼로 전송하는 통신제어부; 를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 히스토리 큐는 상기 저장된 메시지가 포화 상태인 경우, FIFO(First In First Out) 방식으로 가장 먼저 저장된 메시지 순으로 삭제하는 것을 특징으로 한다.
본 발명에서, 상기 통신제어부는 상기 수신버퍼를 통해 상기 에러 메시지가 수신되면, 상기 송신메시지 큐에서의 메시지 전송을 중단시키고, 상기 히스토리 큐에 저장된 상기 에러 메시지에 따른 해당 메시지를 상기 송신버퍼로 전송하면, 상기 송신메시지 큐에서의 메시지 전송을 재개시키는 것을 특징으로 한다.
본 발명에서, 상기 통신제어부는 상기 수신버퍼를 통해 상기 에러 메시지가 수신되면, 상기 에러 메시지에 포함된 프레임 번호에 해당하는 메시지 이후의 메시지를 상기 송신버퍼로 전송하는 것을 특징으로 한다.
본 발명에서, 상기 통신제어부는 상기 히스토리 큐에 저장된 모든 메시지가 상기 송신버퍼로 전송되면, 상기 히스토리 큐에 저장된 모든 메시지를 삭제하는 것을 특징으로 한다.
본 발명에 따른 히스토리 큐를 이용한 통신 에러 복구 방법은, 통신제어부가, 송신메시지 큐에서 송신버퍼로 전송된 메시지를 히스토리 큐에 저장시키는 단계; 상기 통신제어부가 수신버퍼를 통해 에러 메시지를 수신하는 경우, 송신메시지 큐에서의 메시지 전송을 중단시키는 단계; 상기 통신제어부가 상기 수신된 에러 메시지에 따라 상기 히스토리 큐에 저장된 해당 메시지를 상기 송신버퍼로 전송하는 단계; 상기 통신제어부가 상기 히스토리 큐에 저장된 모든 메시지가 상기 송신버퍼로 전송되었는지 판단하는 단계; 및 상기 모든 메시지가 상기 송신버퍼로 전송되었으면, 상기 송신메시지 큐에서의 메시지 전송을 재개시키는 단계; 를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 송신메시지 큐에서 송신버퍼로 전송된 메시지를 히스토리 큐에 저장시키는 단계는, 상기 히스토리 큐에 저장된 메시지가 포화 상태인 경우, FIFO(First In First Out) 방식으로 가장 먼저 저장된 메시지 순으로 삭제하는 단계를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 에러 메시지에 따라 상기 히스토리 큐에 저장된 해당 메시지를 상기 송신버퍼로 전송하는 단계는 상기 에러 메시지에 포함된 프레임 번호에 해당하는 메시지 이후의 메시지를 상기 송신버퍼로 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 히스토리 큐에 저장된 모든 메시지가 상기 송신버퍼로 전송되었는지 판단하는 단계는 상기 히스토리 큐에 저장된 모든 메시지가 상기 송신버퍼로 전송되면, 상기 히스토리 큐에 저장된 모든 메시지를 삭제하는 것을 특징으로 한다.
본 발명에 따른 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법은 차량 인포테인먼트 시스템을 구성하는 두 개 이상의 프로세스에서 비동기 직렬 통신 방식으로 메시지를 송수신하는 중 에러가 발생하면, 히스토리 큐를 이용하여 에러가 발생한 메시지와 그 이후에 전송된 메시지를 재전송함으로써 메시지의 손실을 방지함과 동시에 통신 에러 복구 성능을 향상시킬 수 있다.
또한, 본 발명은 수신측으로부터 에러 메시지가 수신되어 히스토리 큐를 통해 메시지가 재전송될 때, 히스토리 큐의 메시지가 모두 전송되기 전까지 메시지가 송신되지 않도록 송신 메시지 큐를 제어하고, 히스토리 큐의 메시지가 모두 전송되면 히스테리 큐에 존재하는 메시지를 삭제함으로써 시스템 성능을 확보할 수 있다.
도 1은 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치를 나타낸 블록구성도이다.
도 2는 본 발명의 일실시예에 따른 차량 인포테인먼트 시스템에서 CPU와 MCU간의 비동기 직렬 통신 인터페이스를 위한 MCU의 구조를 보인 예시도이다.
도 3은 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측과 송신측간의 메시지 송수신 과정을 나타낸 것이다.
도 4는 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측으로 전송되는 메시지의 프레임 형식을 나타낸 예시이다.
도 5는 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측으로부터 전송되는 에러 메시지의 프레임 형식을 나타낸 예시이다.
도 6은 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 방법의 동작 흐름을 도시한 순서도이다.
도 2는 본 발명의 일실시예에 따른 차량 인포테인먼트 시스템에서 CPU와 MCU간의 비동기 직렬 통신 인터페이스를 위한 MCU의 구조를 보인 예시도이다.
도 3은 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측과 송신측간의 메시지 송수신 과정을 나타낸 것이다.
도 4는 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측으로 전송되는 메시지의 프레임 형식을 나타낸 예시이다.
도 5는 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측으로부터 전송되는 에러 메시지의 프레임 형식을 나타낸 예시이다.
도 6은 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 방법의 동작 흐름을 도시한 순서도이다.
이하 첨부된 도면을 참조하여 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법을 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다.
또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치를 나타낸 블록구성도이고, 도 2는 본 발명의 일실시예에 따른 차량 인포테인먼트 시스템에서 CPU와 MCU간의 비동기 직렬 통신 인터페이스를 위한 MCU의 구조를 보인 예시도이며, 도 3은 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측과 송신측간의 메시지 송수신 과정을 나타낸 것이다.
도 1 내지 도 3에서와 같이 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치는, 수신 레지스터(10), 수신버퍼(20), 수신 메모리부(21), 수신메시지 큐(30), 송신 레지스터(40), 송신버퍼(50), 송신 메모리부(51), 송신메시지 큐(60), 히스토리 큐(70) 및 통신제어부(80)를 포함한다.
차량 인포테인먼트(IVI : In-Vehicle Infortainment)시스템에서 두 개 이상의 프로세서(예 : CPU, MCU 등)간 데이터 교환을 위해 비동기 직렬 통신(UART : Universal Asynchronous Receiver Transmitter) 방식을 사용할 경우 MCU의 수신측 구성은 도 2를 참고하면 알 수 있듯이, 타 프로세서로부터 수신되는 메시지를 일시적으로 저장하는 수신 레지스터(10), 수신 레지스터(10)를 통해서 수신된 메시지를 버퍼링하는 수신버퍼(20), 수신버퍼(20)로부터 주기적으로 메시지를 수신하는 수신메시지 큐(30), 수신 완료된 메시지를 저장하는 수신 메모리부(21)를 포함한다.
특히, 수신버퍼(20)는 통신 에러 발생시 에러 메시지를 수신하여 버퍼링한다.
또한, MCU의 송신측 구성은 도 2를 참고하면 알 수 있듯이, 타 프로세서로 송신하는 메시지를 일시적으로 저장하는 송신 레지스터(40), 송신 레지스터(40)를 통해 수신측으로 전송하기 위한 메시지를 버퍼링하는 송신버퍼(50), 송신버퍼(50)에 주기적으로 메시지를 전송하는 송신메시지 큐(60), 송신 완료된 메시지를 저장하는 송신 메모리부(51), 송신버퍼(50)로 전송된 메시지를 저장하는 히스토리 큐(History Queue, 70)를 포함한다.
또한, 히스토리 큐(70)는 저장된 메시지가 포화 상태인 경우, FIFO(First In First Out) 방식으로 가장 먼저 저장된 메시지 순으로 삭제함으로써 항시 최적의 성능을 유지할 수 있도록 한다.
이때, 히스토리 큐(70)의 크기는 시스템 부하 조건에서 테스트 코드를 이용한 성능 검증 실험을 통해 최적의 크기를 결정하는 것을 원칙으로 하되, 본 발명에서는 히스토리 큐(70)를 이용한 통신 에러의 복구 장치에 관한 것이므로 히스토리 큐(70)의 크기 결정 방법은 논외로 한다.
또한, 통신제어부(80)는 에러 메시지의 수신 여부에 따라 송신메시지 큐(60)에서 송신버퍼(50)로의 메시지 전송을 제어하고, 에러 메시지에 따라 히스토리 큐(70)에 저장된 해당 메시지를 송신버퍼(50)로 전송한다.
자세히는, 수신버퍼(20)를 통해 에러 메시지가 수신되면, 송신메시지 큐(60)에서의 메시지 전송을 중단시키고, 히스토리 큐(70)에 저장된 에러 메시지에 따른 해당 메시지를 송신버퍼(50)로 모두 전송하면, 송신메시지 큐(60)에서의 메시지 전송을 재개시킨다.
더욱 자세히는, 수신버퍼(20)를 통해 수신되는 에러 메시지에 포함된 프레임 번호에 해당하는 메시지를 히스토리 큐(70) 내에서 검색하여 검색된 메시지와 그 메시지 이전에 전송된 메시지를 삭제하고, 삭제한 메시지 이후의 메시지를 송신버퍼(50)로 전송하여, 송신버퍼(50)와 송신 레지스터(40)를 통해 수신측으로 전송되도록 한다.
이때, 통신제어부(80)는 히스토리 큐(70)에 저장된 모든 메시지가 송신버퍼(50)로 전송되면, 송신메시지 큐(60)에서의 송신버퍼(50)로의 메시지 전송을 재개시키고, 히스토리 큐(70)의 모든 메시지를 삭제한다.
즉, 에러가 발생한 시점부터 전송된 모든 메시지가 히스토리 큐(70)를 통해 송신버퍼(50)로 재전송되었기 때문에 삭제하여 히스토리 큐(70)의 성능이 확보되도록 한다.
도 3을 참고하여 설명하자면, 송신측(마이컴)에서 수신측(CPU)으로 메시지가 전송되는 도중 2번 메시지(frame 2)의 체크섬 에러가 확인되면, 수신측(CPU)으로부터 에러 메시지를 수신받되, 최종 정상 수신된 메시지의 프레임 번호(@frame 1)를 포함하여 수신받고, 에러 메시지에 포함된 프레임 번호의 이후에 해당하는 메시지를 히스토리 큐(70)에서 전송되도록 하는데, 에러 메시지를 수신 받는 동안 전송되는 메시지도 에러로 간주하여, 히스토리 큐(70)에 저장된 메시지 중 최종 정상 수신된 메시지(frame 1) 이후의 모든 메시지가 송신버퍼(50)로 재전송 되도록 한다.
따라서, 히스토리 큐(70)의 크기는 최소한 도 3에서와 같은 에러제어 소요시간(a)이 확보되도록 하는 것이 바람직하다.
또한, 히스토리 큐(70)는 에러 메시지를 모두 수신한 이후부터 메시지가 재전송되도록 대기시간(b)이 확보되도록 한다.
도 4는 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측으로 전송되는 메시지의 프레임 형식을 나타낸 것으로, 프레임 번호(Frame Number)와 체크섬(Checksum) 비교 여부가 표시되도록 하고, 도 5는 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치에서 수신측으로부터 전송되는 에러 메시지의 프레임 형식을 나타낸 것으로 프레임 번호(Frame Number)와 에러(ERROR) 유무 및 체크섬(Checksum) 비교 여부가 표시되록 한다.
상술한 바와 같이, 에러 메시지에서의 프레임 번호는 수신측으로 최종 정상 수신된 번호로 정의한다.
따라서, 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 장치는 차량 인포테인먼트 시스템을 구성하는 두 개 이상의 프로세스에서 비동기 직렬 통신 방식으로 메시지를 송수신하는 중 에러가 발생하면, 히스토리 큐를 이용하여 에러가 발생한 메시지와 그 이후에 전송된 메시지를 재전송함으로써 메시지의 손실을 방지함과 동시에 통신 에러 복구 성능을 향상시킬 수 있다.
또한, 수신측으로부터 에러 메시지가 수신되어 히스토리 큐를 통해 메시지가 재전송될 때, 히스토리 큐의 메시지가 모두 전송되기 전까지 메시지가 송신되지 않도록 송신 메시지 큐를 제어하고, 히스토리 큐의 메시지가 모두 전송되면 히스테리 큐에 존재하는 메시지를 삭제함으로써 시스템 성능을 확보할 수 있다.
도 6은 본 발명의 일 실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 방법의 동작 흐름을 도시한 순서도로써, 이를 참조하여 본 발명의 구체적인 동작을 설명한다.
통신제어부(80)가, 주기적으로 메시지를 전송하는 송신메시지 큐(60)를 통해 송신버퍼(50)로 메시지가 전송되면(S10), 전송된 메시지를 히스토리 큐(70)에 저장시킨다(S20).
이때, 히스토리 큐(70)에 저장된 메시지가 포화 상태인 경우, FIFO(First In First Out) 방식으로 가장 먼저 저장된 메시지 순으로 삭제한다.
그리고, 통신제어부(80)가 수신버퍼(20)를 통해 에러 메시지를 수신하는 경우(S30), 송신메시지 큐(60)에서의 메시지 전송을 중단시킨다(S40).
즉, 통신제어부(80)는 송신메시지 큐(60)에서 송신버퍼(50)로 메시지가 전송되지 않도록 제어한다.
그리고, 통신제어부(80)는 수신버퍼(20)로부터 수신된 에러 메시지에 포함된 프레임 번호에 해당하는 메시지를 히스토리 큐(70) 내에서 검색한다(S50).
이때, S50 단계에서 검색된 메시지와 그 메시지 이전에 전송된 메시지를 삭제하고(S60), 삭제한 메시지 이후의 메시지를 송신버퍼(50)로 전송한다(S70).
또한, 통신제어부(80)는 히스토리 큐(70)에 저장된 모든 메시지가 송신버퍼(50로 전송되었는지 판단하여(S80), 모든 메시지가 상기 송신버퍼로 전송되었으면, 히스토리 큐(70)의 모든 메시지를 삭제하고(S90), 송신메시지 큐(60)에서의 메시지 전송을 재개시켜 수신측으로 메시지가 정상 전송되도록 제어한다(S100).
즉, 에러가 발생한 시점부터 전송된 모든 메시지가 히스토리 큐(70)를 통해 송신버퍼(50)로 재전송되었기 때문에 삭제하여 히스토리 큐(70)의 성능이 확보되도록 한다.
상술한 바와 같이, 본 발명의 일실시예에 따른 히스토리 큐를 이용한 통신 에러 복구 방법은 차량 인포테인먼트 시스템을 구성하는 두 개 이상의 프로세스에서 비동기 직렬 통신 방식으로 메시지를 송수신하는 중 에러가 발생하면, 히스토리 큐를 이용하여 에러가 발생한 메시지와 그 이후에 전송된 메시지를 재전송함으로써 메시지의 손실을 방지함과 동시에 통신 에러 복구 성능을 향상시킬 수 있다.
또한, 수신측으로부터 에러 메시지가 수신되어 히스토리 큐를 통해 메시지가 재전송될 때, 히스토리 큐의 메시지가 모두 전송되기 전까지 메시지가 송신되지 않도록 송신 메시지 큐를 제어하고, 히스토리 큐의 메시지가 모두 전송되면 히스테리 큐에 존재하는 메시지를 삭제함으로써 시스템 성능을 확보할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
10 : 수신 레지스터
20 : 수신버퍼
21 : 수신 메모리부 30 : 수신메시지 큐
40 : 송신 레지스터 50 : 송신버퍼
51 : 송신 메모리부 60 : 송신메시지 큐
70 : 히스토리 큐 80 : 통신제어부
21 : 수신 메모리부 30 : 수신메시지 큐
40 : 송신 레지스터 50 : 송신버퍼
51 : 송신 메모리부 60 : 송신메시지 큐
70 : 히스토리 큐 80 : 통신제어부
Claims (9)
- 수신측으로부터 전송되는 에러 메시지를 수신하여 버퍼링 하는 수신버퍼;
상기 수신측으로 전송하기 위한 메시지를 버퍼링하는 송신버퍼;
상기 송신버퍼에 주기적으로 메시지를 전송하는 송신메시지 큐;
상기 송신메시지 큐에서 상기 송신버퍼로 전송된 메시지를 저장하는 히스토리 큐; 및
상기 에러 메시지의 수신 여부에 따라 상기 송신메시지 큐에서 상기 송신버퍼로의 메시지 전송을 제어하고, 상기 에러 메시지에 따라 상기 히스토리 큐에 저장된 해당 메시지를 상기 송신버퍼로 전송하는 통신제어부; 를 포함하는 히스토리 큐를 이용한 통신 에러 복구 장치.
- 제 1항에 있어서, 상기 히스토리 큐는
상기 저장된 메시지가 포화 상태인 경우, FIFO(First In First Out) 방식으로 가장 먼저 저장된 메시지 순으로 삭제하는 것을 특징으로 하는 히스토리 큐를 이용한 통신 에러 복구 장치.
- 제 1항에 있어서, 상기 통신제어부는
상기 수신버퍼를 통해 상기 에러 메시지가 수신되면, 상기 송신메시지 큐에서의 메시지 전송을 중단시키고,
상기 히스토리 큐에 저장된 상기 에러 메시지에 따른 해당 메시지를 상기 송신버퍼로 전송하면, 상기 송신메시지 큐에서의 메시지 전송을 재개시키는 것을 특징으로 하는 히스토리 큐를 이용한 통신 에러 복구 장치.
- 제 1항에 있어서, 상기 통신제어부는
상기 수신버퍼를 통해 상기 에러 메시지가 수신되면, 상기 에러 메시지에 포함된 프레임 번호에 해당하는 메시지 이후의 메시지를 상기 송신버퍼로 전송하는 것을 특징으로 하는 히스토리 큐를 이용한 통신 에러 복구 장치.
- 제 1항에 있어서, 상기 통신제어부는
상기 히스토리 큐에 저장된 모든 메시지가 상기 송신버퍼로 전송되면, 상기 히스토리 큐에 저장된 모든 메시지를 삭제하는 것을 특징으로 하는 히스토리 큐를 이용한 통신 에러 복구 장치.
- 통신제어부가, 송신메시지 큐에서 송신버퍼로 전송된 메시지를 히스토리 큐에 저장시키는 단계;
상기 통신제어부가 수신버퍼를 통해 에러 메시지를 수신하는 경우, 송신메시지 큐에서의 메시지 전송을 중단시키는 단계;
상기 통신제어부가 상기 수신된 에러 메시지에 따라 상기 히스토리 큐에 저장된 해당 메시지를 상기 송신버퍼로 전송하는 단계;
상기 통신제어부가 상기 히스토리 큐에 저장된 모든 메시지가 상기 송신버퍼로 전송되었는지 판단하는 단계; 및
상기 모든 메시지가 상기 송신버퍼로 전송되었으면, 상기 송신메시지 큐에서의 메시지 전송을 재개시키는 단계; 를 포함하는 히스토리 큐를 이용한 통신 에러 복구 방법.
- 제 6항에 있어서, 상기 송신메시지 큐에서 송신버퍼로 전송된 메시지를 히스토리 큐에 저장시키는 단계는,
상기 히스토리 큐에 저장된 메시지가 포화 상태인 경우, FIFO(First In First Out) 방식으로 가장 먼저 저장된 메시지 순으로 삭제하는 단계를 포함하는 것을 특징으로 하는 히스토리 큐를 이용한 통신 에러 복구 방법.
- 제 6항에 있어서, 상기 에러 메시지에 따라 상기 히스토리 큐에 저장된 해당 메시지를 상기 송신버퍼로 전송하는 단계는
상기 에러 메시지에 포함된 프레임 번호에 해당하는 메시지 이후의 메시지를 상기 송신버퍼로 전송하는 단계를 포함하는 것을 특징으로 하는 히스토리 큐를 이용한 통신 에러 복구 방법.
- 제 6항에 있어서, 상기 히스토리 큐에 저장된 모든 메시지가 상기 송신버퍼로 전송되었는지 판단하는 단계는
상기 히스토리 큐에 저장된 모든 메시지가 상기 송신버퍼로 전송되면, 상기 히스토리 큐에 저장된 모든 메시지를 삭제하는 것을 특징으로 하는 히스토리 큐를 이용한 통신 에러 복구 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140029791A KR102126671B1 (ko) | 2014-03-13 | 2014-03-13 | 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140029791A KR102126671B1 (ko) | 2014-03-13 | 2014-03-13 | 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150107223A true KR20150107223A (ko) | 2015-09-23 |
KR102126671B1 KR102126671B1 (ko) | 2020-06-25 |
Family
ID=54245777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140029791A KR102126671B1 (ko) | 2014-03-13 | 2014-03-13 | 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102126671B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101980581B1 (ko) * | 2019-02-11 | 2019-05-21 | (주)베스트케이에스 | 탠덤 시스템의 메모리 관리방법 |
KR20220111476A (ko) * | 2021-02-02 | 2022-08-09 | 엘아이지넥스원 주식회사 | 디지털 시리얼 데이터 통신 장치 간에 노이즈 간섭에 따른 데이터 왜곡 복원 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07271706A (ja) * | 1994-03-25 | 1995-10-20 | Internatl Business Mach Corp <Ibm> | 耐障害コマンド処理システム及び方法並びに関連する装置 |
JPH07271487A (ja) * | 1993-12-23 | 1995-10-20 | Unisys Corp | 専用ポイントツーポイント光ファイバインタフェースの両端でデータパケットを通信するためのシステム、およびその方法 |
EP1959649A1 (en) * | 2007-02-14 | 2008-08-20 | Research In Motion Limited | Method and apparatus for preventing action responsive to accidental keystrokes |
US7441110B1 (en) * | 1999-12-10 | 2008-10-21 | International Business Machines Corporation | Prefetching using future branch path information derived from branch prediction |
-
2014
- 2014-03-13 KR KR1020140029791A patent/KR102126671B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07271487A (ja) * | 1993-12-23 | 1995-10-20 | Unisys Corp | 専用ポイントツーポイント光ファイバインタフェースの両端でデータパケットを通信するためのシステム、およびその方法 |
JPH07271706A (ja) * | 1994-03-25 | 1995-10-20 | Internatl Business Mach Corp <Ibm> | 耐障害コマンド処理システム及び方法並びに関連する装置 |
US7441110B1 (en) * | 1999-12-10 | 2008-10-21 | International Business Machines Corporation | Prefetching using future branch path information derived from branch prediction |
EP1959649A1 (en) * | 2007-02-14 | 2008-08-20 | Research In Motion Limited | Method and apparatus for preventing action responsive to accidental keystrokes |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101980581B1 (ko) * | 2019-02-11 | 2019-05-21 | (주)베스트케이에스 | 탠덤 시스템의 메모리 관리방법 |
KR20220111476A (ko) * | 2021-02-02 | 2022-08-09 | 엘아이지넥스원 주식회사 | 디지털 시리얼 데이터 통신 장치 간에 노이즈 간섭에 따른 데이터 왜곡 복원 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102126671B1 (ko) | 2020-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100217889A1 (en) | Accelerated block option for trivial file transfer protocol (tftp) | |
KR20060113566A (ko) | 무선 통신 시스템에서 송신 상태를 폴링하는 방법 및 장치 | |
WO2010133184A1 (zh) | 一种数据传送方法、装置和通信系统 | |
CN105229961A (zh) | 协议数据单元的递送 | |
US20140108878A1 (en) | Method, Apparatus, and System for Retransmitting Data Packet in Quick Path Interconnect System | |
JP6287451B2 (ja) | データ受信装置、データ受信装置の制御方法及びデータ送信装置とデータ受信装置とを有するデータ送受信システム | |
WO2013144876A1 (en) | Communication transport protocol for distributed information technology architectures | |
WO2015032048A1 (zh) | 一种移动终端内部通信方法 | |
KR102126671B1 (ko) | 히스토리 큐를 이용한 통신 에러 복구 장치 및 그 방법 | |
US11736567B2 (en) | Data transmission and network interface controller | |
CN111818582B (zh) | 数据传输方法、装置及电子设备 | |
CN102148743B (zh) | 一种数据流量的控制方法、装置及移动终端 | |
US8769137B2 (en) | Systems and methods for negotiated accelerated block option for trivial file transfer protocol (TFTP) | |
CN108667682B (zh) | 基于安全网关深度包检测的连接同步方法、装置及介质 | |
EP2442502A1 (en) | Serial transmission apparatus, information processing apparatus, and serial transmission method | |
CN111857546A (zh) | 用于处理数据的方法、网络适配器和计算机程序产品 | |
WO2020250778A1 (ja) | 通信装置および通信方法、並びにプログラム | |
CN114978898A (zh) | 数据传输控制方法、装置、抬头显示器和存储介质 | |
CN112187408A (zh) | 数据处理方法、系统、装置、存储介质和处理器 | |
JP6182779B1 (ja) | 転送装置、転送方法およびプログラム | |
CN114338530B (zh) | 设备状态的调整方法、装置、存储介质及电子装置 | |
US20230179535A1 (en) | Method, system, and circuits for rf low-latency, multiple priority communication | |
CN113364880B (zh) | 信息交换方法、系统、电子设备及存储介质 | |
KR102625778B1 (ko) | Proximity-1 시스템의 Half duplex 모드에서 ARQ 사용 시 ARQ 응답 방법 | |
JP4894012B2 (ja) | データ通信システム、通信機、データ通信方法及び通信制御用プログラム |
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 |