KR101421688B1 - Ntp를 이용한 주파수 동기 방법 - Google Patents
Ntp를 이용한 주파수 동기 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements 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(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 서버 간 주파수 오차가 큰 경우 초기 동기를 획득하는데 많은 시간이 소요된다. 따라서 서비스 지연 문제가 있으며, 또한 서버 과부하 및 네트워크 장애로 인한 잘못 계산된 값이 입력될 경우 오동작을 감지할 수 없어 획득된 동기 값이 문제가 되는 단점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 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은 본 발명의 또 다른 실시예에 따른 클라언트 장치에서의 주파수 동기화 방법을 설명하는 흐름도이다.
도 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)
- 서버와 통신하는 클라이언트 장치의 상기 서버와의 주파수 동기 방법에 있어서,
(a) 제어 파일에 발진기를 제어하는 제어값을 저장하고 상기 제어 파일에 저장된 상기 제어값에 기초하여 발진기를 설정하는 단계;
(b) 락(Lock) 상태가 될 때까지 상기 서버와 NTP(Network Time Protocol) 동작을 수행하는 단계;
(c) 상기 락 상태에서의 주파수 오차가 제 1 임계치보다 큰지 확인하는 단계;
(d) 상기 주파수 오차가 상기 제 1 임계치보다 큰 경우 상기 NTP 동작에서 계산된 제어값을 조정하여 상기 제어 파일에 저장하는 단계; 및
(e) 상기 제어 파일에 저장된 조정된 제어값에 기초하여 상기 발진기를 설정하고 상기 (b) 단계를 반복 수행하는 단계;를 포함하고,
상기 (a) 단계는,
클라이언트 장치의 현재 온도를 측정하는 단계;
상기 측정된 현재 온도에 대응하는 제어값이 메모리에 있는지 확인하는 단계; 및
대응하는 제어값이 메모리에 있는 경우 그 대응하는 제어값을 제어 파일에 저장하고, 대응하는 제어값이 없는 경우 공장 초기 제어값을 제어 파일에 저장하는 단계;를 포함하는 주파수 동기 방법. - 제 1 항에 있어서,
(f) 상기 (c) 단계의 확인 결과, 주파수 오차가 상기 제 1 임계치보다 작은 경우, 상기 NTP 동작에서 계산된 제어값에 기초하여 발진기를 설정하고 그 제어값을 상기 제어 파일에 저장하는 단계;를 더 포함하는 주파수 동기 방법. - 제 2 항에 있어서,
상기 (f) 단계 이전에,
(g-1) 상기 (c) 단계의 확인 결과, 주파수 오차가 상기 제 1 임계치보다 작은 경우, 상기 NTP 동작에서 계산된 제어값과 상기 제어 파일에 저장된 제어값의 차가 제 2 임계치 이상인지 확인하는 단계; 및
(g-2) 상기 차가 상기 제 2 임계치 이상인 경우, 상기 서버로 에러 알람을 보고하고, 상기 (b) 단계 내지 상기 (e) 단계를 반복 수행하는 단계;를 더 포함하는 주파수 동기 방법. - 삭제
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
(h) 상기 주파수 오차가 제 3 임계치(제 3 임계치는 상기 제 1 임계치보다 작음)보다 작은 경우, 상기 NTP 동작에서 계산된 제어값과 상기 측정된 현재 온도를 상기 메모리에 저장하는 단계;를 더 포함하는 주파수 동기 방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011525308A (ja) * | 2008-05-02 | 2011-09-15 | ノーテル・ネットワークス・リミテッド | パケットネットワークを介した時間同期のためのタイミングシステム及び方法 |
-
2013
- 2013-06-05 KR KR1020130064938A patent/KR101421688B1/ko active IP Right Grant
Patent Citations (1)
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 |