KR100371098B1 - Methode for allocating bandwidth in control area network protocol - Google Patents

Methode for allocating bandwidth in control area network protocol Download PDF

Info

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

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

Abstract

콘트롤러 에어리어 네트워크(CAN) 프로토콜 내에서 대역폭을 할당하는 방법이 제안된다. 자동화 및 공정 제어 시스템에서 필드 장치들로부터 발생되는 실시간 이벤트 데이터, 실시간 제어 데이터, 및 비 실시간 데이터는 공통으로 CAN 버스매체를 공유한다. 본원 발명의 방법은 상기 CAN 버스의 대역폭을 제어 루프들 사이의 샘플링 시간들 중 최소 시간과 동일한 마크로 싸이클의 시간 슬롯들로 분할하는 스텝, 실시간 데이터인 이벤트 데이터, 실시간 데이터인 제어 데이터 및 비실시간 데이터 순으로 전송 우선권을 갖도록 그들 데이터의 식별자 필드들 내에 적절한 값을 마킹하는 스텝, 상기 마크로 싸이클을 실시간 구간 및 비실시간 구간들로 다시 분할하는 스텝, 그리고 상기 실시간 구간 중에 상기 이벤트 데이터 및 제어 데이터를 이 순서대로 전송하고, 상기 비실시간 구간 중에 상기 비실시간 데이터를 전송하는 스텝을 포함한다. 본 발명에 따른 대역 폭 할당 알고리즘은 상기 CAN과 상호 접속된 실시간 응용 시스템들의 성능 요구를 만족 시킬 뿐 아니라 상기 CAN의 대역 폭을 충분히 이용할 수 있게 된다.A method of allocating bandwidth within a Controller Area Network (CAN) protocol is proposed. Real-time event data, real-time control data, and non-real-time data generated from field devices in automation and process control systems commonly share CAN bus media. The method of the present invention divides the bandwidth of the CAN bus into time slots of a macro cycle equal to the minimum time of sampling times between control loops, event data as real time data, control data as real time data and non real time data. Marking an appropriate value in the identifier fields of their data so as to have a transmission priority in that order, subdividing the macro cycle into real-time and non-real-time segments, and retrieving the event data and control data during the real-time segment. And sequentially transmitting the non-real-time data during the non-real-time period. The bandwidth allocation algorithm according to the present invention not only satisfies the performance requirements of real-time application systems interconnected with the CAN, but also makes full use of the bandwidth of the CAN.

Description

CAN 프로토콜내에서 대역폭을 할당하는 방법{METHODE FOR ALLOCATING BANDWIDTH IN CONTROL AREA NETWORK PROTOCOL}How to allocate bandwidth within the CAN protocol {METHODE FOR ALLOCATING BANDWIDTH IN CONTROL AREA NETWORK PROTOCOL}

본 발명은 콘트롤 에어리어 네트워크 프로토콜(CAN: Control Area Network)에서 대역폭을 할당하는 방법에 관한것이다.The present invention relates to a method of allocating bandwidth in a control area network (CAN).

상기 CAN은 분산된 실시간 제어 및 자동화를 지지하는 시리얼 통신 프로토콜이다. 상기 CAN은 저가 및 단순성 때문에 많은 산업 공정 제어 및 자동화 시스템에응용된다. 분산된 제어 및 자동화 시스템들로부터 발생된 데이터는 실시간 및 비실시간 데이터로 분류된다. 상기 CAN 버스에서 이들 데이터는 공통 네트워크 매체를 공유한다. 이 상황에서, 실시간 데이터의 전송은 비실시간 데이터에 의해 간섭될 수 있고, 실시간 데이터의 네트워크 지연은 기 정의된 제한을 초과할 수 있다. 이것은 성능 저하 및 심지어 상기 CAN 버스로 상호 접속된 실시간 응용 시스템들의 비안정성을 야기 시킨다. 그래서, 상기 CAN 버스가 산업 자동화 및 제어 시스템들 상에 도구화될 때 그것의 네트워크 트래픽은 전적으로 분석되고 제어되어야 한다.The CAN is a serial communication protocol that supports distributed real-time control and automation. The CAN is used in many industrial process control and automation systems because of its low cost and simplicity. Data generated from distributed control and automation systems is classified as real time and non real time data. On the CAN bus these data share a common network medium. In this situation, the transmission of real time data may be interrupted by non real time data, and the network delay of the real time data may exceed a predefined limit. This causes performance degradation and even instability of real-time application systems interconnected to the CAN bus. Thus, when the CAN bus is instrumented on industrial automation and control systems, its network traffic must be fully analyzed and controlled.

이하에서 상기 CAN 프로토콜에 대해 설명하기로 한다.Hereinafter, the CAN protocol will be described.

상기 CAN 프로토콜은 캐리어 센스 다중 엑세스(CAMA/NBA) 메카니즘을 기초로 하여 동작된다. 각 노드는 데이터의 전송전에 버스의 상태를 감지한다. 노드들은 상기 버스의 상태가 유휴 상태일 때 까지 데이터의 전송을 연기 시킨다. 버스의 유휴 조건이 검출될 때, 어느 노드도 전송하는 것을 시작할 수 있다. 하나 이상의 노드가 그것의 메시지를 전송하는 것을 시작하면, 버스 엑세스 충돌들이 해소되어야 한다. 이것은 식별자 필드의 비교를 통해 행하여 질 수 있다. 상기 CAN은 모든 노드들을 접속하기 위하여 하나의 배선 오아(OR) 버스를 사용한다. 상기 식별자를 전송하는 동안, 각 노드는 상기 시리얼 버스 라인을 모니터한다. 상기 전송 비트가 약세이고(논리 1) 우세 비트(논리 0)가 모니터 되면, 상기 노드들은 전송하는 것을 포기하고 오는 데이터를 받기 시작한다. 최 우선 식별자를 전송하는 노드는 통과하여 상기 버스에 도달한다. 각 메시지용 식별자는 동등의 우선 순위를 갖는 것을 방지하기 위하여 유일해야 한다.The CAN protocol operates on the basis of carrier sense multiple access (CAMA / NBA) mechanism. Each node senses the state of the bus before sending data. Nodes postpone the transmission of data until the state of the bus is idle. When an idle condition of the bus is detected, any node can start transmitting. Once more than one node starts sending its message, bus access conflicts should be resolved. This can be done by comparison of identifier fields. The CAN uses one wired OR bus to connect all nodes. While transmitting the identifier, each node monitors the serial bus line. If the transmit bit is weak (logic 1) and the dominant bit (logic 0) is monitored, the nodes give up transmitting and start receiving data. The node sending the highest priority identifier passes through to reach the bus. The identifier for each message must be unique to prevent it from having an equal priority.

본 발명 목적은 상기 CAN 프로토콜로 응용될 수 있는 대역 폭 할당 알고리즘을 제공하는데 있다.An object of the present invention is to provide a bandwidth allocation algorithm that can be applied to the CAN protocol.

본 발명의 다른 목적은 상기 CAN 프로토콜의 트래픽(traffic)을 효율적으로 제어 하여 상기 CAN 버스로 접속된 실시간 응용 시스템들의 성능을 보장하는 동시에 충분히 활용할 수 있는 CAN 프로토콜 내에서의 대역 폭 할당 방법을 제공하는데 있다.Another object of the present invention is to provide a method for allocating bandwidth in a CAN protocol that can efficiently utilize traffic of the CAN protocol to ensure the performance of real-time application systems connected to the CAN bus and at the same time make full use of it. have.

이러한 목적들을 달성하기 위하여, 본 발명에 따르면, 윈도우 스케쥴링 알고리즘이 실시간 및 비 실시간 데이터를 수용하는 CAN 프로토콜의 대역폭 할당으로 연장된다.In order to achieve these objects, according to the invention, the window scheduling algorithm is extended to the bandwidth allocation of the CAN protocol to accommodate real time and non real time data.

도 1은 CAN 버스내에서 대역 폭을 할당하는 것을 설명하기 위한 다이어그램이다.1 is a diagram illustrating the allocation of bandwidth within a CAN bus.

도 2는 시뮬레이션 모델에서 노드들의 형상들을 보여주는 테이블이다.2 is a table showing the shapes of nodes in a simulation model.

도 3은 B=125KB/s에서 알고리즘과 비알고리즘의 성능 비교를 한 테이블이다.3 is a table comparing the performance of algorithms and algorithms at B = 125KB / s.

도 4는 B=100KB/s에서 알고리즘과 비알고리즘의 성능 비교를 한 테이블이다.4 is a table comparing the performance of algorithms and non-algorithms at B = 100 KB / s.

도 5 (A)와 (B)는 제어 시스템의 성능을 보여주는 그래프들이다.5 (A) and (B) are graphs showing the performance of the control system.

도 6은 비실시간 데이터의 안정화 조건을 검증하기 위하여 전송 큐내에서 대기 메시지들의 수를 보여주는 그래프이다.6 is a graph showing the number of waiting messages in a transmission queue to verify stabilization conditions of non-real-time data.

본 발명의 일 형태에 따른 방법은, 콘트롤 에어리어 네트워크 버스(CAN)와 이 CAN버스를 공유하는 복수개의 노드들 및 복수개의 제어 루프들을 갖으며 각 제어 루프는 적어도 하나의 데이터 전송 노드, 센서 및 제어기를 포함하는 CAN 프로토콜내에서 대역폴을 할당하는 방법에 있어서, 상기 CAN 버스의 대역폭을 상기 제어 루프들 사이의 샘플링 시간들 중 최소 시간과 동일한 마크로 싸이클의 시간 슬롯들로 분할하는 스텝, 실시간 데이터인 이벤트 데이터, 실시간 데이터인 제어 데이터 및 비실시간 데이터 순으로 전송 우선권을 갖도록 그들 데이터의 식별자 필드들 내에 적절한 값을 마킹하는 스텝, 상기 마크로 싸이클을 실시간 구간 및 비실시간 구간들로 다시 분할하는 스텝, 그리고 상기 실시간 구간 중에 상기 이벤트 데이터 및 제어 데이터를 이 순서대로 전송하고, 상기 비실시간 구간 중에 상기 비실시간 데이터를 전송하는 스텝을 구비한다.A method of one embodiment of the present invention has a control area network bus (CAN) and a plurality of nodes and a plurality of control loops sharing this CAN bus, each control loop having at least one data transmission node, a sensor and a controller. A method of allocating a bandpole in a CAN protocol comprising: dividing the bandwidth of the CAN bus into time slots of a macro cycle equal to a minimum time of sampling times between the control loops, wherein the bandwidth is real time data. Marking an appropriate value in the identifier fields of their data in order of event data, control data that is real-time data, and non-real-time data, subdividing the macro cycle into real-time and non-real-time segments, and The event data and the control data in this order during the real time period Transmitted to, and a step of transmitting the non-real-time data in said non-real time interval.

한편, 본 발명의 다른 형태에 따른 방법은, 하나의 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개의 노드들로부터 발생하는 데이터의 평균 수, ν는 실시간 구간 중에 발생된 데이터의 상한 개수 으로 정의 하는 스텝을 구비한다. 이어서, 상기 제어 데이터의 샘플링 시간를 결정하기 위하여, 아래의 식들,On the other hand, the method according to another aspect of the present invention has a CAN bus and a plurality of nodes and a plurality of control loops sharing the CAN bus, each control loop comprising at least one data transmission node, a sensor and a controller. A method for allocating bandwidth within a CAN protocol comprising: M: number of control loops interconnected to a CAN bus, Nc: number of nodes generating control data, Ne: number of nodes generating event data, Nn : Number of nodes generating non-real time data, Lc: Transmission time of control data packet, Le: Transmission time of event data packet, Ln: Transmission time of non-real time message at node, [Φ i , i = 1-M] : Maximum allowable loop delay of control loop i, [ , i = 1-Ne]: average arrival frequency of event data packets at node i, [ , i = 1-Nn]: average arrival frequency of non real-time messages at node i, and [ , i = 1-M]: sampling interval of control loop i, Aℓ above At the beginning of the l th T 1 slot, N i is the maximum number of event data that can be generated from all nodes during T 1 , and α k is the average of the data originating from the Nc nodes during the T1 interval. The number ν has a step defined as the upper limit number of data generated during the real time interval. Subsequently, the sampling time of the control data To determine the following equations,

을 정의하는 스텝을 구비한다. 이어서, 상기 제어 데이터의 첫 번째 샘플링 순간들을 결정하기 위하여, 아래의 식들,It is provided with a step of defining. Then, to determine the first sampling instants of the control data, the following equations,

t1=A1=0,t 1 = A 1 = 0,

(j=2 ; ℓ=1 ; j≤Nc, ℓ≤KM; j=j+1, ℓ=ℓ+1)에 대하여for (j = 2; l = 1; j≤Nc, l≤K M ; j = j + 1, l = ℓ + 1)

tj=inf[]t j = inf [ ]

을 정의 하는 스텝을 구비한다. 그리고 상기 비실시간 데이터의 패킷 길이를 결정하기 위하여, 아래의 식들,It is provided with a step of defining. And in order to determine the packet length of the non-real-time data,

"이면," Back side ,

이고이면 종료." ego Then exit. "

을 정의하는 스텝을 구비한다.It is provided with a step of defining.

상기 CAN 버스에서, 상기 네트워크 매체는 실시간 및 비 실시간 데이터에 의해 공유되며, 실 시간 데이터는 제어 및 이벤트 데이터로 다시 나눠진다. 상기 제어 데이터는 제어기와 플랜트로 구성된 피드백 제어 루프들로부터 발생된다. 하나의 제어 루프내의 센서와 제어기는 주기적으로 주어진 샘플링 간격에 따른 그들의데이터를 발생 시킨다. 상기 센서와 제어기 데이터는 상기 샘플링 간격내에서 완전히 전송되어야 한다. 이벤트 데이터는 보통 모니터링, 진단 및 얼람 정보 같은 이벤트의 통지를 위해 사용된다. 이벤트 데이터는 주기적 또는 산발적으로 발생된다. 이들 데이터는 특정 경계의 시간 간격내에서 전송되어야 한다. 비 실시간 데이터는 프로그램과 데이터 파일 및 데이터 베이스 관리 정보로 구성된다. 비 실시간 데이터의 지연은 실 시간 데이터의 그것에 비교하여 그렇게 중요하지 않다. 그래서, 비 실시간 데이터는 실시간 데이터 트래픽이 할당된 후에 남겨진 여분의 대역폭을 이용하여 전송된다. 본 발명에서 소개된 대역 폭 할당 알고리즘은 실 시간 제어 및 이벤트 데이터의 지연 요구를 만족 시킨다. 덧붙여서, 비 실시간 데이터가 전송된 상기 여분의 대역폭을 충분히 이용하여 네트워크 매체의 대역폭의 이용을 극대화 시킨다.In the CAN bus, the network medium is shared by real time and non real time data, and real time data is subdivided into control and event data. The control data is generated from feedback control loops consisting of a controller and a plant. Sensors and controllers in a control loop periodically generate their data according to a given sampling interval. The sensor and controller data must be transmitted completely within the sampling interval. Event data is usually used for notification of events such as monitoring, diagnostics and alarm information. Event data is generated periodically or sporadically. These data should be transmitted within the time intervals of a particular boundary. Non-real time data consists of programs and data files and database management information. The delay of non real time data is not so important as compared to that of real time data. Thus, non real-time data is transmitted using the extra bandwidth left after real-time data traffic has been allocated. The bandwidth allocation algorithm introduced in the present invention satisfies the real time control and delay requirements of event data. In addition, the redundant bandwidth in which non-real-time data is transmitted is fully utilized to maximize the utilization of the bandwidth of the network medium.

이하에서, 본 발명에서 사용되는 약어들을 설명하기로 한다.Hereinafter, the abbreviations used in the present invention will be described.

M은 CAN 버스로 상호 접속된 제어 루프들의 수, Nc는 제어 데이터를 발생시키는 노드들의 수, Ne는 이벤트 데이터를 발생시키는 노드들의 수, Nn는 비 실시간 데이터를 발생시키는 노드들의 수, Lc는 제어 데이터 패킷의 전송 시간, Le는 이벤트 데이터 패킷의 전송 시간, Ln은 노드에서 비 실시간 메시지의 전송 시간, [, i=1-M]는 제어 루프 i 의 최대 허용 루프 지연, [, i=1-Ne]는 노드 i 에서 이벤트 데이터 패킷의 평균 도착 빈도, [, i=1-Nn]는 노드 i 에서 비 실시간 메시지의 평균 도착 빈도, [, i=1-M]는 제어 루프 i 의 샘플링 간격을 지시한다.M is the number of control loops interconnected by the CAN bus, Nc is the number of nodes generating control data, Ne is the number of nodes generating event data, Nn is the number of nodes generating non real-time data, and Lc is the control The transmission time of the data packet, Le is the transmission time of the event data packet, Ln is the transmission time of the non-real time message at the node, [ , i = 1-M] is the maximum allowable loop delay of control loop i, [ , i = 1-Ne] is the average arrival frequency of event data packets at node i, [ , i = 1-Nn] is the average frequency of arrival of non-real-time messages at node i, [ , i = 1-M] indicates the sampling interval of the control loop i.

이벤트 데이터와 비 실시간 메시지는 보통 랜덤하게 도착 되며, 그들의 전형적인 분포는 알려져 있지 않다. 본 발명에서 이벤트 데이터와 비 실시간 메시지들의 도착 과정은 포이즌 분포를 갖는 것으로 가정된다. 제어 데이터의 큐 용량은 가장 최근에 발생된 센서 및 제어기 데이터가 전송되어야 하기 때문에 하나로 제한되어 진다. 이벤트 및 비 실시간 데이터의 큐 용량은 네트워크 트래픽이 안정할 때 전송기 큐의 오버 플로우로 인해 어느 데이터도 거절되지 않도록 충분히 크게 가정 되어진다. 도 1은 상기 CAN 버스에서 대역폭 할당 알고리즘의 기본 개념을 보여준다. 상기 CAN 버스의 대역폭은 M 제어 루프들 사이의 샘플링 시간들 중 최소인 T1과 동일한 마크로 싸이클의 시간 슬롯에 의해 분할된다. 상기 마크로 싸이클은 실시간(구간() 및 비 실시간 구간()들로 다시 분할된다. 상기 실시간 구간 중에, 제어 데이터는 본 출원인에 의해 제시된 윈도우 스케쥴링 알고리즘을 사용하여 전송된다. 비실시간 데이터는 비실시간 구간 중에 전송된다. 이벤트 데이터는 그들이 가능한한 빨리 전송되어야만 하기 때문에 최상의 우선권을 가지고 전송된다.Event data and non real-time messages usually arrive randomly, their typical distribution is unknown. In the present invention, the arrival process of event data and non real-time messages is assumed to have a poison distribution. The queue capacity of control data is limited to one because the most recently generated sensor and controller data must be transmitted. The queue capacity of event and non real-time data is assumed to be large enough so that no data is rejected due to overflow of the transmitter queue when network traffic is stable. Figure 1 shows the basic concept of a bandwidth allocation algorithm in the CAN bus. The bandwidth of the CAN bus is divided by the time slot of the macro cycle equal to T1 which is the minimum of the sampling times between the M control loops. The macro cycle is a real-time (section ( ) And non-real-time segments ( It is divided back into). During the real time period, control data is transmitted using the window scheduling algorithm presented by the applicant. Non-real time data is transmitted during the non-real time interval. Event data is sent with the highest priority because they must be sent as soon as possible.

상기 CAN 버스로 대역폭 할당 알고리즘을 적용하기 위하여, 상기 네트워크 대역 폭을 실시간 및 비실시간 구간들로 나누는 방법을 얻는 것이 필요하다. 상기 CAN 프로토콜에서, 이것은 상기 CAN 프레임의 식별자 필드내에 적절한 값을 마킹하는것에 의해 간단히 성취될 수 있다. 상기 이벤트 데이터의 경우에 있어서, 상기 11 비트 식별자 필드의 처음 두 개 비트들은 "00"로 셋트된다. 제어 및 비실시간 데이터의 처음 두 개 비트들은 각각 "01"와 "10"로 셋트된다. 상기 식별자 필드내에서 "0"(우세 비트)은 "1"(열세 비트)에 대해 우세하기 때문에, 이벤트 데이터는제어 데이터 보다 우선권을 갖으며, 제어 데이터는 전송하는데 있어서, 비실시간 데이터 보다 우선권을 갖는다. 이것은 비실시간 데이터가 실시간 구간이 끝날 때까지 전송될 수 없다는 것을 의미한다. 상기 비실시간 구간 중에, 어떤 노드가 제어 데이터를 발생 시킨다면, 상기 네트워크 대역폭은 자동으로 상기 실시간 구간으로 돌아간다.In order to apply a bandwidth allocation algorithm to the CAN bus, it is necessary to obtain a method of dividing the network bandwidth into real time and non real time intervals. In the CAN protocol, this can be achieved simply by marking the appropriate value in the identifier field of the CAN frame. In the case of the event data, the first two bits of the 11-bit identifier field are set to "00". The first two bits of control and non real-time data are set to "01" and "10", respectively. Since "0" (dominant bit) in the identifier field prevails over "1" (tenth bit), event data has priority over control data, and control data has priority over non-real-time data in transmission. Have This means that non-real time data cannot be transmitted until the end of the real time interval. During a non-real time interval, if a node generates control data, the network bandwidth automatically returns to the real time interval.

상기 실시간 구간 중에 제어 데이터는 윈도우 스케쥴링 알고리즘에 의해 전송된다. 윈도우 스케쥴링 알고리즘에서, Nc 노드들은 동적으로 상기 윈도우들을 공유한다. 상기 윈도우는 길이가 Lc와 동일한 시간 슬롯이다. 상기 윈도우 스케쥴링 알고리즘에 맞추기 위하여, 상기 실시간 구간 중에 발생된 데이터의 수는 (ν)를 초과해서는 안된다. (ν)내로 샘플된( 또는 발생된) 데이터의 수를 제한하기 위하여, 상기 윈도우 스케쥴링 알고리즘은 샘플링 순간의 시작과 각 제어 데이터의 샘플링 주기를 스케쥴한다. 상기 비실시간 구간을 통해 전송된 비실시간 데이터는 상기 실시간 구간을 침해해서는 안된다. 그래서, 비실시간 데이터의 패킷 전송 시간은 필요에 따라 조정될 필요가 있다.Control data is transmitted by the window scheduling algorithm during the real time period. In a window scheduling algorithm, Nc nodes dynamically change the windows. Share it. The window is a time slot whose length is equal to Lc. In order to fit the window scheduling algorithm, the number of data generated during the real time interval should not exceed (ν). In order to limit the number of data sampled (or generated) into (ν), the window scheduling algorithm schedules the beginning of the sampling instant and the sampling period of each control data. Non-real-time data transmitted through the non-real time interval should not infringe the real time interval. Thus, the packet transmission time of the non-real time data needs to be adjusted as necessary.

상기 윈도우 스케쥴링 알고리즘의 기본 개념이 아래에서 간략히 요약되어진다.The basic concept of the window scheduling algorithm is briefly summarized below.

상기 CAN 버스는 M 개의 제어 루프를 갖는 것으로 가정되어진다. 각 제어 루프는 두 개의 데이터 전송 노드들, 센서와 제어기를 갖는 것으로 가정되어진다. 상기 동일 제어 루프에서 상기 센서와 제어기 노드들은 하나의 동일한 샘플링 빈도(rate)를 갖고서 그들 데이터를 샘플한다. 루프 지연은 상기 센서 노드가 센서데이터를 샘플하는 순간부터 태그가 달린 센서 데이터를 사용하여 발생된 제어기 데이터가 상기 액튜에이터 노드에 완전히 도달될 때 까지로 정의된다. 구간가지고 그들 데이터를 샘플하는 제어 루프 i 를 고려하자. 상기 루프 지연은 센서로부터 제어기 까지의 지연() 그리고 제어기로부터 액튜에이터 까지의 상기 네트워크 유도된 지연()이 시간에 따라 변화하기 때문에 역시 시간에 따라 변화한다. 단순히()와 ()를 그들의 최소 상한값들로 대치하는 것은 시간에 따라 변하는 지연 시스템들의 설계를 위한 해결책이 될 수 없다.가 상기 액튜에이터 명령이 상기 플랜트에 도달할 때의 k 번째 순간이라고 하자. ()는 시변(시간에 따라 변하는)하기 때문에 상기 구간(,) 또한 시변한다고 하자. 상기 제어 시스템 상에서 시변 지연의 효과는 시변 지연 그 자체의 양 보다 오히려 상기 구간(,)에 의해 영향을 받는다. 상기 구간[,]은 최소값(min)이 k번째 도달에서 발생하고 후속하여 (k+1) 번째 도달에서 최대값(max)이 발생할 때 상기 구간(,)이 최대가 된다. (,)의 최소 상한들은+ (sup- min)이다. 상기 제어기-액튜에이터 지연에 부가하여, 센서-제어기 지연에 대하여 고려하는 것이 필요하다.의 최소 상한들은이다. 그래서, 루프 지연의 최소 상한들은 2+ (sup- min)이다. 윈도우 스케쥴링 알고리즘에서, 각 제어 데이터 항목은 마크로 싸이클내에서 전송되어진다. 그래서, sup이고 min은 Lc이며, 그리고 상기 제어 데이터의 패킷 전송 시간은이다. 상기 제어 시스템의 성능 요구를 만족시키기 위하여 제어 루프 i 의 샘플링 시간은 다음의 조건을 만족 시키도록 결정되어야 한다:The CAN bus is assumed to have M control loops. Each control loop is assumed to have two data transmission nodes, a sensor and a controller. In the same control loop, the sensor and controller nodes sample their data with one and the same sampling rate. The loop delay is defined from the moment the sensor node samples the sensor data until the controller data generated using the tagged sensor data reaches the actuator node completely. section Consider a control loop i that samples their data with. The loop delay is the delay from the sensor to the controller ( And the network induced delay from the controller to the actuator ( ) Changes with time, too. simply( )Wow ( ) To their minimum upper bounds is not a solution for the design of delay systems that change over time. Let k be the kth instant when the actuator command reaches the plant. ( ) Is time varying (varies with time), so , ) It is also time-varying. The effect of time varying delay on the control system is rather than the amount of time varying delay itself. , Affected by). Above section [ , ] Is the minimum value (min ) Occurs at the kth arrival, and subsequently at the (k + 1) th arrival, the maximum value (max ) When the interval ( , ) Is the maximum. ( , Minimum caps + (sup min )to be. In addition to the controller-actuator delay, it is necessary to consider the sensor-controller delay. The minimum upper limit of to be. So, the minimum upper bound of loop delay is 2 + (sup min )to be. In the window scheduling algorithm, each control data item is a macro cycle. Is transmitted within. So, sup Is And min Is Lc, and the packet transmission time of the control data is to be. In order to meet the performance requirements of the control system, the sampling time of the control loop i must be determined to satisfy the following conditions:

2+ (-)≤(1)2 + ( - ) ≤ (One)

각 제어 루프의 최대 허용 루프 지연 Φ(i=1-M)은 미리 알려진 것으로 가정된다. Φi은 상기 제어 루프의 특성 및 근본적으로 시변 네트워크 지연의 변형된 상수 버전으로부터 얻어질 수 있다. 상기 벡터들 T와 Φ의 요소들은 각각 i번째 제어 루프(i=1-M)의 샘플링 구간 및 최대 허용 루프 지연 Φi-M으로 구성된다.The maximum allowable loop delay Φ (i = 1-M) of each control loop is assumed to be known in advance. Φ i can be obtained from the nature of the control loop and from the modified constant version of the time-varying network delay. The elements of the vectors T and Φ are each i th control loop It consists of a sampling interval of (i = 1-M) and a maximum allowable loop delay Φ i -M.

T = [,,,....] (2)T = [ , , , .... ] (2)

Φ = [,,, ...] (3)Φ = [ , , , ... (3)

벡터들T와 Φ은 증가하는 순서로 정의된다. (즉,,) 도 1에서,은 각각 M 제어 루프들 사이에서 최소 및 최대 샘플링 구간들이다.The vectors T and Φ are defined in increasing order. (In other words, , ) In FIG. 1, and Are the minimum and maximum sampling intervals between the M control loops, respectively.

실시간 구간내에서, 상기 윈도우 스케쥴링 알고리즘은(i=1-M)를 결정한다. 제어 데이터의 네트워크 유도 지연의 시변 특성을 카운팅 하는 것는 사전에= (+Lc)/3 으로서 위의 식(1)로부터 결정된다. 상기 제어 루프들 중 나머지의 샘플링 시간(i=2-M)은 상기 실시간 구간 중에 발생된 데이터의 수가 ν를 초과하지 않도록 결정된다.를 예로서,중에 Nc 노드들로부터 발생된 데이터의 평균 수라고 하자.In the real time interval, the window scheduling algorithm Determine (i = 1-M). Counting Time-varying Characteristics of Network Induced Delay in Control Data In advance = ( + Lc) / 3 is determined from the above equation (1). Sampling time of the rest of the control loops (i = 2-M) is determined so that the number of data generated during the real time interval does not exceed v. As an example, Let's say the average number of data generated from Nc nodes.

K =(4)K = (4)

여기서, ν=[]라 하면, ki =/이다. 그리고 샘플링 구간들, i =1 부터 N 까지는 서로 서로의 정수 배수들이고(가장 큰 샘플링 시간은마크로 싸이클의으로 구성된다) 의 어느 구간 중에 발생된 모든 데이터는 상기의 동일 구간 중에 제공된 윈도우들에 의해 수용될 수 있다. 상기 제어 시스템의 성능 요구를 만족 시키기 위하여,는 식(1)에서 주어진 상기 조건을 만족 시켜야 한다. 그래서는 다음의 식(5)와 같이 결정되어야 한다.Where ν = [ ], Ki = Of to be. And sampling intervals , i = 1 to N are integer multiples of each other (The largest sampling time Of macro cycle All data generated during any section of the It can be accommodated by the windows provided during the same period of. In order to satisfy the performance requirements of the control system, Must satisfy the above conditions given in equation (1). so Is to be determined by the following equation (5).

(5) (5)

여기서, y = <x>는 x 에 가장 근접하나 초과하지 않는 2의 제곱,∈ {0,1,2..}을 나타낸다. 이것은 M개의 제어 루프들의 샘플링 구간들이 서로 서로의 정수 배수들인 것을 보장한다. 도 1에서,(ℓ=1-M)은내 ℓ 번째슬롯의 첫 번째 순간이다. 윈도우 스케쥴링 알고리즘에서,에서 발생된 데이터의 수는 ν를 초과해서는 안된다. 이러한 요구를 보장하기 위하여, 상기 윈도우 스케쥴링 알고리즘은 상기 샘플링 구간 뿐만 아니라 각 제어 데이터 항목의 샘플링 순간(j = 1-Nc)의 시작 까지도 스케쥴한다. j=1-Nc로부터,는 l=1-M으로부터 시작하는로 할당된다.에서 할당 수가 ν를 초과하면, 그때 상응하는 노드들의는 그 다음 순간 () 으로 시프트 되어야 한다. 그래서,는 다음과 같이 결정된다.Where y = <x> is the power of 2 closest to x but not exceeding , ∈ {0,1,2 ..}. This ensures that the sampling intervals of the M control loops are integer multiples of each other. In Figure 1, (ℓ = 1-M) My ℓ th Is the first moment of the slot. In the window scheduling algorithm, The number of data generated at must not exceed v. In order to ensure this requirement, the window scheduling algorithm performs a sampling instant of each control data item as well as the sampling interval. Schedule until the start of (j = 1-Nc). from j = 1-Nc, Starts at l = 1-M Is assigned to. If the number of allocations in exceeds ν, then the corresponding nodes The next moment ( ) Should be shifted to so, Is determined as follows.

= inf = inf

j=1-Nc, 1=1-/(6)j = 1-Nc, 1 = 1- Of (6)

여기서,()은 노드 j에서의 샘플링을 포함한에서의 샘플된 데이터의 수이다. 상기 윈도우 스케쥴링 알고리즘은 상기 공통 매체내 노드들의 클럭이 동기되는 것을 요구한다. 도 1에 나타낸 바와 같이,내의의 나머지는 비실시간 데이터의 전송으로 할당된다. 상기 대역폭 할당 알고리즘에서, 제어 데이터는 비실시간 데이터 보다 우선권을 갖는다. 그래서, 어떤 노드가 제어 데이터를 전송하는 것을 시작한다면, 상기 비실시간 구간은 자동으로 중지된다. 그러나, 제어 데이터가 샘플될 때 비실시간 데이터 항목이 순간에서 전송되는 중이라면, 상기 비실시간 데이터의 전송은 완료되어야 한다. 단지 하나의 비실시간 데이터 패킷이 전송될 수 있는 상기 비실시간 구간이 축소될 때의 극단의 경우를 고려하자. 만약 비실시간 데이터 패킷 Ln이-을 초과한다면,위로 침범한다. 그래서, 비실시간 데이터의 전송 시간이 최대 패킷 전송 시간(최악의 스터핑 비트들 및 프레임 상호간 공간을 포함한 130비트들로 구성된 최대 싸이즈의 프레임을 전송하기 위한 시간) 보다 길다면, Ln은 의 식 (7)과 같이 제한되어야 한다.here, ( ) Contains the sampling at node j The number of sampled data in. The window scheduling algorithm requires the clocks of the nodes in the common medium to be synchronized. As shown in FIG. 1, undergarment The remainder of is allocated for the transmission of non-real-time data. In the bandwidth allocation algorithm, control data has priority over non-real time data. So, if a node starts transmitting control data, the non-real time interval Will stop automatically. However, non-real-time data items are instantaneous when control data is sampled. If is being transmitted, the transmission of the non-real time data should be completed. Consider the extreme case when the non-real time interval in which only one non-real time data packet can be transmitted is reduced. If the non-real time data packet Ln - If exceeds silver Invades up. So, if the transmission time of non-real-time data is longer than the maximum packet transmission time (the time for transmitting the frame of the maximum size consisting of 130 bits including the worst stuffing bits and interframe space), Ln is expressed by Equation (7). It should be restricted to

Ln =-(7)Ln = - (7)

안정화 되기 위한 상기 CAN 버스 시스템의 트래픽을 위해, 상기 데이터 도달 빈도는 네트워크 용량을 초과하지 않는 정도로 제한되어야 한다. 이벤트 데이터와 비실시간 데이터의 안정 조건은 스테이션 백록(station backlog)의 개념을 사용하여 안정 조건을 제시한 이베(Ibe) 및 쳉(Cheng)으로부터의 결과들을 약간 변형 시키는 것에 의해 얻어질 수 있다. 이 연구에서, 이벤트 데이터 패킷 및 비실시간 데이터의 도달 빈도는 포이즌(possion) 분포를 갖는 것으로 가정되어진다. 이벤트 데이터는 이벤트 데이터는 최상의 우선권을 가지고 전송되고 그들의 전송은 제어 및 비실시간 데이터의 전송에 의해 영향을 받지 않는다. 매우 긴 구간의 t 에 걸쳐 노드 i에서 도달하는 이벤트 데이터의 평균수를 고려하자. 안정화 시키기 위한 큐잉 시스템을 위하여, 그들 데이터 모두를 위해 요구되는 시간은 평균적으로 t 보다 작다. t 중에 도달하는 데이터 패킷의 평균 수는이기 때문에, 노드 i에서 이들 데이터 패킷 모두를 전송하기 위하여 요구되는 시간은 ()Le이다. 이제 t 중에 다른 노드들로부터 이벤트 데이터를 전송하기 위하여 요구되는 시간을 고려하자. 노드 j()에 대해, t 중에 전송되는 데이터 패킷들의 평균 수는이거나, 또는 만약이면 노드 j로 도달된 데이터 패킷들의 평균 수는이다. 그래서, t 중에 다른 노드들로부터 이벤트 데이터를 전송하기 위하여 요구된 시간은이 된다. 안정화를 위한 노드i 에서 상기 이벤트 데이터 큐를 위하여, t 내에 도달하는 모든 데이터는 시간 t 내에 전송되어야 한다.For the traffic of the CAN bus system to be stabilized, the frequency of data arrival should be limited to such an extent that it does not exceed the network capacity. The stabilization conditions of the event data and the non-real-time data can be obtained by slightly modifying the results from Ibe and Cheng, who presented the stabilization conditions using the concept of station backlog. In this study, the frequency of arrival of event data packets and non-real-time data is assumed to have a poison distribution. Event data is sent with event data having the highest priority and their transmission is not affected by the transmission of control and non-real time data. Consider the average number of event data arriving at node i over a very long interval of t. For a queuing system to stabilize, the time required for all of those data is on average less than t. The average number of data packets arriving during t is Because of this, the time required for transmitting all of these data packets at node i is ( Le is. Now consider the time required to send event data from other nodes during t. Node j ( ), The average number of data packets transmitted during t Or if If the average number of data packets reached to node j is to be. Thus, the time required to transmit event data from other nodes during t is Becomes For the event data queue at node i for stabilization, all data arriving within t must be transmitted within time t.

(8) (8)

상기 네트워크 시스템을 안정화 시키기 위하여, 상기 네트워크 시스템에서 모든 전송기 큐들은 안정되어야 한다. 만약 이벤트 데이터의 최상의 도달 빈도를 갖는 전송기의 큐가 안정하다면, 상기 네트워크 시스템내에서 이벤트 데이터의 모든 전송기 큐들은 안정되어야 한다. 그래서, 이벤트 데이터의 안정도 조건은 아래의 식(9)와 같이 된다.In order to stabilize the network system, all transmitter queues in the network system must be stable. If the queue of the transmitter with the best arrival frequency of event data is stable, all transmitter queues of event data in the network system must be stable. Thus, the stability condition of the event data is as shown in Equation (9) below.

(9) (9)

비실시간 메시지들은 보통 여러개의 패캣들로 나눠지며, 전송기 큐 안으로 삽입된다. 이들 패킷들은 하나씩 전송되며, 목적지 노드에서 다시 결합된다. 노드i에서 비실시간 데이터의 도달 빈도가이고, 그것이패킷으로 나눠지면, 노드 i에서 단위 시간 마다 발생된 비실시간 데이터 패킷들의 평균 수는이 된다. 비실시간 데이터 패킷은 최하의 우선권을 가지고 전송되며, 그것은 이벤트 및 제어 데이터의 전송에 의해 영향을 받는다. 매우 긴 주기인 시간 t에 걸쳐 노드 i에 도달하는 비실시간 데이터 패킷들의 평균 수를 고려하여 보자. 상기 큐잉 시스템의 안정화를 위해 이들 모든 데이터를 전송하기 위하여 요구된 시간은 평균적으로 t보다 짧아야 한다. t중에 도달하는 데이터 패킷들의 평균수는이기 때문에, 이들 모든 데이터 패킷들을 전송하기 위하여 요구되는 시간은이 된다. 시간t중에 다른 노드들로부터 비실시간 데이터를 전송하기 위하여 요구된 시간을 고려하여 보자. 노드j()에 대해, 만약이면, 데이터 패킷들이 전송되고 그렇지 않으면 노드 j로의 도달들 사이에서 데이터 패킷들이 전송된다. 그래서, t중에 다른 노드들로부터 비실시간 데이터를 전송하기 위하여 요구되는 시간은이된다. 덧붙여서, t 중에 제어 데이터를 전송하기 위하여 요구되는 시간을 고려하는 것이 필요하다. t 동안 마크로 싸이클들의 수는 (t/)이다.중에 발생된 제어 데이터의 평균 수는이다. 시간 프레임중에 제어 데이터를 전송하기 위하여 평균적으로이 소요되고, 그래서 t 중에 제어 데이터를 전송하기 위하여 요구된 시간은이다. 마지막으로, t 중에 이벤트 데이터를 전송하기 위하여 요구된 시간을 고려하여 보자. 노드 k 에서 이벤트 데이터의 도달 빈도가이면, t 중에 전송된 이벤트 데이터의 수는이 된다. 그래서, t 중에 이벤트 데이터를 전송하기 위하여 요구된 시간은이 된다. 노드 i 에서 비실시간 데이터 큐가 안정화 되기 위하여, t 중에 도달하는 모든 데이터 패킷들은 t 보다 작은 시간내에 전송되어야 한다.Non-real-time messages are usually broken up into multiple packets and inserted into the transmitter queue. These packets are sent one by one and combined again at the destination node. The arrival frequency of non real-time data on node i That is Divided into packets, the average number of non-real-time data packets generated per unit time at node i is Becomes Non-real-time data packets are sent with the lowest priority, which is affected by the transmission of event and control data. Consider the average number of non-real time data packets arriving at node i over a very long period of time t. The time required to transmit all these data for the stabilization of the queuing system should average less than t. The average number of data packets arriving in t is Since the time required to send all these data packets is Becomes Consider the time required to transmit non-real-time data from other nodes during time t. Node j ( ), If If, data packets Is sent and otherwise data packets between arrivals at node j Is sent. Thus, the time required to transmit non-real-time data from other nodes during t is Become. In addition, it is necessary to consider the time required for transmitting control data during t. macro cycles during t The number of (t / )to be. The average number of control data generated during to be. Time frame On average to transmit control data during Is taken, so the time required to transfer control data during t to be. Finally, consider the time required to transmit event data during t. The arrival frequency of event data at node k If, the number of event data transmitted during t Becomes So, the time required to send event data during t Becomes In order for the non-real-time data queue to stabilize at node i, all data packets arriving during t must be transmitted in less than t time.

(10) 10

네트워크 시스템을 안정화 시키기 위하여, 네트워크 시스템 내 모든 전송기 큐들은 안정화 되어야 한다. 만약 최상의 도달 빈도의 비실시간 데이터를 갖는 상기 전송기 큐가 안정화 되면, 상기 네트워크 시스템내 모든 전송기 큐들은 안정화 된다. 그래서, 네트워크 시스템의 안정도 조건은 아래의 식(11)이 된다.In order to stabilize a network system, all transmitter queues in the network system must be stabilized. If the transmitter queue with the non-real time data of the best arrival frequency is stabilized, all transmitter queues in the network system are stabilized. Thus, the stability condition of the network system is given by the following expression (11).

(11) (11)

제어 데이터의 안정도 조건을 고려하자. 도 1에 나타낸 바와 같이, 상기 이벤트 데이터는 실시간 구간 중에 전송될 수 있으며, 실시간 구간은을 초과 해서는 안된다. 실질적인 제조 자동화와 공정 제어 시스템들에 있어서, 이벤트 데이터는 제어 데이터에 비해 그렇게 빈번하게 발생되지 않는다.중에 n 이벤트 데이터가 발생되는 확률은 이다.Consider the stability conditions of the control data. As shown in FIG. 1, the event data may be transmitted during a real time interval, Should not exceed In practical manufacturing automation and process control systems, event data does not occur so frequently compared to control data. Probability of generating n event data during to be.

예로서,=10ms 이고 일 때,중에 10개 이하의 이벤트 데이터가 발생되는 확률은 7.89×10-5이다. 이 발명에서,중에 모든 노드들로부터 발생 될 수 있는 이벤트 데이터의 최대 수는중에 발생되는이하의 이벤트 데이터의 확률이 충분히 작도록 기설정된로 제한된다. 만약이면, 약간의 제어 데이터는내에 전송되지 않고 큐 용량의 오버 플로우로 인해 전송기 큐로부터 거절될 것이다. 그래서, 제어 데이터의 확률적인 안정도 조건은 다음식 (12)와 같이 주어진다.For example, When = 10ms and The probability that 10 or less event data are generated is 7.89 × 10 −5 . In this invention, The maximum number of event data that can be generated from all nodes during Occurred during Preset so that the probability of the following event data is sufficiently small Limited to if , Some control data It will not be sent within and will be rejected from the transmitter queue due to overflow of the queue capacity. Thus, the stochastic stability condition of the control data is given by the following equation (12).

(12) (12)

식(9)내에서 주어진 이벤트 데이터의 안정도 조건은 식(11)내에 포함되기 때문에, 이벤트, 제어, 및 비실시간 데이터를 포함하는 상기 CAN 버스는 식들(11)(12) 내에서 주어진 안정도 조건들을 동시에 만족 시켜야 한다. 전술한 CAN 프로토콜 내 대역 폭 할당은 아래와 같이 요약 되어진다.Since the stability conditions of the event data given in equation (9) are included in equation (11), the CAN bus containing event, control, and non-real-time data is subject to the stability conditions given in equations (11) (12). It must be satisfied at the same time. The aforementioned bandwidth allocation in the CAN protocol is summarized below.

전술한은 주어지는 값들이다.Above Are given values.

먼저, 제1 단계로서 상기 제어 데이터의 샘플링 시간Ti를 결정한다.First, the sampling time Ti of the control data is determined as the first step.

라하자. Let's do it.

이고,라하자, ego, Let's do it.

만약이면, 제어 데이터 트래픽은 오버 로드 상태 이므로, M 또는 Ne를 감소 시키고 제1 단계가 다시 수행된다.if If the control data traffic is overloaded, M or Ne is reduced and the first step is performed again.

만약 νLc+ niLe≤T1의 조건을 만족하면 Ti= kiTi로 설정한다.If νL c + n i L e ≤ T 1 is satisfied, T i = k i T i .

이어서, 제2단계로서, 제어 데이터의 제1 샘플링 순간들 tj을 결정한다.Then, as a second step, determine the first sampling instants t j of the control data.

라 하자. 이때,에 대해서, Let's do it. At this time, about,

이다. to be.

제3단계로서, 비실시간 데이터의 패킷 길이를 결정한다.As a third step, the packet length of the non-real time data is determined.

만약,이면, 그 때이다.if, If then to be.

라 하자. Let's do it.

만약이면, 이벤트 또는 비실시간 데이터 트래픽이 오버 로드 상태이므로, Ne 또는 Nn을 감소 시키고 다시 제3단계를 수행한다.if In this case, since event or non-real-time data traffic is overloaded, Ne or Nn is reduced and the third step is performed again.

만약의 조건을 만족하면 알고리듬을 종료한다.if If the condition is met, the algorithm is terminated.

상기 CAN 프로토콜에서 대역 폭 할당 알고리즘은 시뮬레이션 실험들을 사용하여 입증된다. 상기 네트 워크 시스템은 상기 시스템의 상태가 이벤트의 발생을 갖고서 변화되는 이산 이벤트 시스템으로 분류된다. 그래서, 상기 CAN 시뮬레이션 모델은 이산 이벤트 시스템을 위한 개발 도구인 SIMEN/ARENA을 이용하여 개발된다. 시뮬레이션 모델에 있어서, 상기 CAN 버스는 5개의 제어 루프들(M=5)을 구비하는 것으로 가정된다. 각 제어 루프는 센서, 제어기, 및 액튜에니터의 세 노드들을 갖는다. 도 2는 상기 시뮬레이션 모델에서 각 노드의 형상을 보여주는 테이블이다.The bandwidth allocation algorithm in the CAN protocol is verified using simulation experiments. The network system is classified as a discrete event system in which the state of the system changes with the occurrence of an event. Thus, the CAN simulation model is developed using SIMEN / ARENA, a development tool for discrete event systems. In the simulation model, the CAN bus is assumed to have five control loops (M = 5). Each control loop has three nodes: a sensor, a controller, and an actuator. 2 is a table showing the shape of each node in the simulation model.

노드 그룹들(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로 셋트된다.Node groups (1, 2, 11) (3, 4, 12) (5, 6, 13) (7, 8, 14) and (9, 10, 15) are the control loops (1, 2, 3,4,5). In Fig. 2, data types 1, 2 and 3 represent event, control and non-real time data, respectively. Sensor nodes 2, 4, 6, 8, and 10 have two transmitter queues for control and event data. Controller nodes 1, 3, 5, 7, and 9 also do not have two transmitter queues for control and non-real time data. The CAN bus has 15 nodes and 20 transmitter queues. The number of control, event, and non-real time queues are 10, 5, and 5 (Nc = 10, Ne = 5, Nn = 5), respectively. In FIG. 2, the priority of the frame identifier is allowed in the order of event data, control data and non-real time data. For control loops, control loop 5 is set to the highest priority and control loop 1 is set to the lowest priority. The capacity of the control data transmitter queue is limited to one and that of the event and non-real time data transmitter queues is large enough that no data is saturated due to overflow of the transmitter queue. At this time, the data frequency B of the CAN bus is set to 125 KB / 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로 설정된다.Sensor data and control signals are generated periodically in each control loop. The length of control data is assumed to be 8 bytes, which is the maximum length of the data packet. That is, the total length of the control data is 130 bits including overhead, worst case stuffing bits, and frame interspace (3 bits), and the packet transmission time Lc is 1.04 ms. The sensor node in each control loop sends monitoring data to the supervisory controller node. The mutual arrival time of the monitoring data is 10 ms (with an exponential distribution on average, which is intentionally added high traffic load). )to be. The length of event data is assumed to be 2 bytes because event data typically carries a limited amount of information. The total length of event data is 73 bits, including overhead, worst case stuffing bits and interframe space, and packet transmission time Le is 0.584 ms. It is assumed that the controller node in each control loop sends file data to the supervisory controller node. The length of non-real-time data is assumed to be 30 KB. In the real case, file data is delivered from higher layers and packetized before transmission. In the present invention, the arrival of the non-real time data packet is 17.065 ms (where the mutual arrival time has an exponential distribution on average). Modeled to The supervisory controller node is not assumed to generate any message, and the actuator node in each control loop does not just receive data and transmit. As an example, the maximum allowable delay of event data is assumed to be 10 ms. The maximum loop delay of the five control loops is given as [Φ 1 , Φ 2 , Φ 3 , Φ 4 , Φ 5 ] = [29ms, 60ms, 120ms, 240ms, 480ms]. From step 2 of the algorithm given above, Φ 1 and T 1 are set to 29ms and 10ms, respectively, and [k 1 , k 2 , k 3 , k 4 , k 5 ] = [1,2,4,8,16]. The average number of control data sampled from five control loops during T 1 is = 3.875 and the number of windows in the real time interval is = 4. For example, the probability that an abnormal occurrence of n i event data in T 1 should be <5 × 10 −2, and n i is required to be determined to be 10. Because of this, the traffic of the control data is stochastically stable. The vector of sampling time in the five control loops is [T 1 , T 2 , T 3 , T 4 , T 5 ] = [10 ms, 20 ms, 40 ms, 80 ms, 160 ms]. From step 2, the first sampling instant of control data from nodes 1-10 is [t 1 , t 2 , t 3 , t 4 , t 5 , t 6 , t 7 , t 8 , t 9 , t 10 ] = [0ms, 0ms, 0ms, 0ms, 10ms, 10ms, 30ms, 30ms, 70ms, 70ms]. From step 3 Is greater than the transmission time of the maximum packet length (130 bits) of the CAN protocol. Thus, the transmission time of the non real-time data packet is set to Ln = 1.04 ms.

이기 때문에, 상기 네트워크 시스템의 트래픽은 안정하고, 상기 네트워크 대역 폭은 거의 충분히 이용된다. Because of this, the traffic of the network system is stable, and the network bandwidth is almost fully utilized.

도 3은 상기 시뮬레이션 모델로부터 얻어진 결과들을 보여준다.3 shows the results obtained from the simulation model.

도 3에서, 알고리즘은 CAN버스가 이미 설명된 대역 폭 알고리즘을 채택할 때의 결과들이다. 비 알고리즘의 트래픽 조건은 표1에서 주어진 바와 같이 알고리즘의 그것과 동일하다. 그러나, 비알고리즘은 제어 데이터의 제1샘플링 순간을 고려하지 않는다(즉, ti= 0ms, i = 1 - Nc). 그래서, 상기 대역 폭 할당 알고리즘을 따르지 않는다. 표2에서 거절된 데이터 빈도는 발생된 데이터 수에 대한 거절된 데이터 수의 빈도를 지시한다. 여기서, 상기 거절된 데이터는 큐 용량의 오버 플로우로 인해 상기 전송기 큐에서 거절된 데이터를 의미한다.In Fig. 3, the algorithms are the results when the CAN bus adopts the bandwidth algorithm already described. The traffic condition of the non-algorithm is the same as that of the algorithm as given in Table 1. However, the non-algorithm does not take into account the first sampling instant of the control data (ie t i = 0 ms, i = 1-Nc). So, it does not follow the bandwidth allocation algorithm. The rejected data frequency in Table 2 indicates the frequency of the rejected data number relative to the generated data number. Here, the rejected data means data rejected in the transmitter queue due to overflow of the queue capacity.

도 3은 상기 이벤트 데이터가 최상의 우선권을 가지고 전송되기 때문에 이벤트 데이터의 평균 및 최대 데이터 대기들이 둘 모두의 경우에 있어서, 거의 동등하다는 것을 보여준다. 이벤트 데이터의 최대 데이터 대기 시간은 최대 허용 데이터 대기 10ms 보다 작은 3.93ms 이다. 제어 데이터의 경우에 있어서, 상기 알고리즘 내 최대 데이터 대기는 9.50ms이다. 그것은 최소 샘플링 구간 T1= 10ms을 초과하지 않으며, 어떤 데이터도 거절되지 않는다. 그러나 비알고리즘의 경우에 있어서, 제어 데이터의 최대 데이터 대기는 14.81ms(>10ms) 가 되고, 19(474 이상) 데이터는 상기 전송기 큐에서 거절된다. 비실시간 데이터의 데이터 대기는 상기 CAN 버스의 성능 분석에서 중요한 의미를 갖지 않는다. 상기 트래픽 조건이 안정하기 때문에 어떤 비실시간 데이터도 거절되지 않는다. 도 3은 본 발명에서 도입된 대역폭 할당알고리즘이 응용 시스템들의 성능에 영향을 미치지 않는 비실시간 데이터의 지연을 증가 시키는 정도에서 기 특정화된 한도로 이벤트 및 제어 데이터의 지연을 제한한다.3 shows that the average and maximum data waits of the event data are nearly equivalent in both cases because the event data is sent with the highest priority. The maximum data wait time of event data is 3.93ms less than the maximum allowable data wait 10ms. In the case of control data, the maximum data wait in the algorithm is 9.50 ms. It does not exceed the minimum sampling interval T 1 = 10 ms and no data is rejected. However, in the case of non-algorithms, the maximum data wait for control data is 14.81 ms (> 10 ms) and 19 (474 or more) data is rejected in the transmitter queue. The data wait of non-real-time data has no significant significance in the performance analysis of the CAN bus. No non-real-time data is rejected because the traffic conditions are stable. Figure 3 limits the delay of event and control data to a specified limit in such a way that the bandwidth allocation algorithm introduced in the present invention increases the delay of non-real-time data that does not affect the performance of application systems.

도 4는은 트래픽 조건이 도 2에서 주어진 바와 같이 이전 경우와 동일하나 상기 데이터 빈도는 100 KB/s로 감소되는 것을 보여준다.Figure 4 shows that the traffic conditions are the same as in the previous case as given in Figure 2 but the data frequency is reduced to 100 KB / s.

이 경우에 있어서, 상기 알고리즘에서 주어진 안정도 조건은가 되고, 상기 트래픽 로드는 상기 네트워크 대역폭의 용량을 초과한다. 도 3은 트래픽 로드의 증가 효과가 최하의 우선권 분류를 갖는 상기 비실시간 데이터 상에 주로 가해짐을 보여준다. 상기 네트워크 시스템은 불안정 하기 때문에 비실시간 데이터는 상기 전송기 큐에서 거절된다(이 시뮬레이션 분석에서, 비실시간 데이터의 큐 용량은 133으로 셋트된다.) 그러나, 이벤트 데이터의 최대 데이터 대기는 아직 최대 허용 데이터 대기 10ms 보다 작으며, 어떤 이벤트 데이터도 거절되지 않는다. 상기 대역폭 할당 알고리즘이 적용될 경우에 있어서, 제어 데이터의 최대 데이터 대기는 최대 허용 지연 10ms 보다 아직 작은 9.99ms이며, 어떤 제어 데이터도 거절되지 않는다. 그래서, 상기 대역폭 할당 알고리즘은 상기 트래픽 조건이 어느 정도로 오버로드 될지라도 이벤트 및 제어 데이터의 성능 요구 조건을 만족 시킨다.In this case, the stability conditions given in the algorithm And the traffic load exceeds the capacity of the network bandwidth. 3 shows that the effect of increasing traffic load is mainly exerted on the non-real-time data with the lowest priority classification. Because the network system is unstable, non-real-time data is rejected in the transmitter queue (in this simulation analysis, the queue capacity of non-real-time data is set to 133). However, the maximum data wait for event data is still the maximum allowed data wait. Less than 10ms, no event data is rejected. In the case where the bandwidth allocation algorithm is applied, the maximum data wait of the control data is 9.99 ms which is still less than the maximum allowable delay of 10 ms, and no control data is rejected. Thus, the bandwidth allocation algorithm satisfies the performance requirements of event and control data even if the traffic condition is overloaded to some extent.

피드백 제어 시스템의 성능 상에서 제어 데이터의 거절의 효과는 아래에서 예시되어진다. 제어루프1은 노드들(1,2)로 구성된다. 노드2에서 플랜트의 전송 함수는 아래의 식으로서 선택된다.The effect of rejection of control data on the performance of the feedback control system is illustrated below. Control loop 1 consists of nodes (1, 2). The transfer function of the plant at node 2 is chosen by the equation

그리고 노드(1)에서 디지털 제어기의 전송 기능의 유사 등가는 아래의 식과 같다.Similarity of the transmission function of the digital controller at node 1 is expressed by the following equation.

여기서, s 는 라플라스 변환 변수(Laplace Transformation Variable) 이다. 도 5 (A)와 (B)는 B = 125 KB/s일 때 알고리즘과 비알고리즘의 성능 비교를 보여준다. 도 3에서 나타낸 바와 같이, 여러 제어 데이터는 비알고리즘의 경우에 있어서 거절된다. 이 데이터 거절은 상기 제어기 신호내에서 지터(jitter)를 야기 시키며, 그것은 상기 액튜에이터의 초과 소모를 이끄는 상기 액튜에이터 명령내에서 고주파수 잡음을 야기시킨다. 플랜트 출력의 응답은 또한 지연되며, 그 성능 또한 떨어진다. 여기서, 상기 식(11)에서 주어진 네트워크 시스템의 안정도 조건은 시뮬레이션 실험을 이용하여 확인되어진다. 도 6은 식(11)에서 주어진 비실시간 데이터의 안정화 조건을 검증하기 위하여, 비실시간 데이터의 서로 다른 도달 빈도들에 대해 비실시간 데이터 전송기큐 내에서 대기 메시지들의 수 변화를 보여준다. 이벤트 및 제어 데이터의 트래픽 로드들이 위 예와 B = 125KB/s로서 주어진다. 도 6은 식(11)을 만족하는 조건인일 때, 대기 메시지들의 수가 궁극적으로 안정됨을 보여준다. 그러나, 식(11)을 만족하지 못하는 조건인일 때, 대기 메시지들의 수는 시간 경과들로서 증가되며, 상기 CAN 버스 시스템은 불안정화 된다.Where s is a Laplace Transformation Variable. 5 (A) and (B) show the performance comparison of algorithms and non-algorithms when B = 125 KB / s. As shown in Fig. 3, various control data are rejected in case of non-algorithm. This data rejection causes jitter in the controller signal, which causes high frequency noise in the actuator command that leads to excess consumption of the actuator. The response of the plant output is also delayed and its performance is also degraded. Here, the stability conditions of the network system given in Equation (11) can be confirmed using simulation experiments. 6 shows the change in the number of waiting messages in the non-real-time data transmitter queue for different arrival frequencies of the non-real-time data to verify the stabilization conditions of the non-real-time data given in equation (11). Traffic loads of event and control data are given above example and as B = 125 KB / s. 6 is a condition that satisfies equation (11). , The number of waiting messages is ultimately stable. However, the condition that does not satisfy equation (11) When, the number of waiting messages is increased as time passes, and the CAN bus system becomes unstable.

상기 CAN은 분산된 제어 시스템내 필드 장치들을 지지하는 네트워크 프로토콜이다. 필드 장치들로부터 발생된 데이터는 제어, 이벤트 그리고 비실시간의 3개 카테고리들로 분류된다. 이벤트 및 제어 데이터의 초과 데이터 대기는 상기 CAN 버스와 상호 접속된 응용 시스템들의 성능을 감소시킬 수 있다. 본 발명은 상기 CAN 버스내에 대역폭 할당 알고리즘을 도입한다. 상기 대역폭 할당 알고리즘은 상기 CAN 버스의 대역폭을 충분히 이용하는 것뿐만 아니라 실시간 응용 시스템들의 성능 요구를 만족시킨다. 상기 대역폭 할당 알고리즘은 상기 CAN 프로토콜의 이산 - 이벤트 모델과 피드백 제어 시스템의 연속 시간 모델을 집적화 시킨 시뮬레이션 모델을 사용하여 입증되어진다. 본 발명에서 도입된 대역폭 할당 알고리즘은 CAN 프로토콜을 사용하는 분산된 실시간 제어 및 자동화 시스템들의 설계 및 구축 단계에서 효율적으로 이용될 수 있다.The CAN is a network protocol that supports field devices in a distributed control system. Data generated from field devices is classified into three categories: control, event and non-real time. Excess data latency of event and control data may reduce the performance of application systems interconnected with the CAN bus. The present invention introduces a bandwidth allocation algorithm within the CAN bus. The bandwidth allocation algorithm not only takes full advantage of the bandwidth of the CAN bus but also satisfies the performance requirements of real-time application systems. The bandwidth allocation algorithm is verified using a simulation model that integrates the discrete-event model of the CAN protocol and the continuous time model of the feedback control system. The bandwidth allocation algorithm introduced in the present invention can be effectively used in the design and construction phase of distributed real-time control and automation systems using the CAN protocol.

Claims (14)

콘트롤 에어리어 네트워크 버스(CAN)와 이 CAN버스를 공유하는 복수개의 노드들 및 복수개의 제어 루프들을 갖으며 각 제어 루프는 적어도 하나의 데이터 전송 노드, 센서 및 제어기를 포함하는 CAN 프로토콜내에서 대역폭을 할당하는 방법에 있어서,It has a plurality of nodes and a plurality of control loops that share this CAN bus with a control area network bus (CAN), with each control loop allocating bandwidth within a CAN protocol including at least one data transmission node, a sensor and a controller. In the way, 상기 CAN 버스의 대역폭을 상기 제어 루프들 사이의 샘플링 시간들 중 최소 시간과 동일한 마크로 싸이클의 시간 슬롯들로 분할하는 스텝;Dividing the bandwidth of the CAN bus into time slots of a macro cycle equal to a minimum time of sampling times between the control loops; 실시간 데이터인 이벤트 데이터, 실시간 데이터인 제어 데이터 및 비실시간 데이터 순으로 전송 우선권을 갖도록 그들 데이터의 식별자 필드들 내에 적절한 값을 마킹하는 스텝;Marking an appropriate value in the identifier fields of those data so as to have a transmission priority in order of event data which is real time data, control data which is real time data, and non real time data; 상기 마크로 싸이클을 실시간 구간 및 비실시간 구간들로 다시 분할하는 스텝; 그리고Subdividing the macro cycle into real-time and non-real-time sections; And 상기 실시간 구간 중에 상기 이벤트 데이터 및 제어 데이터를 이 순서대로 전송하고, 상기 비실시간 구간 중에 상기 비실시간 데이터를 전송하는 스텝을 구비함을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.And transmitting the event data and the control data in this order during the real time period, and transmitting the non-real time data during the non-real time period. 제1항에 있어서, 상기 비실시간 구간 중에 적어도 하나의 노드가 제어 데이터를 발생하면 상기 네트워크 대역폭은 자동으로 상기 실시간 구간으로 돌아가는 스텝을 더 구비함을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.The method of claim 1, further comprising the step of automatically returning the network bandwidth to the real-time interval when at least one node generates control data in the non-real-time interval. . 제1항에 있어서, 상기 이벤트 데이터의 식별자 필드 중 처음 두 개의 비트들은 "00"으로, 상기 제어 데이터의 식별자 필드 중 처음 두 개의 비트들은 "01"로, 그리고 상기 비실시간 데이터의 식별자 필드 중 처음 두 개의 비트들은 "10"으로 셋트됨을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.2. The method of claim 1, wherein the first two bits of the identifier field of the event data are "00", the first two bits of the identifier field of the control data are "01", and the first of the identifier field of the non-real-time data. A method of allocating bandwidth within a CAN protocol characterized by two bits being set to "10". 제1항에 있어서, 상기 제어 데이터를 상기 실시간 구간 중에 윈도우 스케쥴링 알고리즘에 의해 전송 시키기 위해 먼저 복수개의 윈도우들을 설정하는 스텝;The method of claim 1, further comprising: first setting a plurality of windows to transmit the control data by a window scheduling algorithm during the real-time period; 각 윈도우의 길이를 상기 제어 데이터의 패킷 전송 시간과 동일한 길이를 갖는 시간 슬롯으로 셋팅하는 스텝;Setting a length of each window to a time slot having a length equal to a packet transmission time of the control data; 상기 윈도우들을 상기 제어 데이터를 발생 시키는 노드들에 의해 공유 시키는 스텝; 그리고Sharing the windows by nodes generating the control data; And 상기 윈도우 스케쥴링 알고리즘을 위해 상기 제어 데이터의 수를 일정 개수 이하로 제한하도록 각 제어 데이터의 샘플링 시간의 시작과 샘플링 구간을 스케쥴링 하는 스텝을 더 포함함을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.And scheduling a start of a sampling time and a sampling interval of each control data so as to limit the number of the control data to a predetermined number or less for the window scheduling algorithm. . 제4항에 있어서, 상기 복수개의 제어 루프들 중 제어 루프 i의 샘플링 시간 Ti은 Φ1가 상기 제어 루프 i 에서 최대 허용 루프 지연 시간이고, Tl가 상기 제어 루프들의 샘플링 시간들 중 최소값이며, Lc는 상기 제어 데이터의 패킷 전송 시간 일 때 아래의 조건,5. The method of claim 4, wherein the sampling time T i of the control loop i of the plurality of control loops is Φ 1 is the maximum allowable loop delay time in the control loop i, T l is the minimum value of the sampling times of the control loops , L c is the following condition when the packet transmission time of the control data, 2Ti+ (Tl- Lc) ≤ Φi 2T i + (T l -L c ) ≤ Φ i 을 만족 시켜야 함을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.A method of allocating bandwidth within the CAN protocol characterized by the fact that 제4항에 있어서, M은 상기 제어 루프들의 수, 상기 복수개의 제어 루프들 중 제어 루프 i의 샘플링 간격이 Ti, ki는 Ti/Tl, Nc는 제어 데이터를 발생시키는 노드들의 수, αk가 상기 Nc개의 노드들로부터 발생하는 데이터의 평균 수, Lc는 상기 제어 데이터 패킷의 전송 시간, Φi는 제어 루프 i의 최대 허용 루프 지연일 때, 상기 샘플링 간격 Ti은 식,The method of claim 4, wherein M is the number of the control loops, a sampling interval of control loop i of the plurality of control loops is T i , k i is T i / T l , N c is the number of nodes generating control data. number, α k is the number average of the data generated from the N c nodes, L c is the transmission time of the control data packets, Φ i is at the maximum allowable loop delay of the control loop i, the sampling interval T i is expression, 을 수행하여 얻어짐을 특징으로 하는 CAN 프포토콜내에서 대역폭을 할당하는 방법.A method for allocating bandwidth within a CAN protocol, characterized in that obtained by performing the following steps. 제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는 식,The method of claim 4, wherein ν is a maximum allowable number of control data generated during a real time interval, M is the number of the control loops, T l is the minimum sampling interval between the control loops, and T M is the interval between the control loops. the maximum sampling interval, each control data t j sampling instant of the (j = 1-N c) , a l is the T M I l the first moment of the first said T 1 slots, U j (a l) is the node j The number of data sampled in A l , including sampling at, N c is the number of nodes generating control data, arbitrary node j is 1-N c , and l is 1-T M / T l , The sampling instant t j of the control data is expressed by tj = inf[Al≥ Al-1; Uj(Al) ≤ ν]에 의해 결정됨을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.tj = inf [A l ≥ A l-1 ; U j (A l ) ≤ ν]. A method of allocating bandwidth within a CAN protocol. 제1항에 있어서, Ln이 상기 노드들에서의 비실시간 메시지의 전송 시간, τn은 비실시간 데이터의 전송 구간, τγ은 실시간 데이터의 전송 구간, Tl은 상기 제어 루프들 사이의 최소 샘플링 구간 일 때, 상기 비실시간 메시지의 전송 시간 Ln은 Ln= Tlγ로서 제한되어야 함을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.The method of claim 1, wherein L n is a transmission time of a non-real time message at the nodes, τ n is a transmission interval of non-real-time data, τ γ is a transmission interval of real-time data, T l is the minimum between the control loops When the sampling period, the transmission time L n of the non-real-time message should be limited to L n = T lγ method for allocating bandwidth in the CAN protocol. 제1항에 있어서, 노드 j에 대해, 전송되는 이벤트 데이터 패킷들의 수가, Ne는 이벤트 데이터를 발생시키는 노드들의 수, Le는 이벤트 데이터 패킷의 전송 시간 일 때, 상기 네트워크 시스템을 안정화시키기 위하여, 상기 이벤트 데이터의 안정도 조건은 식,을 만족시켜야 함을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.The method of claim 1, wherein for node j, the number of event data packets transmitted When N e is the number of nodes generating event data and L e is the transmission time of an event data packet, in order to stabilize the network system, the stability condition of the event data is expressed by: Allocating bandwidth within the CAN protocol, characterized in that 제1항에 있어서, Tl가 상기 제어 루프들의 샘플링 시간들 중 최소값, αk가 상기 Nc개의 노드들로부터 발생하는 제어 데이터의 평균 수, Ne는 이벤트 데이터를 발생시키는 노드들의 수, Nn는 비 실시간 데이터를 발생시키는 노드들의 수, Lc는 상기 제어 데이터 패킷의 전송 시간, Le는 이벤트 데이터 패킷의 전송 시간, Ln는 노드에서 비 실시간 데이터의 전송 시간, 노드k에서 이벤트 데이터의 도달 빈도는이고, 상기 노드j에서 단위 시간마다 발생된 비실시간 데이터 패킷들의 평균 수는일 때, 상기 네트워크 시스템의 안정도 조건은 식,The method of claim 1, wherein T 1 is a minimum value of sampling times of the control loops, α k is an average number of control data generated from the N c nodes, N e is a number of nodes generating event data, N n is the number of nodes generating non-real time data, L c is the transmission time of the control data packet, L e is the transmission time of the event data packet, L n is the transmission time of the non real-time data at the node, event data at node k Frequency of arrival And the average number of non-real time data packets generated per unit time at node j is When the stability condition of the network system is 을 만족 하여야 하는 것을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.A method of allocating bandwidth within a CAN protocol characterized in that it must satisfy 제1항에 있어서, Tl가 상기 제어 루프들의 샘플링 시간들 중 최소값이고, Lc는 상기 제어 데이터 패킷의 전송 시간, Le는 이벤트 데이터 패킷의 전송 시간, ni는 상기 Tl중에 모든 노드들로부터 발생될 수 있는 이벤트 데이터의 최대 수, ν는 실시간 구간 중에 발생된 데이터의 상한 개수 일 때, 상기 제어 데이터의 안정도 조건은 식,The method of claim 1, wherein T l is a minimum value of sampling times of the control loops, L c is a transmission time of the control data packet, L e is a transmission time of an event data packet, and n i is all nodes during the T l . When the maximum number of event data that can be generated from the field, ν is the upper limit of the data generated during the real-time interval, the stability condition of the control data is νLc+ niLe≤ Tl νL c + n i L e ≤ T l 을 만족하여야 함을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.A method of allocating bandwidth within a CAN protocol characterized by that CAN 버스와 이 CAN버스를 공유하는 복수개의 노드들 및 복수개의 제어 루프들을 갖으며 각 제어 루프는 적어도 하나의 데이터 전송 노드, 센서 및 제어기를 포함하는 CAN 프로토콜내에서 대역폭을 할당하는 방법에 있어서,A method of allocating bandwidth within a CAN protocol having a CAN bus and a plurality of nodes and a plurality of control loops sharing the CAN bus, each control loop comprising at least one data transmission node, a sensor and a controller. (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에서의 비실시간 데이터의 도달 빈도, 로 정의하는 스텝;(a) M: number of control loops interconnected by CAN bus, N c : number of nodes generating control data, N e : number of nodes generating event data, N n : node generating non real-time data Number of fields, L c : transmission time of control data packet, L e : transmission time of event data packet, L n : transmission time of non real-time message at node, [Φ i , i = 1-M]: of control loop i Allowable loop delay, [ , i = 1-N e ]: average arrival frequency of event data packets at node i, [ , i = 1-N n ]: average arrival frequency of non real-time messages at node i, and [T i , i = 1-M]: sampling interval of control loop i, A l is the first said T in said T M the first moment of l slot, n i is in the T l all nodes the maximum number of event data that may be generated from, α k is the n c nodes the number average of the data generated from the, ν is a real-time interval The upper limit of the generated data, P j is the number of packet segments at node j, Is the frequency of arrival of the non-real-time data at node j, defined by; (b) 상기 제어 데이터의 샘플링 시간Ti를 결정하기 위하여, 아래의 식들,(b) in order to determine the sampling time T i of the control data, , , , , νLc+ niLe< Tl이면 Ti= KiTl If νL c + n i L e <T l then T i = K i T l 을 수행하는 스텝;Performing a step; (c) 상기 제어 데이터의 첫 번째 샘플링 순간들을 결정하기 위하여, 아래의 식들,(c) in order to determine the first sampling instants of the control data, t1= A1= 0일 때, ( j= 2; l = 1; j ≤ Nc, l ≤ KM; j = j + 1, l = l + 1) 에 대해서 tj= inf[Al≥ Al-1; uj(Al) ≤ ν]When t 1 = A 1 = 0, t j = inf [A l for (j = 2; l = 1; j ≤ N c , l ≤ K M ; j = j + 1, l = l + 1) ≥ A l-1 ; u j (A l ) ≤ ν] 을 수행하는 스텝;Performing a step; (d) 상기 비실시간 데이터의 패킷 길이를 결정하기 위하여, 아래의 식,(d) in order to determine the packet length of the non-real-time data, LnT1- (νLc+ niLe) 이면 Ln= T1- (νLc+ niLe)If L n T 1- (νL c + n i L e ) then L n = T 1- (νL c + n i L e ) 을 수행하는 스텝; 그리고Performing a step; And (e) 식,(단,)(e) equation, (only, ) 만족하면 종료하는 스텝을 구비됨을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.And if it satisfies, terminating the bandwidth in the CAN protocol. 제14항에 있어서, 상기 스텝(b)에서 상기 제어 데이터의 트래픽이 오버 로드되면, 상기 M과 Ne중 어느 하나를 감소시키고 다시 스텝(b)을 수행하는 스텝이 더 구비됨을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.15. The CAN as claimed in claim 14, further comprising: if the traffic of the control data is overloaded in step (b), reducing the one of M and N e and performing step (b) again. How to allocate bandwidth within the protocol. 제14항에 있어서, 상기 스텝(e)에서 상기 이벤트 데이터와 비실시간 데이터의 트래픽 중 어느 하나가 오버 로드되면 상기 Ne와 Nn중 어느 하나를 감소시키고 상기 스텝(d)를 다시 수행하는 스텝을 더 구비함을 특징으로 하는 CAN 프로토콜내에서 대역폭을 할당하는 방법.15. The method of claim 14, wherein if any one of the traffic of the event data and the non-real-time data is overloaded in the step (e), reducing any one of the N e and N n and performing the step (d) again. Further comprising a bandwidth allocation in the CAN protocol.
KR10-2000-0036086A 2000-06-28 2000-06-28 Methode for allocating bandwidth in control area network protocol KR100371098B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0036086A KR100371098B1 (en) 2000-06-28 2000-06-28 Methode for allocating bandwidth in control area network protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0036086A KR100371098B1 (en) 2000-06-28 2000-06-28 Methode for allocating bandwidth in control area network protocol

Publications (2)

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

Family

ID=19674526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0036086A KR100371098B1 (en) 2000-06-28 2000-06-28 Methode for allocating bandwidth in control area network protocol

Country Status (1)

Country Link
KR (1) KR100371098B1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441594B1 (en) * 2002-03-07 2004-07-23 삼성전자주식회사 Communication method adapting priority in HomePNA
KR100520306B1 (en) 2003-06-30 2005-10-13 삼성전자주식회사 An apparatus for controlling bandwidth, and method using the same
KR100764201B1 (en) * 2003-10-06 2007-10-05 주식회사 만도 A communicaton speed setiing method of can communication node
KR100788891B1 (en) * 2004-12-23 2007-12-27 한국전자통신연구원 Method and device for scheduling resources of packet level for integrated traffic
KR100667351B1 (en) * 2005-04-14 2007-01-10 주식회사 케이티프리텔 Apparatus and method for transmitting multimedia data and record media recored program therefor
KR100946902B1 (en) * 2006-05-06 2010-03-09 삼성전자주식회사 Apparatus and method for employing resource in mobile communication system
CN101075945B (en) * 2006-05-19 2011-06-08 中国科学院沈阳自动化研究所 Method for determining realtime Ethernet telecommunication
KR101987890B1 (en) * 2019-04-09 2019-09-30 브이에스아이 주식회사 Method for determining the transmission speed of a communication module in mediating connection of the communication module to a bus, and a device for said method
KR102188303B1 (en) 2019-11-04 2020-12-08 김남성 Manufacturing method of laminated interior material for construction and automobile and its laminated interior material
KR102188309B1 (en) 2019-11-05 2020-12-09 김남성 Manufacturing method of laminated interior material for construction and automobile and its laminated interior material
CN114422607B (en) * 2022-03-30 2022-06-10 三峡智控科技有限公司 Compression transmission method of real-time data

Also Published As

Publication number Publication date
KR20020001403A (en) 2002-01-09

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
KR100371098B1 (en) Methode for allocating bandwidth in control area network protocol
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
Hong Bandwidth allocation scheme for cyclic-service fieldbus networks
KR100807529B1 (en) Method for real-time transmission of wireless fieldbus
CN114830611A (en) Centralized network configuration entity and time-sensitive network control system comprising same
Pedreiras et al. Combining event-triggered and time-triggered traffic in FTT-CAN: Analysis of the asynchronous messaging system
CN114245424A (en) Method and apparatus for a communication network
Cavalieri et al. A novel solution to interconnect FieldBus systems using IEEE wireless LAN technology
CN101431458B (en) CSMA industrial control network scheduling method based on P persisting policy
Kim et al. Scheduling of wireless control networks based on IEEE 802.15. 4 networks: Mixed traffic environment
Miskowicz et al. Performance analysis of predictive p-persistent CSMA protocol for control networks
Tassiulas et al. Optimal anticipative scheduling with asynchronous transmission opportunities
Cavalieri et al. On the integration of fieldbus traffic within IEEE 802.11 wireless LAN
Dewanta et al. Message scheduling approach on dedicated time slot of ISA100. 11a
CN114615205B (en) Mixed flow scheduling method under time sensitive network based on time benefit function
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
Tao et al. Optimal bandwidth scheduling of networked control systems (NCSs) in accordance with jitter
Brahimi et al. Comparison between Networked Control System behaviour based on CAN and Switched Ethernet networks
Wang et al. Real-time performance evaluation of urgent aperiodic messages in FF communication and its improvement

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