'2010/08'에 해당되는 글 1건


출처: http://fastironex.blogspot.com/2010/02/1588-ecn-asia.html


대부분의 엔지니어들은 원격지의 정확한 동기화 이벤트를 위해 이더넷 통신 기반의 장비를 이용할 수 없다는 것을 알고 있다. 이러한 문제를 해결하기 위해 IEEE는 일부 산업 제어 업체들과 장비 벤더들이 채택한 타임 동기화 표준을 발표했다. IEEE 1588(2002)이라고 불리는 이 표준은 디바이스가 네트워크상에서 가장 정밀하고 정확한 클럭을 활용할 수 있는 프로토콜을 제공한다. 네트워크상에서 타이밍을 동기화해야 하는 임베디드 시스템 개발자들도 이 표준의 혜택을 누릴 수 있다.


장비 내 각각의 부분별로 별도의 정확한 클럭이 존재하지만 ns에서 μs 사이에 발생하는 회로의 변화나 작은 차이도 금방 누적된다. 또한 네트워크 연결로 인해 레이턴시 지연, 즉 ‘지터(Jitter)’ 또한 발생한다. 장비 제조업체들이 제품에 1588 기능을 탑재하거나 제품에 1588 기능을 추가함으로써 엔지니어들은 이러한 타이밍 문제를 해결할 수 있다. 네트워크 구성과 장비에 따라 동기화된 클럭은 수십ns~수μs 내에 추적이 가능하다.


다음 단계들은 일반적으로 1588 PTP(Precision Time Protocol)가 IEEE 1588 호환 디바이스와 어떻게 동작하는지 설명하고 있다.

* 네트워크에 추가될 때 디바이스는 클럭 정보를 전송하고 네트워크의 다른 클럭 정보를 수신하는 BMC(Best Master Clock) 알고리즘을 실행한다. 최적의 클럭이 마스터가 되고 다른 모든 디바이스들은 슬레이브로 동작한다.


* 마스터가 동기화 메시지를 모든 슬레이브에 보내고 내부 전송 타임 스탬프를 생성한다.(그림 1) 슬레이브가 동기화 메시지를 수신할 때 슬레이브는 자체 도착 타임 스탬프를 생성한다. 마스터 클럭은 전송 타임 스탬프 데이터를 포함한 메시지를 뒤따라 전송한다. 이 때 각 슬레이브는 마스터가 동기화 메시지를 보낸 때와 도착한 때를 알게 된다. 이 시간 차로 각 슬레이브는 내부 클럭을 마스터 클럭과 동기화 한다. 타임 스탬프 차이에는 네트워크 전파 지연이 포함된다는 사실에 주의해야 한다.


* 네트워크 지연을 정하기 위해 슬레이브는 지연 요청 메시지를 마스터에 전송하고 타임 스탬프를 생성한다. 마스터는 지연 요청 메시지의 도착 시간을 기록하고 이 정보를 지연 응답 메시지를 통해 슬레이브로 보낸다. 두 타임 스탬프의 시간 차가 네트워크 전파 지연을 나타낸다. 이제 슬레이브는 지연을 고려하여 내부 클럭을 미세 조정한다. 이 방법이 제대로 되려면 네트워크는 마스터와 각 슬레이브 간에 대칭적 지연을 제공해야 한다.


* 일정한 시간 간격(디폴트는 2초)을 두고 마스터는 클럭 동기화를 유지하기 위한 후속 메시지와 새로운 동기화 메시지를 전송한다. 제품에 IEEE 1588을 구현할 계획이라면 여러 제조업체들로부터 도움을 얻을 수 있다. 예컨대 IXXAT는 OS와 상관없이 동작하는 PTP 프로토콜 소프트웨어를 공급하고 있으며, 이 소프트웨어는 이더넷 스택의 UDP(User Datagram Protocol) 소켓에 연결된다. 이 소프트웨어는 클럭 인터페이스와 타임 스탬프 유닛을 제공한다. 유저가 좀더 빨리 시작할 수 있도록 IXXAT 패키지에는 프리스케일 PowerQUICC MPC8360 프로세서용 구현 샘플이 함께 제공된다. 이 칩에는 타임 유닛과 시스템 클럭, PTP 기반 타이머가 통합되어 있으며, 이를 통해 설계자들은 20ns의 정확한 타임 베이스를 구현할 수 있다.(www.ixxat.com)

실시간 시스템의 경우에도 마스터와 슬레이브 클럭을 구현하는 소프트웨어를 공급하고 있다. RTS 프로토콜 스택은 지속적으로 타이밍 메시지를 교환하는 방법으로 가장 정확한 클럭을 자동으로 정하고 RTC를 조절한다. 이 소프트웨어는 통계 기술을 사용하여 잔여 클럭 편차를 더욱 낮춘다. RTS IEEE 1588 프로토콜 스택은 핫 스와핑 디바이스용으로 공급되므로 언제든지 네트워크에 ‘연결’하거나 네트워크에서 ‘분리’시킬 수 있다. 이 업체는 PTP 네트워크를 모니터링하고 조정, 분석하는데 사용되는 오픈 소스 툴을 제공한다. 엔지니어들은 이 스택의 소스 코드를 구할 수 있다. 또한 이 업체는 IEEE 1588 프로토콜의 하드웨어 구현을 제공한다.(www.real-time-systems.com)


하드웨어의 경우 내쇼날 인스트루먼트는 마스터 또는 슬레이브로 동작이 가능하고 PCI 버스로 동작하는 하드웨어 타임 스탬프 유닛을 구현한 PCI-1588 카드를 판매하고 있다. 많은 분산형 제어, 계측 및 데이터 수집 시스템이 호스트 컨트롤러에 의존하고 있기 때문에 이 카드는 PC에 쉽게 실장이 가능하며, 마스터 카드로서 역할을 한다. 이 카드는 3가지 범용 출력을 통해 IEEE 1588 프로토콜과 호환되지 않는 클럭을 동기화할 수 있다. 내쇼날 인스트루먼트는 NI-Sync 드라이버 소프트웨어(www.ni.com)를 제공한다.


만약 프로토콜 테스트 셋업을 완료하고 즉각적으로 동작시키길 원한다면 Hirschmann Automation and Control의 산업용 이더넷 스위치와 Meinberg의 GrandMaster 클럭을 모두 포함하고 있는 Meinberg의 3가지의 스타터 키트를 고려할만 한다. 1588 지원 장비를 테스트하거나 혹은 1588 기반 네트워크용 소프트웨어를 개발하거나 기존 장비에 1588을 통합하는 등 각각의 엔지니어 요구 조건에 맞게 키트를 고르면 된다.(ptp-starterkit.meinberg.de)


Illustrations:

Figure 1


참고자료

1. “IEEE 1588 Protocol Stack Product Documentation,” Real Time Systems. www.real-time-systems.com/ieee_1588_documentation.html.
2. “Introduction to Distributed Clock Synchronization and the IEEE 1588 Precision Time Protocol,” National Instruments. www.ni.com. Search Developer Zone for “1588.”
3. Eidson, John C., and Dan Pleasant, “Time Scales and IEEE 1588,” Part 2, LXIConnexion, July 2006, www.lxiconnexion.com.
4. Mohl, Dirk, “IEEE 1588: Running Real-Time on Ethernet,” Industrial Networking. www.industrial-networking.com.
저작자 표시 비영리 변경 금지
신고
블로그 이미지

꽃중년

불만있으면 떠나라...

티스토리 툴바