KR100455030B1 - 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법 - Google Patents

프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법 Download PDF

Info

Publication number
KR100455030B1
KR100455030B1 KR10-2001-0042779A KR20010042779A KR100455030B1 KR 100455030 B1 KR100455030 B1 KR 100455030B1 KR 20010042779 A KR20010042779 A KR 20010042779A KR 100455030 B1 KR100455030 B1 KR 100455030B1
Authority
KR
South Korea
Prior art keywords
time
data
real
periodic
transmission
Prior art date
Application number
KR10-2001-0042779A
Other languages
English (en)
Other versions
KR20030006833A (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-2001-0042779A priority Critical patent/KR100455030B1/ko
Publication of KR20030006833A publication Critical patent/KR20030006833A/ko
Application granted granted Critical
Publication of KR100455030B1 publication Critical patent/KR100455030B1/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
    • H04L12/4013Management of data rate on the bus
    • 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/40221Profibus

Landscapes

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

Abstract

본 발명은 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법에 관한 것으로, 실시간 데이터들의 전송 지연시간에 대한 요구사항을 만족시키는 동시에 네트워크의 대역폭을 충분히 활용할 수 있도록 필드버스에서 이용할 수 있는 대역폭을 주기적 및 비주기적 구간으로 나누어 데이터 전송 기회가 부여되는 즉시 데이터를 전송하도록 하고, 링크 시간에 맞게 각 노드들간의 시간 동기화를 하는 방법을 제공함으로써, 프로피버스의 데이터링크계층에서 주기적 및 산발적으로 발생하는 실시간 데이터의 전송지연시간이 주어진 최대 허용값을 초과하지 않으며, 프로피버스의 데이터링크계층에서 주기적 및 산발적 실시간 데이터의 전송지연시간 요구사항을 만족시키는 동시에 프로피버스의 주어진 대역폭을 최대한 활용하는 등의 효과가 있다.

Description

프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법{BANDWIDTH ALLOCATION METHOD FOR REAL TIME DATA TRANSMISSION IN PROFIBUS}
본 발명은 실시간 데이터 전송을 위한 대역폭 할당방법에 관한 것으로서, 특히 산업용 통신망으로 사용되는 오픈 필드버스의 일종인 프로피버스(Profibus)에서 주기적 및 산발적으로 발생하는 실시간 데이터들의 전송 지연시간에 대한 요구사항을 만족시키는 동시에 네트워크의 대역폭을 충분히 활용하도록 하는 실시간 데이터 전송을 위한 대역폭 할당방법에 관한 것이다.
기존에 프로피버스는 물리계층, 데이터링크계층 및 응용계층의 3계층으로 이루어져 있는데, 이중 물리계층은 하나의 버스형태의 전송매체에 여러 대의 노드가 접속되는 형태인 버스 토플리지로 구성되며, 이러한 버스 형태의 통신망에서는 두 개 이상의 노드가 동시에 데이터를 전송하는 경우에 전송매체에서 데이터 충돌이 발생하여 데이터가 성공적으로 전송되지 못한다.
이러한 데이터 충돌을 방지하기 위하여 프로피버스의 데이터링크계층에서는 토큰-패싱(Token Passing)에 의한 데이터 전송을 지원한다.
상기 토큰-패싱 방식에서는 매체 접근권한을 부여하는 토큰이라는 특정 프레임(특수한 데이터)을 버스에 접속된 노드들을 주어진 순서에 따라 전송로 상에 순환시켜 그것을 얻은 단말기가 전송큐에 대기하고 있는 데이터의 전송권을 갖는다. 데이터의 송신을 완료한 후 해당 노드들은 토큰 프레임을 다음 노드에 전달하고 토큰을 해방하며, 이러한 과정의 반복을 통하여 매체에 접속된 노드들은 순환적(cyclic)으로 데이터 전송을 수행한다. 프로피버스에 접속되는 각종 필드 장치로부터 생성되는 데이터들은 크게 산발적 실시간 데이터와 주기적 데이터 및 비실시간 데이터의 세 가지 종류로 구별되며, 산발적 실시간 데이터는 각종 이밴트와 경고신호를 전달하기 위해서 사용되고, 일반적으로 데이터 길이가 짧고 가장 높은 우선 순위로 전송된다. 그리고 주기적 데이터는 주로 피드백제어 시스템에서 센서값을 주기적으로 샘플링(sampling)하거나 주기적인 제어명령을 액추에이터(actuator)에 전달하기 위해서 사용되고, 반드시 샘플링 주기의 제한 시간이내에 데이터 전송이 완료되어야 하는 실시간성을 요구하며, 그리고 비실시간 데이터는 전송 지연시간에 크게 제약을 받지 않으며, 여기에는 프로그램 또는 데이터 파일 등이 포함된다.
필드버스에서는 위의 세 가지 종류의 데이터들이 하나의 네트워크 매체를 공유하게 되므로, 네트워크의 트래픽이 적절히 관리되지 못하면 산발적 실시간 데이터나 주기적 데이터의 전송 지연시간이 제한 시간을 만족하지 못하는 경우가 발생할 수 있는 문제점이 있었다.
또한, 프로피버스에서 산발적 및 주기적 실시간 데이터의 지연시간은 주어진 최대 허용 지연시간을 초과하지 않아야 하는데, 프로피버스의 데이터 지연시간은 큐잉지연시간(전송큐에 도착한 데이터가 전송큐 끝단에 도착할 때까지의 시간으로, 해당 데이터보다 먼저 전송큐에 도착한 데이터들이 모두 전송을 완료하는데 소요되는 시간), 토큰 도착대기시간(전송큐의 끝단에 도착한 데이터가 토큰을 수신할 때까지 소요되는 시간), 데이터 패킷 전송시간(토큰을 수신한 노드가 데이터 패킷을 전송하는데 소요되는 시간) 및 데이터 패킷 전파시간(패킷이 매체를 통하여 수신단까지 전파되는 시간)의 합으로 구성된다.
그러나, 산발적으로 발생하는 데이터의 경우 전송큐에 대기하는 데이터의 개수가 불규칙(random)하게 변하여 큐잉지연시간이 불규칙해지며, 또한 토큰이 모든 노드를 한번 순환하는 동안에 전송되는 데이터의 개수가 불규칙하여 토큰 도착대기시간이 불규칙하기 때문에, 최대 허용지연시간 이내에 전송이 완료되어야 하는 실시간 데이터의 경우, 데이터 지연시간이 불규칙하게 변함에 따라 실시간 데이터 전송의 요구사항을 보장하지 못하는 문제점이 있으며, 불규칙하게 변하는 데이터 전송 지연시간이 최대 허용 지연시간을 초과하지 못하도록 하기 위해서는 최악의 경우를 고려하여 통신망 시스템을 설계하여야 하나 이럴 경우에는 네트워크 대역폭의 이용도가 크게 감소하는 문제점이 있었다.
따라서, 본 발명은 상기 종래 기술의 문제점을 해결하기 위하여 창안한 것으로, 실시간 데이터들의 전송 지연시간에 대한 요구사항을 만족시키는 동시에 네트워크의 대역폭을 충분히 활용할 수 있도록 필드버스에서 이용할 수 있는 대역폭을 주기적 및 비주기적 구간으로 나누어 데이터 전송 기회가 부여되는 즉시 데이터를 전송하도록 하고, 링크 시간에 맞게 각 노드들간의 시간 동기화를 하는 방법을 제공하는데 그 목적이 있다.
도 1은 본 발명에 따른 필드버스 대역폭 할당을 보인 예시도.
도 2는 본 발명에 적용되는 시간 동기화 알고리즘의 동기화 타이밍도.
도 3은 본 발명을 적용할 네트워크 시스템의 구조를 간략하게 보인 예시도.
도 4는 본 발명에 따른 주기적 데이터의 생성 패턴을 보인 예시도.
도 5는 종래 기술과 본 발명과의 데이터 지연시간에 대한 성능 비교를 보인 표.
이와 같은 목적을 달성하기 위한 본 발명의 실시간 데이터 전송을 위한 대역폭 할당방법은, 프로피버스의 데이터링크계층에서 주기적 또는 산발적으로 발생하는 실시간 데이터의 전송을 위한 대역폭 할당방법에 있어서, 주기적 및 비실시간 대역폭을 구분하기 위하여, 토큰 프레임의 발신원 주소(source address)와 수신처 주소(destination address)가 사용되지 않는 비트를 이용하여, '1' 또는 '0'으로 설정하는 단계; 주기적 데이터를 생성하는 소정 갯수의 노드에서, 프로피버스의 데이터 최대 허용 지연시간을 초과하지 않는 범위 이내에서 최대 허용 지연시간 관계 알고리즘을 만족시키는 최대값으로 주기적 실시간 데이터의 샘플링 주기()를 결정하는 단계; 주기적 데이터를 생성하는 각 노드에서, 최초 데이터 생성 순간 설정 알고리즘을 만족시키도록 첫번째 주기적 실시간 데이터 샘플링 시간()을 설정하는 단계; 주기적 데이터 트래픽의 안정화 조건을 사용하여 산발적 실시간 데이터의 최대 할당 대역폭에 비례하는 비실시간 데이터의 데이터 패킷 길이()를 구하는 단계; 및 상기 주기적 실시간 데이터의 샘플링 주기() 파라미터, 첫번째 주기적 실시간 데이터 샘플링 시간() 파라미터 및 비실시간 데이터의 데이터 패킷 길이() 파라미터를 사용하여 각 노드에서 생성되는 주기적 데이터의 전송을 제어하는 단계; 로 이루어진 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명한다.
도 1은 본 발명에 따른 필드버스 대역폭 할당을 보인 예시도로서, 이에 도시한 바와 같이 주기적 구간에서는 주기적 데이터를 생성하는개의 노드가개의 윈도우를 동적으로 공유하는데, 주기적 구간에서의 대역폭 할당기법은 주기적 구간에서 생성되는 주기적 데이터의 개수가개를 초과하지 않도록 각 노드에서 주기적 데이터의 생성주기을 결정한다.
개의 주기적 데이터 생성노드에서 최대 허용 지연시간을 원소로 하는 벡터와 데이터 생성주기를 원소로 하는 벡터는 오름차순으로 정렬한다(즉,,).
여기에서,개의 노드 중에서 최소 생성주기이고,는 최대 생성주기 이다.는 최대 허용 지연시간중에서 최소값인로 결정되며, 나머지 노드들의 생성주기는 최대 허용 지연시간를 초과하지 않는 범위 내에서 다음의 최대 허용 지연시간 관계 알고리즘을 만족시키는 최대값으로 결정되고, 이 경우에 모든 생성주기는 서로 배수의 관계를 갖는다.
Rem,
따라서, 네트워크의 대역폭 할당은의 주기로 반복한다.
프로피버스의 대역폭은주기 내에서의 주기로 분할되며,의 주기 내에서 주기적 구간동안개 이하의 데이터가 생성되도록 하기 위하여서는개의 노드에서 생성되는 주기적 데이터가 다음의 조건을 만족하도록 설정되어야 한다.
여기서,동안 생성되는 주기적 데이터 개수의 평균값이며, 주기적 데이터를 생성하는 노드에서 첫 번째 주기적 데이터 생성순간인는 다음의 최초 데이터 생성 순간 설정 알고리즘에 따라 설정한다.
:, i=1에서, l=1에서
상기에서,구간에서-번째 T1슬롯이 시작되는 시점이며,-번째 노드에서 생성된 주기적 데이터를 포함하여의 순간에 생성된 주기적 데이터의 개수이다.
주기적 데이터는의 구간 내에서 전송이 완료되어야 하기 때문에 주기적 데이터 트래픽의 안정화 조건은 다음과 같다.
여기서,는 주기적 구간 동안 전송되는 산발적 실시간 데이터에 최대로 할당될 수 있는 대역폭이다.
도 1의대역폭 구간에서 주기적 구간을 제외한 나머지 대역폭은 비실시간 데이터의 전송을 위하여 할당되는데, 비실시간 데이터는 전송지연시간에 크게 구애를 받지 않기 때문에 어느 노드에서든지 주기적 데이터가 생성되면 비실시간 구간은 즉시 중단되고, 네트워크의 대역폭은 다시 주기적 구간으로 전환된다.
주기적 구간동안개의 주기적 데이터 전송큐 가운데개 이하의 데이터만이 생성되도록 미리 스케줄링(scheduling)되어 있으므로, 토큰이 네트워크 내의 모든 노드를 순환하는 동안에 이러한 주기적 데이터들은 전송이 완료된다. 비교적 데이터 길이가 긴 비실시간 데이터는 전송단에서 여러 개의 패킷으로 분할되어 전송되며, 수신단에서는 이를 재조립한다.
또한, 상기 비실시간 데이터의 경우에는 주기적 및 산발적 실시간 데이터의 전송지연시간 요구사항을 만족시키기 위하여 필요에 따라 패킷 전송시간을 다음과 같이 제한한다.
상기에서는 주기적 구간동안 전송되는 산발적 실시간 데이터에 최대로 할당될 수 있는 대역폭을 말한다.
만일, 산발적 실시간 데이터의 최대 허용 지연시간보다 작은 경우 비실시간 데이터 패킷의 전송시간은 다음과 같이 제한된다.
네트워크 시스템이 안정화되기 위하여서는 산발적 및 비실시간 데이터의 트래픽 부하가 네트워크의 용량을 초과하지 않아야 하며, 실시간 데이터와 비실시간 데이터 트래픽의 안정화 조건은 다음과 같다.
산발적 실시간 데이터가의 시간동안 여러 개 발생하는 경우는 실제 시스템에서 거의 발생하지 않으나, 특별한 경우를 반드시 고려하여야 하는 경우라면 단일 서비스방식 대신에 토큰이 도착한 순간에 전송큐에 대기하고 있는 모든 데이터를 전송하는 고갈(exhaustive) 서비스방식을 채택한다.
그러나, 상기 프로피버스에서 대역폭 할당기법을 적용하기 위해서는 두 가지 조건인 주기적 및 비실시간 대역폭 구분과 노드들 간의 시간 동기화가 이루어져야 한다.
먼저, 첫 번째 조건인 주기적 및 비실시간 대역폭 구분은 토큰 프레임의 발신원 주소(source address, SA)와 수신처 주소(destination address, DA)가 0~6번 비트만 사용하고, 7번 비트를 사용하지 않는 것을 이용하여 구분을 할 수 있도록 한다. 즉, 토큰을 받는 노드가 주기적 데이터를 전송해야 될 경우에는 토큰 프레임의 SA, DA의 7번 비트를 '1'로 설정하여 전송하고, 다른 노드들이 SA, DA의 7번 비트가 '1'로 지정된 토큰 프레임을 수신하면 주기적 구간이 시작되었음을 인식하여 자신이 가지고 있는 주기적 데이터를 전송한다. 이후, SA, DA의 7번 비트를 '1'로 설정한 노드가 토큰 프레임을 다시 수신하면 SA, DA의 7번 비트를 '0'으로 설정하며, 이때부터 다시 비주기적인 구간이 시작된다.
또한, 각 노드는 자신이 주기적 구간을 설정했음을 인식하기 위한 StartPeriod 상태인 상태변수와 현 구간이 주기적 구간임을 인식하기 위한 IsPeriod 상태변수를 갖는다. 즉 토큰을 수신한 노드가 주기적 데이터를 가지고 있고 IsPeriod 변수가 '0'으로 설정되어 있으면 해당 노드는 StartPeriod 변수와 IsPeriod 변수를 '1'로 설정하고, 주기적 데이터만을 전송한다. 각 노드는 토큰 프레임을 전송하기 전에 현재 구간이 주기적 구간임을 나타내는 IsPeriod 변수가 '1'인지를 검사하여 '1'이면 SA, DA의 7번째 비트를 '1'로 설정하고, IsPeriod 변수가 '0'이면 SA, DA의 7번째 비트를 '0'으로 설정한 다음 토큰 프레임을 전송한다. 이후, 주기적 구간을 끝내고 비주기적 구간을 시작하거나 계속 주기적 구간을 유지하기 위해서 각 노드는 토큰 프레임을 수신환 후 SA, DA의 7번째 비트가 '1'인가를 검사하여 '1'이면 다시 자신이 시작한 주기적 구간임을 표시하는 StartPeriod 변수가 '1'인가를 검사하여 StartPeriod 변수가 '1'이면 주기적 구간임을 표시하는 IsPeriod 변수와 StartPeriod 변수를 '0'으로 설정하고 주기적 구간을 종료하지만, StartPeriod 변수가 '0'이면 IsPeriod 변수를 '1'로 설정하여 주기적 구간이 유지되도록 한다.
그리고, 두 번째 조건인 노드들 간의 시간 동기화를 시키기 위해서는 먼저 각 스테이션의 노드 시간을 동기화 시켜야 한다. 노드들간에 시간 동기화를 위해서 네트워크 내에 기준시간을 제공하는 시간-마스터 노드가 존재하며, 이 시간-마스터 노드는 소정 프레임을 이용하여 시간 정보를 전달한다. 즉 도 2에 도시한 바와 같이 시간-마스터 노드가 주기적으로 시간 동기화를 위한 SD1, SD2 프레임을 연속하여 보내고, SD1 프레임의 마지막 바이트를 보낸 직후 그때의 시간(TM1)을 기록한 다음 이를 SD2 프레임을 통하여 시간-슬레이브 노드들에게 전송한다. 상기 SD1 프레임을 수신한 시간-슬레이브 노드들은 마지막 바이트를 받자마자 그때의 시간(TS1)을 기록하고, 두 번째 동기화 메시지인 SD2 프레임을 수신한 시간(TS2)을 기록한 다음 다음의 시간 결정 알고리즘으로 현재의 시간(time)을 결정한다.
time = TM1 + (TS2 - TS1) + p - a + b
[여기서, p는 전파 지연(propagation delay), a는 프로그램 시퀀스 지연(program sequence delay), b는 SD1 프레임에서 수신 인터럽트 처리시간(receive interrupt processing time for SD1 frame)]
상기 본 발명의 동작 설명을 바람직한 실시예를 통해 상세히 하면 다음과 같다.
도 3은 본 발명을 적용할 네트워크 시스템의 구조를 간략하게 보인 예시도로서, 이에 도시한 바와 같이 프로피버스의 물리계층을 포함하는 피씨(PC) 인터페이스 보드의 형태로 구성되며, 데이터링크계층 프로토콜을 펌웨어로 구현하여 탑재하고, 열 개의 노드와 매체를 통하여 전송되는 모든 프레임을 수신하여 이를 알에스(RS)-232 통신을 통하여 PC에게 전달해 주는 기능을 수행하는 모니터 보드로 구성한다.
노드 1,3,5,7,9에서는 산발적 실시간 데이터와 주기적 데이터가 생성되고, 노드 2,4,6,8,10에서는 비실시간 데이터와 주기적 데이터가 생성되며, 이중 10번 노드는 본래 기능 외에 노드들 간의 시간 동기화를 위한 시간-마스터 노드 역할을 수행한다고 가정하고, 필드버스 데이터 링크(Fieldbus Data Link, FDL) 프로토콜의 전송속도는 93,750bps로 설정하며, 주기적 데이터 길이는 85 바이트(헤더 : 11 바이트, 순수 데이터 : 74 바이트)이고, 실제 전송되는 데이터의 길이는 1바이트 당 11비트이므로, 935 비트 데이터 길이를 가지는 주기적 데이터의 전송시간는 처리시간 30비트 타임을 합하여 9.97 msec(965 비트 시간)로 설정하며(여기서 처리시간이란 전송 큐에서 메시지를 꺼내 오고, 프레임을 만들어서 전송하는 데까지 소요되는 시간), 산발적 실시간 데이터의 길이는 14 바이트(헤더 : 8 바이트, 순수 데이터 : 6 바이트)이지만, 실제 전송되는 데이터 길이는 154 비트여서 산발적 실시간 데이터의 전송시간는 처리시간을 합하여 1.96 msec(184 비트 시간)으로 설정하고, 비실시간 데이터의 길이는 일반적으로 가변적이지만 모든 노드에서 똑같이 프레임 최대 길이인 255 바이트를 생성하는 것으로 설정하며, 각 노드에서 산발적 실시간과 비실시간 데이터의 도착 빈도는 각각 0.001 msec-1, 0.002 msec-1로 설정하고, 토큰 오버 헤드는 토큰 처리시간과 토큰 전송시간을 합한 시간으로 1 msec가 소요되는 것으로 하여 10개의 노드를 순환하는데 소요되는 토큰 순환시간은 10 msec로 설정한다.
산발적 실시간 데이터의 최대 허용 데이터 지연시간()은 1.00 msec이며, 10개의 노드에서 생성되는 주기적 데이터의 최대 허용 지연시간()은 [100, 160, 200, 240, 400, 600, 800, 1000, 1600, 2000] msec로 설정한 다음 이러한 트래픽 조건에 대하여 본 발명에 적용하면 주기적 실시간 데이터의 샘플링 주기()는= [100, 100, 200, 200, 400, 400, 800, 800, 1600, 1600], 각 노드에서 첫 번째 주기적 실시간 데이터 샘플링 순간()은= [0, 0, 0, 0, 100, 100, 300, 300, 700, 700], 비실시간 데이터의 데이터 패킷 길이()는= 5.13 msec(41 바이트 : 오버헤드 포함 481 비트 시간)로 도출되었다.
상기에서 도출된 결과에 따라 도 4에 도시한 첫 번째주기 동안에 10개의 노드에서 생성되는 주기적 데이터의 데이터 생성 패턴에서와 같이 각각의슬롯 내에서 생성되는 주기적 데이터의 개수는개를 초과하지 않으며, 이러한 데이터의 생성 패턴은의 주기로 반복된다.
또한, 네트워크 이용도(U)를 단위 시간 당 네트워크에서 데이터 전송에 소요되는 시간의 비율로 정의하면, 산발적 실시간, 주기적 및 비실시간 데이터 트래픽으로 구성되는 필드버스 시스템에서 네트워크 이용도의 관계식은 다음과 같이 나타내어진다.
상기 실시예에서 산발적 실시간, 주기적 및 비실시간 데이터의 네트워크 이용도는 각각 1%, 39%, 31% 이며, 전체 네트워크 이용도는 71%이다.
이러한 네트워크 이용도는 데이터를 전송하는데 소요되는 시간만을 고려한 것이며, 토큰의 전송에 따르는 필수 불가결한 오버 헤드()는 제외하였기 때문에 토큰 전달을 포함한 네트워크 부하는 90%를 초과하여 네트워크의 자원을 충분히 활용하는 경우이다.
상기에서 산출된 각 파라미터를 적용하여 데이터 지연시간에 대한 성능을 본 발명에 따른 일실시예에 의한 방법과 기존의 프로피버스 프로토콜을 그대로 적용한 방법을 비교하여 도 5에 도시하였는데, 상기 도 5에서 실패빈도란 데이터 지연시간이 최대 허용 지연시간을 초과하는 경우를 말한다.
일반적으로 주기적 데이터의 경우 전송 지연 시간이 데이터 생성 주기보다 작아야 성공적으로 전송될 수 있다. 주기적 데이터의 전송큐 용량은 1로 제한되며, 전송지연시간이 데이터 생성 주기보다 큰 경우에는 전송큐 내에서 대기하고 있던 데이터가 새로이 생성된 데이터에 의하여 대체되어 데이터 전송 실패가 발생한다.
상기 도 5에서는 주기적 데이터가 최대 허용 지연시간의 주기로 생성되도록 미리 설정하였는데, 주기적 데이터의 경우를 보면 프로피버스의 경우 노드 1,2,3,4에서 최대 허용 전송 지연시간이 167,257,478,383 msec로 최대 허용 지연시간이 100,160,200,240 msec를 초과하여 최대 허용 전송 지연시간의 요구를 충족시키지 못하고 있으며, 이로 인하여 약 14%의 데이터가 전송 실패되는 현상이 발생하는 것을 알 수 있다.
반면에, 본 발명의 일실시예를 적용하는 경우에는 도 4에 도시한 바와 같이슬롯 동안 발생되는 주기적 데이터의 개수를개 이하가 되도록 데이터 생성주기와 최초 데이터 생성 시간을 스케줄링(scheduling)하여 모든 노드에서 최대 전송 지연시간이 95 ms를 초과하지 않도록 함으로써, 전송 실패가 발생하지 않는다.
산발적 실시간 데이터의 경우에는 상기 일실시예와 프로피버스의 두 경우 모두 최대 전송 지연시간이 허용 지연시간의 한계인 10 msec를 넘지 않는 것을 볼 수 있다. 이는 산발적 실시간 데이터가 두 경우에서 모두 하이(high) 우선순위로 처리되었기 때문이다.
비실시간 데이터의 경우에는 상기 일실시예의 경우에 데이터 지연시간이 응용시스템에 미치는 영향은 중요하지 않기 때문에 이 전송 지연시간을 증가시키는 대신에 실시간 데이터 전송을 요구하는 산발적 실시간 데이터와 주기적 데이터의 전송 요구사항을 만족시킨다.
본 발명이 바람직한 실시예를 참조하여 특별히 도시되고 기술되었지만, 본 발명 분야의 당업자는 본 발명 사상과 범위를 벗어남이 없이 다양한 변경이 가능하다는 것을 이해할 수 있을 것이다. 따라서, 본 발명은 특허청구범위에 의해서만 제한된다.
이상에서 설명한 바와 같이, 본 발명 실시간 데이터 전송을 위한 대역폭 할당방법은 프로피버스의 데이터링크계층에서 주기적 및 산발적으로 발생하는 실시간 데이터의 전송지연시간이 주어진 최대 허용값을 초과하지 않으며, 프로피버스의 데이터링크계층에서 주기적 및 산발적 실시간 데이터의 전송지연시간 요구사항을 만족시키는 동시에 프로피버스의 주어진 대역폭을 최대한 활용하는 등의 효과가 있다.

Claims (4)

  1. 프로피버스의 데이터링크계층에서 주기적 또는 산발적으로 발생하는 실시간 데이터의 전송을 위한 대역폭 할당방법에 있어서,
    주기적 및 비실시간 대역폭을 구분하기 위하여, 토큰 프레임의 발신원 주소(source address)와 수신처 주소(destination address)가 사용되지 않는 비트를 이용하여, '1' 또는 '0'으로 설정하는 단계;
    주기적 데이터를 생성하는 소정 갯수의 노드에서, 프로피버스의 데이터 최대 허용 지연시간을 초과하지 않는 범위 이내에서 최대 허용 지연시간 관계 알고리즘을 만족시키는 최대값으로 주기적 실시간 데이터의 샘플링 주기()를 결정하는 단계;
    주기적 데이터를 생성하는 각 노드에서, 최초 데이터 생성 순간 설정 알고리즘을 만족시키도록 첫번째 주기적 실시간 데이터 샘플링 시간()을 설정하는 단계;
    주기적 데이터 트래픽의 안정화 조건을 사용하여 산발적 실시간 데이터의 최대 할당 대역폭에 비례하는 비실시간 데이터의 데이터 패킷 길이()를 구하는 단계; 및
    상기 주기적 실시간 데이터의 샘플링 주기() 파라미터, 첫번째 주기적 실시간 데이터 샘플링 시간() 파라미터 및 비실시간 데이터의 데이터 패킷 길이() 파라미터를 사용하여 각 노드에서 생성되는 주기적 데이터의 전송을 제어하는 단계; 로 이루어진 것을 특징으로 하는 실시간 데이터 전송을 위한 대역폭 할당방법.
  2. 삭제
  3. 제 1항에 있어서,
    주기적 실시간 데이터의 샘플링 주기()를 결정하는 단계는,
    시간-마스터에서 주기적으로 시간 동기화를 위한 소정 프레임(SD1, SD2)을 연속해서 보내고, SD1 프레임의 마지막 바이트를 보낸 직후 그때의 시간(TM1)을 기록한 다음 이를 SD2 프레임을 통하여 시간-슬레이브 노드들에게 전송하는 단계와; 상기 SD1 프레임을 수신한 시간-슬레이브 노드에서 마지막 바이트를 받자마자 그때의 시간(TS1)을 기록하고, 두 번째 동기화 메시지인 SD2 프레임을 수신한 시간(TS2)을 기록하여 시간결정 알고리즘에 의해 현재의 시간(time)을 결정하는 단계를 더 포함하는 것을 특징으로 하는 실시간 데이터 전송을 위한 대역폭 할당방법.
  4. 제 3항에 있어서,
    상기 현재의 시간(time)은 time = TM1 + (TS2 - TS1) + p - a + b 의 시간결정 알고리즘에 의해 계산되는 값으로 설정되되,
    상기 p는 전파 지연(propagation delay), a는 프로그램 시퀀스 지연(program sequence delay), b는 SD1 프레임에서 수신 인터럽트 처리시간(receive interrupt processing time for SD1 frame) 인 것을 특징으로 하는 실시간 데이터 전송을 위한 대역폭 할당방법.
KR10-2001-0042779A 2001-07-16 2001-07-16 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법 KR100455030B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0042779A KR100455030B1 (ko) 2001-07-16 2001-07-16 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0042779A KR100455030B1 (ko) 2001-07-16 2001-07-16 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법

Publications (2)

Publication Number Publication Date
KR20030006833A KR20030006833A (ko) 2003-01-23
KR100455030B1 true KR100455030B1 (ko) 2004-11-12

Family

ID=27715285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0042779A KR100455030B1 (ko) 2001-07-16 2001-07-16 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법

Country Status (1)

Country Link
KR (1) KR100455030B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150143110A (ko) 2014-06-13 2015-12-23 김다인 책장용 책꽂이 커버

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101050658B1 (ko) * 2005-07-05 2011-07-19 삼성전자주식회사 레지덴셜 이더넷에서 고속 이더넷을 수용하는 전송 사이클설정방법
KR101243434B1 (ko) * 2011-10-20 2013-03-13 성균관대학교산학협력단 게이트웨이를 이용한 필드버스 동기화 방법 및 게이트웨이를 이용한 필드버스 동기화 시스템
JP6969455B2 (ja) 2018-03-13 2021-11-24 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
CN114640420A (zh) * 2020-12-15 2022-06-17 北京飞利信电子技术有限公司 一种基于fpga的高速实时流媒体总线数据传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000051286A (ko) * 1999-01-20 2000-08-16 이종훈 표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법
US6192036B1 (en) * 1995-08-02 2001-02-20 Siemens Ag Method of operating a data transmission system
KR20010110868A (ko) * 2000-06-08 2001-12-15 최형석 티씨피/아이피 기반 오픈 네트워크 컨트롤러

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192036B1 (en) * 1995-08-02 2001-02-20 Siemens Ag Method of operating a data transmission system
KR20000051286A (ko) * 1999-01-20 2000-08-16 이종훈 표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법
KR20010110868A (ko) * 2000-06-08 2001-12-15 최형석 티씨피/아이피 기반 오픈 네트워크 컨트롤러

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150143110A (ko) 2014-06-13 2015-12-23 김다인 책장용 책꽂이 커버

Also Published As

Publication number Publication date
KR20030006833A (ko) 2003-01-23

Similar Documents

Publication Publication Date Title
US7002911B1 (en) Flow control mechanism
US6108306A (en) Apparatus and method in a network switch for dynamically allocating bandwidth in ethernet workgroup switches
US6310886B1 (en) Method and apparatus implementing a multimedia digital network
US6031821A (en) Apparatus and method for generating a pause frame in a buffered distributor based on lengths of data packets distributed according to a round robin repeater arbitration
JP4790289B2 (ja) 非同期ネットワークでパケット送達時間を保証する方法、装置、およびシステム
US20040208123A1 (en) Traffic shaping apparatus and traffic shaping method
MXPA06010111A (es) Metodo y aparato para la entrega de datagrama isocrono sobre un enlace de datos basado en contencion.
EP0791255A1 (en) Entry polling method, device and router for providing contention-based reservation mechanism within minislots
JPH07226769A (ja) 通信交換装置に付随する伝送母線へのアクセスを裁定する方法及び装置
WO2008041271A1 (fr) Système d'émission/reception, noeud et procédé de communication
Hong Bandwidth allocation scheme for cyclic-service fieldbus networks
US7688863B2 (en) Methods and apparatus for sharing network bandwidth
Scharbarg et al. CAN-Ethernet architectures for real-time applications
KR100455030B1 (ko) 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법
JP4652314B2 (ja) イーサoamスイッチ装置
US20230090803A1 (en) Network Infrastructure Device, Communication Terminal and Method for Synchronizing Control Applications via a Communication Network for Transferring Time-Critical Data
CN112769661B (zh) 一种高速时分复用通信总线时隙分配与控制方法
JP2001203696A (ja) 人工衛星搭載用データバス制御方法、そのシステム
CN117675606A (zh) 一种基于数字化仿真的时间敏感网络资源调度算法组合方法
JP2000059377A (ja) 通信装置
KR20020001403A (ko) Can 프로토콜내에서 대역폭을 할당하는 방법
Lian et al. Network protocols for networked control systems
JPH10242981A (ja) ダイナミックタイムスロット割り当てシステム
AU2008800A (en) Queue management in packet switched networks
Marau et al. Asynchronous traffic signaling over master-slave switched ethernet protocols

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