검색 전체 메뉴
PDF
맨 위로
OA 학술지
OMNeT++을 이용한 스페이스와이어 네트워크의 타임코드 전송 지연 분석 Analysis of transmission delay of timecode over SpaceWire network using OMNeT++
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT
OMNeT++을 이용한 스페이스와이어 네트워크의 타임코드 전송 지연 분석

SpaceWire is a standard for high-speed links and networks between spacecraft components, which was invented for better, cheaper and faster on-board data handling in spacecraft. The standard defines timecode and its distribution which can be used for time synchronization among the nodes in a SpaceWire network. A timecode output from the time master which provides standard time over a SpaceWire network travels through links and routers to reach every nodes. While traveling, a timecode suffers from transmission delay and jitter which cause some difference in time synchronization among nodes. In this work, a simulator was developed using OMNeT++ to simulate the operation of a SpaceWire network and some analyses were performed on the transmission delay and jitter accompanied with a transmission of a timecode. The result will be used in the near future for the research of a precise time synchronization technique over a SpaceWire network.

KEYWORD
스페이스와이어 , 타임코드 , 시각동기화 , 전송지연 , OMNeT++
  • Ⅰ. 서 론

    적은 소비전력과 높은 신뢰도가 요구되는 우주비행체 내부의 고속 직렬 통신 방안으로 ESA(European Space Agency)에 의해 제안된 스페이스와이어(Space Wire)[1,2]는 IEEE 1355 표준[3]을 바탕으로 표준화되었으며 ESA, NASA(National Aeronautics and Space Administration), JAXA(Japan Aerospace Exploration)의 우주개발 프로그램에 채용되고 있다. 스페이스와이어는 2 지점간 링크(point-to-point link) 방식의 전이중(full-duplex) 통신을 지원하며 네트워크를 구축할 수 있도록 네트워크 계층이 포함되어 있어 네트워크 기반의 임베디드시스템 구현에 용이하다[4-6].

    스페이스와이어 표준은 시각 동기화가 필요한 시스템 구현을 위해서 스페이스와이어 네트워크에 시간 정보를 배분할 수 있는 체계를 제공한다. 스페이스와이어 표준에 따르면 스페이스와이어 네트워크에 접속된 타임 마스터(time master)는 클럭 카운트 정보를 포함하는 타임코드(timecode)[1]를 주기적으로 전송하며, 타임코드는 라우터를 거쳐 네트워크에 접속된 각 노드에 전달된다. 그리고 타임코드를 수신한 각 노드는 타임코드에 포함된 클럭 카운트 정보를 이용하여 타임 마스터와 시각 동기화를 수행한다. 타임코드는 그림 1처럼 14비트로 구성되며 < T5 - T0 >는 타임 마스터의 클럭 카운트 값의 하위 6비트에 해당하고 < T7 - T6 >은 현재는 그 용도가 정해져있지 않다.

    타임 마스터로부터 출력된 타임코드는 네트워크 경로를 따라 모든 노드에 전송되며 타임코드의 송신과 수신 사이에 시간 지연이 발생하게 된다. 타임코드의 전송 지연을 유발하는 요인은 두 가지로 구분된다. 첫 번째는 타임코드가 타임 마스터나 라우터의 송신부에서 출력되는 과정에서 발생하는 출력 지연으로 타임 마스터와 라우터의 송신부에서 사용되는 송신 클럭의 14 주기에 해당한다. 두 번째는 타임코드가 타임 마스터나 라우터의 송신부에서 출력되는 과정에서 발생하는 지터(jitter)이다. 타임코드가 출력되어야하는 순간에 다른 문자나 출력되고 있는 중이라면 이 문자의 출력이 완료될 때까지 타임코드의 출력이 지연된다. 이때 발생하는 지터는 그 최대 크기가 송신 클럭의 10 주기에 해당한다. 이러한 전송지연은 타임코드가 네트워크의 경로를 따라 전파하며 링크를 거칠 때마다 발생하게 된다. 타임코드의 송신과 수신 사이에서 발생하는 시간 지연과 지터는 스페이스와이어 네트워크에 접속되어 있는 노드들 사이의 시각 동기화 오차를 유발하게 된다. 스페이스와이어 표준에 따른 통신 속도는 최소 2Mbps에서 수백 Mbps에 이르므로 스페이스와이어 네트워크의 규모와 구조, 각 링크의 통신 속도 그리고 네트워크 사용률에 따라 시각 동기화 오차의 크기나 확률적 특성이 달라지며 이것은 정밀 시각 동기화가 필요한 응용 분야나 시각 동기화 오차가 일정 범위 이내로 유지되어야하는 응용 분야에서는 중요한 문제이다.

    스페이스와이어 네트워크에서의 정밀 시각 동기화를 위해 이전 연구 [7,8]는 타임코드가 타임 마스터나 라우터에서 출력되는 과정에서 발생하는 지터를 제거하는 방식을 제안하였다. 다른 이전 연구[9][10]에서 제안된 브로드캐스팅(broadcasting)을 이용하여 네트워크 상의 시각 동기화 오차를 줄이는 방식을 제안하였다. 이들 방식 모두 스페이스와이어 표준을 변형해야하거나 추가의 소프트웨어 구현이 필요하다.

    스페이스와이어 네트워크의 시각 동기화 오차를 일정 범위 이내로 줄이는 것도 중요하지만 응용분야에 따라서는 구축된 스페이스와이어 네트워크에서 발생할 수 있는 시각 동기화 오차의 발생 범위나 그 양상을 파악하여 이것이 허용 가능한 정도인지 파악하는 것도 중요하다. 그리고 시각 동기화 오차가 발생하는 양상을 파악하면 이를 바탕으로 시각 동기화 오차를 제거할 효과적인 방안을 강구할 수도 있을 것이다. 시각 동기화 오차의 확률적 특성은 타임코드가 전송되는 과정에서 통과하는 링크의 수와 각 링크의 전송률 그리고 네트워크 사용률에 따라 달라지기 때문에 시뮬레이션을 통해서 파악하는 것이 현실적이다.

    본 연구는 이전 연구들에서는 수행하지 않았던 시뮬레이션을 통한 스페이스와이어 네트워크의 시각 동기화 오차 분석, 즉 타임코드의 전송 지연 양상에 대한 분석을 수행하였다. 시뮬레이션을 위해 OMNeT++[11]를 이용하여 스페이스와이어 표준에 정의되어 있는 문자레벨(character level), 교환 레벨(exchange level), 패킷레벨 그리고 네트워크 레벨의 동작을 모사하는 스페이스와이어 네트워크 시뮬레이션 환경을 개발하였으며 이를 바탕으로 타임코드 전송 지연 양상에 대한 분석을 수행하였다.

    Ⅱ. 스페이스와이어 네트워크 시뮬레이션 환경

    OMNeT++는 컴퓨터 네트워크, 멀티 프로세서 시스템 그리고 분산 시스템 등의 동작을 모사할 수 있는 이산 사건(discrete event) 시뮬레이션 도구로 비영리적 목적이라면 무료로 사용할 수 있다. C++ 언어로 작성되는 컴포넌트(component)들을 기반으로 네트워크나 시스템 구성을 표현할 수 있는 상위 레벨 언어가 제공되며 시뮬레이션에 활용할 수 있는 시뮬레이션 라이브러리가 제공된다[12,13]. 본 연구에서는 스페이스와이어 네트워크 구성 및 동작 모사에 필요한 링크 인터페이스(link interface)[1], 라우터 그리고 링크 등을 OMNeT++이 제공하는 라이브러리를 활용하여 개발하였다.

    링크 인터페이스는 스페이스와이어 네트워크에서 2지점 간 통신을 담당하는 회로로서 타임마스터와 각 노드의 역할을 담당한다. 링크 인터페이스는 OMNeT++에서 제공되는 cSimpleModule 클래스[14]를 기반으로 작성되었으며 스페이스와이어 표준에 정의되어 있는 문자 레벨, 교환 레벨 그리고 패킷 레벨 동작을 모사하여 FCT(Flow Control Token)를 이용한 흐름제어, 타임코드를 이용한 시각 동기화, NULL 전송, 패킷 송수신등의 동작을 수행한다. 라우터는 링크 인터페이스의 기능을 포함하며 네트워크 레벨에 정의된 웜홀(wormhole) 라우팅과 타임코드의 분배 기능을 수행한다. 라우터 역시 cSimpleModule 클래스를 기반으로 작성되었다. 그리고 링크를 통하여 전송되는 FCT, NULL, 타임코드, 데이터 등의 각종 문자는 각 문자별 길이와 값을 표현할 수 있는 cPacket 클래스[14]를 기반으로 작성되었고, 링크는 전송률과 이에 따른 전송 시간을 반영할 수 있는 cDatarateChannel 클래스[14]를 기반으로 작성되었다.

    개발된 시뮬레이션 환경을 이용하면 원하는 구조의 스페이스와이어 네트워크 구성이 용이하며 네트워크를 구성하는 링크별 전송률 설정, 각 노드 사이의 송수신 패킷 길이 및 전송률 설정, 타임코드 전송 주기 설정 등을 쉽게 할 수 있다.

    Ⅲ. 시뮬레이션을 통한 타임코드 전송 지연 양상 분석

       3.1. 2 지점간 링크

    그림 2처럼 타임마스터와 하나의 노드가 10Mbps 단일 링크로 연결된 가장 단순한 스페이스와이어 네트워크에서 타임마스터로부터 노드1로 전송된 10만개의 타임코드에 대한 전송 지연을 분석하였다.

    그림 3은 패킷 전송 없이 NULL 문자만 전송되는 상황, 즉 네트워크 사용률이 0%인 상황에서의 타임코드 전송 지연 양상을 보여준다. 타임코드의 길이(14비트)에 해당하는 지연과 NULL 문자의 길이(8비트)에 해당하는 지터가 발생하여 타임코드 전송 지연이 1.4μsec와 2.2μsec 사이에서 고르게 발생하는 것을 볼 수 있다.

    그림 45는 타임마스터와 노드1 사이에 10비트 문자로 이루어진 패킷 전송으로 인해 네트워크 사용률이 각각 약 25%와 50%인 상황에서의 타임코드 전송 지연 양상을 보여준다. 10비트 문자 전송으로 인해 그림 3과 다르게 2.2μsec와 2.4μsec 사이에 분포하는 전송 지연이 발생하는 것을 볼 수 있다. 그리고 패킷 전송 빈도가 높아짐에 따라 2.2μsec와 2.4μsec 사이의 전송 지연 발생 빈도도 높아지는 것을 볼 수 있다.

    그림 6은 패킷 전송으로 인해 네트워크 사용률이 95% 이상인 상황에서의 타임코드 전송 지연 양상을 보여준다. 10비트 문자 전송 빈도가 높아져서 2.2μsec와 2.4μsec 사이의 전송 지연 발생 빈도가 다른 구간의 빈도와 동등해진 것을 볼 수 있다. 그리고 흐름제어를 위해 8개의 문자마다 한 개씩 전송되는 4비트 FCT(Flow Control Token)의 전송 빈도가 높아져서 4비트에 해당하는 전송 지연이 추가로 발생하게 된다. 이로 인해 1.4μsec와 1.8μsec 사이의 전송 지연 발생 빈도가 증가되는 것을 볼 수 있다.

       3.2. 소규모 스페이스와이어 네트워크

    그림 7처럼 타임마스터와 3개의 노드가 라우터를 중심으로 10Mbps 링크들로 연결된 상황에서 타임마스터로부터 노드2로 전송된 10만개의 타임코드에 대한 전송 지연을 분석하였다.

    타임마스터로부터 라우터1로 전송된 타임코드는 타임마스터를 제외한 모든 노드로 전달된다. 타임코드가 라우터1을 통과하는 과정에서 타임코드의 길이에 해당하는 전송 지연과 다른 문자 전송으로 인한 지터가 발생할 수 있다. 그림 8은 라우터1에서 발생한 타임코드의 전송 지터 양상을 보여준다.

    지터는 발생 가능한 구간에 걸쳐서 고르게 분포하는 것이 아니라 일정 간격을 갖는 다섯 개의 값으로만 발생하게 된다. 이것은 스페이스와이어 표준에 의해 동작하는 라우터의 동작에 기인하는 특징으로 스페이스와이어가 동기식 통신이며 통신에 사용되는 문자들과 타임코드의 길이가 모두 짝수(4, 8, 10, 14)로 정의 되어 있기 때문에 발생하는 현상이다.

    그림 910은 네트워크 사용률이 각각 약 50% 그리고 95% 이상인 상황에서 노드2로 수신된 타임코드의 전송 지연 양상을 보여준다. 타임코드가 타임마스터로부터 출력될 때 발생하는 전송 지연과 지터 그리고 라우터1에서 출력될 때 발생하는 전송 지연과 지터의 영향이 합성되어 2.9μsec와 4.8μsec 사이에 분포하는 것을 볼 수 있다.

    그림 11처럼 타임마스터와 3개의 노드가 라우터를 중심으로 10Mbps 링크와 2Mbps 링크들로 연결된 네트워크에서 네트워크 사용률이 각각 약 10%이고 95% 이상인 상황에서 타임마스터로부터 노드2로 전송된 10만개의 타임코드에 대한 전송 지연 양상을 그림1213에 보였다.

    타임코드가 10Mbps의 속도로 타임 마스터에서 출력될 때 발생하는 지연 1.4μsec와 라우터1에서 2Mbps의 속도로 출력될 때 발생하는 전송 지연 7μsec의 영향으로 최소 8.4μsec 이상의 전송 지연이 발생하게 된다. 그리고 타임코드가 타임 마스터와 라우터1에서 출력될 때 발생하는 지터의 영향으로 1μsec와 5μsec, 총 6μsec의 지터가 추가로 발생하게 되어 최대 14.4μsec의 진송 지연이 발생하게 된다. 네트워크 사용률에 따라 전송 지연의 분포 양상이 변하고 타임코드가 낮은 전송률을 갖는 링크를 통과하는 과정에서 발생하는 전송지연과 지터가 전체 전송 지연에 상당히 큰 영향을 끼침을 알 수 있다.

       3.3. 대규모 스페이스와이어 네트워크

    그림 14처럼 타임마스터와 31개의 노드가 10개의 라우터와 40Mbps, 20Mbps, 10Mbps 링크들로 연결된 스페이스와이어 네트워크에서 네트워크 사용률이 95% 이상인 상황에서 타임마스터로부터 노드7과 노드15로 전송된 10만개의 타임코드에 대한 전송 지연 양상을 분석하였다.

    그림 15그림 14의 스페이스와이어 네트워크에서 타임마스터로부터 노드7까지 전송 속도가 상이한 4개의 링크를 경유하여 타임코드가 전송되는 과정에서 발생하는 전송 지연 양상을 보여준다. 약 5.5μsec를 중심으로 최소 4.4μsec에서 최대 7μsec까지 분포하는 것을 알 수 있다.

    그림 16그림 14의 스페이스와이어 네트워크에서 타임마스터로부터 노드15까지 전송 속도가 상이한 5개의 링크를 경유하여 타임코드가 전송되는 과정에서 발생하는 전송 지연 양상을 보여준다. 약 6μsec를 중심으로 최소 4.9μsec에서 최대 7.3μsec까지 분포하는 것을 알 수 있다.

    Ⅳ. 결 론

    적은 소비전력과 높은 신뢰도가 요구되는 우주비행체 내부의 고속 직렬 통신 방안으로 제안된 스페이스와이어 표준에는 스페이스와이어 네트워크에 접속된 노드들 사이의 시각 동기화를 위한 타임코드 배포 체계가 포함되어 있다. 타임 마스터에 의해 네트워크의 모든 노드에 배포되는 타임코드는 각 링크를 통과할 때마다 전송 지연과 지터를 겪게 되며 이것은 시각 동기화 오차의 원인이 된다. 그리고 타임코드의 전송 지연과 지터는 타임코드가 통과하는 링크의 전송률과 사용률 그리고 네트워크 구조 등에 영향을 받는다.

    본 연구에서는 타임마스터에서 출력된 타임코드가 스페이스와이어 네트워크의 특정 노드에 수신될 때까지의 전송 지연 크기와 양상을 분석하기 위해 이산 사건 시뮬레이션 도구인 OMNeT++를 이용하여 스페이스 와이어 네트워크의 동작을 모사할 수 있는 환경을 개발하고 이를 이용하여 시뮬레이션을 수행하였다. 개발된 시뮬레이션 환경은 다양한 구조의 스페이스와이어 네트워크에서 발생하는 시각 동기화 오차를 분석하고 예측하는데 사용될 수 있으며 나아가 스페이스와이어 네트워크 구성과 사용률에 따른 네트워크 성능 분석이나 병목 현상 분석 등에 사용될 수 있다. 그리고 향후에는 스페이스와이어 네트워크의 정밀 시각 동기화 방안 연구에 사용될 예정이다.

참고문헌
  • 1. 2008 ESA Standard, ECSS-E-ST-50-12C: SpaceWire-Links, nodes, routers and networks google
  • 2. ESA SpaceWire Web site. google
  • 3. 1995 IEEE Standard 1355, IEEE Standard for Heterogeneous Interconnect (HIC) google
  • 4. Raszhivin D., Sheynin Y. 2014 “Real-Time SpaceWire Services in Networked Embedded Systems,” [in Proceeding of the 2014 Mediterranean Conference on Embedded Computing] P.214-216 google
  • 5. Balandina E., Sheynin Y., Koucheryavy Y., Balandin S. 2014 “Protocol design for wireless extension of embedded networks: Overview of requirements and challenges,” [in Proceeding of 2014 International SpaceWire Conference] P.1-4 google
  • 6. Matveeva N., Sheynin Y., Suvorova E. 2014 “QoS support in embedded networks and NoC,” [in Proceeding of 2014 16th Conference of Open Innovations Association(FRUCT16)] P.51-59 google
  • 7. Ryu S.-M. 2009 “Improvement of Time Synchronization over SpaceWire Link,” [Journal of Control, Robotics and Systems] Vol.15 P.1144-1149 google cross ref
  • 8. Pinsard F., Cara C. 2008 “High resolution time synchronization over spacewire links,” [in Proceeding of 2008 IEEE Aerospace Conference] P.1-8 google
  • 9. Leeuwen B. V., Eldridge J., Leemaster J. 2011 “SpaceWire Network Simulation of System Time Precision,” [in Proceeding of International Spacewire Conference 2011] P.113-120 google
  • 10. Roberts A., Dykes S. G., Klar R., Mangels C. C. 2007 “A Link-Layer Broadcast Service for SpaceWire Networks,” [in Proceeding of 2007 IEEE Aerospace Conference] P.1-10 google
  • 11. OMNeT++. google
  • 12. Varga A., Hornig R. 2008 “An overview of the OMNeT++ simulation environment,” [in Proceeding of the 1st international conference on Simulation tools and techniques for communications, networks and systems & workshops] P.1-10 google
  • 13. Xian X., Shi W., Huang H. 2008 “Comparison of OMNET++ and other simulator for WSN simulation,” [in Proceeding of the 3rd IEEE Conference on Industrial Electronics and Applications] P.1439-1443 google
  • 14. OMNeT++ User Manual. google
OAK XML 통계
이미지 / 테이블
  • [ 그림 1. ]  타임코드
    타임코드
  • [ 그림 2. ]  스페이스와이어 2지점간 링크(10Mbps)
    스페이스와이어 2지점간 링크(10Mbps)
  • [ 그림 3. ]  타임코드 전송 지연(그림 2, 네트워크 사용률 = 0%)
    타임코드 전송 지연(그림 2, 네트워크 사용률 = 0%)
  • [ 그림 4. ]  타임코드 전송 지연(그림 2, 네트워크 사용률?25%)
    타임코드 전송 지연(그림 2, 네트워크 사용률?25%)
  • [ 그림 5. ]  타임코드 전송 지연(그림 2, 네트워크 사용률?50%)
    타임코드 전송 지연(그림 2, 네트워크 사용률?50%)
  • [ 그림 6. ]  타임코드 전송 지연(그림 2, 네트워크 사용률>95% 이상)
    타임코드 전송 지연(그림 2, 네트워크 사용률>95% 이상)
  • [ 그림 7. ]  소규모 스페이스와이어 네트워크(10Mbps)
    소규모 스페이스와이어 네트워크(10Mbps)
  • [ 그림 8. ]  라우터1의 타임코드 전송 지터(그림 7, 네트워크 사용률 ? 50%)
    라우터1의 타임코드 전송 지터(그림 7, 네트워크 사용률 ? 50%)
  • [ 그림 9. ]  타임코드 전송 지연(그림 7, 네트워크 사용률?50%)
    타임코드 전송 지연(그림 7, 네트워크 사용률?50%)
  • [ 그림 10. ]  타임 코드전송 지연(그림 7, 네트워크 사용률>95%)
    타임 코드전송 지연(그림 7, 네트워크 사용률>95%)
  • [ 그림 11. ]  소규모 스페이스와이어 네트워크(10Mbps+2Mbps)
    소규모 스페이스와이어 네트워크(10Mbps+2Mbps)
  • [ 그림 12. ]  타임코드 전송 지연(그림 11, 네트워크 사용률?10%)
    타임코드 전송 지연(그림 11, 네트워크 사용률?10%)
  • [ 그림 13. ]  타임코드 전송 지연(그림 11, 네트워크 사용률>95%)
    타임코드 전송 지연(그림 11, 네트워크 사용률>95%)
  • [ 그림 14. ]  대규모 스페이스와이어 네트워크(40Mbps + 10Mbps + 2Mbps)
    대규모 스페이스와이어 네트워크(40Mbps + 10Mbps + 2Mbps)
  • [ 그림 15. ]  타임코드 전송 지연(그림 14, 네트워크 사용률 > 95%)
    타임코드 전송 지연(그림 14, 네트워크 사용률 > 95%)
  • [ 그림 16. ]  타임코드 전송 지연 노드15(그림 14, 네트워크 사용률 > 95%)
    타임코드 전송 지연 노드15(그림 14, 네트워크 사용률 > 95%)
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.