© Manfred Reimer, DL7AWL
Die neue Firmware bietet zwei Funktionsmodi: Im Kompatibilitätsmodus verhält sie sich wie bisher, d.h. es stehen die beiden bisherigen Schaltausgänge wie gewohnt ohne Zusatzhardware zur Verfügung. Per Sysop-Befehl kann man jedoch nun in den neuen sog. SR-Modus umschalten; dieser Modus arbeitet mit besagter externer Port-Erweiterung zusammen.
|
Kompatibilitätsmodus
Die externe Zusatzschaltung soll ja eine Option und keine zwingende Voraussetzung sein, deshalb befindet sich der PIC im Lieferzustand bzw. nach einer Grundinitialisierung zunächst im sog. Kompatibilitätsmodus. Er verhält sich dann exakt wie bisher (d.h. wie in Firmware-Version 2.6).
In diesem Modus sind die an K2 herausgeführten PIC-Ports RB0 und RB1 direkt als Schaltausgänge mit TTL-Pegel für beliebige Zwecke nutzbar. Jeder Ausgang kann bis zu 20 mA liefern oder aufnehmen, kann also durchaus z.B. LEDs oder geeignete kleine Relais direkt treiben (bei Relais bitte an die Freilaufdiode denken!).
Die beiden Schaltausgänge stehen für unterschiedliche Aufgaben zur Verfügung:
Per Sysop-Befehl kann in den sog. SR-Modus umgeschaltet werden (SR = Schieberegister). In diesem Modus kann der PIC über RB0 und RB1 die gezeigte externe Schieberegister-Schaltung ansteuern, welche 8 vom Sysop schaltbare Ausgänge (Q0..Q7) bietet.
RB0 behält trotz seiner neuen Aufgabe auch noch seine komplette bisherige Funktion, einschließlich der Möglichkeit PIN-loser Bedienbarkeit durch Benutzer, so dass wir also insgesamt 9 Schaltausgänge haben. RB1 steht in diesem Modus nicht nach außen zur Verfügung.
Die Schaltung ist so ausgelegt, dass als Schieberegister sowohl die TTL-Version 74LS164N als auch die kompatible CMOS-Variante 74HCT164N verwendet werden kann, mit jeweils arttypischen Vor- und Nachteilen. Die TTL-Bausteine haben z.B. den Vorteil der Unempfindlichkeit gegen statische Aufladung, aber den Nachteil, im High-Zustand nur recht geringe Ströme abgeben zu können. Die moderneren CMOS-Bausteine können hingegen im High- und Low-Zustand etwa gleich große Ströme liefern bzw. aufnehmen. Somit erscheint die CMOS-Variante technisch vorteilhafter, zudem ist sie heutzutage sogar preisgünstiger (z.B. bei Segor zum Entwicklungszeitpunkt 30, TTL jedoch 50 Cent).
Da das Schieberegister das einzige aktive Bauteil ist, ist die Funktion der Schaltung leicht zu überblicken und birgt keine Geheimnisse. Der CLR-Eingang liegt fest auf high, somit befindet sich das Schieberegister ständig im Betriebszustand. Um die Ausgänge neu zu setzen, legt der PIC software-gesteuert nacheinander die Zustände für Q7 bis Q0 auf RB0 und generiert an RB1 jeweils einen Schiebetaktimpuls (vgl.Oszillogramm). Nach insgesamt 8 Takten hat jedes Bit seine endgültige Position erreicht und damit jeder Ausgang den gewünschten Zustand. Dieser Vorgang muss natürlich jedes Mal komplett ablaufen, selbst wenn nur ein einziger Ausgang geändert werden soll. Der Anwender muss sich um diese internen Vorgänge aber nicht kümmern - der PIC tut es.
Der 3k9-Pullup-Widerstand an IC-Pin 8 sorgt für definierte Pegelverhältnisse am Takteingang, solange RB1 während einer PIC-Initialisierung hochohmig ist, und verhindert somit etwaige ungewollte Schiebevorgänge.
Die simple Zusatzschaltung ist bei Bedarf schnell auf einem Stück Lochrastermaterial aufgebaut. Eine fertige Platine wird dafür nicht angeboten. Wer möchte, kann natürlich auch gleich die benötigten Folgeschaltungen mit dazu bauen - zum Beispiel Relais nebst Treiberstufen, Freilaufdioden usw. Dann lassen sich potenzialfreie Schaltkontakte - am besten auf Schraubklemmen - herausführen, was wohl die universellsten Möglichkeiten bietet.
LEDs als Testhilfe:
Wie das Foto zeigt, habe ich dem Testaufbau Leuchtdioden für RB0, RB1 und Q0..Q7 spendiert, was während der Software-Entwicklung sehr hilfreich war. Wer das auch tun möchte, sollte direkt an den Schieberegister-Ausgängen nur low-Current-LEDs verwenden, die bei einem Vorwiderstand von jeweils mindestens 1,8k noch ausreichende Helligkeit bieten - die Ausgänge sind ja deutlich geringer belastbar als diejenigen des PIC! Wer die TTL-Version des Schieberegisters verwendet, sollte die LEDs im Interesse von Helligkeit und Qualität des Ausgangssignals gegen Plus statt GND legen, was freilich den Nachteil einer "invertierten" Anzeige hätte. Einmal mehr punktet also die CMOS-Variante.
Zu den neuen Funktionen gehören natürlich auch diverse neue Sysop-Kommandos. Eine entsprechende Dokumentation steht allen Nachbauern als Erweiterung zum Sysop-Handbuch - welches ansonsten weiterhin gilt - zur Verfügung bzw. wird bei Neubestellungen zusammen mit diesem ausgeliefert.
Bei der Nutzung der Schaltausgänge sind einige Besonderheiten zu beachten:
Auch diesmal ist es wieder mit Tricks gelungen, die neuen Funktionen doch noch im eigentlich längst ausgreizten Programmspeicher des PIC-Microcontrollers unterzubringen; unter anderem wurde die CW-Versions- und Copyright-Meldung etwas gekürzt. Der ursprünglich mal angedachte Umstieg auf einen leistungsfähigeren (aber pinkompatiblen) PIC-Typ hat sich also für diesmal doch noch erübrigt.
Die Anregung zu dieser Erweiterung stammt übrigens vom "ersten und größten Papageien-Fan aller Zeiten", nämlich Franz, OE6PZG. Er betreibt an seinem Standort in der Steiermark nicht nur seit über 10 Jahren einen Papagei als offizielle 70-cm-Relaisfunkstelle, sondern auch ein 2-m-Relais, SSTV-Kameras und eine Wetterstation. Dieser Tage (März 2007) kommt ein weiterer Papagei im interessanten 6-Meter-Band hinzu. An einem solchen Standort gibt es viel zu schalten und zu walten, so dass man reichlich Schaltausgänge immer gebrauchen kann. Bitteschön, hier sind sie!
Abschließend wünsche ich viel Spaß bei der Nutzung des seit über 10 Jahren "ewig jungen" Papageien-Projekts - nun also wieder mal mit zusätzlichen neuen Funktionen! Feedback sowie Meldung etwa entdeckter Ungereimtheiten sind natürlich wie immer höchst willkommen - am besten hier im Forum!
73 - Manfred, DL7AWL