SparkFun Forums 

Where electronics enthusiasts find answers.

Tips and questions relating to the GPS modules from SFE
By marcoamboldi
#139369
Hello everyone,

I am new here, I've been addressed to this forum by the support team of Robot Italy, distributor of SparkFun porducts for Italy. Sorry but english is not my native language, please forgive my mistakes. My goal is to build a NTP server stratum 1 and, having read the ET312 has got a pps output, I bought from Robot Italy the evalution board fitted with the ET312.

My board:
http://www.robot-italy.com/product_info ... cts_id=912

Datasheet:
http://www.sparkfun.com/datasheets/GPS/ ... ic-v15.pdf

I've tested the board and it works fine but the 1pps output puzzles me. In fact the pps LED does not pulse each second but it goes ON for one whole second, then it goes OFF for one whole second. It seems there is not the short (some microseconds) pulse that I need for my NTP server but there is only a "long" 1 second signal (2.7V) and a "long" 1 second pause. Can anyone help me or address to some useful link? Can the pps pin output be re-programmed to have the "short" pps signal?

My NTP server is waiting.... :-)

Marco
By mbavaro77
#139421
Hi Marco,

I don't own that evaluation board but I don't think you can reprogram the GPS to output a PPS "pulse".
According to this page, SiRF are not optimal GPS receivers for PPS accuracy:
http://gpsd.berlios.de/hardware.html#timing
And according to the above source, uBlox modules provide 20 times better resolution.
For a NTP server I would suggest the uBlox NEO module as it is small and low cost.

As a matter of fact I have studied a very similar problem recently and worked out that the mbed module
http://www.sparkfun.com/products/9564
http://mbed.org/cookbook/Cool-Components-Workshop-Board
is probably the best solution to have a simple NTP server as it has Ethernet and you can use high-resolution timers with CAP-MAT to even discipline the XO frequency.

I am in Italy, I guess you may be too. Feel free to give me a call at 347 0094377.

Cheers,
Michele
By marcoamboldi
#139424
Hi Michele,

thanks for your reply. Your informations and links are very interesting. I'm in Italy too, I live near Milano.
I will collect more informations on GPS modules listed at gpsd webpage (thanks for the link) and, in case I need some help, I'll call you. :-)
I am going also to read the documentation of mbed module but I think I am not skilled enough to use it.

I've also found the answer to my first question (in case someone else is looking for the same info), this is the link:

http://www.usglobalsat.com/forum/index.php?topic=3814.0

Quote:

According its user manual (http://www.usglobalsat.com/store/downlo ... 312_ug.pdf), the GPIO pin is meant for custom functions like an LED. If you are looking for a custom function like PPS, that would require custom firmware. A custom firmware will require an NRE charge, plus a minimum order of 1K pieces of ET-312.

Based on our engineers, revising the firmware for this specific request is doable. However, the output pulse of GPIO cannot be 1uS, and the output time delays about 400nS ~1uS.


So, no pps output from my ET312. :-( :-( :-(

Marco
By fll-freak
#139440
If the output is a square wave with a rising edge on the even seconds and the falling on odd (or vis-versa) then you should be able to build a small circuit that would give you your pulse on both the rising and falling edges. You would suffer a slight delay through the circuit, but you could account for that in software.

My first solution would be might be based on a 74hc123 oneshot. Size the cap for the pulse size you want. Interconnecting the two oneshots in such a way that each edge would fire the pulse. Have not sat down to draw a schematic, so it might not work without some other glue logic.

If an extra circuit is a possible approach, I am sure you will get other ideas on how to generate your pulse.
By marcoamboldi
#139486
If the output is a square wave with a rising edge on the even seconds and the falling on odd (or vis-versa) then you should be able to build a small circuit that would give you your pulse on both the rising and falling edges. You would suffer a slight delay through the circuit, but you could account for that in software.
Thanks for your reply. I had a similar idea but I am lazy on working at other glue logic. :-)
I am looking for a different GPS module and I've found some on ebay. So I think I'll go there.

Marco