{"id":36,"date":"2012-10-11T08:14:17","date_gmt":"2012-10-11T08:14:17","guid":{"rendered":"http:\/\/mtnstormdaq.com\/blog\/?p=36"},"modified":"2012-10-11T08:14:17","modified_gmt":"2012-10-11T08:14:17","slug":"gps-pps-use-as-a-time-reference","status":"publish","type":"post","link":"https:\/\/mtnstormdaq.com\/blog\/gps-pps-use-as-a-time-reference\/","title":{"rendered":"GPS PPS use as a time reference"},"content":{"rendered":"<p>Most GPS modules today have an output called PPS.\u00a0 PPS stands for Pulse Per Second and is a digital output signal which changes value on the 1 sec. boundary for UTC (Universal Coordinated) time.\u00a0 This signal can be used to reset internal counters in a DAQ system that count the number of clock ticks from the second boundary.\u00a0 The signal polarity and length is usually programmable in the GPS.<\/p>\n<p>A few notes on using this PPS signal:<\/p>\n<ol>\n<li>There are two measures of the signal: one is the signal accuracy and the other is its precision.\u00a0 Accuracy is how close the signal edge is to the actual UTC boundary.\u00a0 Some mfgrs. do not give you this value.\u00a0 It can often be a few microseconds off from the actual UTC boundary.\u00a0 The good news is that this offset error is usually fixed for a given firmware version\/product.\u00a0 The second measurement is the precision, which is how much the PPS signal edge changes from one second to the other.\u00a0 This value can be from the 10s of nanoseconds to a few few microseconds.<\/li>\n<li>The PPS signal edge and rise time are very important if you are using it to reset a counter.\u00a0 If the rise time is slow due to a large input capacitance, long signal length, etc. this will add an offset to the accuracy that will need to be calibrated out.\u00a0 If the signal is noisy from long trace lengths, unshielded cables, or other noise sources, the reset circuit may see more than one edge or a variable delay on the offset time where the counter is reset.<\/li>\n<li>Many GPS have precision in the 10&#8217;s of nanoseconds.\u00a0 The PPS can be used to calibrate crystal oscillators which have errors generally in the 20-100 ppm.\u00a0 A 100 ns precision gives an error of about 1 PPB.\u00a0\u00a0 The biggest problem is the precision of the GPS can vary due to many factors which cannot be easily measured.\u00a0 The error can change from one PPS to the next.\u00a0 So a trick is to create either a median filter or moving average of several PPS counts to determine the actual count value.<\/li>\n<li>FPGA&#8217;s can very easily synchronize a clock count time to the PPS edge boundary and then measure the time of an event like a trigger.<\/li>\n<li>Microcontrollers can also use the PPS to sync. a counter to UTC second time, but are less flexible and generally less accurate in measuring event times, especially when interrupts are used instead of h\/w timers.<\/li>\n<li>GPS systems need to be able to view the sky to work properly.\u00a0 This can be a big problem if the system is indoors and shielded.\u00a0 An antenna would have to be run to the outside.<\/li>\n<li>The GPS serial data can be used to set the system date and time.\u00a0\u00a0 The data come out of the GPS some time usually from 100-500 ms after the PPS edge.<\/li>\n<\/ol>\n<p>The GPS PPS signal, when properly handled, can provide a very good time reference for DAQ systems.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most GPS modules today have an output called PPS.\u00a0 PPS stands for Pulse Per Second and is a digital output signal which changes value on the 1 sec. boundary for UTC (Universal Coordinated) time.\u00a0 This signal can be used to reset internal counters in a DAQ system that count the number of clock ticks from&hellip; <a class=\"more-link\" href=\"https:\/\/mtnstormdaq.com\/blog\/gps-pps-use-as-a-time-reference\/\">Continue reading <span class=\"screen-reader-text\">GPS PPS use as a time reference<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-36","post","type-post","status-publish","format-standard","hentry","category-daq-tricks-tips-techniques","entry"],"_links":{"self":[{"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/posts\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":2,"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"predecessor-version":[{"id":38,"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions\/38"}],"wp:attachment":[{"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mtnstormdaq.com\/blog\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}