EmbeddedRelated.com
Forums

gps timing issue

Started by scientificsteve July 22, 2008
Hello,

I'm using the Lassen IQ module and a TI msp430 microcontroller to
communicate with the module. My goal is to use the 1PPS signal for
timing synchronization of a data logger. But at the moment I'm stuck
with some basics.
The 1PPS triggers the microcontroller to send a request to the gps
module to get the gps time. The gps module answers correctly and sends
the gps time information. What now makes me think is that the GPS time
is alway some 10th of milliseconds ahead of a full second (e.g:
234663.96875 which would give me the gps time: TUE 17:11:03.97).

I would have expected a timevalue slightly after the full second,
because the PPS has triggered the transmission of the gps time request.

Hopefully someone may help me with this problem. I'd be also glad the
get in contact with someone having knowledge in gps time
synchronization tasks.

Greetings,
Stefan.

Beginning Microcontrollers with the MSP430

Stehan
The GPS time reported could be accurate. It could possibly take 0.97
seconds (from your example) for the processor to respond to the PPS
signal & send the request to the GPS and for the GPS to process the
command. Remember, the serial link between the processor is probably
4800 BAUD and all of the characters of request for time must received by
the GPS before it can be processed.
If you can, try speeding up the serial link between the micro and the
GPS, then see if the 0.97 seconds gets smaller.
It is also possible that the above is not the problem. So if anyone
knows better, please feel free to disagree.

Regards
-Bill Knight
R O SoftWare
scientificsteve wrote:
> Hello,
>
> I'm using the Lassen IQ module and a TI msp430 microcontroller to
> communicate with the module. My goal is to use the 1PPS signal for
> timing synchronization of a data logger. But at the moment I'm stuck
> with some basics.
> The 1PPS triggers the microcontroller to send a request to the gps
> module to get the gps time. The gps module answers correctly and sends
> the gps time information. What now makes me think is that the GPS time
> is alway some 10th of milliseconds ahead of a full second (e.g:
> 234663.96875 which would give me the gps time: TUE 17:11:03.97).
>
> I would have expected a timevalue slightly after the full second,
> because the PPS has triggered the transmission of the gps time request.
>
> Hopefully someone may help me with this problem. I'd be also glad the
> get in contact with someone having knowledge in gps time
> synchronization tasks.
>
> Greetings,
> Stefan.

Dear Stefan,
we had the same problem with Leadtek GPS module and PPS signal (SirfStarIII).
The GGA string (which also holds the time), was sometime in the middle of the PPS signal and that didn't allow us to locate the time information (it was not possible to identify to which second was related the PPS). To overcome this issue we reprogrammed the module to have the ZDA string instead which happens always AFTER the PPS pulse. All other strings are suppressed so that the information stays comfortably inside the 1sec slot (9600Bd).

Gianpietro

-----Original Message-----
From: m... [mailto:m...]On Behalf Of scientificsteve
Sent: marted22 luglio 2008 19.37
To: m...
Subject: [msp430] gps timing issue
Hello,

I'm using the Lassen IQ module and a TI msp430 microcontroller to
communicate with the module. My goal is to use the 1PPS signal for
timing synchronization of a data logger. But at the moment I'm stuck
with some basics.
The 1PPS triggers the microcontroller to send a request to the gps
module to get the gps time. The gps module answers correctly and sends
the gps time information. What now makes me think is that the GPS time
is alway some 10th of milliseconds ahead of a full second (e.g:
234663.96875 which would give me the gps time: TUE 17:11:03.97).

I would have expected a timevalue slightly after the full second,
because the PPS has triggered the transmission of the gps time request.

Hopefully someone may help me with this problem. I'd be also glad the
get in contact with someone having knowledge in gps time
synchronization tasks.

Greetings,
Stefan.

Hello,

I also thought, that the response of the gps module is delayed. I made
a few tests, and I think that there is no significant delay produced
by the microcontroller or the uart communication.
I inserted some debug messages into my code to check the timing of the
received packets. The debug messages are sent via uart to my computer:

1
2
3
4
5
S
GPS time: Wed 19:08:08.97 GPS week: 1489 UTC offset 14.0
GPS time: Wed 19:08:09.47 GPS week: 1489 UTC offset 14.0
1
2
3
4
5
S
GPS time: Wed 19:08:13.97 GPS week: 1489 UTC offset 14.0
GPS time: Wed 19:08:14.47 GPS week: 1489 UTC offset 14.0
1
2
3

The counter 1 to 5 is incremented by the 1PPS interrupt. If the
counter reaches 5 a TSIP package is sent to the Trimble Lassen IQ
module (@9600 baud) to request the GPS time. After this packet has
been sent, S is written to the debug uart. The answer of the GPS
module giving the GPS time follows the S character. Right after this
answer the automatic message of the gps module arrives. This message
is output every 5 seconds.
As you can see, the answer to my request packet is always ahead of the
full second which is output by the automatic message.

So my problem is not, that the GPS time is delayed it rather seems to
be ahead. I really don't understand this.
Is there any difference between the GPS time and the UTC time. I know,
that there is the difference in seconds given by the UTC offset value.

Greetings,
Stefan.
--- In m..., "Gianpietro Favaro"
wrote:
>
> Dear Stefan,
> we had the same problem with Leadtek GPS module and PPS signal
(SirfStarIII).
> The GGA string (which also holds the time), was sometime in the
middle of the PPS signal and that didn't allow us to locate the time
information (it was not possible to identify to which second was
related the PPS). To overcome this issue we reprogrammed the module to
have the ZDA string instead which happens always AFTER the PPS pulse.
All other strings are suppressed so that the information stays
comfortably inside the 1sec slot (9600Bd).
>
> Gianpietro
>
> -----Original Message-----
> From: m... [mailto:m...]On
Behalf Of scientificsteve
> Sent: marted22 luglio 2008 19.37
> To: m...
> Subject: [msp430] gps timing issue
>
>
> Hello,
>
> I'm using the Lassen IQ module and a TI msp430 microcontroller to
> communicate with the module. My goal is to use the 1PPS signal for
> timing synchronization of a data logger. But at the moment I'm stuck
> with some basics.
> The 1PPS triggers the microcontroller to send a request to the gps
> module to get the gps time. The gps module answers correctly and sends
> the gps time information. What now makes me think is that the GPS time
> is alway some 10th of milliseconds ahead of a full second (e.g:
> 234663.96875 which would give me the gps time: TUE 17:11:03.97).
>
> I would have expected a timevalue slightly after the full second,
> because the PPS has triggered the transmission of the gps time request.
>
> Hopefully someone may help me with this problem. I'd be also glad the
> get in contact with someone having knowledge in gps time
> synchronization tasks.
>
> Greetings,
> Stefan.
>

Hello again,

I just entered a simple waitloop before sending the request packet and
that's what I get:

1
2
3
4
5
S
GPS time: Wed 19:32:14.06 GPS week: 1489 UTC offset 14.0
GPS time: Wed 19:32:14.50 GPS week: 1489 UTC offset 14.0
1
2
3
4
5
S
GPS time: Wed 19:32:19.06 GPS week: 1489 UTC offset 14.0
GPS time: Wed 19:32:19.47 GPS week: 1489 UTC offset 14.0
1
2
3

So this would be the result that I expected.

Greetings,
Stefan.
--- In m..., "scientificsteve" wrote:
>
> Hello,
>
> I also thought, that the response of the gps module is delayed. I made
> a few tests, and I think that there is no significant delay produced
> by the microcontroller or the uart communication.
> I inserted some debug messages into my code to check the timing of the
> received packets. The debug messages are sent via uart to my computer:
>
> 1
> 2
> 3
> 4
> 5
> S
> GPS time: Wed 19:08:08.97 GPS week: 1489 UTC offset 14.0
> GPS time: Wed 19:08:09.47 GPS week: 1489 UTC offset 14.0
> 1
> 2
> 3
> 4
> 5
> S
> GPS time: Wed 19:08:13.97 GPS week: 1489 UTC offset 14.0
> GPS time: Wed 19:08:14.47 GPS week: 1489 UTC offset 14.0
> 1
> 2
> 3
>
> The counter 1 to 5 is incremented by the 1PPS interrupt. If the
> counter reaches 5 a TSIP package is sent to the Trimble Lassen IQ
> module (@9600 baud) to request the GPS time. After this packet has
> been sent, S is written to the debug uart. The answer of the GPS
> module giving the GPS time follows the S character. Right after this
> answer the automatic message of the gps module arrives. This message
> is output every 5 seconds.
> As you can see, the answer to my request packet is always ahead of the
> full second which is output by the automatic message.
>
> So my problem is not, that the GPS time is delayed it rather seems to
> be ahead. I really don't understand this.
> Is there any difference between the GPS time and the UTC time. I know,
> that there is the difference in seconds given by the UTC offset value.
>
> Greetings,
> Stefan.
>
>
> --- In m..., "Gianpietro Favaro"
> wrote:
> >
> > Dear Stefan,
> > we had the same problem with Leadtek GPS module and PPS signal
> (SirfStarIII).
> > The GGA string (which also holds the time), was sometime in the
> middle of the PPS signal and that didn't allow us to locate the time
> information (it was not possible to identify to which second was
> related the PPS). To overcome this issue we reprogrammed the module to
> have the ZDA string instead which happens always AFTER the PPS pulse.
> All other strings are suppressed so that the information stays
> comfortably inside the 1sec slot (9600Bd).
> >
> > Gianpietro
> >
> > -----Original Message-----
> > From: m... [mailto:m...]On
> Behalf Of scientificsteve
> > Sent: marted22 luglio 2008 19.37
> > To: m...
> > Subject: [msp430] gps timing issue
> >
> >
> > Hello,
> >
> > I'm using the Lassen IQ module and a TI msp430 microcontroller to
> > communicate with the module. My goal is to use the 1PPS signal for
> > timing synchronization of a data logger. But at the moment I'm stuck
> > with some basics.
> > The 1PPS triggers the microcontroller to send a request to the gps
> > module to get the gps time. The gps module answers correctly and sends
> > the gps time information. What now makes me think is that the GPS time
> > is alway some 10th of milliseconds ahead of a full second (e.g:
> > 234663.96875 which would give me the gps time: TUE 17:11:03.97).
> >
> > I would have expected a timevalue slightly after the full second,
> > because the PPS has triggered the transmission of the gps time
request.
> >
> > Hopefully someone may help me with this problem. I'd be also glad the
> > get in contact with someone having knowledge in gps time
> > synchronization tasks.
> >
> > Greetings,
> > Stefan.
>