Sunday, September 13, 2015

Xprotolab Scope Helps RS-232 Problems

I have been working on another project for a while. It involves reading serial data over an rs-232 interface. Actually from a Garmin GPS and a Ocean PC AIS.

I am sure that I read somewhere that Garmin's NMEA data out was not the rs-232 positive and negative voltage, but just 0v to 5volts. So I spent several days (part time only) failing to read the data. I was not sure if it was the logic-level shifting from 5v to 3.3volt for the chip I am using or a software problem.

I tried checking with my cheap digital volt meter and learned nothing.  I even got out my tiny Xprotolab oscilloscope. I was poring through the manual to verify the input voltage because I thought I remembered it being only a 3.3 volt part. BUT it is -14 volts to +20 for the scope part, the 8 channel logic analyzer part is indeed 3.3 volt.

Unfortunately, on the 128x64 bit 0.9 inch display, I decided it was indeed a 0-2.9 volt signal.

XMEGA Xprotolab Scope

Another day later and I became even more suspicious of the levels so I started looking for more ways to check. That's when I noticed that in the Xprotolab's manual (a pdf of course) they have a PC interface and a display program for the PC to make a little more readable output.

I downloaded the Linux version and very quickly learned that the Garmin 72H that I was listening to and my Standard Horizion radio w/AIS reciever both put out a plus/minus 3.3 volt rs-232 over the NMEA 0183 data lines.

That was it! So a little time searching the web, as I didn't want to include the MAX232 in this project. I found Alternatives of MAX232 which shows a single transistor, single line rs232 ->ttl converter.

Great! now back to the original problem and the small matter of software! A lot of days I wish I had a real oscilloscope, 200 khz on th e 1" display doesn't help with a lot of stuff. But it does help sometimes.

No comments:

Post a Comment