Hi Roman,Can you please show a screenshot of the 'scope waveform, so we can see bit width?
There should be a stop/start bit pair every 10 or 11 bits, so with the right H resolution on the 'scope we should be able to tell you the baudrate with some certainty.
Hi E,hi C,
I think Roman will expect to see on your scope image, the Bit pulses for at least three RS232 characters.
E.
Hows the logging ?
s01234567e (s=0startbit e=1stopbit)
0101011011 = 10110101 = 181 (not ascii)
0010001101 = 01100010 = 62 (ascii '<')
Hi Roman,No that 'scope photo is fine.
Assuming it synced on the \ edge of the first start bit, I see 2 clear bytes;
total time for both bytes (19 full bits) is 8.6 Hdiv, so assuming your 'scope was at 50uS/Hdiv (and the cal knob clicked off) that is;Rich (BB code):s01234567e (s=0startbit e=1stopbit) 0101011011 = 10110101 = 181 (not ascii) 0010001101 = 01100010 = 62 (ascii '<')
8.6 * 50uS = 430uS
per bit = 430 / 19 = 22.63uS
baudrate = 1sec/22.63uS = 44189 baud
The baudrate does not sound right, so I think your 'scope Hcal was not clicked off, or your 'scope is badly out of calibration.
Maybe the real baudrate is 56k?
Regarding the data, there is clear evidence of periods of 1,2 and 3 bits length so that is fine.
Also the 0start and 1stop bits match as they should, so we know what the two bytes are. (It would still be nice to see 4 or 5 bytes, if you can so a shot at 20uS/Hdiv.)
The fact that the first byte is a non-ascii value of 181 decimal seems to indicate that the data output is not ascii text data but is some type of raw binary data. That does seem to match your earlier putty screen where high byte values (>=128) will show as blocks as there is no valid ascii char.
With 4 or 5 bytes we can tell more, and please check your 'scope Hcal knob!
Hi Roman,For the watch xtal first photo i see about 7.9 Hdiv for 6 full cycles;
20uS/Hdiv * 7.9 = 158uS
158uS /6 cycles = 26.333uS period
1sec/26.333uS = 37975 Hz
Assuming the watch xtal is a typical 32768 hz model, your scope is showing 37975 / 32768 or 1.159 (instead of 1).
So your scope reads 15.9% fast!Remember that number.
So my last post i said your baudrate worked out at 44189 baud, since your scope reads 15.9% fast that is
44189 / 1.159 = 38126 actual baudrate.
Something still seems a bit funky? 38kbaud?
ahah, google found this;
"Standard baud rates supported by most serial ports: 110; 300. 600; 1200. 2400;
4800. 9600; 14400. 19200; 28800. 38400; 56000."
Now the other photos are my mistake, I wanted to see 4 or 5 bytes, which is the other way from 50uS; ie; 100uS not 20uS. Sorry about that!
We're getting closer.![]()
s10101101 = 10110101 = 181
s01000110 = 01100010 = 62
s10000000 = 00000001 = 1
s01100000 = 00000110 = 5 (guessing last serial bit, seems to be 0?)
Hi Roman,I doodled on your screenshot, to show start0 and stop1 bits in yellow. bytes are separated by vertical green lines.
The good news is that the data is being captured well by your scope, and is triggering on the startbit of the first byte.Rich (BB code):s10101101 = 10110101 = 181 s01000110 = 01100010 = 62 s10000000 = 00000001 = 1 s01100000 = 00000110 = 5 (guessing last serial bit, seems to be 0?)
The bad news is that it is not ascii data NMEA sentences, it seems to be raw binary.
Re the baudrate the first 3 bytes (30 bits) is 6.7 Hdiv, which works out at 38600 baud (allowing for your scope hcal error). So I think we can be sure this is raw binary data at 38400 baud.
Hi Roman,I Just received one of these NEO-6M GPS units from ebay;
![]()
Is that the same as you are using? I just plugged 3 leads into a TTL->USB dongle like this;
![]()
and it reads fine at 9600 baud 8N1 serial into the PC. Time to lock was pretty good, after the initial cold start and eeprom writing. The tiny onboard "battery" is a supercap i think, based on the discharge rate.
I didn't test how long it holds hotstart info for, but it was ok after 1 minute. Because it's not a proper battery you will be up for coldstarts if you leave it unpowered for too long.
Mine sees 10-11 satellites indoors, and uses 6 to 9. That was after an hour to warm up and lock on well. Not bad for under a tiled roof with aluminium sarking and brick walls.
Hi Eric,hi C,
Try this program, attached is CamLog.bas .hex and logged text file.
The Ref Coords in the program are 50N 1W.
The program outputs a valid GPGGA message and the Azimuth and Altitude.
Eric
Hi E,hi,
The buffer size is 80, the longest $GPGGA is 72 including the CR and LF codes.
Any unintentional buffer over run causes a buffer restart at the next '$' sync character.
Note it only happened after the OP had extended the Neo to PIC cable length and mounted the Neo on the van roof and it could be picking up vehicle noise.!
If you recall the Neo is sending 3.3V serial data and the PIC is operating at 5V, so there is a reduced noise margin on the PIC RXD input.
How long and what type of cable extension did you use.??
E
hi C,Hi E,
The cable is old 4 strand telephone cable 1 1/2 Mtrs long. I could try shortening it and extending the TX to USB cable instead.
C
Hmm. I've seen serial data comms corrupted my noise and cabling issues etc, but have never seen it cause this symptom of every byte being perfectly transmitted, and always truncating the data after exactly 75 perfect bytes every time!hi,
The buffer size is 80, the longest $GPGGA is 72 including the CR and LF codes.
Any unintentional buffer over run causes a buffer restart at the next '$' sync character.
Note it only happened after the OP had extended the Neo to PIC cable length and mounted the Neo on the van roof and it could be picking up vehicle noise.!
...
hi Roman,Hmm. I've seen serial data comms corrupted my noise and cabling issues etc, but have never seen it cause this symptom of every byte being perfectly transmitted, and always truncating the data after exactly 75 perfect bytes every time!![]()