GTOP Titan 3 Glonass

Hi,

I have this GPS module whose datasheet is here:

http://www.gtop-tech.com/Templates/att/GlobalTop-Titan-3(Gms-g9)-Datasheet-V0D.pdf?lng=en

Im looking through it and Im trying to figure out how to interface with it. Up to know Ive only worked with components that are commonly used and therefore there are many tutorials for it. In this case there doesnt seem to be much on this module.

In the pdf on page 12 it shows the pins where Vcc and Gnd are identified. It then identifies:

  • RX0/TX0 as outputting GPS info and receiving system commands
  • RX1/TX1 as for aiding and if not used they should be kept floating

So am I to understand that I should send commands via TX0 and get GPS data from RX0 and not use RX1/TX1 at all? Because in a table above it states that RX0/TX0 is for firmware upgrades and Rx1/Tx1 is for TTL interfacing.

I would think I need the data from the TTL pins, right?

Also, just to make sure, Pin 1 is the labelled pin when looked at it from the bottom view, where there seems to be a "1" on the top right corner just above the letters "v02", right?
gps.png

gps.png

How long would it take to test whether the thing is sending data on TX0 vs. TX1? More or less time than it took to post and wait for an answer?

Well, that's a good point, it's just that I need to solder the pins to the right holes and I didn't want to solder more than I needed to. But I guess that's also silly, huh?

Ok so I soldered 4 pins onto my Titan module. I did a terrible job btw so I didnt post pictures of it :slight_smile:

Pin 1 --- VCC --- to 3.3V on UNO
Pin 2 --- GND --- to GND on UNO
Pin 9 --- Tx1 ---- to Pin0 on UNO This Pin9 on the Titan is supposed to be Serial Data Output (TTL)

I ran this sketch:

void setup() {
    Serial.begin(9600);
  Serial1.begin(9600);  
}

void loop() {

  if (Serial1.available()) { // Im running it on a MEGA, the GPS Titan is connected to Pin19
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

I got this result:

$GPG,0.00,N,0.00,K,N*32
,M,,M,,41
$GPGSA,A,1,,,,,,,,,,,,,,,1E
$GPRMC,235956.799,V,,,,,0.00,0.00,050180,,,N
48
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N
32
������������������������������� // but this line is infinte and garbage

When I try using the Tx0, which is Pin4 for NEMA output, I get:

$3.237,V,,,,,0.00,0.00,050180,,,N4C
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N
32
,02,27,,,35,16,,,377B
$GLGSV,1,1,00
65
$GPRMC,235953.237,V,,,,,0.00,0.00,050180,,,N4C
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N
32
����������������������� // but this line is infinte and garbage

So my questions are:

  1. It seems both Pin4 & Pin9 output the same, does this sound right?
  2. But why am I getting this infinte garbage after GPVTG?

GPG = I couldnt find it in the manual
GPGSA = is supposed to be telling me what GPS satellite its connected to?
GPRMC = I couldnt find but I found GNRMC which is for talker ID
GPVTG = Seems to be course and speed information

    int inByte = Serial1.read();

While the read() method returns an int, it does so only so that it can store an error code in the high order byte. The only error that it can return is -1, for no data available. If you call read() only after checking that available() is positive, the type to store the data in can (and should) be char.

The write() method is for binary data. The print() method is for character data.

I really have no idea why you are getting garbage from the GPS, if the above suggestions don't cause any better results.

got it...thanks!