Distributed Clock과 시간 동기화
분산 클럭의 개념 이해
분산 클럭의 필요성
산업용 네트워크에서 여러 장치가 동시에 동작해야 하는 상황이 많습니다. 각 장치가 자체적인 클럭을 가지고 동작하면 시간 차이가 발생하여 동기화 문제가 생길 수 있습니다. 이러한 문제를 해결하기 위해 분산 클럭Distributed clock을 사용하여 네트워크 내 모든 장치의 시간을 동기화 합니다.
DC Sync란?
DCDistributed clock Sync는 EtherCAT 네트워크에서 각 슬레이브 장치의 클럭을 하나의 참조 클럭Reference Clock에 동기화시켜 모든 장치가 동일한 시간 기준으로 동작하도록 하는 메커니즘입니다. 이를 통해 네트워크의 모든 동작이 정확하게 동기화되어 실시간 제어 성능을 극대화합니다.
EtherCAT에서의 시간 동기화 메커니즘
참조 클럭과 지역 클럭
- 참조 클럭Reference Clock: 네트워크의 시간 기준을 제공하는 슬레이브 장치의 클럭입니다.
- 지역 클럭Local Clock: 각 슬레이브 장치가 자체적으로 보유한 클럭으로, 참조 클럭에 동기화됩니다.
동기화 과정
이더캣에서 참조 클럭과 로컬 클럭의 동기화 과정은 다음과 같은 단계로 요약할 수 있습니다.
오프셋 측정 준비
마스터가 모든 슬레이브에게 시간 요청 패킷을 전송하여, 슬레이브가 참조 클럭과의 시간 차이를 기록하도록 합니다.
시간 응답 전송
각 슬레이브는 마스터에게 자신의 로컬 클럭 시간과 함께 응답 패킷을 보냅니다.
오프셋 계산
마스터가 슬레이브로부터 받은 응답을 바탕으로 참조 클럭과 각 슬레이브의 로컬 클럭 간 오프셋을 계산합니다.
보정 명령 전송
마스터가 슬레이브들에게 계산된 오프셋에 맞춰 클럭을 조정하라는 보정 명령을 보냅니다.
로컬 클럭 보정
슬레이브는 보정 명령을 통해 로컬 클럭을 참조 클럭과 동기화합니다. 필요시 시간 이동 또는 속도 조절 방식으로 보정합니다.
주기적 동기화 유지
마스터는 주기적으로 오프셋을 재측정하고 보정을 반복하여 모든 슬레이브가 지속적으로 동기화된 상태를 유지합니다.
지연 보상 메커니즘
다수의 슬레이브가 연결된 네트워크에서는 프레임이 각 슬레이브를 순차적으로 통과하면서 누적 지연이 발생합니다. 이를 보정하기 위해 이더캣 네트워크는 계층적 지연 계산 방식을 사용하여 각 슬레이브의 위치에 따른 누적 이송 지연Propagation Delay을 보정합니다.
네트워크 왕복 지연 측정
- 마스터는 단일 프레임을 모든 슬레이브로 전송하여, 프레임이 모든 슬레이브를 순차적으로 통과한 후 돌아오는 시간을 측정합니다.
- 이를 통해 네트워크의 전체 왕복 지연을 계산합니다.
슬레이브별 지연 보정
- 마스터는 첫 번째 슬레이브부터 마지막 슬레이브까지의 누적 지연을 고려하여, 각 슬레이브에 대해 개별적으로 지연 보정 값을 계산합니다.
- 첫 번째 슬레이브에서는 기본적인 편도 지연을 적용하지만, 두 번째 슬레이브부터는 첫 번째 슬레이브의 편도 지연에 해당 슬레이브로 인한 추가 지연을 반영하여 계층적으로 편도 지연을 누적해 나갑니다.
슬레이브의 로컬 클럭 오프셋 보정
- 각 슬레이브는 보정된 지연 값을 기반으로 참조 클럭에 맞춰 오프셋을 수정합니다.
- 예를 들어, 두 번째 슬레이브는 첫 번째 슬레이브의 지연 값이 포함된 편도 지연을 사용해 자신의 로컬 클럭을 참조 클럭과 맞춥니다.
SYNC 신호의 활용
슬레이브 장치는 지역 클럭을 기반으로 SYNC0 및 SYNC1 신호를 생성하여 주기적인 작업을 정확한 시간에 트리거합니다. 예를 들어, A/D 변환 시작, 출력 값 갱신 등의 작업이 가능합니다.
DC Sync의 기술적 구현 상세
슬레이브의 하드웨어 지원
- 지역 클럭의 안정성: 높은 정확도의 수정 발진기를 사용하여 클럭의 안정성을 유지합니다.
- 클럭 제어 메커니즘: 시간 오프셋 및 드리프트를 보정하기 위한 하드웨어 기반의 클럭 조정 기능을 제공합니다.
클럭 제어 방법
- 오프셋 제어: 계산된 시간 오프셋을 적용하여 지역 클럭을 조정합니다.
- 주파수 제어: 장기적인 드리프트를 보상하기 위해 클럭 주파수를 미세하게 조정합니다.
EtherCAT 마스터의 역할
- DC 시스템 구성: 마스터는 네트워크 초기화 시 DC 기능을 가진 슬레이브를 감지하고, 참조 클럭을 선택하며, 동기화 과정을 설정합니다.
- 동기화 조정: 슬레이브들이 시간 오프셋과 전파 지연을 계산할 수 있도록 필요한 명령을 전송하고, 프레임 전송 시점을 조정하여 전체 네트워크의 동기화를 지원합니다.
DC Sync의 장점과 이점
정밀한 시간 동기화
- 높은 정확도 달성: 슬레이브 간 시간 편차를 100나노초 이하로 유지하여 매우 높은 동기화 정확도를 제공합니다.
- 동시성 보장: 모든 장치가 동일한 시간 기준으로 동작하여 복수의 작업을 정확히 동시에 수행할 수 있습니다.
실시간 제어 성능 향상
- 결정론적 동작: 지연 시간과 지터를 최소화하여 실시간 제어에 필요한 결정론적 성능을 제공합니다.
- 주기적 작업의 정확성: 주기적인 작업을 정확한 간격으로 수행하여 시스템의 신뢰성을 높입니다.
네트워크 효율성 증대
- 낮은 통신 오버헤드: 동기화 정보가 EtherCAT 프로토콜에 통합되어 추가적인 네트워크 부하를 발생시키지 않습니다.
- 대용량 데이터 처리: 높은 동기화 정확도와 함께 대용량의 데이터를 효율적으로 처리할 수 있습니다.
구현 시 고려 사항 및 베스트 프랙티스
네트워크 설계
- 참조 클럭 선택: 안정적인 클럭을 가진 슬레이브를 참조 클럭으로 선택하여 최적의 동기화를 달성합니다.
- 토폴로지 고려: 네트워크 구조에 따라 전파 지연이 달라질 수 있으므로 설계 시 이를 반영해야 합니다.
환경적 요인 대응
- 온도 변화 관리: 온도 변화는 클럭의 안정성에 영향을 미칠 수 있으므로 온도 보상 발진기를 사용하거나 환경 제어를 통해 보완합니다.
- 전자기 간섭(EMI) 대응: 적절한 차폐 및 접지 설계를 통해 신호 무결성을 보호합니다.
구성 및 진단
- 마스터 소프트웨어 지원: DC 구성을 지원하고 동기화 상태를 모니터링할 수 있는 마스터 소프트웨어를 사용합니다.
- 진단 기능 활용: 클럭 드리프트, 동기화 품질, 지터 등을 모니터링하여 시스템의 안정성을 유지합니다.