This paper proposed a precise time synchronization method between schedulers of real-time operating systems by communicating timestamps 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 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 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 realtime tasks. Therefore, a re-calculation process of next resume times for all real-time tasks and a re-ordering process of reak-time task queue were added into 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.
|ジャーナル||IEEJ Transactions on Electronics, Information and Systems|
|出版ステータス||Published - 2018|
ASJC Scopus subject areas