--==== M c P O C S A G ====-- Alternative Firmware für Motorola MC micro Bündelfunk Version, zum Betrieb als Funkrufsender (POCSAG) im Amateurfunk. Hardware Plattform: HD6303Y CPU, 64kB(56kB) ROM, 8kB RAM Verwendete Entwicklungsumgebung: ConTEXT Editor, TASM Assembler (modifiziertes TASM68.TAB - um CPU spezifische I/O Befehle erweitert) Debugging mit EPROM Emulator auf mc Micro. Lizensiert unter der "Gnu Public License" (GPL). DG1YFE, 2004-2006 P.S.: TNX an DK3HU für den EPROM-Emulator --------------------------------------------------------------------- History September 2004 - Juli 2005: Entwicklung Alternativfirmware für Motorola McMicro, danach Abspatlung von "McPOCSAG" Features der Mc Micro Firmware: - Reset & Initialisierungsroutinen - Displayansteuerung, Char Übersetzunsgtabellen - "Putchar" Funktion - "Printf" Funktion - I/O Funktionen - PLL Ansteuerung, Lock Anzeige - Mathematische Funktionen mit 16 und 32 Bit (Divide, Multiply) - Minibetriebssystem - rudimentäre Frequenzeingabe mit Menü Tastenbelegung: C - Clear Display * - Backspace # - Enter - EEPROM Current Read - EEPROM Random Read -sequentielles Lesen von Blöcken zu max. 256 Byte aus dem EEPROM -Schreiben eines beliebigen Bytes in das EEPROM -Größe des verfügbaren EEPROM Speichers ermitteln -CRC16 über Speicherbereich berechnen -Testet und Initialisiert das RAM mit Konfigurationsdaten aus dem EEPROM (falls vorhanden) -Kanal up/down eingefügt ================= McPOCSAG --------- v 0.2.2 - 18.09.2005 (11:47) - Initialisierung der VCOs korrigiert. Nachdem einschaltet wird nun korrekterweise der RX VCO aktiviert und nicht der TX VCO. PLL lockt jetzt also auch direkt nach dem Einschalten und nicht erst nach kurzem drücken von "PTT" - Ablage von -9,4MHz hinzugefügt (0/7,6/9,4) --------- v 0.2.1 - 21.07.2005 (23:48) - PLL Programmierung korrigiert, eingestellte Frequenz wird nun korrekt übernommen (in 0.2.0 ist die programmierte Frequenz etwa 12,5khz höher als die angezeigte) --------- v 0.2.0 (erste Version) - 09.07.2005 (05:48) ==> ACHTUNG - Frequenzübernahme in PLL fehlerbehaftet (eingestellte Frequenz ca 10kHz höher als angezeigt) - Wesentliche Funktionen von McMicro übernommen - vereinfachter Speichertest (nur bei RAM Fehler wird abgebrochen) - Initialisierung aus ROM auf 439,9875MHz ohne Ablage - Speicherung des eingestellten Kanals im EEPROM über Taste '#' möglich, Kanal und Offset werden mit CRC gespeichert und beim Starten geladen. Wenn die CRC nicht passt wird aus dem ROM initialisiert (dies wird durch eine blinkende gelbe LED während der Versionsanzeige signalisiert) - Löschen des Kanals (und damit Initialisierung aus dem ROM) über Taste '*' möglich - Kanal Up/Down über die Tasten links vom Display möglich - Ablage von -7,6MHz über Taste 'A' schaltbar. Aktivierte Ablage wird durch einen Pfeil über Taste 'A' angezeigt. Mit dieser Option ist Relaisbetrieb z.B. bei Wartungsarbeiten möglich. - Die 3. Taste am Display zeigt die Anzahl der Hauptschleifendurchläufe in der letzten Sekunde an. Ohne Displayaktivität liegt der Zähler um 8000. ( D.h. die PTT wird beispielsweise ca. 8000 Mal pro Sekunde abgefragt. Sie muß übrigens 40 Zyklen aktiviert sein bevor der Sender aktiviert wird bzw. 40 Zyklen gelöst sein bevor der Sender deaktiviert wird)) - PLL-Lock Anzeige über rote LED: Es wird alle 500ms geprüft ob die PLL eingerastet ist, ist das nicht der Fall, wird es über die rote LED signalisiert. Bei nicht eingerasteter PLL wird die Versorgungsspannung für die Endstufe deaktiviert, es kann höchstens mit Treiberleistung gesendet werden. Eine Abfrage und Sperre des kompletten Senders per Software ist noch nicht eingebaut. - Die Raussperre wird von der Software gesteuert, der Ansprechpegel kann im Gerät eingestellt werden