KR20210054858A - 효율적인 통신 버스 중재 시스템 및 방법 - Google Patents

효율적인 통신 버스 중재 시스템 및 방법 Download PDF

Info

Publication number
KR20210054858A
KR20210054858A KR1020190141050A KR20190141050A KR20210054858A KR 20210054858 A KR20210054858 A KR 20210054858A KR 1020190141050 A KR1020190141050 A KR 1020190141050A KR 20190141050 A KR20190141050 A KR 20190141050A KR 20210054858 A KR20210054858 A KR 20210054858A
Authority
KR
South Korea
Prior art keywords
slave
packet
bus arbitration
controller
area
Prior art date
Application number
KR1020190141050A
Other languages
English (en)
Other versions
KR102256670B1 (ko
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 KR1020190141050A priority Critical patent/KR102256670B1/ko
Priority to CN201980101880.2A priority patent/CN114631289B/zh
Priority to PCT/KR2019/015169 priority patent/WO2021090987A1/ko
Publication of KR20210054858A publication Critical patent/KR20210054858A/ko
Application granted granted Critical
Publication of KR102256670B1 publication Critical patent/KR102256670B1/ko
Priority to US17/736,525 priority patent/US11841813B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40084Bus arbitration
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

본 발명은 통신 프로토콜 상의 효율적인 통신 버스 중재 시스템 및 방법에 관한 것이다. 본 발명의 일 실시 예에 따르면, 효율적인 통신 버스 중재 시스템 및 방법은 멀티 드롭 통신에서의 슬래이브 통신 버스 중재 시스템 및 방법으로 마스터 컨트롤러의 쿼리에 슬래이브 컨트롤러가 순차적으로 응답하는 방식에서, 패킷의 구조를 개선하여 효율적이고 빠른 통신 속도를 제공한다.

Description

효율적인 통신 버스 중재 시스템 및 방법 {SYSTEM AND METHOD FOR BUS ARBITRATION IN MULTI-DROP COMMUNICATION}
본 발명은 통신 프로토콜 상의 효율적인 통신 버스 중재 시스템 및 방법에 관한 것으로, 보다 상세하게는 멀티 드롭 통신에서의 슬래이브 통신 버스 중재 시스템 및 방법으로 마스터의 쿼리에 슬래이브 컨트롤러가 순차적으로 응답하는 방식에서 패킷의 구조를 개선하여 효율적이고 빠른 통신 속도를 제공하는 통신 버스 중재 시스템 및 방법에 관한 것이다.
반이중 통신(Half Duplex)은 한 쪽이 송신하는 동안 다른 쪽에서 수신하는 통신 방식으로, 전송 방향을 교체한다. 마스터/슬래이브(Master/Slave) 방식의 센서 네트워크가 대표적이다. 시리얼(Serial) 통신에서 멀티 드롭(Multi-drop) 방식의 통신을 할 경우, 통신 회선의 중재(Arbitration)가 필요하다. 마스터/슬래이브 콘트롤러 통신의 경우는 일반적으로 마스터 컨트롤러가 이 역할을 담당한다(Master Bus Arbitration). 그러나, 마스터 컨트롤러가 한번에 여러 개의 슬래이브 컨트롤러의 정보를 전달받기 위해서 한번의 쿼리(Query)로 여러 개의 슬래이브 컨트롤러가 응답하는 슬래이브 버스 중재(Slave Bus Arbitration) 방법을 이용하기도 한다. 슬래이브 버스 중재(Slave Bus Arbitration) 방법은 반이중 통신(Half duplex)을 멀티 드롭(Multi-drop)으로 구성하여 하나의 마스터 컨트롤러(master controller)와 여러 개의 슬래이브 컨트롤러(Slave controller)가 통신을 할 경우, 각각의 슬래이브 컨트롤러는 서로 다른 ID를 갖고, 마스터 컨트롤러는 ID를 통신 패킷에 적용하여 각각의 슬래이브 컨트롤러와 통신하도록 한다. 이때 슬래이브 컨트롤러는 마스터 컨트롤러의 요청이 없을 때에는 시리얼(Serial) 통신 회선을 점유하지 않고, 수신을 대기한다.
슬래이브 버스 중재(Slave Bus Arbitration) 방법은 쿼리의 횟수를 줄여서 통신 속도를 증가시킬 수 있지만 각 응답(Response) 패킷은 헤더(header)와 테일(tail)로 구성되어서 마스터 컨트롤러가 필요로 하는 데이터 이외의 요소가 차지하는 비율이 여전히 크다. 자세히 설명하면, 일반적인 통신 프로토콜의 패킷은 헤더 영역, 데이터 영역 및 테일 영역으로 구성된다. 헤더 영역은 패킷의 시작을 알리는 부분이고, 테일 영역은 패킷의 끝을 나타내며 경우에 따라 무결성 검증을 하기 위해 사용될 수 있다. 예를 들면, 무결성 검증으로는 체크섬(Checksum), CRC 방식 등을 이용할 수 있다.
다시 슬래이브 버스 중재(Slave Bus Arbitration) 방법으로 돌아가서, 쿼리의 횟수를 줄여 통신 속도를 증가시킨다 해도 마스터 컨트롤러는 응답 슬래이브 콘트롤러 개수만큼 헤더 영역과 테일영역을 확인해야만 하고, 데이터 이외의 요소가 차지하는 비율이 여전히 크다.
본 발명의 배경기술은 대한민국 등록특허 제 10-2013-0045690호에 개시되어 있다.
본 발명은 슬래이브 버스 중재 방식에서 헤더 영역과 테일 영역의 발생횟수를 줄여서 통신속도를 증가시키는 효율적인 통신 버스 중재 시스템 및 방법을 제공한다.
본 발명은 슬래이브 버스 중재 방식에서 슬래이브 컨트롤러가 전송할 때마다 반복적으로 발생하는 패킷을 개선하여 통신속도를 증가시키는 효율적인 통신 버스 중재 시스템 및 방법을 제공한다.
본 발명의 일 측면에 따르면, 효율적인 통신 버스 중재 시스템을 제공한다.
본 발명의 일 실시 예에 따른 효율적인 통신 버스 중재 시스템은 복수의 슬래이브 컨트롤러가 정해진 우선 순위에 따라 순차적으로 패킷 전송을 하는 효율적인 통신 버스 중재 시스템에서, 각각의 개별 식별자(ID)를 가지는 하나 이상의 슬래이브 컨트롤러, 상기 슬래이브 컨트롤러의 식별자(ID)를 통신 패킷에 적용하여 통신하는 마스터 컨트롤러 및 상기 마스터 컨트롤러와 상기 슬래이브 컨트롤러를 멀티 드롭 방식으로 연결하며 패킷을 송수신하는 통신 버스를 포함하고, 상기 슬래이브 컨트롤러는, 정해진 순서에 따라 상기 마스터 슬래이브에 응답하고, 최우선 순위인 제1슬래이브 컨트롤러는 헤더 영역과 제1 데이터 영역을 포함하는 패킷을 전송하고, 제 2 슬래이브 컨트롤러 내지 제 N-1 슬래이브 컨트롤러는 제 2 데이터 영역 내지 제 N-1 데이터 영역을 포함하는 패킷을 각각 전송하고, 마지막인 제 N 슬래이브 컨트롤러는 제 N 데이터 영역과 테일 영역을 포함하는 패킷을 전송할 수 있다.
본 발명의 다른 일 측면에 따르면, 효율적인 통신 버스 중재 방법 및 이를 실행하는 컴퓨터 프로그램이 기록된 컴퓨터가 판독 가능한 기록매체를 제공한다.
본 발명의 일 실시예에 따른 방법 및 기록매체는 복수의 슬래이브 컨트롤러가 정해진 우선 순위에 따라 순차적으로 패킷 전송을 하는 효율적인 통신 버스 중재 방법에 있어서, 최우선 순위인 제1슬래이브 컨트롤러는 헤더 영역과 제1 데이터 영역을 포함하는 패킷을 전송하는 단계, 제 2 슬래이브 컨트롤러 내지 제 N-1 슬래이브 컨트롤러는 제 2 데이터 영역 내지 제 N-1 데이터 영역을 포함하는 패킷을 각각 전송하는 단계 및 마지막인 제 N 슬래이브 컨트롤러는 제 N 데이터 영역과 테일 영역을 포함하는 패킷을 전송하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 슬래이브 버스 중재 통신에 헤더 영역과 테일 영역의 발생횟수를 줄임으로 반복적으로 발생하는 패킷을 개선하여 효율적이고 빠른 통신을 기대할 수 있다.
도 1 은 본 발명의 일 실시 예에 따른 슬래이브 버스 통신 방법을 설명하기 위한 도면.
도 2 및 도 3은 본 발명의 일 실시 예에 따른 효율적인 통신 버스 중재 시스템을 설명하기 위한 도면들.
도 4 및 도 5는 본 발명의 일 실시 예에 따른 효율적인 통신 버스 중재 시스템과 비교 설명하기 위한 기존의 Sync Read 패킷의 구성도들.
도 6 및 도 7은 본 발명의 일 실시 예에 따른 효율적인 통신 버스 중재 시스템을 설명하기 위한 도면들.
도 8은 본 발명의 일 실시 예에 따른 복수의 슬래이브 컨트롤러가 패킷을 전송하는 순서도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1 은 기존 멀티 드롭 방식에 마스터 버스 중재 방식을 설명하기 위한 도면이다.
도 1을 참조하면, 마스터 버스 중재 방식은 마스터 컨트롤러가 복수의 슬래이브 컨트롤러에게 정보를 요청하는 경우 각각의 슬래이브 컨트롤러에게 묻고 답하기를 계속 반복한다.
반면, 본 발명의 일 실시 예에 따른 슬래이브 버스 중재 방식은 마스터 컨트롤러가 매 순간마다 통신 버스의 점유권을 할당하는 절차가 요구되지 않고 마스터 컨트롤러는 슬래이브컨트롤러의 ID를 특정하지 않는 명령패킷을 전송한다. 이러한 명령패킷에 대한 응답으로 슬래이브 컨트롤러가 정해진 우선순위에 따라 통신버스를 점유하여 상태패킷을 전송한다. 즉, 한번의 쿼리(Query)로 복수의 슬래이브 컨트롤러가 정해진 우선 순위에 따라 순차적으로 응답할 수 있다. 슬래이브 버스 중재 방식은 앞선 순위 슬래이브 컨트롤러의 응답을 확인한 후 다음 순위 슬래이브 컨트롤러가 응답하는 방식으로 후순위 슬래이브 컨트롤러는 정해진 우선 순위에 따라 자신이 응답해야 할 순서를 기다렸다가 순차적으로 응답할 수 있다. 슬래이브 버스 중재 방식은 마스터 컨트롤러가 복수의 슬래이브 컨트롤러의 응답을 받기 위해 슬래이브의 수만큼 쿼리를 하여 검색 시간을 소요하는 대신 한번의 쿼리로 복수의 슬래이브 컨트롤러 응답을 정해진 우선 순위에 따라 순차적으로 받는 것으로 검색 시간을 단축할 수 있다.
도 2 및 도 3은 본 발명의 일 실시 예에 따른 효율적인 통신 버스 중재 시스템을 설명하기 위한 도면들이다.
도 2 및 도 3을 참조하면, 효율적인 통신 버스 중재 시스템(10)은 마스터 컨트롤러(100), 슬레이브 컨트롤러(200) 및 통신 버스(300)를 포함한다.
마스터 컨트롤러(100)는 슬래이브 컨트롤러(200)의 식별자(ID)를 통신 패킷에 적용하여 각각의 슬래이브 컨트롤러(200)와 통신할 수 있다. 예를 들면 마스터 컨트롤러(100)는 슬래이브 컨트롤러(200)의 식별자를 이용해 슬래이브 컨트롤러(200)의 응답 순서를 정할 수 있다.
슬래이브 컨트롤러(200)는 복수로 구성되고, 각각의 식별자(ID)를 가진다. 슬래이브 컨트롤러(200)는 마스터 컨트롤러(100)로부터 식별자(ID) 정보가 포함된 통신 패킷을 전송받으면 무조건 마스터 컨트롤러(100)에 응답 패킷을 전송하는 것이 아니고, 마스터 슬래이브(100)가 정한 순서에 따라 다른 슬래이브 컨트롤러(200)의 응답을 듣고, 자신이 응답해야 할 순서를 기다렸다가 응답한다. 예를 들면, 복수의 슬래이브 컨트롤러(200)는 우선 순위가 제m 슬래이브의 패킷 전송에 대한 응답을 확인한 후, 제 m+1 슬래이브의 패킷을 전송할 수 있다. 마스터 컨트롤러(100)는 한번의 쿼리로 복수의 슬래이브 컨트롤러(200)의 응답을 순차적으로 전송받는다.
슬래이브 컨트롤러의 응답 패킷의 구성을 간단하게 헤더 영역+ 데이터 영역 + 테일 영역이라고 가정하면, 종래에는 복수의 슬래이브 컨트롤러가 각각 3가지 영역을 모두 포함하여 패킷을 구성하고 전송한다. 반면 본 발명의 일 실시 예에 따른 복수의 슬레이브 컨트롤러(200)가 응답 패킷을 전송하는 경우, 최우선 순위의 제1 슬래이브 컨트롤러에는 헤더 영역과 데이터 영역이 포함되고, 마지막 제 N 슬래이브 컨트롤러는 데이터 영역과 테일 영역을 포함한다. 제2 슬래이브 컨트롤러 내지 제 N-1 슬래이브 컨트롤러는 헤더 영역과 테일 영역 없이 나머지 영역만 포함한다.
통신 버스(300)는 마스터 컨트롤러(100)와 슬래이브 컨트롤러(200)를 멀티 드롭 방식으로 연결하며 패킷을 송수신한다. 마스터 컨트롤러(100)와 슬래이브 컨트롤러(200)는 통신 버스(300)를 통해 패킷을 주고 받으면서 통신한다. 통신 버스(300)는 복수의 슬래이브 컨트롤러(200) 중 우선 순위가 제m 슬래이브 컨트롤러의 패킷 전송에 대한 응답 패킷이 전송된 것을 확인한 후, 제 m+1 슬래이브 컨트롤러에게 통신 버스(300)의 사용권을 부여하여 슬래이브 컨트롤러(200)가 자신의 응답 순서가 되었을 때만 패킷을 전송할 수 있도록 한다.
도 4 는 본 발명의 일 실시 예에 따른 효율적인 통신 버스 중재 시스템과 비교 설명하기 위한 기존의 Sync Read 패킷의 구성도이다.
도 4a를 참조하면, 슬래이브 버스 중재 방식에서 이용하는 패킷의 구조는 슬래이브 컨트롤러(200)의 식별자(ID)를 이용한다. 마스터 컨트롤러(100)는 슬래이브 컨트롤러(200)의 식별자(ID)를 구별하여 통신한다. 슬래이브 버스 중재 방식은 복수의 슬래이브 컨트롤러(200)의 테이블 정보를 효율적을 읽기 위해 Sync Read와 bulk Read 패킷을 구분할 수 있다.
도 4b를 참조하면, 슬래이브 버스 중재 방식을 이용하는 경우 Sync Read 패킷의 확인할 수 있다. 기존의 슬래이브 버스 중재 방식에서 사용되는Sync Read 패킷의 구조는 모든 슬래이브 컨트롤러의 패킷에서 헤더 영역과 크기(Size), 인트러덕션(Introduction), 테일 영역(CRC)이 반복적으로 나타난다. 마스터 컨트롤러가 요구하는 데이터에 비하여 패킷을 구성하기 위한 요소가 차지하는 비율이 매우 크다. 슬래이브 버스 방식으로 슬래이브 컨트롤러의 검색 시간을 줄인다 해도 패킷을 구성하기 위한 요소가 차지하는 비율이 크다보니 실제 슬래이브 컨트롤러가 전송해야 하는 데이터보다 더 많은 양의 패킷을 전송해야 한다.
도 5 및 도 6는 본 발명의 일 실시 예에 따른 효율적인 버스 중재 시스템을 설명하기 위한 도면들이다.
도 5를 참조하면, 기존의 Sync Read의 패킷을 개선하여 보다 효율적이고 빠른 통신 속도를 제공할 수 있다.
도 4b와 비교하여, 개선된 Sync Read 패킷은 제 1슬래이브 컨트롤러가 헤더 영역을 포함하고, 마지막 제 N 슬래이브 컨트롤러는 테일 영역을 포함한다. 헤더 영역은 패킷의 시작을 알리는 부분이고, 테일 영역은 패킷의 끝을 나타내며 경우에 따라 무결성 검증을 하기 위해 사용될 수 있다 . 예를 들면, 테일 영역은 무결성 확인을 위한 CRC 영역일 수 있다. 그리고 제 2 슬래이브 컨트롤러 내지 제 N-1 슬래이브 컨트롤러는 헤더 영역과 테일 영역이 없는 패킷을 전송할 수 있다. 모든 슬래이브 컨트롤러가 충분히 빠르게 응답하여 지연(Latency) 시간이 타임아웃(Timeout) 시간보다 적으면, 마스터 컨트롤러는 헤더부터 테일까지 하나로 연결된 패킷으로 수신할 수 있다. 개선된 패킷 통신을 실제로 구현하게 되면, 제2 슬래이브 컨트롤러는 제 1 슬래이브 컨트롤러의 응답을 확인한 뒤에 응답할 수 있다. 이 때, 복수의 슬래이브 컨트롤러가 송신한 데이터의 무결성을 확인할 필요가 있다. 따라서 마지막 제 N 슬래이브 컨트롤러를 제외한 각 슬래이브 컨트롤러는 응답하는 패킷 끝에 체크섬(Checksum)과 같은 무결성 확인을 위한 영역을 추가할 수 있다.
도 6을 참조하면, 본 발명의 일 실시 예에 따른 개선된 Sync Read 패킷(도 3 참조)에 따라 최우선 순위인 제 1 슬래이브 컨트롤러는 프로토콜 상 약속된 헤더 영역과 제1데이터 영역을 포함하여 전송한다. 예를 들면, 제 1 슬래이브 컨트롤러는 헤더 영역과 제 1 데이터 영역을 연결하여 패킷을 전송할 수 있다. 다음 순위 제2 슬래이브 컨트롤러는 제1슬래이브 컨트롤러의 응답을 마스터 컨트롤러가 수신하면 곧바로 제 2 데이터 영역을 전송할 수 있다. 이 때 제 2 슬래이브 컨트롤러에는 헤더 영역을 구성하지 않는다. 마지막 제 N 슬래이브 컨트롤러가 응답하기 전까지 제 2슬래이브 컨트롤러 내지 제 N-1슬래이브 컨트롤러는 헤더 영역과 테일 영역이 없는 패킷을 전송할 수 있다. 마지막 슬래이브 컨트롤러인 제 N 슬래이브 컨트롤러는 제 N 데이터 영역과 테일 영역을 포함하여 전송한다. 예를 들면, 마지막 제 N 슬래이브 컨트롤러는 제 N 데이터 영역과 테일 영역을 연결하여 전송할 수 있다. 이렇게 순차적으로 복수의 슬래이브 컨트롤러가 전송한 패킷들을 연결하면, 마스터 컨트롤러(100) 입장에서는, 마치 1개의 슬래이브 컨트롤러로부터 수신한 완전한 패킷과 동일한 구조를 가지게 되므로, 1개의 슬레이브 컨트롤러로부터 수신한 완전한 패킷을 처리하는 방법과 동일한 방법을 사용할 수 있다. 단, 슬래이브와 슬래이브 패킷 사이에 발생할 수 있는 지연(Latency) 시간은 프로토콜 상 약속된 타임아웃(Timeout) 시간보다 짧아야 한다.
본 발명의 일 실시 예에 따라 최우선 순위의 슬래이브 컨트롤러(200)와 마지막 순위의 슬래이브 컨트롤러(200)를 제외하고 복수의 슬래이브 컨트롤러(200)가 전송하는 패킷을 데이터로만 구성하면 전송해야 하는 전체 패킷이 양이 줄어들게 되어 보다 효율적이고 빠른 통신 속도를 제공할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 효율적인 통신 버스 중재 시스템이 복수의 슬래이브 컨트롤러의 응답 패킷을 전송하는 순서도이다.
도 7을 참조하면, 복수의 슬래이브 컨트롤러의 응답 패킷은 무조건 헤더 영역과 테일 영역을 포함하지 않는다. 최우선 순위의 제 1 슬래이브 컨트롤러 패킷은 헤더 영역으로 포함하고, 마지막 최종 제N 슬래이브 컨트롤러는 테일 영역을 포함한다. 나머지 슬래이브 컨트롤러들은 헤더 영역과 테일 영역을 포함하지 않는다.
단계 S710에서 효율적인 통신 버스 중재 시스템(10)은 최우선 순위로 응답하는 제1 슬래이브 컨트롤러의 패킷을 헤더 영역과 데이터 영역을 포함하여 전송한다.
제 1 슬래이브 컨트롤러의 패킷 전송이 완료되면, 단계 S720에서 효율적인 통신 버스 중재 시스템(10)은 다음 우선 순위로 응답하는 제2 슬래이브 컨트롤러의 패킷을 헤더 영역을 제외하고 데이터 영역만 포함하여 전송한다. 이 때 데이터의 무결성 검증을 위한 무결성 확인 영역을 더 포함할 수 있다.
단계 S730에서 효율적인 통신 버스 중재 시스템은 순차적으로 마지막 제 N 슬래이브 컨트롤러가 될 때까지 단계 S720을 반복한다. 마지막 제 N 슬래이브 컨트롤러에 도달하면 단계 S740을 수행한다.
단계 S740에서 효율적인 통신 버스 중재 시스템(10)은 최종 순위로 응답하는 제 N 슬래이브 컨트롤러의 패킷을 데이터 영역과 테일 영역을 포함하여 전송한다. 이 때 테일 영역은 무결성을 검증할 수 있는 정보를 포함할 수 있다.
효율적인 통신 버스 중재 시스템(10)의 마스터 컨트롤러(100)는 헤더부터 테일까지 하나로 연결된 패킷으로 수신할 수 있다.
상술한 효율적인 버스 중재 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시 예 들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10: 통신 버스 중재 시스템
100: 마스터 컨트롤러
200: 슬래이브 컨트롤러
300: 통신 버스

Claims (10)

  1. 복수의 슬래이브 컨트롤러가 정해진 우선 순위에 따라 순차적으로 패킷 전송을 하는 효율적인 통신 버스 중재 시스템에서,
    각각의 개별 식별자(ID)를 가지는 하나 이상의 슬래이브 컨트롤러;
    상기 슬래이브 컨트롤러의 식별자(ID)를 통신 패킷에 적용하여 통신하는 마스터 컨트롤러; 및
    상기 마스터 컨트롤러와 상기 슬래이브 컨트롤러를 멀티 드롭 방식으로 연결하며 패킷을 송수신하는 통신 버스를 포함하고,
    상기 슬래이브 컨트롤러는
    정해진 순서에 따라 상기 마스터 슬래이브에 응답하고,
    최우선 순위인 제1슬래이브 컨트롤러는 헤더 영역과 제1 데이터 영역을 포함하는 패킷을 전송하고,
    제 2 슬래이브 컨트롤러 내지 제 N-1 슬래이브 컨트롤러는 제 2 데이터 영역 내지 제 N-1 데이터 영역을 포함하는 패킷을 각각 전송하고,
    마지막인 제 N 슬래이브 컨트롤러는 제 N 데이터 영역과 테일 영역을 포함하는 패킷을 전송하는 효율적인 통신 버스 중재 시스템.
  2. 제 1항에 있어서,
    상기 슬래이브 컨트롤러의 패킷은 무결성 확인을 위한 영역을 더 포함하는 효율적인 통신 버스 중재 시스템.
  3. 제 1 항에 있어서,
    상기 복수의 슬래이브 컨트롤러가 순차적으로 패킷을 전송할 때 패킷 전송 사이에 발생하는 지연시간은 프로토콜 상에 정의된 타임아웃보다 짧은 효율적인 버스 중재 시스템.
  4. 복수의 슬래이브 컨트롤러가 정해진 우선 순위에 따라 순차적으로 패킷 전송을 하는 효율적인 통신 버스 중재 방법에 있어서,
    최우선 순위인 제1슬래이브 컨트롤러는 헤더 영역과 제1 데이터 영역을 포함하는 패킷을 전송하는 단계;
    제 2 슬래이브 컨트롤러 내지 제 N-1 슬래이브 컨트롤러는 제 2 데이터 영역 내지 제 N-1 데이터 영역을 포함하는 패킷을 각각 전송하는 단계; 및
    마지막인 제 N 슬래이브 컨트롤러는 제 N 데이터 영역과 테일 영역을 포함하는 패킷을 전송하는 단계를 포함하는 효율적인 통신 버스 중재 방법.
  5. 제 4 항에 있어서,
    상기 복수의 슬래이브 컨트롤러는 순차적으로 패킷을 전송하고,
    상기 복수의 슬래이브 컨트롤러 중 우선 순위가 제m 슬래이브의 패킷 전송에 대한 응답을 확인한 후, 그 다음 순위인 제 m+1 슬래이브의 패킷을 전송하는 효율적인 통신 버스 중재 방법.
  6. 제 4 항에 있어서,
    상기 복수의 슬래이브 컨트롤러로부터 전송받은 패킷은,
    순서대로 순차적으로 연결할 때, 1개의 슬래이브 컨트롤러에서 받은 완전한 패킷처럼 헤더 영역, 데이터 영역 및 테일 영역을 포함하는 완전한 패킷 구조를 가지는 효율적인 통신 버스 중재 방법.
  7. 제 4 항에 있어서,
    상기 복수의 슬래이브 컨트롤러가 전송하는 패킷의 데이터 영역은 식별자(ID), 주소(Address) 및 크기(Size)를 더 포함하는 효율적인 버스 중재 방법.
  8. 제 4 항에 있어서,
    제 2 슬래이브 컨트롤러 내지 제 N-1 슬래이브 컨트롤러는 제 2 데이터 영역 내지 제 N-1 데이터 영역을 포함하는 패킷을 각각 전송하는 단계에서,
    상기 패킷은 무결성 확인을 위한 영역을 더 포함하는 효율적인 버스 중재 방법.
  9. 제 4 항에 있어서,
    상기 복수의 슬래이브 컨트롤러가 순차적으로 패킷을 전송할 때 패킷 전송 사이에 발생하는 지연시간은 프로토콜 상에 정의된 타임아웃보다 짧은 효율적인 버스 중재 방법.
  10. 제 4 항 내지 제 9 항에 효율적인 버스 중재 방법 중 어느 하나를 실행하고 컴퓨터가 판독 가능한 기록매체에 기록된 컴퓨터 프로그램.

KR1020190141050A 2019-11-06 2019-11-06 효율적인 통신 버스 중재 시스템 및 방법 KR102256670B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190141050A KR102256670B1 (ko) 2019-11-06 2019-11-06 효율적인 통신 버스 중재 시스템 및 방법
CN201980101880.2A CN114631289B (zh) 2019-11-06 2019-11-08 有效的通信总线仲裁系统及方法
PCT/KR2019/015169 WO2021090987A1 (ko) 2019-11-06 2019-11-08 효율적인 통신 버스 중재 시스템 및 방법
US17/736,525 US11841813B2 (en) 2019-11-06 2022-05-04 System and method for efficient communication bus arbitration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190141050A KR102256670B1 (ko) 2019-11-06 2019-11-06 효율적인 통신 버스 중재 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20210054858A true KR20210054858A (ko) 2021-05-14
KR102256670B1 KR102256670B1 (ko) 2021-05-27

Family

ID=75848528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190141050A KR102256670B1 (ko) 2019-11-06 2019-11-06 효율적인 통신 버스 중재 시스템 및 방법

Country Status (4)

Country Link
US (1) US11841813B2 (ko)
KR (1) KR102256670B1 (ko)
CN (1) CN114631289B (ko)
WO (1) WO2021090987A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060017035A (ko) * 2004-08-19 2006-02-23 학교법인 울산공업학원 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법
US20120079153A1 (en) * 2005-07-19 2012-03-29 Valeo Vision Communication method and device for a motor vehicle
KR101400329B1 (ko) * 2012-08-10 2014-05-28 삼성중공업 주식회사 통신 네트워크 시스템

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0980166A1 (de) * 1998-08-06 2000-02-16 Siemens Aktiengesellschaft Aktives Publishing
DE19906867C1 (de) * 1999-02-18 2000-07-06 Weidmueller Interface Verfahren und Vorrichtung zur seriellen Datenübertragung
US6728908B1 (en) * 1999-11-18 2004-04-27 California Institute Of Technology I2C bus protocol controller with fault tolerance
KR100655290B1 (ko) * 2005-01-31 2006-12-11 삼성전자주식회사 통신 시스템에서 송신 큐 데이터의 이동 방법 및 장치
KR100787220B1 (ko) * 2006-09-08 2007-12-21 삼성전자주식회사 읽기 동작 및 쓰기 동작이 동시에 가능한 디바이스를구비한 전자장치 및 그 방법
US7565470B2 (en) * 2007-12-04 2009-07-21 Holylite Microelectronics Corp. Serial bus device with address assignment by master device
US7707339B2 (en) * 2007-12-18 2010-04-27 Freescale Semiconductor, Inc. Data arbitration on a bus to determine an extreme value
JP2012080360A (ja) * 2010-10-01 2012-04-19 Denso Corp 通信システム、マスタノード、スレーブノード
JP5510286B2 (ja) * 2010-11-19 2014-06-04 株式会社デンソー 通信システム、ノード
EP2538618A1 (de) * 2011-06-22 2012-12-26 Siemens Aktiengesellschaft Verfahren zur Übertragung von Datenpaketen
JP5905678B2 (ja) * 2011-08-03 2016-04-20 株式会社デンソー トランシーバ
KR101300174B1 (ko) 2011-10-26 2013-08-26 (주)로보티즈 네트워크형 엑츄에이터 모듈 제어방법
DE102011085764A1 (de) * 2011-11-04 2013-05-08 Robert Bosch Gmbh Verfahren zum Betreiben einer Busanordnung
JP5570556B2 (ja) * 2012-07-23 2014-08-13 ファナック株式会社 Ioユニットと通信を行う数値制御装置
KR102047134B1 (ko) * 2012-11-20 2019-12-02 숭실대학교산학협력단 가시광 통신을 이용한 무선 필드 버스 시스템 및 이를 통한 데이터 전송 방법
CN103944820A (zh) * 2014-05-15 2014-07-23 东莞市联臣电子科技有限公司 一种数据的通信方法、主机、从机及通信系统
KR20160014480A (ko) * 2014-07-29 2016-02-11 한국전자통신연구원 직교 신호 파형 기반의 직렬 버스 통신 장치 및 방법
CN104333517A (zh) * 2014-09-28 2015-02-04 航天科工深圳(集团)有限公司 基于can总线的自动化设备通信方法
KR101567414B1 (ko) * 2014-11-12 2015-11-09 현대자동차주식회사 Lin 통신망에서 적응적 스케쥴링 방법 및 장치
KR101622516B1 (ko) * 2015-04-20 2016-05-18 엘에스산전 주식회사 데이터 송수신 시스템
CN105007208B (zh) * 2015-06-04 2018-11-23 南京阿凡达机器人科技有限公司 一种基于can总线的机器人系统内通信方法
CN104866455B (zh) * 2015-06-10 2017-10-13 首都师范大学 动态可重构高速串行总线中的多主仲裁方法
DE102015113491A1 (de) * 2015-08-14 2017-02-16 Ebm-Papst Mulfingen Gmbh & Co. Kg Dynamikadressierung
EP3352423B1 (en) * 2015-09-17 2020-08-19 Kabushiki Kaisha Yaskawa Denki Industrial device and communication method
KR101704423B1 (ko) * 2015-10-30 2017-02-09 (주)로보티즈 멀티드롭 통신에서의 식별자 검색 방법
US11055615B2 (en) * 2016-12-07 2021-07-06 Arilou Information Security Technologies Ltd. System and method for using signal waveform analysis for detecting a change in a wired network
EP3477896B1 (en) * 2017-10-26 2020-02-19 Mitsubishi Electric R&D Centre Europe B.V. Efficient scheduling telecommunication scheme using a first cyclic ethernet protocol and a second cyclic ethernet protocol
JP6410914B1 (ja) * 2017-11-27 2018-10-24 三菱電機株式会社 シリアル通信システム
JP2019101480A (ja) * 2017-11-28 2019-06-24 オムロン株式会社 制御装置および制御方法
US11573919B2 (en) * 2017-12-14 2023-02-07 Texas Instruments Incorporated Multi-slave serial communication
JP7326349B2 (ja) * 2018-06-05 2023-08-15 エルモス セミコンダクター エスエー バススレーブの識別方法
US10496562B1 (en) * 2018-08-13 2019-12-03 Qualcomm Incorporated Low latency virtual general purpose input/output over I3C
WO2020263526A1 (en) * 2019-06-28 2020-12-30 Analog Devices International Unlimited Company Low complexity ethernet node (len) one port

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060017035A (ko) * 2004-08-19 2006-02-23 학교법인 울산공업학원 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법
US20120079153A1 (en) * 2005-07-19 2012-03-29 Valeo Vision Communication method and device for a motor vehicle
KR101400329B1 (ko) * 2012-08-10 2014-05-28 삼성중공업 주식회사 통신 네트워크 시스템

Also Published As

Publication number Publication date
US20220261368A1 (en) 2022-08-18
CN114631289A (zh) 2022-06-14
WO2021090987A1 (ko) 2021-05-14
US11841813B2 (en) 2023-12-12
CN114631289B (zh) 2023-10-24
KR102256670B1 (ko) 2021-05-27

Similar Documents

Publication Publication Date Title
US10969983B2 (en) Method for implementing NVME over fabrics, terminal, server, and system
US9917884B2 (en) File transmission method, apparatus, and distributed cluster file system
JPS6218949B2 (ko)
US20070006020A1 (en) Inter-host data transfer method, program, and system
US20050174877A1 (en) Bus arrangement and method thereof
US20110289243A1 (en) Communication control device, data communication method and program
US7460531B2 (en) Method, system, and program for constructing a packet
US6449289B1 (en) Multi-processor bus protocol system
KR20170094482A (ko) 다중 포트 메모리 장치 및 그것을 이용한 방법
KR920009449B1 (ko) 공통 버스제어방법 및 시스템
CN107562657B (zh) 全交织sram控制器
TW200921401A (en) Method and apparatus for attaching multiple slave devices to a single bus controller interface while supporting command pipelining
US5604748A (en) Information processing apparatus for transmitting information among a plurality of nodes and arbitration method in such information processing apparatus
KR102256670B1 (ko) 효율적인 통신 버스 중재 시스템 및 방법
US20160098212A1 (en) Information processor apparatus, memory control device, and control method
CN111026699B (zh) 基于环形总线的多核网络通信方法、装置及系统
JP5146284B2 (ja) データ転送装置及びデータ転送方法
US10986040B2 (en) Network communication apparatus and method of the same
JP6785009B2 (ja) 通信装置、及び、通信装置の制御方法
WO2024012015A1 (zh) 一种存储系统、主控芯片、数据存储方法及数据读取方法
JP5652866B2 (ja) バス調停回路及びバス調停方法
JP3317150B2 (ja) 情報処理装置
CN117033274A (zh) 一种dma数据包传输方法、装置及pcie设备
JPS6345146B2 (ko)
KR20230067273A (ko) 폐쇄 루프 형성을 위한 통신 버스 중재 시스템 및 방법