外文文獻翻譯-計算機網(wǎng)絡冗余GPS時間同步電路板的設計與實現(xiàn)【中文5000字】【中英文WORD】
外文文獻翻譯-計算機網(wǎng)絡冗余GPS時間同步電路板的設計與實現(xiàn)【中文5000字】【中英文WORD】,中文5000字,中英文WORD,外文,文獻,翻譯,計算機網(wǎng)絡,冗余,GPS,時間,同步,電路板,設計,實現(xiàn),中文,5000,中英文,WORD
Redundant GPS Time Synchronization Boards
for Computer Networks
Abstract --Nowadays, accurate and reliable time is an essential requirement in computer network based systems. To fulfill this necessity, time synchronization idea has been developed. Meanwhile in some cases, reliable time is so vital, therefore a redundant structure can be used. In this paper, a time synchronization system is investigated by designing and implementing a time synchronization board capable of synchronizing time of computer networks using NTP(Network Time Protocol). A redundant scheme is also embedded in this work to provide more reliability.
Keywords--Computer Network, GPS Time, NTP, Redundancy, Time Synchronization, Time Synchronization Protocols, Time Server.
I. INTRODUCTION
We may usually set our computer’s time by our wristwatch to within a minute or two, but on the other side, accurate and reliable time is necessary for financial and legal transactions, transportation, distribution systems, and many other applications involving widely distributed resources. To make sense, as an example, in a distributed airline reservation system, a seat can be sold twice or not at all if the distributed computers vary in time or there may be legal consequences when an online stock trade is completed, before it is bid [1]. In this regard, coordination to an international time scale and clock synchronization have been developed. The basis for the time scales has been refined throughout the history and sidereal time, earth rotation based time, and atomic time have been developed. Some important time scales include International Atomic Time scale (TAI), Coordinated Universal Time scale (UTC), and Standard Time or civil time.
Clock synchronization deals with the idea that internal clocks of computers may differ even if initially set accurately. After a while due to clock drift, there will be considerable clock errors, so there is always need for keeping these drifty clock synchrone to a time synchronization source as a reference clock.
Time synchronization sources include earth-based radio transmission (WWV, WWVH, WWVB, DCF77 and LORAN-C), satellite-based signal transmission (GOES, GPS, GLONASS, and Galileo), and time-setting messages via communications networks and telephone modem services [2]. Among these sources, Global Positioning System (GPS) offers some special advantages such as great time accuracy, noise immunity, worldwide availability for free, and continuously referenced to an international standard. Nowadays GPS based clocks are used very often as the time synchronization sources over the other clock recourses.
Fig. 1 shows a typical time synchronization structure, where a time server receives time data form GPS as a time synchronization sources. The time server then provides the time needing devices with accurate time by sending them a massage in form of a synchronization protocol. The devices synchronize their internal clocks using the received massage.
The various synchronization protocols in use today provide different means to time synchronization, but they all follow two general models. Whether the client sends a request to the server and the server responds with its current time, or the server sends messages to a group or all of the clients. Some important standard computer network time synchronization protocols are as follows:
Time Protocol: Time protocol specified in RFC868 [3], returns a 32-bit unformatted binary number that represents the time in UTC seconds since January 1st, 1900. The server listens to time requests on port 37, and responds in either TCP/IP or UDP/IP formats.
Daytime Protocol: Daytime Protocol specified in RFC867 [4], sends time using ASCII characters. The server listens on port 13, and responds to requests in either TCP/IP or UDP/IP formats.
Network Time Protocol (NTP): NTP specified in RFC-5905 [5], is the oldest (and still in use) and most sophisticated time protocols for synchronizing computer clocks across a network. The NTP servers listen for a NTP request on port 123, and respond by sending a UDP/IP data packet in the NTP format.
Simple Network Time Protocol (SNTP): SNTP is a less complex implementation version of NTP protocol [6]. SNTP can be used when the ultimate performance of the full NTP implementation is not needed.
Precision Time Protocol (PTP): PTP formalized by IEEE 1588-2008 [7], is a protocol designed to increase timing accuracy over traditional Ethernet based protocols like NTP but it is more expensive in implementation.
For being open source, having sufficient accuracy for typical applications and the ability to work on large networks, NTP is the one widely in use on the public Internet and numerous private networks for over almost three decades.
The reliability requirements for time synchronization may be so strict that a single time server cannot always be trusted. Therefore, more time servers can be used in a redundant structure.
In this paper, we will investigate time synchronization system by design and implementation of a time synchronization board which gets time data from a low-cost GPS receiver and then synchronize time of computer networks using NTP protocol. In this design, redundancy is also embedded in a way that two time synchronization boards can be used together to provide more reliability.
The remainder of this document is organized as follows. Section II presents a brief explanation of NTP protocol and time synchronization using it. Redundancy gets more interpreted in section III. A structural scheme for building a network time synchronizer board, hardware design and software algorithms are proposed in section IV. Finally the implemented board and the results are presented in sections V.
II. WHAT IS NTP?
NTP has three major parts: the NTP software program, called a Daemon in UNIX and a Service in Windows; a protocol that exchanges time values between servers and clients; and a suite of algorithms that processes the time values to advance or retard the system clock [8]. Because NTP software is often bundled with the operating systems (such as most flavors of Windows and UNIX) it is the most common used protocol for computer network time synchronizations. For instant, we are not going to cover all the three parts but we are intending to describe the Protocol which is in need for designing a NTP time server. Further details can be found in the formal specification in [5].
The NTP is built on the Internet Protocol (IP) and User Datagram Protocol (UDP) in an IEEE 802.3 Ethernet frame demonstrated in Table 1. The NTP packet header, shown in Table 2, has 12 words followed by optional extension fields and an optional Message Authentication Code (MAC).
NTP working modes include client/server and broadcast mode. In client/server mode, the client sends a request to the server and the server responds with its current time. In broadcast mode however, time server periodically sends NTP packets to the clients and they use the packet to adjust their time.
The most important field in the NTP packet is the timestamp field. An NTP timestamp is a 64-bit unsigned fixed-point number, with the integer part in the first 32 bits showing the past seconds from 0h 1 January 1900 and the fraction part in the last 32 bits. The precision of this representation is about 2-32 second (233 picoseconds).
Accuracy of NTP synchronization depends on the network environment. Today in most places of the Internet, NTP provides time accurate to the order of 10-100 mSec while under good conditions on a LAN without too many routers synchronization to within a few milliseconds is normal [8].
III. WHAT IS REDUNDANCY?
Redundancy is a technique usually used in order to increase the reliability of a system. It comes in many forms and types. The most general form of redundancy is the Mout-of-N (MooN) redundancy, where at least M of N components must be functional in order the system functions. Some examples of this mode are shown in Fig. 2. Applications of M-out-of-N redundancy can be found in various applied areas, for example, in safety systems, N-version programming, etc [9].
Meanwhile, respecting the switch over time, redundancy can be classified as Parallel and Standby redundancy [10]. In parallel mode, redundant components are continuously operating and in standby mode they are only switched into an operating mode when a normally operating operation component fails. The essential difference between these two modes is illustrated in Fig. 3.
Whenever time synchronization in a system needs to be done with more reliability, redundancy technique can be used. Fig. 4 shows a 1oo3 redundancy structure in a time synchronization system. According to this figure, three time servers are getting time from time synchronization source (GPS) themselves and then act as time servers to feed a much larger group of clients connected with a common network with an accurate and reliable time.
It worth mentioning that diverse redundancy can also increase time synchronization reliability. This is done by getting time from more than one type of time references. For example a time server gets time from GPS satellites and the other one gets it from DCF77 radio time source.
IV. TIME SYNCHRONIZATION BOARD DESIGN
A. Hardware design
Here we present a scheme of a time server board which gets timing data from GPS and provides accurate time for the clients via NTP protocol. Fig. 5 presents the internal structure of the proposed time server board. It consists of five main parts; low-cost GPS receiver, Ethernet interface, Microcontroller, user interface and power supply.
In this structure the Microcontroller plays an important role in the proposed time server. It should be programmed properly to communicate with the other parts and make them work together as a time server. GPS receiver connects to the microcontroller via a serial interface. It provides microcontroller with timing data in form of NMEA protocol [11] and a 1PPS (one Pulse Per Second) signal which is synchronized to UTC. The Ethernet controller interface establishes a connection to the computer network and transmit/receive packets to/from it. The user interface consists of a LCD display and a touchscreen. It gets the needed configuration data from user and displays time synchronization results.
B. Software design
The designed algorithm for microcontroller in the time server consists of three sub algorithms, shown in Fig. 7; main loop, GPS 1PPS Interrupt Service Routine (ISR), and GPS serial interface ISR.
The main loop first initializes Ethernet controller, GPS receiver, and the user interface, then it enters an endless loop, waiting for interrupts from GPS time pulse and serial interface.
The 1PPS ISR is set to be called at the rising edge of time pulse. This ISR has the highest priority and lets the microcontroller knows the happening of UTC seconds with tens of nanosecond accuracy. In this routine a counter is set to send NTP packets every 10 seconds. The NTP working mode is Broadcast mode, so all of the clients connected to the network can receive the packets.
The GPS serial interface ISR runs every time a serial data is received from GPS reviver. If received data be a time data, it is decoded and stored in “Time” variable. As the NTP packet will be sent at the next 1PPS, its timestamps should point to 1 second in advance.
Redundancy is also embedded in the algorithm. As Fig. 6 illustrates, for this purpose one board is parameterized as “Priority Master” and the other as “Priority Slave”. The Master transmits the time message to the Ethernet. In addition, the Master transmits an “Alive message” to the address of the other board. The Slave monitors the reception of the “Alive message” and if it is not received for more than 3 seconds, the Slave assumes the duty of the Master and transmits both the time message and the “Alive message” to the Ethernet.
V. RESULTS
A. Hardware Implementation
For implementing the Network Time Display in practice, NEO-5Q GPS receiver, ATmeaga128 Microcontroller, ENC28j60 Ethernet Controller, RJ-45 Ethernet Socket, 128*64 graphical LCD with touch-screen, and a power supply (build around Voltage Regulators) were selected. Fig. 8 shows a prototype board built according to the structure in Fig. 5.
B. Software Implementation
In order to implement the software for time server, “CodeVisionAVR” was used. Some C++ codes were written according to the mentioned algorithm in Fig. 7 to build the whole program. This program is then compiled and transferred to the Microcontroller. Fig . 9 shows some of the designed menus for showing the synchronization results and configuring the board by user.
C. Synchronization Results
In order to test the boards, they were connected via a HUB to a computer with “Sun Virtual Box” [12] virtual machine software installed in it. Then one of them was set as priority master and the other as priority slave. Next, two virtual machines were made in Sun Virtual Box, Windows XP was installed in each and all three were networked together. By manipulating registry keys [13] of the integrated windows time synchronization service (w32time service) they we made to be synchronized from the NTP time. All computers successfully synchronized to the time server.
Fig. 10 shows screenshot of Wireshark software (a free network protocol analyzer [14]) capturing the NTP packets transmitted between three computers and the time server in which client requests and time server replies are traceable.
To test the redundancy feature, Priority Master Board was disconnected from the network, Priority Slave board successfully assumed the duty of the Master board within 3 seconds. Because the clients receive NTP packets every 10 seconds, they did not felt the time server change.
VI. CONCLUSION
Nowadays accurate time is an essential need in computer based systems.In this regard, usually a time synchronization system is used to get time from a time reference and then provide the time needing systems with precise time via a time synchronization protocol.
Regarding the significant GPS advantages as a reference time source and also because of great accuracy and worldwide popularity of NTP protocol they are commonly used in time synchronization systems.
In this paper a typical time synchronization system was investigated by design and implementation of a time server board which gets time data from a low-cost GPS receiver and then synchronizes time of computer networks using NTP. Meanwhile to provide more reliability in time synchronization service, two time server boards were built and a redundant scheme was devised and implemented to use them in a 1oo2 redundant structure.
REFERENCES
[1] Liskov, B.,”Practical uses of synchronized clocks in distributed systems,” in proc. Of Distributed Computing, Vol. 6, pp.211 -219, Apr. 1991.
[2] K. Behrendt and K. Fodero. “The perfect time: An examination of time synchronization techniques”. Proceedings of the 33rd Annual Western Protective Relay Conference, Spokane, WA, October 2006.
[3] Postel, J. Time protocol. DARPA Network Working Group Report RFC-868, USC Information Sciences Institute, May 1983.
[4] Postel, J. Daytime protocol. DARPA Network Working Group Report RFC-867, USC Information Sciences Institute, May. 1983.
[5] Mills, D.L. Network Time Protocol (Version 4) -Protocol and Algorithms Specification. DARPA Network Working Group Report RFC-5905, University of Delaware, June 2010.
[6] Mills, D.L. Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI, RFC 4430. University of Delaware, Jan. 2006.
[7] IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, IEEE Standard 1588-2008, July. 2008.
[8] D. L. Mills, Computer Network Time Synchronization: the Network Time Protocol on Earth and in Space. Second Edition, CRC Press, 2011.
[9] R. Billinton and R. N. Allan, Reliability Evaluation of Engineering Systems. New York: Plenum, 1992.
[10] NMEA 0183 standard for interfacing marine electronics devices, National Marine Electronics Association, 1983.
[11] virtualbox.org, VirtualBox, Available: http://www.virtualbox.org/, accessed on Sept. 16.
[12] Microsoft Support, Registry entries for the W32Time service, Available: http://support.microsoft.com/kb/223184, accessed on Oct. 6, 2011.
[13] The world’s foremost network protocol analyzer, Wireshark-Go deep, Available: http://www.wireshark.org/, accessed on Oct. 6, 2011.
1. GPS obtains the wide-spread application, but it still had the insufficiency. GPS has become a global high and new technology industry, which is one kind of information infrastructure and is entering people's daily life gradually. The existence insufficiency is very obvious, it is the system which controls by military, and it is impossible at any time any place guarantee civil; In the bustling streets, the jungle, or in the mask and the environment bad situation, its usability is restricted; The single system itself has the limitation, and it is impossible to guarantee any application.
2. GLONASS receives the attention, but it is actually disappointing. GLONASS once gave people the very optimistic scene, the reality is heartless because of the economical and the technical dual reasons, which enable it only works incompletely, now only has the insufficiency ten star work, and is very unstable.
3. Galileo forestalls opponent by a show of strength, with GPS combination application for overall mentality. The Galileo plan lifts up high the pure civil flag, feels relieved for the human with the security sense. Moreover its announce publicly and the GPS compatible interaction, strengthened its attraction and the competitive power, as well as service guarantee pledge. The richly colorful service may satisfy the different scale and the application domain demand.
4. The multi-system combination is better and better, using the equipment is limd. Many years later, possibly has many satellite navigational system in the sky movement, is the better and better, one is not unnecessary; second, cannot do too using the receiver complex, will otherwise increase the cost largely, the being unable mass promotion; third, will receive after the satellite number will achieve certain number, the satellite signal many (will not bring the obvious advantage again. Generally has the pair of system foot.
5. The enhancement system emerges one after another incessantly, the final outlet is the multi-system's combination. Now various satellite navigation enhancement system emerges one after another incessantly, only says by the macrozonality enhancement system, has US's WAAS, Europe's EGNOS, China's CWAAS, Japan's QZSS (also has one kind is MSAS). Once has two complete whole world guidance system (GNSS) work, in-orbit satellite reaches 50-60, was not unnecessary to construct these macrozonalities to strengthen is systematic. More is must walk both economizes, and handles matters road of the international cooperation.
第6頁,共12頁
收藏