Saturday, July 31, 2010

NMEA 2000, how do I love thee, let me count the ways, for now.



The OSI (Ohio Scientific Inc.) 300 computer you see below, is a very early microprocessor based computer, and it is the first computer I every owned. I bought it in 1975, or 1976, all shiny new, along with some of the most obscure technical documentation ever written. But with perseverance, I learned how to program it in machine language. This little computer sported a very brand new state of the art MOS 6502 8 bit microprocessor. There was no C in front of the MOS, which meant when you shut it off, it forgot everything it knew, and you started all over again. At the time, it truly was a technological marvel, but how quickly it became a dinosaur, and it has lived in my closet for many decades now, as a poignant reminder of my technological past, and how quickly time passes all of us by.




I was recently installing a NMEA 2000 backbone, attached to a Garmin 5212 system, and replacing almost all of the original NMEA 0183 wiring. I started thinking about my little antique computer above, and how quickly things change. When this Garmin system was installed, just a couple of years ago, it too was a technological marvel, and it included the brand new NMEA 2000 interface, but at the time, there was little NMEA 2000 gear available to plug into it, so during the original installation, all of the interfaces were NMEA 0183. 

In the beginning, when the NMEA 0183 system was cobbled together, life, was simple. Lard sold for a $1.00 a bucket, Ward and June Cleaver were still sleeping in separate beds, and there were few things available for your state of the art LORAN to talk to. Life became more complicated, and as new marine technology blossomed, the original software designs needed updating. New sentences were added, but the older equipment's software couldn't always digest it. Multiplexers were invented to support additional equipment, more new sentences were needed, and again older software had difficulties dealing with the new sentences. Boxes were devised to do translations for older equipment, and along the way, manufacturers started to ignore the standards, and added proprietary sentences, which enhanced the new features of their stuff, but often made headaches for other vendors stuff. To top all of this off, NMEA 0183 typically operated at the glacial speed of 4800 baud, which is now the computing equivalent of watching your fingernails grow.
















But worst of all was the wiring interface. A zillion little color coded wires that were difficult to strip, terminate, and connect to anything. The jargon attached to the wires was also all mixed up. Is it a RX+ or a VE+,  NMEA ground, or ship's ground? So stare at the wiring diagrams, and lets see now, the orange/black TX+ of port 2, goes to the other system's blue/white receive port 4 VE+. You get the idea, everybody did something different. You want to see what's being sent, get a lap top with a serial port, wire up a DB 9 connector, crank up Hyper terminal in your Windows 98 computer, and read out the data. Awkward, dated, slow, inscrutable, out of control, and good riddance, unless of course you make your living selling multiplexers.

















The marine communications gurus formed committees, and cloistered themselves in rooms with white boards, and did a good job of updating the old NMEA 0183, and created the vastly improved NMEA 2000. This was long over due, and a quantum leap forward. Gone were the little tiny colorful wires, and small plug and play connectors took their place. Now my label  maker can really be put to use. It was difficult to label wires that seemed to be the size of a human hair.








Since you can split up the NMEA 2000 backbone, multiple devices can be consolidated in one location, and you only need to pull one cable to another location. Two new Garmin N2K GPS units are being installed here, and only one wire needs to be pulled to the console. It could have been ten devices, and still one wire pull. Gone are the many wire runs between upper and lower consoles just to support inter-unit communications.


















How are you going to keep then down on the farm when you can see a list of what's connected to the system? This is an enormous trouble shooting tool that allows you to quickly tell if devices are connected, and this will also generally tell you whether they have power, or not. This is a good start, but as I have learned, just because it is on the device list, it doesn't mean that the gear is working correctly. I was plugging devices in and out of the backbone, and  using the device list to identify the cables for labeling, and it caused the Garmin 600 AIS to freeze up. A power reset corrected this, but what I would like to see is a N2K diagnostic page that would allow you to see if the units are sending data correctly. If the box can read it, it should be able to display it. While I'm showing a picture of a Garmin 5212 above, did I mention I want a QWERTY keyboard, or am I repeating myself, again?

The old NMEA 0183 was restricted to 32 character strings, and a lot of the hardware that used it would choke on things it didn't understand. NMEA 2000 seems to have solved this problem. If a system sees things it is not going to use, it just ignores it, as long as the "PGN" sentence is correctly written, and speaking of  sentences, there is now a huge array of them, and the list is growing everyday.

The Garmin system above has 12 devices hanging on the system, and it works seamlessly. Doing this with the old NMEA 0183 would have been possible, but not without tribulations, mysterious black boxes, gnashing of teeth, miles of wire along the way, and less than perfect integration. So good job NMEA 2000, lets now see how long it will last.

So lets flash ahead in our time machine, and we will let history repeat itself. Manufacturers will design propriety equipment, and software that won't work, and play well with others, in order to get some marketing edge, or increased margins, or both. Marine technology will continue to advance, more data will have to be moved even faster, GPS technology will change, and three or four decades from now, someone like me will stare wistfully at the antique Garmin 5212 in his closet, and fondly remember this relic that was his very first, "state of the art" chartplotter. 
















The photo above is a Radio Direction Finder (now a relic) and was taken by K. Krallis, and was uploaded from Wikipedia Commons.

Joe Williams sent this additional photo to me, and I think it fits perfectly. When was the last time anyone handled, or used one of these cards?  The rebel in me wants to fold, spindle, and mutilate it. Thanks Joe
.











4 comments:

  1. Hi,Blogger I visited your blog recently and found that so informative..thanks for sharing the information..keep it up!!

    marine gps units

    ReplyDelete
  2. nice article about nmea 2000
    I didn't really get the reference regarding MOS/CMOS. I can see it's something along the lines of RAM/NVRAM, but I don't really see how it applies in this case

    ReplyDelete
    Replies
    1. (Complementary) Metal Oxide Semiconductor. It also forgets when the power goes off, but since it doesn't take any power unless it's changing state you can keep it alive for years with a little lithium coin cell.

      Delete
  3. Early 1960's... Class on Physical Chemistry - P Chem - we had to run programs on the mainframe to do Schrodinger's equations for probability of an electron being in a given orbital...

    To program, lots and lots of punch cards were typed up by entering meta language equations into the punching machine... Then the stacks of punched cards were fed into the card reader on the mainframe (IBM obviously)...
    The wary would take a pencil and sequentially number their card stack - the unwary didn't... A favorite torture for the unwary was when someone would slip a single card out of their stack and stick it back in at random (called cutting the deck)...

    Todays students laugh at this old technology, but it sent us to the moon.. It programmed ICBM flight paths... And on and on...

    dr. o

    ReplyDelete