Homepage von Peter Rachow Startseite - Home
Forschung und Entwicklung: LCD-Anzeige | Mikrocontroller | Software | Sensoren | Gehäuse | Erfahrungsberichte
Geräte: SBTC3 | SBTC4 | Datenmodem zum PC | Simulator für Drucksensor
Der Datenaustausch zwischen dem SBTC und einem PC
Die Datenkommunikation zwischen SBTC und PC findet über die serielle Schnittstelle des PC (COM1: oder COM2:) und dem USART (Universal Synchronous and Asynchronous Receiver and Transmitter)-Modul des ATMEL-Controllers statt. Dafür benötigt man ein Modem, das die +/-12V der seriellen Schnittstelle umsetzt auf 0...5V des ATMEL-Controllers. Der Schaltplan für dieses Modem findet sich hier .
Die
Übertragungsparameter sind: 2400 Baud, 8 Datenbits, Keine
Parität,
1 Stoppbit
1.
Die Speicherbelegung des SBTC
Der Speicher des SBTC gliedert sich in 2 Gruppen von n und m Bytes:
n:
Dem Speicher für die Benutzereinstellungen und anderer fixer
Parameter
(Bytes 0...47)
m:
Dem Ringspeicher für Tauchgangsdaten (Bytes 48...1024)
Die
Benutzereinstellungen:
|
Die
Statistikwerte:
|
Ein
Tauchgang erhält diese Datenstruktur:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Max.
erreichte Tiefe [m] LoByte |
|
Max.
erreichte Tiefe [m] LoByte |
|
|
|
|
|
|
|
|
|
132 (Ende Dekostufen) |
|
|
|
|
|
|
|
|
|
|
|
OTU (LoByte) |
|
OTU (HiByte) |
|
|
Anmerkungen:
Im Tauchprofil selbst sind Sonderwerte enthalten. Diese entsprechen:
122:
Aufstiegsgeschwindigkeit missachtet
123:
Dekompressionsstufe missachtet
124:
ppO2 über eingestelltem Grenzwert
125:
Nullzeit abgelaufen (i. e. ab jetzt der Tod lauert! ;-))) )
126:
Gaswechsel durchgeführt (Nr. des Gases im nächsten Byte)
127:
Aufgetaucht
134...138:
reserviert
2. Die Kommunikation zwischen PC und SBTC
2.1 Die Grundstruktur
Der
PC fungiert als "Master", der SBTC als "Slave". Wird der SBTC per
Bedienermenü
in den Datenkommunikationsmodus geschaltet, so wird das USART-Modul
intialisiert
und der Interruptvektor aktiviert, d. h. das Gerät ist jetzt in
der
Lage, vom PC Befehle zu empfangen. Wenn jetzt ein Zeichen aus der
seriellen
Schnittstelle des PC eintrifft, wird es in der Interruptfunktion des
USART
in einen Puffer geschrieben. Der Inhalt dieses Puffers wird um
nachfolgende
Zeichen erhöht, die einen Befehl genauer definieren (s. u.). Die
Anweisung
ist abgeschlossen, wenn die erwartete Zahl an Bytes beim SBTC
eingetroffen
sind. Dann wird die ganze Zeichenkette im SBTC ausgewertet. Vorher wird
die Befehlszeichenfolge an den PC zurück übertragen, um eine
Überprüfungsmöglichkeit zu haben, ob die Daten korrekt
beim
SBTC angekommen sind. Zusätzlich wird beim Lesen von Daten des
SBTC
die CRC-Prüfsumme der übertragenen Daten berechnet.
2.2
Die Befehlscodes
Die Befehlsstruktur ist äußerst einfach gehalten, es gibt nur 2 Befehle:
Befehlscode 100 |
Adresse LoByte |
Adresse HiByte |
Ein Wert eines Bytes wird gesetzt mit:
Befehlscode 101 |
Adresse LoByte |
Adresse HiByte |
Wert | CRC-Prüfsumme |
Antwort auf einen Lesebefehl:
Befehlscode 100 |
Adresse LoByte |
Adresse HiByte |
Gelesener Wert | CRC-Prüfsumme |
Antwort
auf einen Schreibbefehl:
Befehlscode 101 |
Adresse LoByte |
Adresse HiByte |
Gesetzter Wert |
2.4 Die PC-Software
Die Software für den PC lässt sich hier herunterladen (Visual Basic Quellcode).
Die SBTC-Seiten
Konzeption | LCD-Anzeige | Mikrocontroller | Software | Sensoren | Gehäuse | Erfahrungsberichte