Fernschreib- und Morse-Telegrafie-"Decoder"
mit den AVR-MicroControllern ATtiny2313 und ATtiny4313
Stand: 2012-12-11 (letzte Neuigkeiten bzgl. der Firmware RCrx1.54 vom 2012-02-10)


Schaltung mit umprogrammiertem MicroController:

Bild 1
Zusatz-Schaltung (Converter)zum Wandeln des
Ton's einer bestimmten Frequenz in einen Impuls:


Bild 1
(Abb. 1) Eröffnungs-Meldung des Telegrafie-"Decoder's" beim Start
Der Schaltplan ist auf der entsprechenden Pollin-Seite verfügbar.
(Abb. 1A) Simpler PLL-Filter-Converter (Mark-only) zur Umsetzung des NF-Signals aus einem Empfänger in ein TTL-Signal für den "Decoder".
Das NF-Signal kommt vom NF-Ausgang des Empfängers in den NF-Eingang des Converter's.
Der Ausgang des Converter's wird verbunden mit PB6 (Wannenstecker Pin9) des "Decoder's".

--- Diese Schaltung ist nicht im Pollin-Spiel integriert! ---
(Ein Klick auf das Schaltbild lädt dieses per Acrobat-Reader-PlugIn)



Das hier verwendete Wort "Decoder"

Ein Wort vorab um Mißverständnisse zu vermeiden: Das Wort "Decoder" steht in Gänsefüßchen da das Gerät nicht als Entschlüsselungsgerät codierter Funksprüche arbeitet. Die Entschlüsselung z.B. militärisch codierten Fernschreib- oder Morse-Textes ist mit der hier vorgestellten Firmware nicht möglich, und auch nicht beabsichtigt.
Die von mir entwickelte Firmware ist für den Einsatz zu Amateurfunk- und/oder Demonstrations-Zwecken vorgesehen. Die hier vorgestellte Firmware wertet nicht direkt das akustische Signal aus einem Empfänger aus! Dazu wäre zwischen dem Telegrafie-Decoder und einem Empfänger ein sogenannter Converter zu schalten, der die akustischen Signale aus dem Empfänger in digitale Signale wandelt und zum Telegrafie-"Decoder" führt. Der Schaltplan (s. Abb. 1A) des einfach aufzubauenden PLL-Converter's steht hier zum Download bereit.


(Video 1) RTTY/Fernschreib-"Decoding" mit dem ATtiny2313/ATtiny4313
Das im Empfänger empfangene Signal wird mittels eines
RTTY-Filter-Converter nach DJ6HP (sichtbar unterhalb des
Steckbretts) in Impulse gewandelt und zum Telegrafie-"Decoder" geführt.
   
(Video 2) CW/Morse-"Decoding" mit dem ATtiny2313/ATtiny4313
Die Zeichen werden in diesem Video per Hand-Taste gegeben,
aber auch Tests auf unterschiedlichen Amateurfunkbändern ergaben
brauchbare Ergebnisse, auch bei unterschiedlichen Tempi.

Nach Betätigung des Pausen-Symbols (in der Control-Leiste unten links) kann das entsprechende Video angehalten oder wiederholt werden.


Der Telegrafie-"Decoder"

Das "Tüdeln" das oft auf Kurzwelle zu hören ist können u.A. Fernschreib- oder Morse-Signale sein. Im kommerziellen Funk (z.B. Deutscher Wetterdienst, Presseagenturen, Militär, etc.) und im Amateurfunk werden in Abhängigkeit des Bandplans bestimmte Telegrafie-Arten gesendet, unter Anderem auch Fernschreib- und Tastfunk-Telegrafie. Fernschreib-Signale sind menschlich nicht interpretierbar. Morse-Signale hingegen, können von Menschen interpretiert werden.
Der von mir entwickelte Telegrafie-"Decoder" interpretiert das digitale Fernschreib-Telegrafie-Signal im Baudot-Code nach CCITT2 (im Folgenden RTTY genannt) und Tastfunk-Telegrafie-Signale im Morse-Code (sicher ein Frevel für einen eisernen CW-Enthusiasten), und schreibt die übersetzten Signale in menschen-lesbaren Text auf ein LC-Display.
Das Display mit 8 Zeichen pro Zeile, in der hier verwendeten Schaltung, ist sicher zu klein und daher nicht praxisgerecht. Um explizit mein Programm auf der Pollin-Spiel-Elektronik zu demonstrieren habe ich den Bausatz im Original belassen. Dieser Aufbau ist daher nur zur Demonstration vorgesehen. Es kann jedoch ein größeres 2-zeiliges Display an diese Schaltung gelötet werden. Der Wert für die Anzahl der sichtbaren Zeichen pro Zeile ist im EEPROM abgelegt (für dieses Display ist an der EEPROM-Adresse $06 der Wert $08 abgelegt). Wie dieser Wert auf größere 2-zeilige Displays angepaßt wird ist auf dieser Seite im Abschnitt Das EEPROM des Controller's beschrieben. Displays mit mehr als 2 Zeilen werden von meiner Firmware nicht unterstützt. Später folgen jedoch weitere Projekte die auch 4-zeilige Displays unterstützen.

Morse-Signale werden vom Telegrafie-"Decoder" automatisch synchronisiert. Manuelle Einstellungen sind daher nicht nötig. Es kann jedoch während des Empfangs mittels Taster3 und Taster4 manuell eine erneute Synchronisation angestoßen werden, falls Zeichen unsauber empfangen werden (Beide Taster haben die selbe Funktion).. Während des Morse-Empfangs gibt der Piezo-Schallwandler analog des Signals entsprechend einen Ton aus. Wird z.B. eine Morsetaste an PB6 und GND angeschlossen und diese entsprechend betätigt so ist beim Niederdrücken der Taste dieser Kontroll-Ton zu hören (= akustischer Monitor).
Einen kleinen Wermutstropfen gibt es zur Zeit in der Routine zum "Decodieren" von Morse-Zeichen: Beginnt ein Funkspruch mit einem T so synchronisiert das Programm nicht. Dies liegt an der Referenzierungs-Routine, die ich in noch nicht absehbarer Zeit jedoch ändern werde. Alles Andere funktioniert aber recht gut.

Zum Empfang von Fernschreib-Signalen sind die Baudrate (Taster4 und Taster3, hinten/links & -rechts) sowie die Signal-Polaritäts-Umschaltung (Taster2, vorn/rechts) entsprechend einzustellen. Diese Parameter sind während des Empfangs ebenfalls mit den o.g. Tastern zu ändern.
Die Bedienung der Taster wird auf dieser Seite im Abschnitt Die Bedienung des Telegrafie-"Decoder's" beschrieben.

In der Pollin-Spiel-Schaltung wird der ATtiny2313 mit dem internen Oszillator getaktet. Daher fällt die Genauigkeit etwas "mager" aus. Dies bedeutet daß bei höheren Schrittgeschwindigkeiten Fehler bei der Erkennung der empfangenen Zeichen auftreten können (Timing-Toleranz). Daher empfehle ich den Einsatz bis maximal 75 Baud. In meinen Tests wurde bis maximal 150 Baud korrekt interpretiert, dies setze ich jedoch nicht als Normal-Fall voraus.

Die Darstellung am Display

Die Display-Zeilen werden während des Empfangs im Wechsel beschrieben. Eine genauere Beschreibung erfolgt im Absatz Die Textausgabe am Display auf dieser Seite.


Funktionen des Telegrafie-Decoder's:
Text-Empfang:
  • wahlweise in RTTY
  • oder in CW
Folgende Parameter können verändert werden:
  • (RTTY) Fernschreibtelegrafie-Schrittgeschwindigkeit in Baud
  • (RTTY) Signal-Polarität (Normal/Revers)
  • (RTTY) BU/ZI-Ebene wechseln

Anschlüsse:
Vorsicht:
Die Firmware aktiviert im MicroController
den Pull-Up-Widerstand an PB6.

PB6 ist somit gegen GND zu takten!




Die Bedienung des Telegrafie-"Decoder's":

Der Controller startet mit einer Eröffnungsmeldung am LC-Display (s. Abb. 1). Nach ca. 1s erscheint der Status: RCrxMenu/Rx RTTY (s. Abb. 2) oder RCrxMenu/Rx CW (s. Abb. 3). Der Controller befindet sich jetzt im Menümodus und ist bereit zur Umschaltung zwischen der Modulations-Art RTTY oder CW. In diesem Menümodus ist der Controller jedoch noch nicht empfangsbereit!
Erst nach Betätigung des Tasters4 hinten/links kann der Controller Signale empfangen.

Zur "Decodierung" von Telegrafie-Signalen wird vorausgesetzt daß an PB6 und GND entsprechend eine Signalquelle angeschlossen ist, beispielsweise der Ausgang eines Filter-Converter's dessen NF-Eingang mit dem -Ausgang eines Empfängers verbunden ist. Der Empfänger ist auf ein sauberes Telegrafie-Signal einzustellen. Die Qualität des Empfangs ist analog der Qualität des Signals. Nur ein sauberes Signal kann sauber "decodiert" werden. Diese Beschreibung bezieht sich nicht darauf wie eine gute Signal-Qualität zu erreichen ist. Es wird vom Benutzer erwartet daß er entsprechende Geräte verwendet und diese ordnungsgemäß einstellt sodaß ein sauberes Signal am MicroController anliegt.
Ich verwende am Kopfhörer-Ausgang des IC-7000's einen Filterconverter. Der Empfang funktionierte bisher einwandfrei.
Bild 2
(Abb. 2) Menü
Mit Taster1 (links/unten) kann in den
Modus CW gewechselt werden




Das Menü "RCrxMenu" beseht aus 2 Ebenen:

  • der RTTY-Ebene und
  • der CW-Ebene

Funktionen im Menü (RCrxMenu):
Bedienelement:Funktion:
Taster1 (vorn links):Umschaltung der Modulations-Art: CW oder RTTY
Taster "Ein" (vorn Mitte):Keine Funktion
Taster2 (vorn rechts):Keine Funktion
Taster4 (hinten links):Modulations-Art bestätigen und Empfang aktivieren
Taster3 (hinten rechts):Keine Funktion

Im Menü-Modus RCrxMenu ist der MicroController noch nicht empfangsbereit. Zuerst ist die Modulations-Art auszuwählen und anschließend Taster4 (hinten links) zu betätigen! Erst dann können die empfangenen Signale umgesetzt werden.
Bild 3
(Abb. 3) Menü
Mit Taster1 (links/unten) kann in den
Modus RTTY gewechselt werden


 
Der CW-Empfang:

Maschinell und konstant gegebene Zeichen werden ordnungsgemäß übersetzt, auch ist dies bei hand-gegebenen Zeichen möglich da das Programm die Ton- und Pausenlängen innerhalb einer Toleranz erwartet.

Der Empfang von Tastfunk-Telegrafie kann jedoch sehr unterschiedlich ausfallen. Dies liegt daran daß CW-Zeichen auf unterschiedliche Weise gegeben werden können. So könnte der Decoder zum Beispiel innerhalb eines Wortes Leerzeichen zwischen den Buchstaben erkennen. Dies könnte daran liegen, daß die Pausen in Ralation der gegebenen Zeichen zu groß sind. Die Ursache kann entweder am Geben der Morsezeichen liegen oder es bedarf einer Optimierung meines Programms. Die Programmierung zum CW-Empfang war ohnehin nicht gerade sehr einfach, da Morsezeichen unterschiedlich lang sind und sie erst nach Ablauf einer bestimmten Pause übersetzt werden können. Ebenso ist die Länge von Pausen entscheidend für den Zusammenhalt des einzelnen Buchstabens/Zeichens, und zur Trennung von Wörtern.

Es gibt verschiedene Algorithmen zum Decodieren von Morsesignalen. Das hier verwendete Synchronisations-Verfahren enthält leider einen "kleinen" Fehler: Ein Funkspruch darf nach erneuter Synchronisation nicht mit einem T beginnen. Tritt dieser Fall auf so ist manuell eine erneute Synchronisation durchzuführen, ebenso beim Empfang einer längeren Pause.
Eine manuelle Neu-Synchronisation wird durch Betätigung des Tasters3 (oder des Tasters4) angestoßen. Das führt dazu daß nach einer Pause und Änderung der Gebe-Geschwindigkeit die Längen der Töne und Pausen in neue Relationen gesetzt werden und die Übersetzung der Zeichen wieder möglich ist. Somit ist das Programm zu Beginn eines Funkspruchs unabhängig von einer konstanten, langsamen oder schnellen Gebe-Geschwindigkeit.
Sollte bei konstanter Geschwindigkeit dennoch keine korrekte Übersetung möglich sein so sind während des Empfangs Taster3 oder 4 zur erneuten Synchronisation zu betätigen. Dieser Vorgang muß evtl. häufiger durchgeführt werden.


Funktionen in der Tastfunk-Telegrafie-Ebene (CW):
Bedienelement:Funktion:
Taster1 (vorn links):Keine Funktion
Taster "Ein" (vorn Mitte):Abbruch des Empfangs & Wechsel zum Menü
Taster2 (vorn rechts):Keine Funktion
Taster4 (hinten links):- Erneute CW-Synchronisation anstoßen
Taster3 (hinten rechts):+ Erneute CW-Synchronisation anstoßen
 
Ausgaben:
LED4 (hinten links):Optischer CW-Monitor
Buzzer:Akustischer CW-Monitor
Bild 8
(Abb. 4) "Decoder" beim CW-Empfang


Bild 9
(Abb. 5) Der "Decoder" im RTTY-Empfangs-Modus
45.45 Baud/Normal
 



Der RTTY-Empfang:

Die Veränderungen werden unmittelbar durchgeführt. Eine Bestätigung ist nicht erforderlich. Der neue Wert wird sofort am Display angezeigt. Alle Parameter-Einstellungen werden im EEPROM abgelegt und stehen zur nächsten Sitzung weiterhin zur Verfügung.

Funktionen während des RTTY-Empfangs:
Bedienelement:Funktion:
Taster1 (vorn links):Wechsel zwischen BU- und ZI-Ebene
Taster "Ein" (vorn Mitte):Abbruch des Empfangs & Wechsel zum Menü
Taster2 (vorn rechts):Wechsel der Signal-Polarität Normal/Revers
Taster4 (hinten links):- Verminderung der Schrittgeschwindigkeit
Taster3 (hinten rechts):+ Erhöhung der Schrittgeschwindigkeit

Veränderungen der Signalpolarität und der Schrittgeschwindigkeit werden unmittelbar in der 2. Zeile des Displays angezeigt und beim weiteren Empfang überschrieben.
Bild 9
(Abb. 6) Der "Decoder" im RTTY-Empfangs-Modus



Die Textausgabe am Display

Der auf dem Display dargestellte Text beginnt in Zeile1 und wird vom linken Rand nach rechts geschrieben. Ist der rechte Rand des Displays erreicht wird die Text-Darstellung vom linken Rand der 2.Zeile zu deren rechten Rand fortgesetzt (s. Abb. 6).

Ist das Ende der 2.Zeile erreicht wird die 1.Zeile gelöscht und dort die Darstellung fortgesetzt, die 2.Zeile bleibt währenddessen vorerst erhalten (s. Abb. 7).

Beim Erreichen des Endes der 1.Zeile wird die 2.Zeile gelöscht und diese beschrieben, wobei die 1.Zeile vorerst erhalten bleibt. Etc.

Ist das Ende der 2.Zeile erreicht wird die 1.Zeile gelöscht und dort die Darstellung fortgesetzt. Beim Erreichen des Endes der 1.Zeile wird die 2.Zeile gelöscht und anschließend beschrieben, usw.
Bild 10
(Abb. 7) Die Display-Zeilen werden im Wechsel beschrieben

Das EEPROM des Controller's

Die im Folgenden beschriebenen Anpassungen sind nicht nötig wenn die Elektronik des "Pollin-Spiels" nicht verändert wird, sondern nur wenn z.B. ein größeres Display verwendet werden soll.

Änderungen von Parametern

Änderungen im EEPROM des MicroController's sind z.B. mit dem Pollin ATMEL Evaluations-Board & PonyProg2000 möglich. Dort erfolgt die Darstellung des Speicherinhaltes hexadezimal und im rechten Bereich in ASCII. Der Flash-Speicher wird in grüner und der EEPROM-Speicher in blauer Farbe dargestellt. Der Flash-Speicher darf nicht manuell verändert werden, sonst funktioniert das Programm im MicroController nicht mehr ordnungsgemäß!

Vorsicht beim Editieren!

Zu Beginn des EEPROM-Speichers befinden sich in den Adressen $00-$0D einige Steuerungs-Parameter (Beschreibung s.u.).

Zum Ändern des EEPROM-Speichers muß PonyProg2000 zuerst vermittelt werden daß der Speicher überhaupt geändert werden darf. Dazu ist im Programm der Menüpunkt Edit anzuklicken und anschließend Edit Buffer enabled zu wählen (Das Häkchen links muß dabei gesetzt sein, s. Abb. 13).
Bild 13
(Abb. 13) Zuerst ist der Schreibschutz aufzuheben mit /Edit/Edit Buffer enabled !
Anschließend ist das zu ändernde Byte anzuklicken.
 
Anschließend ist auf das zu ändernde Byte zu klicken (s. Abb. 14). Es öffnet sich ein kleines Fenster namens Edit Buffer. Hier wird das Byte auf 3 verschiedene Weisen dargestellt und kann in den entsprechenden Eingabefeldern geändert werden. Nach Betätigung der Schaltfläche OK wird die Änderung von PonyPro2000 übernommen. Damit sind die Daten aber noch nicht im EEPROM des MicroController's! Um die Daten nun zum Chip zu übertragen ist aus dem Menü der Punkt Command zu wählen und anschließend der Menüpunkt Write Data (EEPROM). Die darauf folgende Meldung zum Überschreiben ist mit Yes zu bestätigen. Bild 14
(Abb. 14) Der neue Wert ist hexadezimal, dezimal oder als ASCII-Zeichen anzugeben.
 
Die Steuerungs-Parameter

Die ersten Bytes des EEPROM's von $00 bis $06 enthalten die unten aufgeführten abgespeicherten Parameter-Daten, immer als Lo- und Hi-Byte. Dem 6. Byte (Anzahl der sichtbaren Zeichen/LCD-Zeile) gehört kein Hi-Byte!. Bei erster Inbetriebnahme ist der Speicher leer und enhält in allen Zellen den Wert $FF. Erst wenn Parameter verändert wurden (z.B. durch Betätigung der Taster3 und/oder -4) werden sie entsprechend dort abgelegt. Nach erster Inbetriebnahme sind es Vorgabe-Parameter z.B. $002D für die RTTY-Schrittgeschwindigkeit 45 Baud.
Bild 15
(Abb. 15) Die farbig umrandeten Parameter werden im Folgenden beschrieben (s.u)


Positionen der Steuerungs-Parameter

Die Bytes der Steuerungs-Parameter stehen immer in der Folge von Lo-Byte und Hi-Byte im EEPROM.
PonyProg2000 führt das EEPROM ab Adresse $0800.

(Die Farbe des Wertes ist analog der Umrandung der Bytes in Abb. 15)
EEPROM-AdresseWert/FarbeBedeutung des Wertes
$00 - $01$002D45BdFernschreib-Geschwindigkeit (RTTY) in Baud (nur Lo-Byte!)
$02 - $03$FE1AWert für CW-Monitor um mit Timer1 eine Frequenz von 1000Hz zu erzeugen (ist zu errechnen)
$04 - $05$00A2s. u.Semaphor1 (Nur das Lo-Byte wird zur internen Steuerung verwendet!)
$06$08Anzahl der sichtbaren Zeichen pro LCD-Zeile (ohne Hi-Byte!)

Die Werte zur Erzeugung der Frequenz von 1000Hz für den CW-Monitor ist mittels folgender Formel zu errechnen:

65536 + Anzahl.Zyklen - (Taktfrequenz/(Prescaler* 2*Frequenz)) + Offset

Zyklen = Anzahl der Zyklen innerhalb der ISR-Routine für Timer1, (* 13 inkl. Einsprung)
Taktfrequenz= System-Takt des MicroController's (* 1.000.000 Hz)
Prescaler= Teiler für Timer1 (* 1)
Frequenz= Frequenz die erzeugt werden soll
Offset= Wert bei Abweichung (* 2)

  • * Der folgende Wert bezieht sich auf den System-Takt und die im Programm festgelegte
    Timer1-Einstellung sowie auf die ISR-Routine, die mit dem Einsprung Befehl (in Summe)
    die Zeit von 13 Takt-Zyklen braucht.
  • Offset ist ein Wert zur Kompensation der Frequenzabweichung.

Berechnungs-Beispiel:

Zur Ermittlung des Wertes zur Erzeugung einer Frequenz von 1000 Hz ergibt sich folgende Berechnung:

65536 + 13 Zyklen - (1.000.000Hz/(1* 2*1000Hz)) +2 = 65050 = $FE1A

$FE1A ist der Wert der hier zur Erzeugung des Tones für den CW-Monitor nötig ist. s. $02-$03
 


Die Semaphoren

Die Semaphoren bestehen jeweils aus einem Byte in welchem sich der Controller bestimmte Zustände "merkt". Das Semaphor2 enthält lediglich temporär-wichtige Informationen. Es ist daher flüchtig und befindet sich lediglich in einem Register. Das Semaphor1 wird beim Starten des Controller's als Word vom EEPROM gelesen und dessen Lo-Byte in ein Register übertragen. Die einzelnen Informationen des Semaphor1 sind im Folgenden beschrieben:

Das Semaphor1:

Stelle:Bedeutung:Mögliche Zustände:Bemerkung:
Bit 0Keine FunktionNicht ändern!
Bit 1Modulationsart0 = RTTY / 1 = CWManuelle Änderung möglich
Bit 2Signalpolarität0 = normal / 1 = reversManuelle Änderung möglich
Bit 3Keine FunktionNicht ändern!
Bit 4BuZiBitStatus ob zuletzt Bu(0) oder Zi(1) gesendetÄnderung nur durch das Programm
Bit 5Keine FunktionNicht ändern!
Bit 6Keine FunktionNicht ändern!
Bit 7TemporärTemporäres Bit zur internen NutzungNicht ändern!

Der Zustand des Semphor1 wird im EEPROM an Adresse $05 gespeichert. Einzelne Bits können mit PonyProg2000 nicht geändert werden sondern nur das ganze Byte! Daher ist nach Änderung der Bits das Byte zu bilden und der daraus entstandene hexadezimale Wert mit PonyProg2000 in das EEPROM des ATtiny2313 zu übertragen.




Letzte Änderungen/Neuigkeiten bezüglich der Firmware:

DatumVersionBemerkung
2012-02-10v1.54Auswertung der CW-Kombination SK und des Buchstaben ß als sz
2011-10-17:Bereitstellung der HEX-Files für ATtiny2313, ATtiny4313 und ATmega8.
2011-10-16v1.53Source-Anpassung auch für den ATtiny4313.
2011-10-09v1.52Wechsel zwischen BU- und ZI-Ebene während des Fernschreib-Empfangs (RTTY).

In eigener Sache

Es geht hier nicht um die vollständige Elektronik eines Telegrafie-Empfängers, -Decoder's, -Demodulators oder wie auch immer man das Gerät nennen mag, sondern nur um dessen software-seitige Basis.
Das Programm ist sicher "nichts Dolles". Hier ist dennoch mein aktueller Assembler-Source-Code für das Hauptprogramm und die LCD-Routinen.

Für diejenigen die sich nicht für den Source-Code interessieren und nicht programmieren wollen sondern lieber den Telegrafie-"Decoder" zum "Laufen" bringen möchten stehen hier folgende HEX-Files zum Flashen bereit um das "Pollin-Spiel" zum Telegrafie-"Decoder" zu ändern:

HEX-File für ATtiny2313
Der ATtiny2313 ist die original MCU im "Pollin-Spiel". Diese ist nicht modifiziert und kann mit dem HEX-File geflasht werden, dann ist das Spiel aber futsch. Wer auf das Spiel nicht verzichten mag möge eine andere MCU verwenden. Wichtig ist, daß sich die Fuse-Bits im Auslieferungszustand des Herstellers befinden.

HEX-File für ATtiny4313
Der ATtiny2313 kann problemlos gegen einen ATtiny4313 ausgetauscht werden, da dieser pin-kompatibel ist.
Das Flashen des ATtiny4313 ist mit PonyProg2000 derzeitig nicht möglich, jedoch am bequemsten mit dem freiverfügbaren myAVR-ProgTool. Wird dazu das ATMEL_Evaluations_Board von Pollin genutzt, so ist im myAVR-ProgTool im Register "Hardware" unter "Sonstiges" "ponyser" auszuwählen und der entspr. "Anschluss" (COM-Port) anzugeben.
Es kann aber auch AVRDUDE unter Verwendung dieser Konfigurations-Datei avrdude.conf genutzt werden. Diese avrdude.conf enthält einen besonderen Parameter-Block für den ATtiny4313, womit das Flashen dieser MCU einwandfrei funktioniert! Die Fuse-Bits habe ich damit jedoch nicht geändert, daher weiß ich nicht ob die Parameter zum Ändern der Fuse-Bits darin korrekt sind.
Ich bitte um Korrektur an dl8oas@gmx.de falls Fehler darin enthalten sein sollten !

HEX-File für ATmega8
Der ATmega8 kann nicht in der Pollin-Spiel-Elektronik verwendet werden! Daher sind folgende Unterschiede gegenüber der ATtiny-Firmware zu beachten:

  • Seine Firmware ist im Pollin-Atmel-Evaluations-Board inklusive des Pollin-ADD-On-Board's (s. Start-Seite) entwickelt und getestet worden. Entsprechend ist seine Beschaltung dem Source-Code zu entnehmen! Ggf. sind die Schaltpläne auf den Pollin-Seiten zu den Boards down-zu-loaden und zu nutzen.
  • Die Firmware dieses HEX-Files gibt den empfangenen Text auf einem LC-Display mit 2 Zeilen zu 16 Zeichen pro Zeile aus.
  • Auch über die integrierte RS232-Schnittstelle des ATmega8 werden die Zeichen ausgegeben. So können diese z.B. von einem Terminal dargestellt werden oder von einem anderen RS232-Gerät verarbeitet werden. Das HEX-File ist zur RS232-Kommunikation mit 4800 Baud (ohne Gewähr!) ausgelegt.
  • Der auf dem Pollin-Atmel-Evaluations-Board verwendete 16MHz-Quarz wird von der Firmware nicht zum Takten des ATmega8 genutzt. Daher sind dessen Fuse-Bits im Auslieferungs-Zustand des Herstellers zu belassen.
    Wird dennoch beabsichtigt den Quarz zu nutzen so sind nicht nur die Fuse-Bits anzupassen, sondern auch der Source-Code entsprechend zu ändern und das neue Programm in die MCU zu flashen, was durchaus zum Erfolg und präziserem Arbeiten des MicroController's führt. In diesem Fall ist die Änderung des System-Taktes (XTAL) zu berücksichtigen und eventuell (aber nicht unbedingt nötig) die Baudrate (RS232Bd) gemäß der eigenen Bedürfnisse anzupassen. Ebenso muß auch das daran angeschlossene Endgerät ordnungsgemäß konfiguriert werden um sinnvoll mit dem MicroController zu kommunizieren.

Weder die Source-Codes noch die HEX-Files sind verkäuflich, und dürfen nur im Rahmen des HAM-Spirit's weitergegeben werden! Auch geänderter Code basierend auf meinem Source-Code darf nicht gewerblich genutzt werden, ebenso Teile meines Source-Codes!

Fragen zu diesem Projekt beantworte ich gerne per eMail s.u.

Für Schäden die mit der hier beschrieben Technik an Geräten, Personen oder der Umwelt verursacht werden übernehme ich keine Verantwortung und Haftung!

73, de Jens (DL8OAS)
eMail: dl8oas@gmx.de