maandag, 19 februari 2018

pad: homeelectronica › seatalk

SeaTalk

Synoniemen: protocol, netwerkprotocol, interface, bus

Publicatie 20-03-2011 15:18 - Aangepast 20-03-2011 15:29

SeaTalk is een van de eerste netwerkprotocollen (ook wel bus genoemd) binnen de pleziervaart. SeaTalk is nog steeds een veel gebruikte standaard om verschilllende Raymarine instrumenten aan elkaar te koppelen. Een SeaTalk kabel bestaat uit drie draden: rood voor de +12V voeding, zwart voor de ground en geel voor data.

SeaTalk connectorenSeaTalk is een bus gebruikt voor onderlinge communicatie van Raymarine / Autohelm / Raytheon uitrusting van schepen, zodat alle apparaten op een schip beschikken over elkaars gegevens. Het protocol is niet ontwikkeld door de fabrikant, maar door Thomas Knauf. Het SeaTalk protocol is een asynchrone seriële bitstroom op 4800 baud.

Elk instrument met een SeaTalk aansluiting heeft twee connectoren en worden op deze manier onderling doorgelust. Indien nodig (bijvoorbeeld vanwege aantal SeaTalk instrumenten welke via SeaTalk kabel gevoed moet worden), is een opsteling in een zogenaamde ringleiding ook mogelijk. De voeding voor de instrumenten loopt ook over deze ringleiding. Oudere ST50 instrumenten maken gebruik van kleine ronde connectoren, maar het netwerkprotocol verschilt niet van de modernere instrumenten.

Hoe werkt SeaTalk

Hardware-interface

SeaTalk maakt gebruik van drie draden, waarbij alle apparaten doorgelust worden via de bus:

  1. +12 V (rood)
  2. GND Supply (grijs)
  3. Data Serial Data (geel) +12 V = stationair / Mark = 1, = 0V Space / Data = 0, 4800 Baud, pullup circuit in elk apparaat, spreker naar beneden trekt naar 0V (bedraad of). Voor aansluiting op een RS232-ontvanger moet spanning worden omgekeerd.

Serial Data Transmission

11 bits worden doorgegeven voor elk personage:

  • 1 Start bit (0V)
  • 8 databits (minst significante bit uitgezonden eerst)
  • 1 Commando bit, op het eerste teken van elke datagram
  • 1 stopbit (+12 V)

Samenstelling van berichten

Elk datagram bevat tussen de 3 en 18 tekens:

  1. Aard van de opdracht.
  2. Attribute karakter, met vermelding van de totale lengte van het datagram in het minst significante deel:
    • De meeste significante 4 bits: 0 of een deel van een data-waarde
    • Minst significante 4 bits: Aantal extra data bytes = n
    • Totale lengte van datagram = 3 + n karakters
  3. Gegevens bytes
  4. Optionele, aanvullende gegevens bytes

Collision Management

Er is geen master (verkeersregelaar) op de bus. Elk apparaat heeft gelijke rechten en mag zenden als gecontroleerd is dat de bus voor een bepaalde tijdsduur vrij is van zenders (+12 V voor ten minste 10 / 4800 seconden). Lage prioriteit berichten gebruiken  hierbij een min of meer willekeurig gekozen idle-bus-wachttijd. Dit maakt het voor berichten van andere apparaten met een hogere prioriteit mogelijk om eerst te zenden. De verschillende wachttijden van alle apparaten maken van data botsingen (twee of meer apparaten aan het zenden op precies hetzelfde moment) zeer zeldzaam. En omdat elk apparaat ook luistert naar haar eigen uitzendingen, wordt meteen herkent wanneer haar boodschap onleesbaar is geworden door een tweede zender. Het apparaat wacht vervolgens op een nieuw vrij moment op de bus en zend dan weer opnieuw het hele bericht uit.