vbInside > Elektronik > SSTV-Bake Unnenberg

SSTV-Bake Unnenberg

Kurzbeschreibung

Es soll eine Mikrokontrollerschaltung entstehen, die, ähnlich einer Webkamera, Standbilder auf einer Funkbake überträgt. Die gesendeten Bilder werden als SSTV-Signal ausgestrahlt. Die Bilder kommen von einer Kamera, die auf dem Unnenberg-Turm aufgestellt wird.

Kurzübersicht

Autor Dominik
Mikroprozessor Atmega8515 + Atmega32
Eigenschaften
  • Netzwerkzugriff
  • HTTP-Kommunikation mit Videowebserver
  • JPEG - Bitmap Konvertierung
  • Direkte digitale Signalsynthese

Downloads

JPEG-Board PNG-Image 26kb
Ethernet-Board PNG-Image 12kb

Status

Ethernet-Schnittstelle uIP-Framework läuft, Ping und Telnet möglich
JPEG-Konvertierung Modifizierte libjpeg konvertiert am PC
Speicherschnittstelle, 2.5Mb SRAM Fertig
SPI-Link JPEG<->Ethernet Boards In Arbeit
DDS - Signalsynthese Nur konzeptuell vorhanden
Linearphasiger Filter Sobald DDS fertig

Konzept


Die vorläufige Planung sieht so aus: Auf dem Unnenberg-Turm wird eine analoge Kamera installiert. Ein Videowebserver stellt die Bilder in das lokale Netzwerk. Das erste Board holt ein aktuelles Standbild vom Webserver ab (leider als JPEG-Bild) und sendet es über den SPI-Link an das zweite Board. Dieses wandelt das JPEG-Bild in ein Bitmap um, extrahiert also die Farbinformationen für jeden Pixel und reduziert gleichzeitig die Bildgröße. Dann wird es das Bild, zusammen mit einigen Steuersignalen, als SSTV-Signal an eine Funkanlage weiterleiten.

Ethernetboard

JPEG-Board

SPI-Link

Die beiden Prozessoren kommunizieren über das Serial Periphal Interface. Das Linkmodul benutzt die byte-orientierte Übertragung der SPI-Einheiten beider Atmegas um eine paketorientierte Übermittlung zu ermöglichen. Dabei ist die Hauptfunktion des SPI-Link-Moduls die Synchronisierung der Kommunikation. Dazu werden zwei Wartesignale und die Slave-Select-Funktion der SPI-Einheiten verwendet. Zur Sicherung der korrekten Übertragung erfolgt ein Fehlererkennung über eine CRC16-Prüfsumme.

Bei der Kommunikation per SPI gibt es einen Master, das Ethernetboard, und einen Slave, das JPEG-Board. Die eigentliche Schnittstelle besteht aus vier Leitungen: "Master Out Slave In", "Master In Slave Out", Takt und "Slave Select" (invertiert). Über die Slave-Select-Leitung aktiviert der Master die SPI-Einheit im Slave. Der Master generiert nun ein Taktsignal. Dabei werden 8 Bits vom Master in den Slave und umgekehrt übertragen. Beide Seiten benutzen im Prinzip jeweils ein Schieberegister.

Hinzu kommen 2 weitere Leitungen, nämlich "Wait" und "Wait2". Über die erste teilt der Slave dem Master mit, ob er bereit für die nächste Übertragung ist. Ist diese auf Null gesetzt, kann der Master jederzeit einen Transfer starten. Über die "Wait2"-Leitung synchronisiert der Slave seine Prüfantwort mit dem Master. Vor der Übertragung des ersten Prüfbytes sollte Wait2 auf Null liegen, kurz nach der Übertragung auf Eins gehen. Der Master überwacht diesen Zustandswechsel, um sicherzustellen, dass der Slave alle Datenbytes erhalten hat. Nach der Übertragung des zweiten Prüfbytes überprüft der Slave die empfangenen Daten mit den Prüfinformationen des Masters. Wenn er bereit zum Antworten ist, setzt er Wait2 auf Null und der Master startet den Austausch der Antworten.


Zustandsautomat - Datenübertragung

Zur Übertragung kommen zwei Automaten zum Einsatz, einer auf jeder, die über ein sehr einfaches "Protokoll" miteinander sprechen. Jeder hat drei für den anderen sichtbare Zustände:

Der Zwischenspeicher hat eine Größe von 32 Bytes, die auch immer komplett übertragen werden (mit dem SPI-Link). Das erste Byte enthält stets den eigenen Zustand. Die anderen Bytes haben nur im Zustand Xfer eine Bedeutung. Dann gibt das zweite Byte die Datenmenge in der Übertragung an und der Rest sind die Daten.
Wenn der Gegenüber nicht im erwarteten Zustand ist, weil irgendein Fehler aufgetreten ist, oder wenn z.B. das uIP-Framework einen Fehler meldet, wechselt jeder Automat in den Anfangszustand. Bei der nächsten Übertragung wechselt dann auch der andere Automat, da der Automat mit Fehler sich nicht im erwarteten Zustand befindet.
Eine Besonderheit gibt es im Xfer-Zustand. Sendet das JPEG-Board eine Datenlänge, die größer als die Zwischenspeichergröße ist, so wird das Paket verworfen und der Automat des Ethernetboards wechselt zum Bereitschaftszustand.
Intern besitzen die Automaten ggf. weitere Zustände, die aber keinen SPI-Transfer anstrengen und somit unsichtbar für den anderen Automaten sind. Z.B. der Establishing-Zustand des Ethernetboards.

Tipps

Kleine Dinge, die mir während der Entwicklung aufgefallen sind, und auf die beim Nachbauen hilfreich sind.

Bilder

Keine vorhanden