KR20020001403A - Can 프로토콜내에서 대역폭을 할당하는 방법 - Google Patents

Can 프로토콜내에서 대역폭을 할당하는 방법 Download PDF

Info

Publication number
KR20020001403A
KR20020001403A KR1020000036086A KR20000036086A KR20020001403A KR 20020001403 A KR20020001403 A KR 20020001403A KR 1020000036086 A KR1020000036086 A KR 1020000036086A KR 20000036086 A KR20000036086 A KR 20000036086A KR 20020001403 A KR20020001403 A KR 20020001403A
Authority
KR
South Korea
Prior art keywords
data
time
real
control
node
Prior art date
Application number
KR1020000036086A
Other languages
English (en)
Other versions
KR100371098B1 (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 KR10-2000-0036086A priority Critical patent/KR100371098B1/ko
Publication of KR20020001403A publication Critical patent/KR20020001403A/ko
Application granted granted Critical
Publication of KR100371098B1 publication Critical patent/KR100371098B1/ko

Links

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
    • 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
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

콘트롤러 에어리어 네트워크(CAN) 프로토콜 내에서 대역폭을 할당하는 방법이 제안된다. 자동화 및 공정 제어 시스템에서 필드 장치들로부터 발생되는 실시간 이벤트 데이터, 실시간 제어 데이터, 및 비 실시간 데이터는 공통으로 CAN 버스매체를 공유한다. 본원 발명의 방법은 상기 CAN 버스의 대역폭을 제어 루프들 사이의 샘플링 시간들 중 최소 시간과 동일한 마크로 싸이클의 시간 슬롯들로 분할하는 스텝, 실시간 데이터인 이벤트 데이터, 실시간 데이터인 제어 데이터 및 비실시간 데이터 순으로 전송 우선권을 갖도록 그들 데이터의 식별자 필드들 내에 적절한 값을 마킹하는 스텝, 상기 마크로 싸이클을 실시간 구간 및 비실시간 구간들로 다시 분할하는 스텝, 그리고 상기 실시간 구간 중에 상기 이벤트 데이터 및 제어 데이터를 이 순서대로 전송하고, 상기 비실시간 구간 중에 상기 비실시간 데이터를 전송하는 스텝을 포함한다. 본 발명에 따른 대역 폭 할당 알고리즘은 상기 CAN과 상호 접속된 실시간 응용 시스템들의 성능 요구를 만족 시킬 뿐 아니라 상기 CAN의 대역 폭을 충분히 이용할 수 있게 된다.

Description

CAN 프로토콜내에서 대역폭을 할당하는 방법{METHODE FOR ALLOCATING BANDWIDTH IN CONTROL AREA NETWORK PROTOCOL}
본 발명은 콘트롤 에어리어 네트워크 프로토콜(CAN: Control Area Network)에서 대역폭을 할당하는 방법에 관한것이다.
상기 CAN은 분산된 실시간 제어 및 자동화를 지지하는 시리얼 통신 프로토콜이다. 상기 CAN은 저가 및 단순성 때문에 많은 산업 공정 제어 및 자동화 시스템에응용된다. 분산된 제어 및 자동화 시스템들로부터 발생된 데이터는 실시간 및 비실시간 데이터로 분류된다. 상기 CAN 버스에서 이들 데이터는 공통 네트워크 매체를 공유한다. 이 상황에서, 실시간 데이터의 전송은 비실시간 데이터에 의해 간섭될 수 있고, 실시간 데이터의 네트워크 지연은 기 정의된 제한을 초과할 수 있다. 이것은 성능 저하 및 심지어 상기 CAN 버스로 상호 접속된 실시간 응용 시스템들의 비안정성을 야기 시킨다. 그래서, 상기 CAN 버스가 산업 자동화 및 제어 시스템들 상에 도구화될 때 그것의 네트워크 트래픽은 전적으로 분석되고 제어되어야 한다.
이하에서 상기 CAN 프로토콜에 대해 설명하기로 한다.
상기 CAN 프로토콜은 캐리어 센스 다중 엑세스(CAMA/NBA) 메카니즘을 기초로 하여 동작된다. 각 노드는 데이터의 전송전에 버스의 상태를 감지한다. 노드들은 상기 버스의 상태가 유휴 상태일 때 까지 데이터의 전송을 연기 시킨다. 버스의 유휴 조건이 검출될 때, 어느 노드도 전송하는 것을 시작할 수 있다. 하나 이상의 노드가 그것의 메시지를 전송하는 것을 시작하면, 버스 엑세스 충돌들이 해소되어야 한다. 이것은 식별자 필드의 비교를 통해 행하여 질 수 있다. 상기 CAN은 모든 노드들을 접속하기 위하여 하나의 배선 오아(OR) 버스를 사용한다. 상기 식별자를 전송하는 동안, 각 노드는 상기 시리얼 버스 라인을 모니터한다. 상기 전송 비트가 약세이고(논리 1) 우세 비트(논리 0)가 모니터 되면, 상기 노드들은 전송하는 것을 포기하고 오는 데이터를 받기 시작한다. 최 우선 식별자를 전송하는 노드는 통과하여 상기 버스에 도달한다. 각 메시지용 식별자는 동등의 우선 순위를 갖는 것을 방지하기 위하여 유일해야 한다.
본 발명 목적은 상기 CAN 프로토콜로 응용될 수 있는 대역 폭 할당 알고리즘을 제공하는데 있다.
본 발명의 다른 목적은 상기 CAN 프로토콜의 트래픽(traffic)을 효율적으로 제어 하여 상기 CAN 버스로 접속된 실시간 응용 시스템들의 성능을 보장하는 동시에 충분히 활용할 수 있는 CAN 프로토콜 내에서의 대역 폭 할당 방법을 제공하는데 있다.
이러한 목적들을 달성하기 위하여, 본 발명에 따르면, 윈도우 스케쥴링 알고리즘이 실시간 및 비 실시간 데이터를 수용하는 CAN 프로토콜의 대역폭 할당으로 연장된다.
도 1은 CAN 버스내에서 대역 폭을 할당하는 것을 설명하기 위한 다이어그램이다.
도 2는 시뮬레이션 모델에서 노드들의 형상들을 보여주는 테이블이다.
도 3은 B=125KB/s에서 알고리즘과 비알고리즘의 성능 비교를 한 테이블이다.
도 4는 B=100KB/s에서 알고리즘과 비알고리즘의 성능 비교를 한 테이블이다.
도 5 (A)와 (B)는 제어 시스템의 성능을 보여주는 그래프들이다.
도 6은 비실시간 데이터의 안정화 조건을 검증하기 위하여 전송 큐내에서 대기 메시지들의 수를 보여주는 그래프이다.
본 발명의 일 형태에 따른 방법은, 콘트롤 에어리어 네트워크 버스(CAN)와 이 CAN버스를 공유하는 복수개의 노드들 및 복수개의 제어 루프들을 갖으며 각 제어 루프는 적어도 하나의 데이터 전송 노드, 센서 및 제어기를 포함하는 CAN 네트워크 시스템에 있어서, 상기 CAN 버스의 대역폭을 상기 제어 루프들 사이의 샘플링 시간들 중 최소 시간과 동일한 마크로 싸이클의 시간 슬롯들로 분할하는 스텝, 실시간 데이터인 이벤트 데이터, 실시간 데이터인 제어 데이터 및 비실시간 데이터 순으로 전송 우선권을 갖도록 그들 데이터의 식별자 필드들 내에 적절한 값을 마킹하는 스텝, 상기 마크로 싸이클을 실시간 구간 및 비실시간 구간들로 다시 분할하는 스텝, 그리고 상기 실시간 구간 중에 상기 이벤트 데이터 및 제어 데이터를 이순서대로 전송하고, 상기 비실시간 구간 중에 상기 비실시간 데이터를 전송하는 스텝을 구비한다.
한편, 본 발명의 다른 형태에 따른 방법은, 하나의 CAN 버스와 이 CAN버스를 공유하는 복수개의 노드들 및 복수개의 제어 루프들을 갖으며 각 제어 루프는 적어도 하나의 데이터 전송 노드, 센서 및 제어기를 포함하는 CAN 네트워크 시스템에 있어서, M: CAN 버스로 상호 접속된 제어 루프들의 수, Nc: 제어 데이터를 발생시키는 노드들의 수, Ne: 이벤트 데이터를 발생시키는 노드들의 수, Nn: 비 실시간 데이터를 발생시키는 노드들의 수, Lc: 제어 데이터 패킷의 전송 시간, Le: 이벤트 데이터 패킷의 전송 시간, Ln: 노드에서 비 실시간 메시지의 전송 시간, [ Φi, i=1-M]: 제어 루프 i 의 최대 허용 루프 지연, [, i=1-Ne]: 노드 i 에서 이벤트 데이터 패킷의 평균 도착 빈도, [, i=1-Nn]: 노드 i 에서 비 실시간 메시지의 평균 도착 빈도, 그리고 [, i=1-M]: 제어 루프 i 의 샘플링 간격, Aℓ 상기내 l번째 상기 T1슬롯이 시작하는 순간, Ni는 상기 T1중에 모든 노드들로부터 발생될 수 있는 이벤트 데이터의 최대 수, αk는 T1 구간 동안 상기 Nc개의 노드들로부터 발생하는 데이터의 평균 수, ν는 실시간 구간 중에 발생된 데이터의 상한 개수 으로 정의 하는 스텝을 구비한다. 이어서, 상기 제어 데이터의 샘플링 시간를 결정하기 위하여, 아래의 식들,
을 정의하는 스텝을 구비한다. 이어서, 상기 제어 데이터의 첫 번째 샘플링 순간들을 결정하기 위하여, 아래의 식들,
t1=A1=0,
(j=2 ; ℓ=1 ; j≤Nc, ℓ≤KM; j=j+1, ℓ=ℓ+1)에 대하여
tj=inf[]
을 정의 하는 스텝을 구비한다. 그리고 상기 비실시간 데이터의 패킷 길이를 결정하기 위하여, 아래의 식들,
"이면,
이고이면 종료."
을 정의하는 스텝을 구비한다.
상기 CAN 버스에서, 상기 네트워크 매체는 실시간 및 비 실시간 데이터에 의해 공유되며, 실 시간 데이터는 제어 및 이벤트 데이터로 다시 나눠진다. 상기 제어 데이터는 제어기와 플랜트로 구성된 피드백 제어 루프들로부터 발생된다. 하나의 제어 루프내의 센서와 제어기는 주기적으로 주어진 샘플링 간격에 따른 그들의데이터를 발생 시킨다. 상기 센서와 제어기 데이터는 상기 샘플링 간격내에서 완전히 전송되어야 한다. 이벤트 데이터는 보통 모니터링, 진단 및 얼람 정보 같은 이벤트의 통지를 위해 사용된다. 이벤트 데이터는 주기적 또는 산발적으로 발생된다. 이들 데이터는 특정 경계의 시간 간격내에서 전송되어야 한다. 비 실시간 데이터는 프로그램과 데이터 파일 및 데이터 베이스 관리 정보로 구성된다. 비 실시간 데이터의 지연은 실 시간 데이터의 그것에 비교하여 그렇게 중요하지 않다. 그래서, 비 실시간 데이터는 실시간 데이터 트래픽이 할당된 후에 남겨진 여분의 대역폭을 이용하여 전송된다. 본 발명에서 소개된 대역 폭 할당 알고리즘은 실 시간 제어 및 이벤트 데이터의 지연 요구를 만족 시킨다. 덧붙여서, 비 실시간 데이터가 전송된 상기 여분의 대역폭을 충분히 이용하여 네트워크 매체의 대역폭의 이용을 극대화 시킨다.
이하에서, 본 발명에서 사용되는 약어들을 설명하기로 한다.
M은 CAN 버스로 상호 접속된 제어 루프들의 수, Nc는 제어 데이터를 발생시키는 노드들의 수, Ne는 이벤트 데이터를 발생시키는 노드들의 수, Nn는 비 실시간 데이터를 발생시키는 노드들의 수, Lc는 제어 데이터 패킷의 전송 시간, Le는 이벤트 데이터 패킷의 전송 시간, Ln은 노드에서 비 실시간 메시지의 전송 시간, [, i=1-M]는 제어 루프 i 의 최대 허용 루프 지연, [, i=1-Ne]는 노드 i 에서 이벤트 데이터 패킷의 평균 도착 빈도, [, i=1-Nn]는 노드 i 에서 비 실시간 메시지의 평균 도착 빈도, [, i=1-M]는 제어 루프 i 의 샘플링 간격을 지시한다.
이벤트 데이터와 비 실시간 메시지는 보통 랜덤하게 도착 되며, 그들의 전형적인 분포는 알려져 있지 않다. 본 발명에서 이벤트 데이터와 비 실시간 메시지들의 도착 과정은 포이즌 분포를 갖는 것으로 가정된다. 제어 데이터의 큐 용량은 가장 최근에 발생된 센서 및 제어기 데이터가 전송되어야 하기 때문에 하나로 제한되어 진다. 이벤트 및 비 실시간 데이터의 큐 용량은 네트워크 트래픽이 안정할 때 전송기 큐의 오버 플로우로 인해 어느 데이터도 거절되지 않도록 충분히 크게 가정 되어진다. 도 1은 상기 CAN 버스에서 대역폭 할당 알고리즘의 기본 개념을 보여준다. 상기 CAN 버스의 대역폭은 M 제어 루프들 사이의 샘플링 시간들 중 최소인 T1과 동일한 마크로 싸이클의 시간 슬롯에 의해 분할된다. 상기 마크로 싸이클은 실시간(구간() 및 비 실시간 구간()들로 다시 분할된다. 상기 실시간 구간 중에, 제어 데이터는 본 출원인에 의해 제시된 윈도우 스케쥴링 알고리즘을 사용하여 전송된다. 비실시간 데이터는 비실시간 구간 중에 전송된다. 이벤트 데이터는 그들이 가능한한 빨리 전송되어야만 하기 때문에 최상의 우선권을 가지고 전송된다.
상기 CAN 버스로 대역폭 할당 알고리즘을 적용하기 위하여, 상기 네트워크 대역 폭을 실시간 및 비실시간 구간들로 나누는 방법을 얻는 것이 필요하다. 상기 CAN 프로토콜에서, 이것은 상기 CAN 프레임의 식별자 필드내에 적절한 값을 마킹하는것에 의해 간단히 성취될 수 있다. 상기 이벤트 데이터의 경우에 있어서, 상기 11 비트 식별자 필드의 처음 두 개 비트들은 "00"로 셋트된다. 제어 및 비실시간 데이터의 처음 두 개 비트들은 각각 "01"와 "10"로 셋트된다. 상기 식별자 필드내에서 "0"(우세 비트)은 "1"(열세 비트)에 대해 우세하기 때문에, 이벤트 데이터는제어 데이터 보다 우선권을 갖으며, 제어 데이터는 전송하는데 있어서, 비실시간 데이터 보다 우선권을 갖는다. 이것은 비실시간 데이터가 실시간 구간이 끝날 때까지 전송될 수 없다는 것을 의미한다. 상기 비실시간 구간 중에, 어떤 노드가 제어 데이터를 발생 시킨다면, 상기 네트워크 대역폭은 자동으로 상기 실시간 구간으로 돌아간다.
상기 실시간 구간 중에 제어 데이터는 윈도우 스케쥴링 알고리즘에 의해 전송된다. 윈도우 스케쥴링 알고리즘에서, Nc 노드들은 동적으로 상기 윈도우들을 공유한다. 상기 윈도우는 길이가 Lc와 동일한 시간 슬롯이다. 상기 윈도우 스케쥴링 알고리즘에 맞추기 위하여, 상기 실시간 구간 중에 발생된 데이터의 수는 (ν)를 초과해서는 안된다. (ν)내로 샘플된( 또는 발생된) 데이터의 수를 제한하기 위하여, 상기 윈도우 스케쥴링 알고리즘은 샘플링 순간의 시작과 각 제어 데이터의 샘플링 주기를 스케쥴한다. 상기 비실시간 구간을 통해 전송된 비실시간 데이터는 상기 실시간 구간을 침해해서는 안된다. 그래서, 비실시간 데이터의 패킷 전송 시간은 필요에 따라 조정될 필요가 있다.
상기 윈도우 스케쥴링 알고리즘의 기본 개념이 아래에서 간략히 요약되어진다.
상기 CAN 버스는 M 개의 제어 루프를 갖는 것으로 가정되어진다. 각 제어 루프는 두 개의 데이터 전송 노드들, 센서와 제어기를 갖는 것으로 가정되어진다. 상기 동일 제어 루프에서 상기 센서와 제어기 노드들은 하나의 동일한 샘플링 빈도(rate)를 갖고서 그들 데이터를 샘플한다. 루프 지연은 상기 센서 노드가 센서데이터를 샘플하는 순간부터 태그가 달린 센서 데이터를 사용하여 발생된 제어기 데이터가 상기 액튜에이터 노드에 완전히 도달될 때 까지로 정의된다. 구간가지고 그들 데이터를 샘플하는 제어 루프 i 를 고려하자. 상기 루프 지연은 센서로부터 제어기 까지의 지연() 그리고 제어기로부터 액튜에이터 까지의 상기 네트워크 유도된 지연()이 시간에 따라 변화하기 때문에 역시 시간에 따라 변화한다. 단순히()와 ()를 그들의 최소 상한값들로 대치하는 것은 시간에 따라 변하는 지연 시스템들의 설계를 위한 해결책이 될 수 없다.가 상기 액튜에이터 명령이 상기 플랜트에 도달할 때의 k 번째 순간이라고 하자. ()는 시변(시간에 따라 변하는)하기 때문에 상기 구간(,) 또한 시변한다고 하자. 상기 제어 시스템 상에서 시변 지연의 효과는 시변 지연 그 자체의 양 보다 오히려 상기 구간(,)에 의해 영향을 받는다. 상기 구간[,]은 최소값(min)이 k번째 도달에서 발생하고 후속하여 (k+1) 번째 도달에서 최대값(max)이 발생할 때 상기 구간(,)이 최대가 된다. (,)의 최소 상한들은+ (sup- min)이다. 상기 제어기-액튜에이터 지연에 부가하여, 센서-제어기 지연에 대하여 고려하는 것이 필요하다.의 최소 상한들은이다. 그래서, 루프 지연의 최소 상한들은 2+ (sup- min)이다. 윈도우 스케쥴링 알고리즘에서, 각 제어 데이터 항목은 마크로 싸이클내에서 전송되어진다. 그래서, sup이고 min은 Lc이며, 그리고 상기 제어 데이터의 패킷 전송 시간은이다. 상기 제어 시스템의 성능 요구를 만족시키기 위하여 제어 루프 i 의 샘플링 시간은 다음의 조건을 만족 시키도록 결정되어야 한다:
2+ (-)≤(1)
각 제어 루프의 최대 허용 루프 지연 Φ(i=1-M)은 미리 알려진 것으로 가정된다. Φi은 상기 제어 루프의 특성 및 근본적으로 시변 네트워크 지연의 변형된 상수 버전으로부터 얻어질 수 있다. 상기 벡터들 T와 Φ의 요소들은 각각 i번째 제어 루프(i=1-M)의 샘플링 구간 및 최대 허용 루프 지연 Φi-M으로 구성된다.
T = [,,,....] (2)
Φ = [,,, ...] (3)
벡터들T와 Φ은 증가하는 순서로 정의된다. (즉,,) 도 1에서,은 각각 M 제어 루프들 사이에서 최소 및 최대 샘플링 구간들이다.
실시간 구간내에서, 상기 윈도우 스케쥴링 알고리즘은(i=1-M)를 결정한다. 제어 데이터의 네트워크 유도 지연의 시변 특성을 카운팅 하는 것는 사전에= (+Lc)/3 으로서 위의 식(1)로부터 결정된다. 상기 제어 루프들 중 나머지의 샘플링 시간(i=2-M)은 상기 실시간 구간 중에 발생된 데이터의 수가 ν를 초과하지 않도록 결정된다.를 예로서,중에 Nc 노드들로부터 발생된 데이터의 평균 수라고 하자.
K =(4)
여기서, ν=[]라 하면, ki =/이다. 그리고 샘플링 구간들, i =1 부터 N 까지는 서로 서로의 정수 배수들이고(가장 큰 샘플링 시간은마크로 싸이클의으로 구성된다) 의 어느 구간 중에 발생된 모든 데이터는 상기의 동일 구간 중에 제공된 윈도우들에 의해 수용될 수 있다. 상기 제어 시스템의 성능 요구를 만족 시키기 위하여,는 식(1)에서 주어진 상기 조건을 만족 시켜야 한다. 그래서는 다음의 식(5)와 같이 결정되어야 한다.
(5)
여기서, y = <x>는 x 에 가장 근접하나 초과하지 않는 2의 제곱,∈ {0,1,2..}을 나타낸다. 이것은 M개의 제어 루프들의 샘플링 구간들이 서로 서로의 정수 배수들인 것을 보장한다. 도 1에서,(ℓ=1-M)은내 ℓ 번째슬롯의 첫 번째 순간이다. 윈도우 스케쥴링 알고리즘에서,에서 발생된 데이터의 수는 ν를 초과해서는 안된다. 이러한 요구를 보장하기 위하여, 상기 윈도우 스케쥴링 알고리즘은 상기 샘플링 구간 뿐만 아니라 각 제어 데이터 항목의 샘플링 순간(j = 1-Nc)의 시작 까지도 스케쥴한다. j=1-Nc로부터,는 l=1-M으로부터 시작하는로 할당된다.에서 할당 수가 ν를 초과하면, 그때 상응하는 노드들의는 그 다음 순간 () 으로 시프트 되어야 한다. 그래서,는 다음과 같이 결정된다.
= inf
j=1-Nc, 1=1-/(6)
여기서,()은 노드 j에서의 샘플링을 포함한에서의 샘플된 데이터의 수이다. 상기 윈도우 스케쥴링 알고리즘은 상기 공통 매체내 노드들의 클럭이 동기되는 것을 요구한다. 도 1에 나타낸 바와 같이,내의의 나머지는 비실시간 데이터의 전송으로 할당된다. 상기 대역폭 할당 알고리즘에서, 제어 데이터는 비실시간 데이터 보다 우선권을 갖는다. 그래서, 어떤 노드가 제어 데이터를 전송하는 것을 시작한다면, 상기 비실시간 구간은 자동으로 중지된다. 그러나, 제어 데이터가 샘플될 때 비실시간 데이터 항목이 순간에서 전송되는 중이라면, 상기 비실시간 데이터의 전송은 완료되어야 한다. 단지 하나의 비실시간 데이터 패킷이 전송될 수 있는 상기 비실시간 구간이 축소될 때의 극단의 경우를 고려하자. 만약 비실시간 데이터 패킷 Ln이-을 초과한다면,위로 침범한다. 그래서, 비실시간 데이터의 전송 시간이 최대 패킷 전송 시간(최악의 스터핑 비트들 및 프레임 상호간 공간을 포함한 130비트들로 구성된 최대 싸이즈의 프레임을 전송하기 위한 시간) 보다 길다면, Ln은 의 식 (7)과 같이 제한되어야 한다.
Ln =-(7)
안정화 되기 위한 상기 CAN 버스 시스템의 트래픽을 위해, 상기 데이터 도달 빈도는 네트워크 용량을 초과하지 않는 정도로 제한되어야 한다. 이벤트 데이터와 비실시간 데이터의 안정 조건은 스테이션 백록(station backlog)의 개념을 사용하여 안정 조건을 제시한 이베(Ibe) 및 쳉(Cheng)으로부터의 결과들을 약간 변형 시키는 것에 의해 얻어질 수 있다. 이 연구에서, 이벤트 데이터 패킷 및 비실시간 데이터의 도달 빈도는 포이즌(possion) 분포를 갖는 것으로 가정되어진다. 이벤트 데이터는 이벤트 데이터는 최상의 우선권을 가지고 전송되고 그들의 전송은 제어 및 비실시간 데이터의 전송에 의해 영향을 받지 않는다. 매우 긴 구간의 t 에 걸쳐 노드 i에서 도달하는 이벤트 데이터의 평균수를 고려하자. 안정화 시키기 위한 큐잉 시스템을 위하여, 그들 데이터 모두를 위해 요구되는 시간은 평균적으로 t 보다 작다. t 중에 도달하는 데이터 패킷의 평균 수는이기 때문에, 노드 i에서 이들 데이터 패킷 모두를 전송하기 위하여 요구되는 시간은 ()Le이다. 이제 t 중에 다른 노드들로부터 이벤트 데이터를 전송하기 위하여 요구되는 시간을 고려하자. 노드 j()에 대해, t 중에 전송되는 데이터 패킷들의 평균 수는이거나, 또는 만약이면 노드 j로 도달된 데이터 패킷들의 평균 수는이다. 그래서, t 중에 다른 노드들로부터 이벤트 데이터를 전송하기 위하여 요구된 시간은이 된다. 안정화를 위한 노드i 에서 상기 이벤트 데이터 큐를 위하여, t 내에 도달하는 모든 데이터는 시간 t 내에 전송되어야 한다.
(8)
상기 네트워크 시스템을 안정화 시키기 위하여, 상기 네트워크 시스템에서 모든 전송기 큐들은 안정되어야 한다. 만약 이벤트 데이터의 최상의 도달 빈도를 갖는 전송기의 큐가 안정하다면, 상기 네트워크 시스템내에서 이벤트 데이터의 모든 전송기 큐들은 안정되어야 한다. 그래서, 이벤트 데이터의 안정도 조건은 아래의 식(9)와 같이 된다.
(9)
비실시간 메시지들은 보통 여러개의 패캣들로 나눠지며, 전송기 큐 안으로 삽입된다. 이들 패킷들은 하나씩 전송되며, 목적지 노드에서 다시 결합된다. 노드i에서 비실시간 데이터의 도달 빈도가이고, 그것이패킷으로 나눠지면, 노드 i에서 단위 시간 마다 발생된 비실시간 데이터 패킷들의 평균 수는이 된다. 비실시간 데이터 패킷은 최하의 우선권을 가지고 전송되며, 그것은 이벤트 및 제어 데이터의 전송에 의해 영향을 받는다. 매우 긴 주기인 시간 t에 걸쳐 노드 i에 도달하는 비실시간 데이터 패킷들의 평균 수를 고려하여 보자. 상기 큐잉 시스템의 안정화를 위해 이들 모든 데이터를 전송하기 위하여 요구된 시간은 평균적으로 t보다 짧아야 한다. t중에 도달하는 데이터 패킷들의 평균수는이기 때문에, 이들 모든 데이터 패킷들을 전송하기 위하여 요구되는 시간은이 된다. 시간t중에 다른 노드들로부터 비실시간 데이터를 전송하기 위하여 요구된 시간을 고려하여 보자. 노드j()에 대해, 만약이면, 데이터 패킷들이 전송되고 그렇지 않으면 노드 j로의 도달들 사이에서 데이터 패킷들이 전송된다. 그래서, t중에 다른 노드들로부터 비실시간 데이터를 전송하기 위하여 요구되는 시간은이된다. 덧붙여서, t 중에 제어 데이터를 전송하기 위하여 요구되는 시간을 고려하는 것이 필요하다. t 동안 마크로 싸이클들의 수는 (t/)이다.중에 발생된 제어 데이터의 평균 수는이다. 시간 프레임중에 제어 데이터를 전송하기 위하여 평균적으로이 소요되고, 그래서 t 중에 제어 데이터를 전송하기 위하여 요구된 시간은이다. 마지막으로, t 중에 이벤트 데이터를 전송하기 위하여 요구된 시간을 고려하여 보자. 노드 k 에서 이벤트 데이터의 도달 빈도가이면, t 중에 전송된 이벤트 데이터의 수는이 된다. 그래서, t 중에 이벤트 데이터를 전송하기 위하여 요구된 시간은이 된다. 노드 i 에서 비실시간 데이터 큐가 안정화 되기 위하여, t 중에 도달하는 모든 데이터 패킷들은 t 보다 작은 시간내에 전송되어야 한다.
(10)
네트워크 시스템을 안정화 시키기 위하여, 네트워크 시스템 내 모든 전송기 큐들은 안정화 되어야 한다. 만약 최상의 도달 빈도의 비실시간 데이터를 갖는 상기 전송기 큐가 안정화 되면, 상기 네트워크 시스템내 모든 전송기 큐들은 안정화 된다. 그래서, 네트워크 시스템의 안정도 조건은 아래의 식(11)이 된다.
(11)
제어 데이터의 안정도 조건을 고려하자. 도 1에 나타낸 바와 같이, 상기 이벤트 데이터는 실시간 구간 중에 전송될 수 있으며, 실시간 구간은을 초과 해서는 안된다. 실질적인 제조 자동화와 공정 제어 시스템들에 있어서, 이벤트 데이터는 제어 데이터에 비해 그렇게 빈번하게 발생되지 않는다.중에 n 이벤트 데이터가 발생되는 확률은 이다.
예로서,=10ms 이고 일 때,중에 10개 이하의 이벤트 데이터가 발생되는 확률은 7.89×10-5이다. 이 발명에서,중에 모든 노드들로부터 발생 될 수 있는 이벤트 데이터의 최대 수는중에 발생되는이하의 이벤트 데이터의 확률이 충분히 작도록 기설정된로 제한된다. 만약이면, 약간의 제어 데이터는내에 전송되지 않고 큐 용량의 오버 플로우로 인해 전송기 큐로부터 거절될 것이다. 그래서, 제어 데이터의 확률적인 안정도 조건은 다음식 (12)와 같이 주어진다.
(12)
식(9)내에서 주어진 이벤트 데이터의 안정도 조건은 식(11)내에 포함되기 때문에, 이벤트, 제어, 및 비실시간 데이터를 포함하는 상기 CAN 버스는 식들(11)(12) 내에서 주어진 안정도 조건들을 동시에 만족 시켜야 한다. 전술한 CAN 프로토콜 내 대역 폭 할당은 아래와 같이 요약 되어진다.
전술한은 주어지는 값들이다.
먼저, 제1 단계로서 상기 제어 데이터의 샘플링 시간Ti를 결정한다.
라하자.
이고,라하자,
만약이면, 제어 데이터 트래픽은 오버 로드 상태 이므로, M 또는 Ne를 감소 시키고 제1 단계가 다시 수행된다.
만약 νLc+ niLe≤T1의 조건을 만족하면 Ti= kiTi로 설정한다.
이어서, 제2단계로서, 제어 데이터의 제1 샘플링 순간들 tj을 결정한다.
라 하자. 이때,에 대해서,
이다.
제3단계로서, 비실시간 데이터의 패킷 길이를 결정한다.
만약,이면, 그 때이다.
라 하자.
만약이면, 이벤트 또는 비실시간 데이터 트래픽이 오버 로드 상태이므로, Ne 또는 Nn을 감소 시키고 다시 제3단계를 수행한다.
만약의 조건을 만족하면 알고리듬을 종료한다.
상기 CAN 프로토콜에서 대역 폭 할당 알고리즘은 시뮬레이션 실험들을 사용하여 입증된다. 상기 네트 워크 시스템은 상기 시스템의 상태가 이벤트의 발생을 갖고서 변화되는 이산 이벤트 시스템으로 분류된다. 그래서, 상기 CAN 시뮬레이션 모델은 이산 이벤트 시스템을 위한 개발 도구인 SIMEN/ARENA을 이용하여 개발된다. 시뮬레이션 모델에 있어서, 상기 CAN 버스는 5개의 제어 루프들(M=5)을 구비하는 것으로 가정된다. 각 제어 루프는 센서, 제어기, 및 액튜에니터의 세 노드들을 갖는다. 도 2는 상기 시뮬레이션 모델에서 각 노드의 형상을 보여주는 테이블이다.
노드 그룹들(1,2,11)(3,4,12)(5,6,13)(7,8,14) 그리고 (9,10,15)은 각각 상기 제어 루프들(1,2,3,4,5)에 속한다. 도 2에서, 데이터 타입들(1,2,3)은 각각 이벤트, 제어, 및 비실시간 데이터를 나타낸다. 센서 노드들(2,4,6,8, 및 10)은 제어 및 이벤트 데이터용 두 개의 전송기 큐들을 갖는다. 제어기 노드들(1,3,5,7, 및 9)은 또한 제어 및 비실시간 데이터 용 두 개의 전송기 큐들을 갖지 않는다. 상기 CAN 버스는 15개 노드들 및 20개의 전송기 큐들을 갖는다. 제어, 이벤트, 및 비실시간 큐들의 수는 각각 10, 5, 및 5(Nc=10, Ne=5, Nn=5)이다. 도 2에서, 프레임 식별자의 우선권은 이벤트 데이터, 제어 데이터 및 비실시간 데이터의 순으로 허락된다. 제어 루프들에 대해, 제어 루프 5는 최상의 우선권으로 설정되고, 제어 루프 1은 최하위의 우선권으로 설정된다. 제어 데이터 전송기 큐의 용량은 하나로 제한되고 이벤트 및 비실시간 데이터 전송기 큐들의 그것은 어떤 데이터도 전송기 큐의 오버 플로우로 인해 포화되지 않을 만큼 충분히 크다. 이 때 상기 CAN 버스의 데이터 빈도 B 는 125KB/s로 셋트된다.
센서 데이터 및 제어 신호들은 각 제어 루프에서 주기적으로 발생된다. 제어 데이터의 길이는 데이터 패킷의 최대 길이인 8바이트로 가정된다. 즉, 제어데이터의 전체길이는 오버 헤드, 최악의 경우의 스터핑 비트들(stuffing bits) 그리고 프레임 상호 간격(3비트들)을 포함한 130비트들이고, 패킷 전송 시간 Lc는 1.04ms 이다. 각 제어 루프의 상기 센서 노드는 상기 감독 제어기 노드로 모니터링 데이터를 전송한다. 모니터링 데이터의 상호 도달 시간은 평균적으로 지수 분포(이것은 의도적으로 높게 부가된 트래픽 로드)를 갖는 10ms()이다. 이벤트 데이터의 길이는 이벤트 데이터가 통상 제한된 양의 정보를 전송하기 때문에 2 바이트로 가정된다. 이벤트 데이터의 전체 길이는 오버 헤드, 최악의 경우의 스터핑 비트들 및 프레임 간 공간을 포함한 73비트들이고, 패킷 전송 시간 Le는 0.584 ms이다. 각 제어 루프내 제어기 노드는 상기 감독 제어기 노드로 파일 데이터를 전송하는 것으로 가정된다. 비실시간 데이터의 길이는 30KB로 가정된다. 실제 경우에 있어서, 파일 데이터는 상위 층으로부터 전달되며 전송전에 패킷화 된다. 본 발명에서, 비실시간 데이터 패킷의 도달은 상호 도달 시간이 평균적으로 지수 분포를 갖는 17.065ms()가 되도록 모델화 된다. 상기 감독 제어기 노드는 어떤 메시지를 발생하는 것으로 가정되지 않고, 각 제어 루프내의 상기 액튜에이터 노드는 단지 데이터를 수신하지 전송하지 않는다. 예로서, 이벤트 데이터의 최대 허용 지연은 10ms인 것으로 가정된다. 5개 제어 루프의 최대 루프 지연은 [Φ12345] = [29ms,60ms,120ms,240ms,480ms]로서 주어진다. 위에서 주어진 알고리즘의 2단계로부터 Φ1와 T1는 각각 29ms 와 10ms로 설정되고 [k1,k2,k3,k4,k5] = [1,2,4,8,16]이다. T1중에 5개 제어 루프들로부터 샘플된 제어 데이터의 평균 수는= 3.875 이고, 실시간 구간내 윈도우들의 수는=4 이다. 예로서, T1중에 ni이벤트 데이터 이상이 발생되는 확률은 <5 x 10-2 이어야만 하고, ni는 10으로 판단되는 것이 요구된다.이기 때문에, 제어 데이터의 트래픽은 확률적으로 안정하다. 5개 제어 루프들내 샘플링 시간의 벡터는 [T1,T2,T3,T4,T5] = [10ms,20ms,40ms,80ms,160ms]이다. 2단계로부터, 노드들1-10로부터 제어 데이터의 제1샘플링 순간은 [t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]= [0ms,0ms,0ms,0ms,10ms,10ms, 30ms,30ms,70ms,70ms]으로 설정된다. 3단계로부터,는 상기 CAN 프로토콜의 최대 패킷 길이(130비트)의 전송 시간 보다 크다. 그래서, 비실시간 데이터 패킷의 전송 시간은 Ln = 1.04ms로 설정된다.
이기 때문에, 상기 네트워크 시스템의 트래픽은 안정하고, 상기 네트워크 대역 폭은 거의 충분히 이용된다.
도 3은 상기 시뮬레이션 모델로부터 얻어진 결과들을 보여준다.
도 3에서, 알고리즘은 CAN버스가 이미 설명된 대역 폭 알고리즘을 채택할 때의 결과들이다. 비 알고리즘의 트래픽 조건은 표1에서 주어진 바와 같이 알고리즘의 그것과 동일하다. 그러나, 비알고리즘은 제어 데이터의 제1샘플링 순간을 고려하지 않는다(즉, ti= 0ms, i = 1 - Nc). 그래서, 상기 대역 폭 할당 알고리즘을 따르지 않는다. 표2에서 거절된 데이터 빈도는 발생된 데이터 수에 대한 거절된 데이터 수의 빈도를 지시한다. 여기서, 상기 거절된 데이터는 큐 용량의 오버 플로우로 인해 상기 전송기 큐에서 거절된 데이터를 의미한다.
도 3은 상기 이벤트 데이터가 최상의 우선권을 가지고 전송되기 때문에 이벤트 데이터의 평균 및 최대 데이터 대기들이 둘 모두의 경우에 있어서, 거의 동등하다는 것을 보여준다. 이벤트 데이터의 최대 데이터 대기 시간은 최대 허용 데이터 대기 10ms 보다 작은 3.93ms 이다. 제어 데이터의 경우에 있어서, 상기 알고리즘 내 최대 데이터 대기는 9.50ms이다. 그것은 최소 샘플링 구간 T1= 10ms을 초과하지 않으며, 어떤 데이터도 거절되지 않는다. 그러나 비알고리즘의 경우에 있어서, 제어 데이터의 최대 데이터 대기는 14.81ms(>10ms) 가 되고, 19(474 이상) 데이터는 상기 전송기 큐에서 거절된다. 비실시간 데이터의 데이터 대기는 상기 CAN 버스의 성능 분석에서 중요한 의미를 갖지 않는다. 상기 트래픽 조건이 안정하기 때문에 어떤 비실시간 데이터도 거절되지 않는다. 도 3은 본 발명에서 도입된 대역폭 할당알고리즘이 응용 시스템들의 성능에 영향을 미치지 않는 비실시간 데이터의 지연을 증가 시키는 정도에서 기 특정화된 한도로 이벤트 및 제어 데이터의 지연을 제한한다.
도 4는은 트래픽 조건이 도 2에서 주어진 바와 같이 이전 경우와 동일하나 상기 데이터 빈도는 100 KB/s로 감소되는 것을 보여준다.
이 경우에 있어서, 상기 알고리즘에서 주어진 안정도 조건은가 되고, 상기 트래픽 로드는 상기 네트워크 대역폭의 용량을 초과한다. 도 3은 트래픽 로드의 증가 효과가 최하의 우선권 분류를 갖는 상기 비실시간 데이터 상에 주로 가해짐을 보여준다. 상기 네트워크 시스템은 불안정 하기 때문에 비실시간 데이터는 상기 전송기 큐에서 거절된다(이 시뮬레이션 분석에서, 비실시간 데이터의 큐 용량은 133으로 셋트된다.) 그러나, 이벤트 데이터의 최대 데이터 대기는 아직 최대 허용 데이터 대기 10ms 보다 작으며, 어떤 이벤트 데이터도 거절되지 않는다. 상기 대역폭 할당 알고리즘이 적용될 경우에 있어서, 제어 데이터의 최대 데이터 대기는 최대 허용 지연 10ms 보다 아직 작은 9.99ms이며, 어떤 제어 데이터도 거절되지 않는다. 그래서, 상기 대역폭 할당 알고리즘은 상기 트래픽 조건이 어느 정도로 오버로드 될지라도 이벤트 및 제어 데이터의 성능 요구 조건을 만족 시킨다.
피드백 제어 시스템의 성능 상에서 제어 데이터의 거절의 효과는 아래에서 예시되어진다. 제어루프1은 노드들(1,2)로 구성된다. 노드2에서 플랜트의 전송 함수는 아래의 식으로서 선택된다.
그리고 노드(1)에서 디지털 제어기의 전송 기능의 유사 등가는 아래의 식과 같다.
여기서, s 는 라플라스 변환 변수(Laplace Transformation Variable) 이다. 도 5 (A)와 (B)는 B = 125 KB/s일 때 알고리즘과 비알고리즘의 성능 비교를 보여준다. 도 3에서 나타낸 바와 같이, 여러 제어 데이터는 비알고리즘의 경우에 있어서 거절된다. 이 데이터 거절은 상기 제어기 신호내에서 지터(jitter)를 야기 시키며, 그것은 상기 액튜에이터의 초과 소모를 이끄는 상기 액튜에이터 명령내에서 고주파수 잡음을 야기시킨다. 플랜트 출력의 응답은 또한 지연되며, 그 성능 또한 떨어진다. 여기서, 상기 식(11)에서 주어진 네트워크 시스템의 안정도 조건은 시뮬레이션 실험을 이용하여 확인되어진다. 도 6은 식(11)에서 주어진 비실시간 데이터의 안정화 조건을 검증하기 위하여, 비실시간 데이터의 서로 다른 도달 빈도들에 대해 비실시간 데이터 전송기큐 내에서 대기 메시지들의 수 변화를 보여준다. 이벤트 및 제어 데이터의 트래픽 로드들이 위 예와 B = 125KB/s로서 주어진다. 도 6은 식(11)을 만족하는 조건인일 때, 대기 메시지들의 수가 궁극적으로 안정됨을 보여준다. 그러나, 식(11)을 만족하지 못하는 조건인일 때, 대기 메시지들의 수는 시간 경과들로서 증가되며, 상기 CAN 버스 시스템은 불안정화 된다.
상기 CAN은 분산된 제어 시스템내 필드 장치들을 지지하는 네트워크 프로토콜이다. 필드 장치들로부터 발생된 데이터는 제어, 이벤트 그리고 비실시간의 3개 카테고리들로 분류된다. 이벤트 및 제어 데이터의 초과 데이터 대기는 상기 CAN 버스와 상호 접속된 응용 시스템들의 성능을 감소시킬 수 있다. 본 발명은 상기 CAN 버스내에 대역폭 할당 알고리즘을 도입한다. 상기 대역폭 할당 알고리즘은 상기 CAN 버스의 대역폭을 충분히 이용하는 것뿐만 아니라 실시간 응용 시스템들의 성능 요구를 만족시킨다. 상기 대역폭 할당 알고리즘은 상기 CAN 프로토콜의 이산 - 이벤트 모델과 피드백 제어 시스템의 연속 시간 모델을 집적화 시킨 시뮬레이션 모델을 사용하여 입증되어진다. 본 발명에서 도입된 대역폭 할당 알고리즘은 CAN 프로토콜을 사용하는 분산된 실시간 제어 및 자동화 시스템들의 설계 및 구축 단계에서 효율적으로 이용될 수 있다.

Claims (14)

  1. 콘트롤 에어리어 네트워크 버스(CAN)와 이 CAN버스를 공유하는 복수개의 노드들 및 복수개의 제어 루프들을 갖으며 각 제어 루프는 적어도 하나의 데이터 전송 노드, 센서 및 제어기를 포함하는 CAN 네트워크 시스템에 있어서,
    상기 CAN 버스의 대역폭을 상기 제어 루프들 사이의 샘플링 시간들 중 최소 시간과 동일한 마크로 싸이클의 시간 슬롯들로 분할하는 스텝;
    실시간 데이터인 이벤트 데이터, 실시간 데이터인 제어 데이터 및 비실시간 데이터 순으로 전송 우선권을 갖도록 그들 데이터의 식별자 필드들 내에 적절한 값을 마킹하는 스텝;
    상기 마크로 싸이클을 실시간 구간 및 비실시간 구간들로 다시 분할하는 스텝; 그리고
    상기 실시간 구간 중에 상기 이벤트 데이터 및 제어 데이터를 이 순서대로 전송하고, 상기 비실시간 구간 중에 상기 비실시간 데이터를 전송하는 스텝을 구비함을 특징으로 하는 CAN 프로토콜에서 대역폭을 할당하는 방법.
  2. 제1항에 있어서, 상기 비실시간 구간 중에 적어도 하나의 노드가 제어 데이터를 발생하면 상기 네트워크 대역폭은 자동으로 상기 실시간 구간으로 돌아가는 스텝을 더 구비함을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 이벤트 데이터의 식별자 필드 중 처음 두 개의 비트들은 "00"으로, 상기 제어 데이터의 식별자 필드 중 처음 두 개의 비트들은 "01"로, 그리고 상기 비실시간 데이터의 식별자 필드 중 처음 두 개의 비트들은 "10"으로 셋트됨을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 제어 데이터를 상기 실시간 구간 중에 윈도우 스케쥴링 알고리즘에 의해 전송 시키기 위해 먼저 복수개의 윈도우들을 설정하는 스텝;
    각 윈도우의 길이를 상기 제어 데이터의 패킷 전송 시간과 동일한 길이를 갖는 시간 슬롯으로 셋팅하는 스텝;
    상기 윈도우들을 상기 제어 데이터를 발생 시키는 노드들에 의해 공유 시키는 스텝; 그리고
    상기 윈도우 스케쥴링 알고리즘을 위해 상기 제어 데이터의 수를 일정 개수 이하로 제한하도록 각 제어 데이터의 샘플링 시간의 시작과 샘플링 구간을 스케쥴링 하는 스텝을 더 포함함을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 복수개의 제어 루프들 중 제어 루프 i의 샘플링 시간 Ti은 Φ1가 상기 제어 루프 i 에서 최대 허용 루프 지연 시간이고, Tl가 상기 제어 루프들의 샘플링 시간들 중 최소값이며, Lc는 상기 제어 데이터의 패킷 전송 시간 일 때 아래의 조건,
    2Ti+ (Tl- Lc) ≤ Φi
    을 만족 시켜야 함을 특징으로 하는 방법.
  6. 제4항에 있어서, M은 상기 제어 루프들의 수, 상기 복수개의 제어 루프들 중 제어 루프 i의 샘플링 간격이 Ti, ki는 Ti/Tl, Nc는 제어 데이터를 발생시키는 노드들의 수, αk가 상기 Nc개의 노드들로부터 발생하는 데이터의 평균 수, Lc는 상기 제어 데이터 패킷의 전송 시간, Φi는 제어 루프 i의 최대 허용 루프 지연일 때, 상기 샘플링 간격 Ti은 식,
    을 수행하여 얻어짐을 특징으로 하는 방법.
  7. 제4항에 있어서, ν는 실시간 구간 중에 발생되는 제어 데이터의 최대 허용 개수, M은 상기 제어 루프들의 수, Tl은 상기 제어 루프들 사이의 최소 샘플링 구간, TM은 상기 제어 루프들 사이의 최대 샘플링 구간, 상기 각 제어 데이터의 샘플링 순간이 tj(j=1-Nc), Al은 상기 TM내 l번째 상기 T1슬롯의 첫 번째 순간, Uj(Al)은 노드 j에서의 샘플링을 포함한 상기 Al에서 샘플된 데이터의 수, Nc는 제어 데이터를 발생 시키는 노드들의 수, 임의 노드 j는 1 - Nc, l은 1-TM/Tl일 때, 상기 각 제어 데이터의 샘플링 순간 tj는 식,
    tj = inf[Al≥ Al-1; Uj(Al) ≤ ν]에 의해 결정됨을 특징으로 하는 방법.
  8. 제1항에 있어서, Ln이 상기 노드들에서의 비실시간 메시지의 전송 시간, τn은 비실시간 데이터의 전송 구간, τγ은 실시간 데이터의 전송 구간, Tl은 상기 제어 루프들 사이의 최소 샘플링 구간 일 때, 상기 비실시간 메시지의 전송 시간 Ln은 Ln= Tlγ로서 제한되어야 함을 특징으로 하는 방법.
  9. 제1항에 있어서, 노드 j에 대해, 전송되는 이벤트 데이터 패킷들의 수가, Ne는 이벤트 데이터를 발생시키는 노드들의 수, Le는 이벤트 데이터 패킷의 전송 시간 일 때, 상기 네트워크 시스템을 안정화시키기 위하여, 상기 이벤트 데이터의 안정도 조건은 식,을 만족시켜야 함을 특징으로 하는 방법.
  10. 제1항에 있어서, Tl가 상기 제어 루프들의 샘플링 시간들 중 최소값, αk가 상기 Nc개의 노드들로부터 발생하는 제어 데이터의 평균 수, Ne는 이벤트 데이터를발생시키는 노드들의 수, Nn는 비 실시간 데이터를 발생시키는 노드들의 수, Lc는 상기 제어 데이터 패킷의 전송 시간, Le는 이벤트 데이터 패킷의 전송 시간, Ln는 노드에서 비 실시간 데이터의 전송 시간, 노드k에서 이벤트 데이터의 도달 빈도는이고, 상기 노드j에서 단위 시간마다 발생된 비실시간 데이터 패킷들의 평균 수는일 때, 상기 네트워크 시스템의 안정도 조건은 식,
    을 만족 하여야 하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서, Tl가 상기 제어 루프들의 샘플링 시간들 중 최소값이고, Lc는 상기 제어 데이터 패킷의 전송 시간, Le는 이벤트 데이터 패킷의 전송 시간, ni는 상기 Tl중에 모든 노드들로부터 발생될 수 있는 이벤트 데이터의 최대 수, ν는 실시간 구간 중에 발생된 데이터의 상한 개수 일 때, 상기 제어 데이터의 안정도 조건은 식,
    νLc+ niLe≤ Tl
    을 만족하여야 함을 특징으로 하는 방법.
  12. CAN 버스와 이 CAN버스를 공유하는 복수개의 노드들 및 복수개의 제어 루프들을 갖으며 각 제어 루프는 적어도 하나의 데이터 전송 노드, 센서 및 제어기를 포함하는 CAN 네트워크 시스템에 있어서,
    (a) M: CAN 버스로 상호 접속된 제어 루프들의 수, Nc: 제어 데이터를 발생시키는 노드들의 수, Ne: 이벤트 데이터를 발생시키는 노드들의 수, Nn: 비 실시간 데이터를 발생시키는 노드들의 수, Lc: 제어 데이터 패킷의 전송 시간, Le: 이벤트 데이터 패킷의 전송 시간, Ln: 노드에서 비 실시간 메시지의 전송 시간, [Φi, i=1-M]: 제어 루프 i 의 최대 허용 루프 지연, [, i=1-Ne]: 노드 i 에서 이벤트 데이터 패킷의 평균 도착 빈도, [, i=1-Nn]: 노드 i 에서 비 실시간 메시지의 평균 도착 빈도, 그리고 [Ti, i=1-M]: 제어 루프 i 의 샘플링 간격, Al은 상기 TM내 1번째 상기 Tl슬롯의 첫 번째 순간, ni는 상기 Tl중에 모든 노드들로부터 발생될 수 있는 이벤트 데이터의 최대 수, αk가 상기 Nc개의 노드들로부터 발생하는 데이터의 평균 수, ν는 실시간 구간 중에 발생된 데이터의 상한 개수, Pj는 노드 j에서의 패킷 세그먼트 수,는 노드 j에서의 비실시간 데이터의 도달 빈도, 로 정의하는 스텝;
    (b) 상기 제어 데이터의 샘플링 시간Ti를 결정하기 위하여, 아래의 식들,
    ,
    ,
    νLc+ niLe< Tl이면 Ti= KiTl
    을 수행하는 스텝;
    (c) 상기 제어 데이터의 첫 번째 샘플링 순간들을 결정하기 위하여, 아래의 식들,
    t1= A1= 0일 때, ( j= 2; l = 1; j ≤ Nc, l ≤ KM; j = j + 1, l = l + 1) 에 대해서 tj= inf[Al≥ Al-1; uj(Al) ≤ ν]
    을 수행하는 스텝;
    (d) 상기 비실시간 데이터의 패킷 길이를 결정하기 위하여, 아래의 식,
    Ln> T1- (νLc+ niLe) 이면 Ln= T1- (νLc+ niLe)
    을 수행하는 스텝; 그리고
    (e) 식,(단,)
    만족하면 종료하는 스텝을 구비됨을 특징으로 하는 CAN 프로토콜에서 내역폭을 할당하는 방법.
  13. 제14항에 있어서, 상기 스텝(b)에서 상기 제어 데이터의 트래픽이 오버 로드되면, 상기 M과 Ne중 어느 하나를 감소시키고 다시 스텝(b)을 수행하는 스텝이 더 구비됨을 특징으로 하는 방법.
  14. 제14항에 있어서, 상기 스텝(e)에서 상기 이벤트 데이터와 비실시간 데이터의 트래픽 중 어느 하나가 오버 로드되면 상기 Ne와 Nn중 어느 하나를 감소시키고 상기 스텝(d)를 다시 수행하는 스텝을 더 구비함을 특징으로 하는 방법.
KR10-2000-0036086A 2000-06-28 2000-06-28 Can 프로토콜내에서 대역폭을 할당하는 방법 KR100371098B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0036086A KR100371098B1 (ko) 2000-06-28 2000-06-28 Can 프로토콜내에서 대역폭을 할당하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0036086A KR100371098B1 (ko) 2000-06-28 2000-06-28 Can 프로토콜내에서 대역폭을 할당하는 방법

Publications (2)

Publication Number Publication Date
KR20020001403A true KR20020001403A (ko) 2002-01-09
KR100371098B1 KR100371098B1 (ko) 2003-02-06

Family

ID=19674526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0036086A KR100371098B1 (ko) 2000-06-28 2000-06-28 Can 프로토콜내에서 대역폭을 할당하는 방법

Country Status (1)

Country Link
KR (1) KR100371098B1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441594B1 (ko) * 2002-03-07 2004-07-23 삼성전자주식회사 홈피엔에이에서 우선순위를 적용한 통신방법
KR100667351B1 (ko) * 2005-04-14 2007-01-10 주식회사 케이티프리텔 멀티미디어 데이터 전송 방법, 장치 및 이를 위한프로그램이 기록된 기록매체 및 멀티미디어 데이터 전송제어 방법
KR100764201B1 (ko) * 2003-10-06 2007-10-05 주식회사 만도 캔 통신노드의 통신속도 설정방법
KR100788891B1 (ko) * 2004-12-23 2007-12-27 한국전자통신연구원 통합 트래픽을 위한 패킷 레벨 자원 할당 방법 및 장치
US7411907B2 (en) 2003-06-30 2008-08-12 Samsung Electronics Co., L.T.D. Method and apparatus for controlling packet flow for corresponding bandwidths of ports
KR100946902B1 (ko) * 2006-05-06 2010-03-09 삼성전자주식회사 이동 통신 시스템에서 자원 운용 장치 및 방법
CN101075945B (zh) * 2006-05-19 2011-06-08 中国科学院沈阳自动化研究所 实时以太网确定性通信方法
KR101987890B1 (ko) * 2019-04-09 2019-09-30 브이에스아이 주식회사 통신모듈의 버스에의 연결을 매개하기 위해 그 통신모듈의 전송속도를 확인하는 방법과 그 방법을 위한 기기
KR102188303B1 (ko) 2019-11-04 2020-12-08 김남성 건축 및 자동차용 적층내장재의 제조방법 및 그 적층내장재
KR102188309B1 (ko) 2019-11-05 2020-12-09 김남성 건축 및 자동차용 적층내장재의 제조방법 및 그 적층내장재
WO2023185969A1 (zh) * 2022-03-30 2023-10-05 三峡智控科技有限公司 一种实时数据的压缩传输方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441594B1 (ko) * 2002-03-07 2004-07-23 삼성전자주식회사 홈피엔에이에서 우선순위를 적용한 통신방법
US7411907B2 (en) 2003-06-30 2008-08-12 Samsung Electronics Co., L.T.D. Method and apparatus for controlling packet flow for corresponding bandwidths of ports
KR100764201B1 (ko) * 2003-10-06 2007-10-05 주식회사 만도 캔 통신노드의 통신속도 설정방법
KR100788891B1 (ko) * 2004-12-23 2007-12-27 한국전자통신연구원 통합 트래픽을 위한 패킷 레벨 자원 할당 방법 및 장치
KR100667351B1 (ko) * 2005-04-14 2007-01-10 주식회사 케이티프리텔 멀티미디어 데이터 전송 방법, 장치 및 이를 위한프로그램이 기록된 기록매체 및 멀티미디어 데이터 전송제어 방법
KR100946902B1 (ko) * 2006-05-06 2010-03-09 삼성전자주식회사 이동 통신 시스템에서 자원 운용 장치 및 방법
CN101075945B (zh) * 2006-05-19 2011-06-08 中国科学院沈阳自动化研究所 实时以太网确定性通信方法
KR101987890B1 (ko) * 2019-04-09 2019-09-30 브이에스아이 주식회사 통신모듈의 버스에의 연결을 매개하기 위해 그 통신모듈의 전송속도를 확인하는 방법과 그 방법을 위한 기기
KR102188303B1 (ko) 2019-11-04 2020-12-08 김남성 건축 및 자동차용 적층내장재의 제조방법 및 그 적층내장재
KR102188309B1 (ko) 2019-11-05 2020-12-09 김남성 건축 및 자동차용 적층내장재의 제조방법 및 그 적층내장재
WO2023185969A1 (zh) * 2022-03-30 2023-10-05 三峡智控科技有限公司 一种实时数据的压缩传输方法

Also Published As

Publication number Publication date
KR100371098B1 (ko) 2003-02-06

Similar Documents

Publication Publication Date Title
Hong et al. Bandwidth allocation scheme in CAN protocol
Wang et al. Time-utility function-driven switched ethernet: Packet scheduling algorithm, implementation, and feasibility analysis
Zhong et al. Real-time communication in WIA-PA industrial wireless networks
Kumar et al. An online delay efficient packet scheduler for M2M traffic in industrial automation
Kumar et al. A delay efficient multiclass packet scheduler for heterogeneous M2M uplink
KR100807529B1 (ko) 무선 필드버스를 이용한 실시간 전송 방법
KR100371098B1 (ko) Can 프로토콜내에서 대역폭을 할당하는 방법
Hong Bandwidth allocation scheme for cyclic-service fieldbus networks
CN114830611A (zh) 集中式网络配置实体及包括该实体的时间敏感网络控制系统
CN114245424A (zh) 用于通信网络的方法和装置
Cavalieri et al. A novel solution to interconnect FieldBus systems using IEEE wireless LAN technology
CN101431458B (zh) 一种基于p坚持策略的csma工业控制网络调度方法
Kim et al. Scheduling of wireless control networks based on IEEE 802.15. 4 networks: Mixed traffic environment
Feng et al. SMT-based Task-and Network-level Static Schedule for Time Sensitive Network
Tassiulas et al. Optimal anticipative scheduling with asynchronous transmission opportunities
JP2016503615A (ja) リアルタイムメッセージの送信方法およびリアルタイムメッセージを送信するためのコンピュータネットワーク
Dewanta et al. Message scheduling approach on dedicated time slot of ISA100. 11a
Cavalieri et al. On the integration of fieldbus traffic within IEEE 802.11 wireless LAN
Jasperneite et al. Investigations on a distributed time-triggered ethernet realtime protocol used by profinet
Hong et al. Experimental evaluation of a bandwidth allocation scheme for foundation fieldbus
Pati et al. CQS: A Conflict-free query scheduling approach in wireless sensor networks
KR100455030B1 (ko) 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법
Bonaccorsi et al. A distributed approach to achieve predictable Ethernet access control in industrial environments
Cho et al. Utilization-aware dynamic GTS allocation scheme in IEEE 802.15. 4
Pedreiras et al. Flexibility, timeliness and efficiency over Ethernet

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
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee