KR101421688B1 - Ntp를 이용한 주파수 동기 방법 - Google Patents

Ntp를 이용한 주파수 동기 방법 Download PDF

Info

Publication number
KR101421688B1
KR101421688B1 KR1020130064938A KR20130064938A KR101421688B1 KR 101421688 B1 KR101421688 B1 KR 101421688B1 KR 1020130064938 A KR1020130064938 A KR 1020130064938A KR 20130064938 A KR20130064938 A KR 20130064938A KR 101421688 B1 KR101421688 B1 KR 101421688B1
Authority
KR
South Korea
Prior art keywords
control value
ntp
oscillator
threshold
control
Prior art date
Application number
KR1020130064938A
Other languages
English (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 KR1020130064938A priority Critical patent/KR101421688B1/ko
Application granted granted Critical
Publication of KR101421688B1 publication Critical patent/KR101421688B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors

Abstract

NTP를 이용한 주파수 동기에 있어서 클라이언트 장치에서 초기 동기 획득까지 필요한 시간을 줄일 수 있는 주파수 동기 방법이 개시된다. 본 발명의 일 측면에 따른, 서버와 통신하는 클라이언트 장치의 상기 서버와의 주파수 동기 방법은, (a) 제어 파일에 발진기를 제어하는 제어값을 저장하고 상기 제어 파일에 저장된 상기 제어값에 기초하여 발진기를 설정하는 단계; (b) 락(Lock) 상태가 될 때까지 상기 서버와 NTP(Network Time Protocol) 동작을 수행하는 단계; (c) 상기 락 상태에서의 주파수 오차가 제 1 임계치보다 큰지 확인하는 단계; (d) 상기 주파수 오차가 상기 제 1 임계치보다 큰 경우 상기 NTP 동작에서 계산된 제어값을 조정하여 상기 제어 파일에 저장하는 단계; 및 (e) 상기 제어 파일에 저장된 조정된 제어값에 기초하여 상기 발진기를 설정하고 상기 (b) 단계를 반복 수행하는 단계;를 포함한다.

Description

NTP를 이용한 주파수 동기 방법{Frequency Synchronization using Network Time Protocol}
본 발명은 무선 기지국 장치와 같은 클라이언트 장치의 주파수 동기 방법에 관한 것으로, 보다 구체적으로 NTP(Network Time Protocol)를 이용한 주파수 동기 방법에 관한 것이다.
현존하는 소출력 무선 기지국 장비의 경우 GPS(Global Positioning System) 설치가 용이하지 않은 장소에 설치된다. 따라서, GPS를 이용한 주파수 동기가 어렵다. 이에 따라 소출력 무선 기지국 장비는 Network Time Protocol(이하 NTP) 서버를 이용한 주파수 동기를 이용하고 있다.
NTP를 이용한 주파수 동기 방법을 설명하면 다음과 같다. 클라이언트는 T1 시간에 메시지를 NTP 서버로 전송하고, NTP 서버는 T2 시간에 그 메시지를 수신한 후 T3 시간에 응답 메시지를 클라이언트로 전송한다. 이때 응답 메시지에는 NTP 서버가 클라이언트로부터 메시지를 받은 시간 그리고 메시지를 전송한 시간을 포함한다.
클라이언트는 T4 시간에 응답 메시지를 수신한 후, 자신이 메시지를 보낸 시간인 T1 시간과 응답 메시지에 포함된 NTP 서버의 메시지 수신 시간(T2) 및 메시지 송신 시간(T3) 그리고 응답 메시지를 수신한 T4 시간을 이용하여 오프셋(Offset) 그리고 NTP 서버와 클라이언트 간 지연(Delay) 시간을 알 수 있다. 이로부터 클라이언트는 NTP 서버와 클럭 동기화를 이룰 수 있다.
이와 같이, NTP 서버를 이용한 주파수 동기 방식은 네트워크 환경이 구축된 장소이면 어디서나 사용이 가능하므로 설치 장소에 대한 제약이 적으며, 사용자가 별도의 장비 설정 또는 설치가 필요 없어 동작상에도 매우 편리하다.
하지만 이러한 종래의 NTP를 이용한 주파수 동기 방식은, 전술한 바와 같이, NTP 서버와 클라이언트 간 지연(delay)과 오프셋(offset)을 계산하여 일정한 스텝(step) 간격으로 그 주파수 오차를 줄이는 방식이기 때문에, 초기 구동시 클라이언트와 NTP 서버 간 주파수 오차가 큰 경우 초기 동기를 획득하는데 많은 시간이 소요된다. 따라서 서비스 지연 문제가 있으며, 또한 서버 과부하 및 네트워크 장애로 인한 잘못 계산된 값이 입력될 경우 오동작을 감지할 수 없어 획득된 동기 값이 문제가 되는 단점이 있다.
국내등록특허 제10-0521137호(2005.10.06. 공고) 국내공개특허 제10-2004-0070885(2004.08.11. 공개)
본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, NTP를 이용한 주파수 동기에 있어서 클라이언트 장치에서 초기 동기 획득까지 필요한 시간을 줄일 수 있는 주파수 동기 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른, 서버와 통신하는 클라이언트 장치의 상기 서버와의 주파수 동기 방법은, (a) 제어 파일에 발진기를 제어하는 제어값을 저장하고 상기 제어 파일에 저장된 상기 제어값에 기초하여 발진기를 설정하는 단계; (b) 락(Lock) 상태가 될 때까지 상기 서버와 NTP(Network Time Protocol) 동작을 수행하는 단계; (c) 상기 락 상태에서의 주파수 오차가 제 1 임계치보다 큰지 확인하는 단계; (d) 상기 주파수 오차가 상기 제 1 임계치보다 큰 경우 상기 NTP 동작에서 계산된 제어값을 조정하여 상기 제어 파일에 저장하는 단계; 및 (e) 상기 제어 파일에 저장된 조정된 제어값에 기초하여 상기 발진기를 설정하고 상기 (b) 단계를 반복 수행하는 단계;를 포함한다.
상기 주파수 동기 방법은, (f) 상기 (c) 단계의 확인 결과, 주파수 오차가 상기 제 1 임계치보다 작은 경우, 상기 NTP 동작에서 계산된 제어값에 기초하여 발진기를 설정하고 그 제어값을 상기 제어 파일에 저장하는 단계;를 더 포함할 수 있다.
상기 주파수 동기 방법은, 상기 (f) 단계 이전에, (g-1) 상기 (c) 단계의 확인 결과, 주파수 오차가 상기 제 1 임계치보다 작은 경우, 상기 NTP 동작에서 계산된 제어값과 상기 제어 파일에 저장된 제어값의 차가 제 2 임계치 이상인지 확인하는 단계; 및 (g-2) 상기 차가 상기 제 2 임계치 이상인 경우, 상기 서버로 에러 알람을 보고하고, 상기 (b) 단계 내지 상기 (e) 단계를 반복 수행하는 단계;를 더 포함할 수 있다.
상기 (a) 단계는, 클라이언트 장치의 현재 온도를 측정하는 단계; 상기 측정된 현재 온도에 대응하는 제어값이 메모리에 있는지 확인하는 단계; 및 대응하는 제어값이 메모리에 있는 경우 그 대응하는 제어값을 제어 파일에 저장하고, 대응하는 제어값이 없는 경우 공장 초기 제어값을 제어 파일에 저장하는 단계;를 포함할 수 있다.
상기 주파수 동기 방법은, (h) 상기 주파수 오차가 제 3 임계치(제 3 임계치는 상기 제 제 1 임계치보다 작음)보다 작은 경우, 상기 NTP 동작에서 계산된 제어값과 상기 측정된 현재 온도를 상기 메모리에 저장하는 단계;를 더 포함할 수 있다.
본 발명은 종래 주파수 동기 방법에 비해 클라이언트 장치의 초기 동기 획득까지 소요되는 시간을 단축할 수 있다.
또한, 본 발명은 NTP 서버의 과부하 및 네트워크 장애로 인한 주파수 동기의 오동작을 감지하여 기지국 등의 클라이언트 장치의 오동작으로 인한 서비스 품질 저하를 사전에 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라언트 장치에서의 주파수 동기화 방법을 설명하는 흐름도이다.
도 2는 본 발명의 다른 실시예에 따른 클라언트 장치에서의 주파수 동기화 방법을 설명하는 흐름도이다.
도 3은 본 발명의 또 다른 실시예에 따른 클라언트 장치에서의 주파수 동기화 방법을 설명하는 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 클라언트 장치에서의 주파수 동기화 방법을 설명하는 흐름도이다.
도 1을 참조하면, 클라이언트 장치는 전원이 입력되어 구동을 시작한다(S101). 구동 시작과 함께, 클라이언트 장치는 온도 센서 등을 이용하여 클라이언트 장치의 현재 온도를 측정한다(S103).
이어서, 클라이언트 장치는 상기 측정한 현재 온도에 대응하는 발진기 제어값을 메모리로부터 검색한다(S105, S107). 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함한다. 상기 제어값은 발진기를 제어하는 전압값일 수 있다.
메모리의 검색 결과, 현재 온도에 대응하는 발진기 제어값이 있는 경우, 클라이언트 장치는 그 검색된 발진기 제어값을 제어 파일에 저장한다(S109). 반면, 메모리의 검색 결과, 현재 온도에 대응하는 발진기 제어값이 없는 경우, 클라이언트 장치는 공장 초기화 값을 상기 제어 파일에 저장한다(S111).
이와 같이 제어 파일에 발진기 제어값을 저장한 후, 클라이언트 장치는 그 제어값을 이용하여 발진기를 설정한다(S113). 그리고 나서, 클라이언트 장치는 NTP 서버와 통신하여 NTP 락(Lock) 상태가 될 때까지 NTP(Network Time Protocol) 동작을 수행한다(S115, S117).
여기서 NTP 락 상태는 NTP 서버에 의해 결정될 수 있고, 락 상태의 조건은 NTP 서버에 의해 설정된 주파수 오차 범위일 수 있으나 반드시 여기에 제한되는 것은 아니다. 클라이언트 장치는 상기 제어 파일에 저장된 발진기 제어값을 이용하여 발진기를 설정한 후, 일정한 간격으로 NTP 서버와 메시지를 송수신하여 클라이언트 장치와 NTP 서버 간 지연(Delay)와 오프셋(offset)을 계산하고 그 지연과 오프셋을 이용하여 NTP 서버와의 주파수 동기를 맞추게 되고, 그 과정에서 발진기의 제어값을 계산하게 된다.
바람직하게, 클라이언트 장치는 NTP 서버 또는 다른 상위 장비로부터 설정된 접속 시간, 접속 횟수, 접속 유지 시간 등에 따라 NTP 서버에 접속하여 NTP 동작을 수행할 수 있다. NTP 서버에 접속할 수 있는 클라이언트 장치의 수는 유한하므로 접속 시간, 접속 횟수, 접속 유지 시간을 클라이언트 장치마다 다르게 설정함으로써 NTP 서버의 운용 효율을 극대화할 수 있다.
이와 같이 NTP 서버와 NTP 동작을 수행하여 락 상태가 되면, 클라이언트 장치는 주파수 동기의 오차, 즉 정확도가 일정한 임계치보다 작은지 확인한다(S119). 본 실시예에서 상기 임계치는 100ppb일 수 있다. 1ppb는 10억분의 1을 의미한다.
클라이언트 장치는 주파수 동기의 오차, 즉 정확도가 상기 임계치 이상인 경우, NTP 동작에 의해 계산된 발진기의 제어값을 조정한다(S121). 발진기의 제어값을 조정하는 예는 다음과 같다.
1. 주파수 허용 편차(frequency tolerance) < 0 인 경우
|frequency tolerence|×(변환 계수) = 보정 제어값
조정 후 제어값 = 현재 제어값 + 보정 제어값
2. 주파수 허용 편차(frequency tolerance) > 0 인 경우
|frequency tolerence|×(변환 계수) = 보정 제어값
조정 후 제어값 = 현재 제어값 - 보정 제어값
상기 변환 계수는 설계에 따라 변경이 가능한 계수로서, 본 실시예에서 2.13이다.
이와 같이 NTP 동작에 의해 계산된 발진기의 제어값을 조정한 후, 클라이언트 장치는 조정 후 제어값을 제어 파일에 저장하고(S123), 그 제어 파일에 저장한 조정 후 제어값, 즉 발진기 제어값을 이용하여 발진기를 설정한다(S125). 그리고 클라이언트 장치는 NTP 동작을 재 기동한다(S115).
즉, 주파수 동기의 오차가 일정한 임계치 이상인 경우 NTP 동작에 의해 계산된 발진기 제어값을 조정하여 NTP 동작을 재수행함으로써 초기 동기 획득에 걸리는 시간을 단축하게 되는 것이다. 다시 말하면, 클라이언트 장치의 초기 구동시 NTP 서버와 클라이언트 장치 간의 동기 오차가 클 경우 기존 NTP 알고리즘으로 동기를 맞추는데 많은 시간이 소요되나, 최초 NTP 동작을 수행한 후 정확도가 임계치 이상인 것으로 판단되는 경우 강제로 발진기 제어값을 조정한 후 NTP 알고리즘을 재수행하도록 하여 동기를 맞추는데 소요되는 시간을 줄이는 것이다.
위와 같은 과정을 통해 NTP 서버와 NTP 동작을 수행하여 락 상태가 되고 주파두 동기의 오차, 즉 정확도가 일정한 임계치보다 작게 되는 경우, 클라이언트 장치는 정확도가 임계치보다 작게 되는, 즉 NTP 동작에 의해 계산된 발진기 제어값으로 최종적으로 발진기를 설정한다(S127). 그리고 클라이언트 장치는 최종 발진기 제어값을 상기 제어 파일에 저장한다(S129).
이와 같이 클라이언트 장치는 초기 구동시 미리 설정된 발진기 제어값을 이용하여 발진기를 설정한 후 NTP 동작을 수행하되, NTP 동작의 수행 결과 주파수 동기 오차가 일정한 임계치 이상일 경우 주파수 오차에 따라 발진기 제어값을 강제로 조정하여 NTP 동작을 재기동하는 과정을 수행하여 초기 동기 획득에 소요되는 시간을 줄인다.
그리고 클라이언트 장치는 NTP 동작을 수행한 결과 주파수 오차가 임계치보다 작아지는 경우 그 주파수 오차가 임계치보다 작아지게 된 NTP 동작에 의해 결정된 발진기 제어값을 제어 파일에 업데이트하여 저장함으로써 이후 동작 과정에서 주파수 동기를 맞추어야 하는 때 이용할 수 있도록 함으로써, 주파수 동기를 맞추는데 소요되는 시간을 줄인다.
도 2는 본 발명의 다른 실시예에 따른 클라언트 장치에서의 주파수 동기화 방법을 설명하는 흐름도이다.
도 2를 참조하면, 클라이언트 장치는 전원이 입력되어 구동을 시작한다(S201). 구동 시작과 함께, 클라이언트 장치는 온도 센서 등을 이용하여 클라이언트 장치의 현재 온도를 측정한다(S203).
이어서, 클라이언트 장치는 상기 측정한 현재 온도에 대응하는 발진기 제어값을 메모리로부터 검색한다(S205, S207). 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함한다. 상기 제어값은 발진기를 제어하는 전압값일 수 있다.
메모리의 검색 결과, 현재 온도에 대응하는 발진기 제어값이 있는 경우, 클라이언트 장치는 그 검색된 발진기 제어값을 제어 파일에 저장한다(S209). 반면, 메모리의 검색 결과, 현재 온도에 대응하는 발진기 제어값이 없는 경우, 클라이언트 장치는 공장 초기화 값을 상기 제어 파일에 저장한다(S211).
이와 같이 제어 파일에 발진기 제어값을 저장한 후, 클라이언트 장치는 그 제어값을 이용하여 발진기를 설정한다(S213). 그리고 나서, 클라이언트 장치는 NTP 서버와 통신하여 NTP 락(Lock) 상태가 될 때까지 NTP(Network Time Protocol) 동작을 수행한다(S215, S217).
여기서 NTP 락 상태는 NTP 서버에 의해 결정될 수 있고, 락 상태의 조건은 NTP 서버에 의해 설정된 주파수 오차 범위일 수 있으나 반드시 여기에 제한되는 것은 아니다. 클라이언트 장치는 상기 제어 파일에 저장된 발진기 제어값을 이용하여 발진기를 설정한 후, 일정한 간격으로 NTP 서버와 메시지를 송수신하여 클라이언트 장치와 NTP 서버 간 지연(Delay)와 오프셋(offset)을 계산하고 그 지연과 오프셋을 이용하여 NTP 서버와의 주파수 동기를 맞추게 되고, 그 과정에서 발진기의 제어값을 계산하게 된다.
바람직하게, 클라이언트 장치는 NTP 서버 또는 다른 상위 장비로부터 설정된 접속 시간, 접속 횟수, 접속 유지 시간 등에 따라 NTP 서버에 접속하여 NTP 동작을 수행할 수 있다. NTP 서버에 접속할 수 있는 클라이언트 장치의 수는 유한하므로 접속 시간, 접속 횟수, 접속 유지 시간을 클라이언트 장치마다 다르게 설정함으로써 NTP 서버의 운용 효율을 극대화할 수 있다.
이와 같이 NTP 서버와 NTP 동작을 수행하여 락 상태가 되면, 클라이언트 장치는 주파수 동기의 오차, 즉 정확도가 일정한 임계치보다 작은지 확인한다(S219). 본 실시예에서 상기 임계치는 100ppb일 수 있다. 1ppb는 10억분의 1을 의미한다.
클라이언트 장치는 주파수 동기의 오차, 즉 정확도가 상기 임계치 이상인 경우, NTP 동작에 의해 계산된 발진기의 제어값을 조정한다(S221). 발진기의 제어값을 조정하는 예는 다음과 같다.
1. 주파수 허용 편차(frequency tolerance) < 0 인 경우
|frequency tolerence|×(변환 계수) = 보정 제어값
조정 후 제어값 = 현재 제어값 + 보정 제어값
2. 주파수 허용 편차(frequency tolerance) > 0 인 경우
|frequency tolerence|×(변환 계수) = 보정 제어값
조정 후 제어값 = 현재 제어값 - 보정 제어값
상기 변환 계수는 설계에 따라 변경이 가능한 계수로서, 본 실시예에서 2.13이다.
이와 같이 NTP 동작에 의해 계산된 발진기의 제어값을 조정한 후, 클라이언트 장치는 조정 후 제어값을 제어 파일에 저장하고(S223), 그 제어 파일에 저장한 조정 후 제어값, 즉 발진기 제어값을 이용하여 발진기를 설정한다(S225). 그리고 클라이언트 장치는 NTP 동작을 재 기동한다(S215).
즉, 주파수 동기의 오차가 일정한 임계치 이상인 경우 발진기 제어값을 조정하여 NTP 동작을 재수행함으로써 초기 동기 획득에 걸리는 시간을 단축하게 되는 것이다. 다시 말하면, 클라이언트 장치의 초기 구동시 NTP 서버와 클라이언트 장치 간의 동기 오차가 클 경우 기존 NTP 알고리즘으로 동기를 맞추는데 많은 시간이 소요되나, 최초 NTP 동작을 수행한 후 정확도가 임계치 이상인 것으로 판단되는 경우 강제로 NTP 동작에 의해 계산된 발진기 제어값을 조정하여 NTP 알고리즘을 수행하도록 하여 동기를 맞추는데 소요되는 시간을 줄이는 것이다.
위와 같은 과정을 통해 NTP 서버와 NTP 동작을 수행하여 락 상태가 되고 주파두 동기의 오차, 즉 정확도가 일정한 임계치보다 작게 되는 경우, 클라이언트 장치는 NTP 동작에 의해 계산된 현재 발진기 제어값과 제어 파일에 저장된 발진기 제어값을 비교하여 그 차가 임계치 이상인지 확인한다(S227).
만약 그 차가 임계치 이상인 경우, 클라이언트 장치는 NTP 동작에 의해 계산된 현재의 발진기 제어값을 제어 파일에 저장하지 않고, NTP 알고리즘의 오동작으로 판단하고 NTP 서버로 NTP 에러 알람 보고를 전송한다(S229). 그리고 클라이언트 장치는 NTP 동작을 재수행한다(S215). 이는 NTP 서버의 과부하 및 네트워크 장애로 인한 오동작을 사전에 감지하여 잘못된 클럭 주파수를 사용하지 않도록 한다.
반면, 그 차가 임계치보다 작은 경우, 클라이언트 장치는 상기 정확도가 임계치보다 작게 되는 발진기 제어값으로 최종적으로 발진기를 설정하고(S231), 최종 발진기 제어값을 상기 제어 파일에 저장한다(S233).
이와 같이 클라이언트 장치는 초기 구동시 미리 설정된 발진기 제어값을 이용하여 발진기를 설정한 후 NTP 동작을 수행하되, NTP 동작의 수행 결과, 주파수 동기 오차가 일정한 임계치 이상일 경우 주파수 오차에 따라 발진기 제어값을 강제로 조정하여 NTP 동작을 재기동하는 과정을 수행하여 초기 동기 획득에 소요되는 시간을 줄인다.
그리고 클라이언트 장치는 NTP 동작을 수행한 결과, 주파수 오차가 임계치보다 작아지는 경우 그 주파수 오차가 임계치보다 작아지게 된 NTP 동작에 의해 계산된 발진기 제어값을 제어 파일에 업데이트하여 저장함으로써 이후 동작 과정에서 주파수 동기를 맞추어야 하는 때 이용할 수 있도록 함으로써, 주파수 동기를 맞추는데 소요되는 시간을 줄인다.
이때 클라이언트 장치는 NTP 동작의 수행 결과, 주파수 오차가 임계치보다 작아지더라도 NTP 동작에 의해 계산된 발진기 제어값이 제어 파일에 저장된, 즉 설정된 발진기 제어값과 비교하여 오차가 큰 경우 NTP 알고리즘의 오작동으로 판단하여 에러 알림을 보고하고 그 NTP 동작에 의해 결정된 발진기 제어값을 사용하지 않도 NTP 동작을 재기동하여 오동작을 방지한다.
도 3은 본 발명의 또 다른 실시예에 따른 클라언트 장치에서의 주파수 동기화 방법을 설명하는 흐름도이다.
도 3을 참조하면, 클라이언트 장치는 전원이 입력되어 구동을 시작한다(S301). 구동 시작과 함께, 클라이언트 장치는 온도 센서 등을 이용하여 클라이언트 장치의 현재 온도를 측정한다(S303).
이어서, 클라이언트 장치는 상기 측정한 현재 온도에 대응하는 발진기 제어값을 메모리로부터 검색한다(S305, S307). 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함한다. 상기 제어값은 발진기를 제어하는 전압값일 수 있다.
메모리의 검색 결과, 현재 온도에 대응하는 발진기 제어값이 있는 경우, 클라이언트 장치는 그 검색된 발진기 제어값을 제어 파일에 저장한다(S309). 반면, 메모리의 검색 결과, 현재 온도에 대응하는 발진기 제어값이 없는 경우, 클라이언트 장치는 공장 초기화 값을 상기 제어 파일에 저장한다(S311).
이와 같이 제어 파일에 발진기 제어값을 저장한 후, 클라이언트 장치는 그 제어값을 이용하여 발진기를 설정한다(S313). 그리고 나서, 클라이언트 장치는 NTP 서버와 통신하여 NTP 락(Lock) 상태가 될 때까지 NTP(Network Time Protocol) 동작을 수행한다(S315, S317).
여기서 NTP 락 상태는 NTP 서버에 의해 결정될 수 있고, 락 상태의 조건은 NTP 서버에 의해 설정된 주파수 오차 범위일 수 있으나 반드시 여기에 제한되는 것은 아니다. 클라이언트 장치는 상기 제어 파일에 저장된 발진기 제어값을 이용하여 발진기를 설정한 후, 일정한 간격으로 NTP 서버와 메시지를 송수신하여 클라이언트 장치와 NTP 서버 간 지연(Delay)와 오프셋(offset)을 계산하고 그 지연과 오프셋을 이용하여 NTP 서버와의 주파수 동기를 맞추게 되고, 그 과정에서 발진기의 제어값을 계산하게 된다.
바람직하게, 클라이언트 장치는 NTP 서버 또는 다른 상위 장비로부터 설정된 접속 시간, 접속 횟수, 접속 유지 시간 등에 따라 NTP 서버에 접속하여 NTP 동작을 수행할 수 있다. NTP 서버에 접속할 수 있는 클라이언트 장치의 수는 유한하므로 접속 시간, 접속 횟수, 접속 유지 시간을 클라이언트 장치마다 다르게 설정함으로써 NTP 서버의 운용 효율을 극대화할 수 있다.
이와 같이 NTP 서버와 NTP 동작을 수행하여 락 상태가 되면, 클라이언트 장치는 주파수 동기의 오차, 즉 정확도가 제 1 임계치보다 작은지 확인한다(S319). 본 실시예에서 상기 제 1 임계치는 100ppb일 수 있다. 1ppb는 10억분의 1을 의미한다.
클라이언트 장치는 주파수 동기의 오차, 즉 정확도가 상기 제 1 임계치 이상인 경우, NTP 동작에 의해 계산된 발진기의 제어값을 조정한다(S321). 발진기의 제어값을 조정하는 예는 다음과 같다.
1. 주파수 허용 편차(frequency tolerance) < 0 인 경우
|frequency tolerence|×(변환 계수) = 보정 제어값
조정 후 제어값 = 현재 제어값 + 보정 제어값
2. 주파수 허용 편차(frequency tolerance) > 0 인 경우
|frequency tolerence|×(변환 계수) = 보정 제어값
조정 후 제어값 = 현재 제어값 - 보정 제어값
상기 변환 계수는 설계에 따라 변경이 가능한 계수로서, 본 실시예에서 2.13이다.
이와 같이 NTP 동작에 의해 계산된 발진기의 제어값을 조정한 후, 클라이언트 장치는 조정 후 제어값을 제어 파일에 저장하고(S323), 그 제어 파일에 저장한 조정 후 제어값, 즉 발진기 제어값을 이용하여 발진기를 설정한다(S325). 그리고 클라이언트 장치는 NTP 동작을 재 기동한다(S315).
즉, 주파수 동기의 오차가 제 1 임계치 이상인 경우 발진기 제어값을 조정하여 NTP 동작을 재수행함으로써 초기 동기 획득에 걸리는 시간을 단축하게 되는 것이다. 다시 말하면, 클라이언트 장치의 초기 구동시 NTP 서버와 클라이언트 장치 간의 동기 오차가 클 경우 기존 NTP 알고리즘으로 동기를 맞추는데 많은 시간이 소요되나, 최초 NTP 동작을 수행한 후 정확도가 제 1 임계치 이상인 것으로 판단되는 경우 강제로 발진기 제어값을 조정하여 NTP 알고리즘을 수행하도록 하여 동기를 맞추는데 소요되는 시간을 줄이는 것이다.
위와 같은 과정을 통해 NTP 서버와 NTP 동작을 수행하여 락 상태가 되고 주파두 동기의 오차, 즉 정확도가 제 1 임계치보다 작게 되는 경우, 클라이언트 장치는 정확도가 제 1 임계치보다 작게 되는 발진기 제어값으로 최종적으로 발진기를 설정한다(S327). 그리고 클라이언트 장치는 최종 발진기 제어값을 상기 제어 파일에 저장한다(S329).
이와 같이 클라이언트 장치는 초기 구동시 미리 설정된 발진기 제어값을 이용하여 발진기를 설정한 후 NTP 동작을 수행하되, NTP 동작의 수행 결과 주파수 동기 오차가 제 1 임계치 이상일 경우 주파수 오차에 따라 발진기 제어값을 강제로 조정하여 NTP 동작을 재기동하는 과정을 수행하여 초기 동기 획득에 소요되는 시간을 줄인다.
그리고 클라이언트 장치는 NTP 동작을 수행한 결과 주파수 오차가 제 1 임계치보다 작아지는 경우 그 주파수 오차가 제 1 임계치보다 작아지게 된 NTP 동작에 의해 계산된 발진기 제어값을 제어 파일에 업데이트하여 저장함으로써 이후 동작 과정에서 주파수 동기를 맞추어야 하는 때 이용할 수 있도록 함으로써, 주파수 동기를 맞추는데 소요되는 시간을 줄인다.
한편, 클라이언트 장치는 상기 단계 S329에서 제어 파일에 발진기 제어값을 저장한 후, 주파수 동기의 오차, 즉 정확도가 제 2 임계치보다 작은지 확인한다(S331). 여기서 제 2 임계치는 상기 제 1 임계치보다 작은 값으로, 본 실시에에서는 50ppb이다. 만약 주파수 동기의 오차, 즉 정확도가 제 2 임계치보다 작은 경우, 클라이언트 장치는 현재의 주파수 동기를 위한 현재의 발진기 제어값 그리고 현재의 온도를 메모리에 저장하여 갱신한다(S333).
즉, 클라이언트 장치는 주파수 동기 오차가 제 2 임계치보다 크고 제 1 임계치보다 작은 경우 제어 파일에만 발진기 제어값을 저장하여 이후의 클라이언트 장치의 동작 과정에서 주파수 동기에 실시간 활용할 수 있도록 하고, 주파수 동기 오차가 제 2 임계치보다 작은 경우 다시 말하면 주파수 동기가 매우 정확하다고 판단되는 경우에는 발진기 제어값을 제어 파일에 저장할 뿐만 아니라, 메모리에도 현재의 온도와 함께 저장함으로써, 재부팅 등에 의해 클라이언트 장치가 재구동되는 경우 빠른 초기 동기 획득이 가능하도록 한다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절한 부결합(subcombination)에서 구현될 수 있다.
아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (5)

  1. 서버와 통신하는 클라이언트 장치의 상기 서버와의 주파수 동기 방법에 있어서,
    (a) 제어 파일에 발진기를 제어하는 제어값을 저장하고 상기 제어 파일에 저장된 상기 제어값에 기초하여 발진기를 설정하는 단계;
    (b) 락(Lock) 상태가 될 때까지 상기 서버와 NTP(Network Time Protocol) 동작을 수행하는 단계;
    (c) 상기 락 상태에서의 주파수 오차가 제 1 임계치보다 큰지 확인하는 단계;
    (d) 상기 주파수 오차가 상기 제 1 임계치보다 큰 경우 상기 NTP 동작에서 계산된 제어값을 조정하여 상기 제어 파일에 저장하는 단계; 및
    (e) 상기 제어 파일에 저장된 조정된 제어값에 기초하여 상기 발진기를 설정하고 상기 (b) 단계를 반복 수행하는 단계;를 포함하고,
    상기 (a) 단계는,
    클라이언트 장치의 현재 온도를 측정하는 단계;
    상기 측정된 현재 온도에 대응하는 제어값이 메모리에 있는지 확인하는 단계; 및
    대응하는 제어값이 메모리에 있는 경우 그 대응하는 제어값을 제어 파일에 저장하고, 대응하는 제어값이 없는 경우 공장 초기 제어값을 제어 파일에 저장하는 단계;를 포함하는 주파수 동기 방법.
  2. 제 1 항에 있어서,
    (f) 상기 (c) 단계의 확인 결과, 주파수 오차가 상기 제 1 임계치보다 작은 경우, 상기 NTP 동작에서 계산된 제어값에 기초하여 발진기를 설정하고 그 제어값을 상기 제어 파일에 저장하는 단계;를 더 포함하는 주파수 동기 방법.
  3. 제 2 항에 있어서,
    상기 (f) 단계 이전에,
    (g-1) 상기 (c) 단계의 확인 결과, 주파수 오차가 상기 제 1 임계치보다 작은 경우, 상기 NTP 동작에서 계산된 제어값과 상기 제어 파일에 저장된 제어값의 차가 제 2 임계치 이상인지 확인하는 단계; 및
    (g-2) 상기 차가 상기 제 2 임계치 이상인 경우, 상기 서버로 에러 알람을 보고하고, 상기 (b) 단계 내지 상기 (e) 단계를 반복 수행하는 단계;를 더 포함하는 주파수 동기 방법.
  4. 삭제
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    (h) 상기 주파수 오차가 제 3 임계치(제 3 임계치는 상기 제 1 임계치보다 작음)보다 작은 경우, 상기 NTP 동작에서 계산된 제어값과 상기 측정된 현재 온도를 상기 메모리에 저장하는 단계;를 더 포함하는 주파수 동기 방법.
KR1020130064938A 2013-06-05 2013-06-05 Ntp를 이용한 주파수 동기 방법 KR101421688B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130064938A KR101421688B1 (ko) 2013-06-05 2013-06-05 Ntp를 이용한 주파수 동기 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130064938A KR101421688B1 (ko) 2013-06-05 2013-06-05 Ntp를 이용한 주파수 동기 방법

Publications (1)

Publication Number Publication Date
KR101421688B1 true KR101421688B1 (ko) 2014-07-22

Family

ID=51742708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130064938A KR101421688B1 (ko) 2013-06-05 2013-06-05 Ntp를 이용한 주파수 동기 방법

Country Status (1)

Country Link
KR (1) KR101421688B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011525308A (ja) * 2008-05-02 2011-09-15 ノーテル・ネットワークス・リミテッド パケットネットワークを介した時間同期のためのタイミングシステム及び方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011525308A (ja) * 2008-05-02 2011-09-15 ノーテル・ネットワークス・リミテッド パケットネットワークを介した時間同期のためのタイミングシステム及び方法

Similar Documents

Publication Publication Date Title
US8077086B2 (en) Methods and apparatus for obtaining GNSS time in a GNSS receiver
US8384590B2 (en) System and method for time synchronization
US9634782B2 (en) Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored
JP6649475B2 (ja) 無線通信システム、無線端末及び時刻同期方法
US11650619B2 (en) Synchronising devices using clock signal delay estimation
US20170070337A1 (en) Synchronising Devices Using Clock Signal Time Difference Estimation
US10605891B2 (en) Positioning system, positioning method, and positioning program
JP6025700B2 (ja) 時刻同期システム、スレーブ装置、及び時刻同期方法
JP2019511860A (ja) 無線ノードの時刻同期ネットワークと無線ノード
WO2020115496A3 (en) A node testing method and apparatus for a blockchain system
CN102158950A (zh) 时钟同步方法、系统、装置及基站
CN101695188A (zh) 校正本地时间的方法以及时钟服务器
US20200259631A1 (en) Synchronising Devices Using Clock Signal Delay Comparison
CN109791421B (zh) 时间仲裁电路
EP2370830B1 (en) Methods and apparatus for obtaining gnss time in a gnss receiver
KR101421688B1 (ko) Ntp를 이용한 주파수 동기 방법
JP2002071854A (ja) 標準電波受信装置
KR101176798B1 (ko) 슬레이브 장치와 마스터 장치 간의 클락 동기화 방법
CN110098885B (zh) 一种时钟同步电路、装置及其方法
CN111107623A (zh) 一种系统时钟同步方法
WO2016184148A1 (zh) 一种时钟切换的方法、装置及基站
KR102064575B1 (ko) 디바이스 간의 시각 동기 정밀도를 향상시키는 방법, 장치, 시스템 및 컴퓨터 프로그램
JP2009210540A (ja) 高精度な時刻を生成する移動体装置、高精度時刻生成システム、及び高精度時刻生成方法
US9654113B2 (en) Control device for clock generation circuit, control method for clock generation circuit, and clock generation circuit
JP2014060682A (ja) 発振器制御方法、基準信号発生装置、及び恒温槽付発振器

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170627

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190627

Year of fee payment: 6