This paper proposed a precise time synchronization method between schedulers of real-time operating systems by communicating time stamps over a network. An NTP-based communication protocol was used to measure the time offset between nodes. To minimize the measurement error, a light-weight network stack called RT-Messenger was used instead of common transmission control protocol/Internet protocol (TCP/IP) stack. Also, a Kalman filter was introduced to eliminate such error and to estimate time offset and drift. Furthermore, a real-time scheduler in RTAI/Linux (where RTAI is real-time application interface) was modified to compensate the time difference using the estimated offset and drift. The time compensation of a scheduler clock affects the next resume times for real-time tasks. Therefore, a recalculation process of next resume times for all real-time tasks and a reordering process of real-time task queue were added to the real-time scheduler. To validate the proposed method, time differences of resume times for two real-time tasks on different nodes were measured under various experimental conditions. The results confirm that the resume time differences were successfully kept lower than 400 ns with 300 ns standard deviation under the condition of observation period at 1 s and correction period at 10 s.
ASJC Scopus subject areas
- コンピュータ ネットワークおよび通信