De:NASA Clipper Range: Unterschied zwischen den Versionen

Aus OpenSeaMap-dev
Wechseln zu: Navigation, Suche
K (schreibfehler korrigiert)
K (Steckerbelegung)
Zeile 17: Zeile 17:
  
 
{|
 
{|
!|  Pin   ||   Belegung   
+
!|  Pin || Belegung   
 
|-
 
|-
|  1   ||   SCL
+
|  1   || SCL (serial clock)
 
|-
 
|-
 
|  2  || GND
 
|  2  || GND
 
|-
 
|-
|  3  || SDA
+
|  3  || SDA (serial data)
 
|-
 
|-
 
|  4  || 12V
 
|  4  || 12V
Zeile 29: Zeile 29:
 
|  5  || GND
 
|  5  || GND
 
|}
 
|}
 
  
 
== Datenübertragung ==
 
== Datenübertragung ==

Version vom 21. August 2014, 11:11 Uhr

NASA Clipper Depth

Im Vergleich zu den meisten anderen Echoloten ist das Besondere des NASA Clipper Depth Echolots die Datenübertragung der Tiefendaten zu einem Tochterdisplay. Es wird dabei nicht ein standardisiertes Protokoll wie etwa NMEA-0183 oder ähnliches benutzt, sondern ein I2C Bus, der über den I2C Bus direkt mit dem LCD-Treiber des Tochterdisplays kommuniziert. Diese Seite zeigt wie man die I2C-Daten dekodieren und in NMEA-0183 umwandeln kann.


Steckerbelegung

Detailaufnahme der Kabelausgänge für den Batterieanschluss (oben) und des 5-poligen DIN-Steckers (unten)
Pin Nummerierung des 5-poligen DIN-Steckers

Der Datenausgang ist ein ein 5-poliger DIN-Stecker, siehe auch [[1]]. Das Aussehen des Steckers sowie die Nummerierung der Pins sind rechts dargestellt. Die Pinbelegung ist dabei folgende:

Pin Belegung
1 SCL (serial clock)
2 GND
3 SDA (serial data)
4 12V
5 GND

Datenübertragung

Die Leitungen SDA, SCL sind in dem Tochterdisplay mit einen Komparator (LM393) verbunden. Dieser wandelt die, durch die Abschlusswiderstände abgeschwächten Signale, wieder in 5V Signale um. Die Daten des LM393 werden an einen Microcontroller (PIC16F84A) gegeben, der diese an den LCD-Treiber (PCF8566P) weitergibt. Als Endanwender sind dabei zwei Dinge zu beachten:

  • Wenn kein Tochterdisplay angeschlossen ist, sind die Ausgangsspannungen im Bereich 0-5V, es muss also kein Komparator benutzt werden.
  • Das Echolot (der I2C Master) erwartet keinen Empfänger und sendet nach jedem Byte automatisch das ACK-Bit mit. Das Auslesen der Daten kann daher sowohl passiv als auch als ein normaler I2C slave stattfinden.

Datenformat

I2C Daten (Byte Nummern, SCL, SDA) eines NASA Marine Depth Datensatzes aufgenommen mit einem Logik Analysator.

Jeder I2C Datensatz besteht aus 7 Adressbits, einem write bit (Byte 0) und 10 Datenbytes (Bytes 1-11). Die Datenbytes 1-5 bleiben konstant, die auszuwertenden Nutzdaten sind in den Bytes 7-11:

Byte 0 1 2 3 4 5 6 7 8 9 10 11
Bedeutung ADDR+WRITE CMD CMD CMD CMD CMD DATA DATA DATA DATA DATA DATA
Inhalt 0x3E+W = 0x7C 0xCE 0x80 0xE0 0xF8 0x70 DATA DATA DATA DATA DATA DATA

Jedes einzelne Bit in Bytes 7-11 repräsentiert dabei ein Segment der LCD:


Segmente des NASA Clipper Depth LCD und Namen.
Byte LCD Bit 7 LCD Bit 6 LCD Bit 5 LCD Bit 4 LCD Bit 3 LCD Bit 2 LCD Bit 1 LCD Bit 0
6 2d 2c 2e 2g 2f 2b 2a DEPTH
7 3a SHALLOW 3f 3b 3e 3g 3d 3c
8 N.A. N.A. N.A. N.A. N.A. N.A. N.A. FEET
9 DEZ. Punkt METRES N.A. N.A. N.A. N.A. N.A. N.A.
10 N.A. PFEIL L 1a DEEP 1f 1b 1e 1g
11 1d 1c N.A. N.A. N.A. N.A. BLOCK Pfeil R