Features |
---|
|
Neues zum Projekt
Ressource | Online | Download |
---|---|---|
Projekt-Dokumentation (de) | View | Download |
Project-Documentation (en) | View | Download |
Zeichnungssatz und Grafiken (de/en) | View | Download |
Set of drawings and graphics (de/en) | View | Download |
PIC16F874 Firmware (Debug-µC) | N/A | Download |
PIC16F84 Firmware (Addressbus-Monitor) | N/A | Download |
13.03.2025
Mit Hilfe eines Bits des Expansion-Registers "EXP" kann das automatische Laden des an P2.0...P2.3 angeschlossenen D-FFs unterdrückt werden. Die entsprechenden Änderungen sind im Zeichnungssatz V0.7.1 (de) / (en) auf Blatt 4 und Blatt 5, in der Dokumentation V0.8.10 (de) / (en) in Kapitel 3.6.5 und als Beispiel in Kapitel 7.3.0 festgehalten.10.03.2025
Erneute Änderung auf Blatt 4 des Zeichnungssatzes V0.7.0.08.03.2025
Der Zeichnungssatz V0.7.0 ist mit Erweiterungen beziehungsweise Änderungen auf Blatt 4, Blatt 19, Blatt 20 und Blatt 21 Online und als Download verfügbar.13.02.2025
Die jetzt als V0.8.9 verfügbare Dokumentation wurde im Kapitel 2.2.1 konkretisiert.10.02.2025
Wie auf dieser Seite zu sehen ist, gibt es jetzt auch ein (vorläufiges) Blockdiagramm des DeMon48_128k Systems.06.02.2025
Die als V0.8.8 verfügbare Dokumentation wurde in den Kapiteln 2 und 3 ergänzt.31.01.2025
Die Logik-Analysator Aufzeichnungen in der Dokumentation (Kapitel 2.5.0) und im Zeichnungssatz, Blatt 17, wurden um die Information, dass die Angaben zum "RET"-Befehl auch für den "RETR"-Befehl gelten, ergänzt.25.01.2025
Fail: Es wurde nach einem zu dem in der Intel-Literatur beschriebenem alternativen Weg gesucht, um das interne ROM eines MCS-48 µCs auszulesen, also ohne hohe Spannungen und das Spiel mit EA, *RESET, BUS und P2.0...P2.3. Die Idee war, EA auf L zu legen nachdem der µC den ersten Befehlszyklus eines im externen Programmspeicher abgelegten 1-Byte/2-Zyklen "MOVP A,@A"-Befehls (copy current page data @A to A) beendet hat. Die Hoffnung war, dass der µC dann im zweiten Befehlszyklus auf den durch A adressierten Speicherplatz im internen Programmspeicher zugreift und dessen Inhalt nach A kopiert. Sobald mit Hilfe von ALE die Adresse des nächsten Befehls im externen Programmspeicher ausgegeben und zwischengespeichert werden soll, wird EA wieder H und der µC sollte wieder auf den externen Programmspeicher zugreifen. Die Hardware, um an EA in den geeigneten Momenten L- und wieder H-Pegel zu legen, funktioniert einwandfrei, auch das *PSEN-Signal bleibt erwartungsgemäß während EA=L auf H-Pegel - aber der Befehlszähler (PC) kommt völlig durcheinander (bemerkenswert: nur für einen Befehlszyklus, nachdem EA wieder H-Pegel erhält), so dass der µC nach EA=L,EA=H zwangsläufig "crasht". Sicher ist es möglich, durch weitere Hardware auch ein Workaround dafür zu finden - jedoch stünde das in keinem Verhältnis und brächte gegenüber der in Intels Literatur beschriebenen Methode keinen Vorteil.01.01.2025
Der Zeichnungssatz steht als V0.6.9 und die Dokumentation als V0.8.7 zur Verfügung.07.12.2024
Blatt 16 des Zeichnungssatzes und Kapitel 2.5.0 der Dokumentation wurden bezüglich des externen Zugriffs mit Hilfe des PROG-Signals aktualisiert und sind in der Dokumentation V0.8.6 und dem Zeichnungssatz V0.6.8 verfügbar.29.11.2024
Kapitel 7.2.0 der Dokumentation wurde in das Kapitel 2.6.0 verschoben.28.11.2024
Die für mich zunächst etwas mysteriösen MCS-48 "INS A,BUS"- und "OUTL BUS,A"-Befehle und deren Ausführung durch einen24.11.2024
Das in der Dokumentation, Kapitel 7 hinterlegte MCS-48 Programm zum Testen des gesamten DeMon48_128k 128kB RAM und zur Demonstration des Umgangs mit der MMU wurde überarbeitet und erkennt jetzt aufgrund einer verbesserten Testmethode wesentlich mehr potentielle Fehler. Die Online- und Downloadversionen der Dokumentation wurden entsprechend aktualisiert und liegen als V0.8.3 vor.16.11.2024
Die derzeitige Firmware zum Projekt ist als Download verfügbar.29.10.2024
Statt der zweistelligen 7-Segmentanzeigen wurde ein LCD für die Ausgabe von Statusmeldungen für das Frontpanel vorgesehen (Zeichnungssatz Blatt 12). Der Zeichnungssatz wurde neben anderen Änderungen sowohl in der Online- wie in der Download-Version entsprechend angepasst und liegt als V0.6.6 vor, die angepasste und überarbeitete Firmware als V0.8.17. Die Projekt-Dokumentation wurde im Kapitel 7 um das Protokoll der seriellen Schnittstelle ergänzt (Kapitel 7.3.0) und liegt jetzt als V0.8.2 vor.24.10.2024
Eine Korrektur im Zeichnungssatz - Blatt 13.10.10.2024
Um automatisch nach einem Power-On-Reset ein MCS-48 Programm laden und ausführen lassen zu können, wurde das bereits zu Beginn des Projekts vorgesehene serielle 64kByte EEPROM sowohl in die Hardware als auch Software eingebunden. Es können beliebige Zusammenstellungen von 4kB-Blöcken dieses EEPROMS nach dem Anlegen der Betriebsspannung automatisch in das als MCS-48 Programmspeicher dienende RAM geladen und gestartet werden, sofern die jeweilige Funktion an der Hardware ausgewählt ist. Zeichnungssatz (V0.6.4), Dokumentation (V0.8.1), Hardware (V0.8.6), Firmware (V0.8.16) und GUI (V0.8.3) wurden dafür ebenso wie die Download-Versionen der Dokumente entsprechend aktualisiert und erweitert.22.09.2024
Overclocking des 1984 hergestellten µPD8049 : Als absolute Obergrenze für ein Funktionieren des hier vorhandenen µPD8049 in dem Steckbrett-Aufbau wurden 15,5MHz und für ein zuverlässiges Umschalten der Taktquelle mit dem "Glitchless Clock Switch" wurden 14,1MHz ermittelt (mit dem Gesamt-System auf 3 Steckbretter verteilt aufgebaut). Bei 15,5MHz steigt die Stromaufnahme im Vergleich zum Betrieb mit 11MHz um etwa 10mA. Zum Test wurde die "RAM Test"-Software aus Kapitel 7 der Projekt-Dokumentation genutzt.17.09.2024
Die Projekt-Dokumentation ist ab sofort vorläufig auch in englischer Sprache verfügbar. Ich bin mir noch nicht sicher, ob die Pflege der Dokumentation in je einer Online- und Download-Version in zwei Sprachen auf Dauer nicht zu arbeitsintensiv wird.28.08.2024
Die Projekt-Dokumentation wurde um das Kapitel 7 erweitert, das aktuell eine Kurz-Referenz des Befehlssatzes der 8035-, 8039-, 8048-, 8049-, 8748-, 8749-, 8040- und 8050-µC und ein Test-Programm für das gesamte DeMon48_128k RAM als Demonstration des Umgangs mit der MMU enthält.26.08.2024
Um auf den gesamten Adressraum zugreifen zu können (RAM-Test etc.), obwohl die Hardware durch die vorhandenen Jumper für das Einblenden eines memory-mapped I/O-Bereichs konfiguriert wurde, ist es jetzt möglich, softwaregesteuert über ein Bit des Expansions-Registers der MMU einen eventuell aktiven memory-mapped I/O-Bereich aus- und wieder einzublenden. Sowohl der jetzt als V0.6.2 vorliegende Zeichnungssatz (Blatt 5, Blatt 7) und die Kapitel 3 und Kapitel 5 der Dokumentation V0.7.40 wurden entsprechend aktualisiert. Ausserdem wurde Blatt 1 des Zeichnungssatzes übersichtlicher gestaltet.23.08.2024
Die Dokumentation wurde unter anderem in Punkt 2.4.0, Kapitel 2 um die Pinbelegung des DIP40-Gehäuses ergänzt und ist als V0.7.39 verfügbar.16.08.2024
Das Projekt wurde im Verlauf der vergangenen Woche um die Möglichkeit, ein externes Taktsignal einzuspeisen und störungsfrei zwischen diesem und dem internen 11MHz Oszillator umzuschalten, erweitert. Der ergänzte Zeichnungssatz (Blatt 1, Blatt 11,08.08.2024
Kosmetische Änderungen an der jetzt als V0.7.37 bereitgestellten Dokumentation.01.08.2024
Nachdem sich eine intensive Revision diesmal vor allem dem Kapitel 4 der Dokumentation gewidmet hat, ist diese deutlich gestrafft und mit besserer Textqualität als V0.7.36 verfügbar.29.07.2024
Die in Teilen weiter entwickelte Dokumentation liegt als V0.7.35 vor.25.07.2024
Durch eine in der Zerlegung von Binärwerten in Dezimale verbesserte, schnellere Firmware konnte der PIC16F84 Controller des Adressbus-Monitors durch den 4MHz-Typ ersetzt werden. Die Online- und Downloadversion des Zeichnungssatzes mit dem aktualisierten Blatt 9 liegt als V0.5.9 vor.19.07.2024
Nach einer gründlichen Neuorganisation und Revision des zweiten Kapitels der Dokumentation liegt diese - übersichtlicher und logischer im Aufbau - als V0.7.34 vor.13.07.2024
Da offenbar bei den Verfassern der Datenblätter von Intel einige Verwirrung herrschte, was man als Befehlszyklus (instruction cycle, t=15/fosc) und was als Maschinenzyklus (machine cycle, t=3/fosc) bezeichnen sollte, konnte, mit Impulsgenerator und Oszilloskop ausgestattet, einigen Fehlern bei der Beschreibung des Timer/Counter-Blocks auf die Spur gekommen werden. Ebenso wurde die Funktion von P1 und P2 auf Übereinstimmung mit dem Datenblatt geprüft und ebenfalls Ungereimtheiten ausgeräumt. Daher gibt es schon wieder ein Update der Dokumentation als V0.7.32 mit entsprechenden Änderungen in den P1, P2 und den Timer/Counter betreffenden Abschnitten des Kapitel 2.12.07.2024
Es wurde ein Abschnitt über den Hardware-Timer/Counter zum Kapitel 2 der ab sofort als V0.7.31 verfügbaren Dokumentation hinzugefügt.11.07.2024
Neben einer allgemeinen Revision wurde ein Abschnitt zu den Reset- und Interrupt-Vektoren zum Kapitel 2 der jetzt als V0.7.30 bereitgestellten Dokumentation hinzugefügt.05.07.2024
Nach einer intensiven Revision der Kapitel 2 und Kapitel 4 steht die Dokumentation als V0.7.29 Online und als Download zur Verfügung.01.07.2024
Die Dokumentation steht nach einer allgemeinen Revision mit Änderungen, die fast ausschließlich Textgliederung und Formulierung betreffen, als V0.7.28 zur Verfügung. Kapitel : 1.1.0, 2.3.0, 3.0.0, 3.2.0, 3.5.0, 3.7.0, 4.0.0, 4.1.1, 4.1.2, 4.1.517.06.2024
Die Projekt-Dokumentation und der Zeichnungssatz wurden um Logik-Analysator Aufzeichnungen der Ausführung von "MOVP A,@A"-, "MOVP3 A,@A"- und "JMPP @A"-Befehlen erweitert (Kapitel 2.5.0 der Dokumentation beziehungsweise Blatt 16 im Zeichnungssatz) und stehen als V0.7.27 (Dokumentation) und V0.5.7 (Zeichnungssatz) Online und als Download bereit.13.06.2024
Die Vereinfachung der Hardware-Breakpoint-Schaltung musste zurückgenommen werden, weil sich dadurch Glitches und eine Fehlfunktion des Hardware-Breakpoints ergeben konnten. Ausserdem wurde ein wichtiger Hinweis zum Kapitel 3.7.0 der Projekt-Dokumentation hinzugefügt und eine allgemeine Überarbeitung durchgeführt.10.06.2024
Eine grundsätzlich logischer strukturierte und erweiterte Projekt-Dokumentation ist als V0.7.24 online und als Download bereitgestellt. Unter anderem wurden Teile des Kapitels 3 in das Kapitel 2 verlegt und der Schaltplan für den "NOP"-Test zum Kapitel 3.2.0 hinzugefügt.08.06.2024
Eine erweiterte und überarbeitete Projekt-Dokumentation steht als V0.7.23 online und als Download zur Verfügung. Die neuen Kapitel sind 2.6.9 und 2.6.10, die Nummerierung der bestehenden Kapitel wurde entsprechend verschoben.24.05.2024
Eine erweiterte Projekt-Dokumentation steht als V0.7.22 online und als Download zur Verfügung. Die neuen Kapitel sind 2.3.0, 2.4.0 und 2.4.1, die Nummerierung der bestehenden Kapitel wurde entsprechend verschoben.18.05.2024
Der Zeichnungssatz steht jetzt als V0.5.4 zur Verfügung.15.05.2024
Eine neue Version der Dokumentation steht als V0.7.21 online und als Download zur Verfügung. Es handelt sich um eine allgemeine Revision mit besseren Formulierungen und Konkretisierungen, u.a. bei der Beschreibung des *RESET-Signals und des 8049-Minimalsystems mit externem Programmspeicher.07.05.2024
Eine neue Version der Dokumentation und des Zeichnungssatzes stehen als V0.7.20 bzw. V0.5.3 online und als Download zur Verfügung. Es handelt sich um eine allgemeine Revision mit einigen Konkretisierungen und Bereinigungen.17.04.2024
Der Zeichnungssatz (Blatt 15) und die Dokumentation (Kapitel 2.5.0) wurden durch detailliertere Logik-Analysator Aufzeichnungen erweitert. Der Zeichnungssatz steht jetzt als V0.5.2 und die Dokumentation als V0.7.19 zur Verfügung.12.04.2024
Eine neue Version des Zeichnungssatzes ist als V0.5.1 verfügbar. Die Darstellungen der Logik-Analysator Aufzeichnungen wurden überarbeitet, so dass sie übersichtlicher sind (Blatt 14, Blatt 15).11.04.2024
In der Version V0.7.18 der als Download und Online verfügbaren Projekt-Dokumentation sind jetzt auch die auf Basis der Untersuchungen mit dem Logik-Analysator entstandenen Grafiken als Kapitel 2.5.0 enthalten.04.04.2024
In der neuen Version V0.7.17 der von dieser Seite abrufbaren Download-Version (PDF) der Projekt-Dokumentation sind neben Änderungen am Text alle Zeichnungen (Diagramme, Schaltplanauszüge) in deutlich besserer Qualität enthalten. Die Online-Version der Projekt-Dokumentation V0.7.17 und die Online- und Downloadversionen des Zeichnungssatzes V0.5.0 enthalten ebenfalls Aktualisierungen.27.03.2024
Eine neue Revision der Projekt-Dokumentation, in der Hauptsache mit Konkretisierungen (unter anderem das "CLK"-Signal an T0 betreffend) und etwas verschlankt, ist als V0.7.16 online und als Download verfügbar.04.03.2024
Es gibt eine neue Revision des Zeichnungssatzes und der Projekt-Dokumentation (Online- und Download-Versionen). Änderungen wurden im Zeichnungssatz an Blatt 12 und in der Dokumentation im Kapitel 2 vorgenommen, hauptsächlich an den MCS-48 Timing-Diagrammen als Folge der Messungen mit dem Logik-Analysator.19.02.2024
Es wurden umfangreiche Untersuchungen mit Hilfe eines Logik-Analysators an den am µPD8049 verfügbaren Signalen unternommen, um den internen Abläufen und deren Timing dieses Mitglieds der Intel MCS-48 Familie etwas genauer auf die Spur zu kommen. Die bisherigen Ergebnisse sind als neues Blatt 14 ("MCS-48 Logic Analyzer Traces") in dem jetzt wieder erweiterten Zeichnungssatz (Online- und Download-Versionen) dokumentiert.03.02.2024
Die Projekt-Dokumentation und der Zeichnungssatz (Online- und Download-Versionen) wurden aktualisiert :20.01.2024
Die Hardware-Memory-Management-Unit (MMU) des DeMon48_128k-Projekts wurde aktualisiert, so dass jetzt DBL als P4, DBH als P5, PBR als P6 und EXP als P7 über "MOVD Pp,A"-/"ORLD Pp,A"-Befehle angesprochen werden. Die MMU kann jetzt per Jumper so konfiguriert werden, dass DBL automatisch in jedem ALE-Zyklus mit dem aktuellen Inhalt von P2.3 ... P2.0 geladen wird und so transparent den Inhalt des niederwertigen Nibbles von P2 als A8 ... A11 für Datenspeicher- und I/O-Zugriffe bereitstellt. So kann auch in einer 4(8)kByte Memory Map (siehe Dokumentation / Kapitel 5) - beispielsweise, um das "PROG"-Signal für 8243 Portexpander statt für die MMU nutzen zu können - ein memory-mapped I/O-Bereich eingeblendet und angesprochen werden. Selbstverständlich bleiben alle anderen Funktionen der MMU erhalten und unverändert. Der Zeichnungssatz und die Projekt-Dokumentation (Online- und Download-Versionen) wurden entsprechend überarbeitet und erweitert.
01.01.2024
Die Hardware-Memory-Management-Unit (MMU) wurde um ein weiteres Register erweitert, so dass das DBR (Data-Bank-Register) jetzt aus DBL (Data-Bank-Register-Low) und DBH (Data-Bank-Register-High) besteht und die benötigten 8 Adressbits unabhängig von Port2 des Mikrocontrollers bereitstellen kann. Hintergrund ist, dass es sich bei den ersten ernsthaften Versuchen der 4kB-Bank-übergreifenden Programmierung als störend erwiesen hat, wenn nach einem Zugriff auf beispielsweise das PBR (Program-Bank-Register) auch das untere Nibble der Bank-Adresse für Datenspeicherzugriffe wiederhergestellt werden musste, weil der Inhalt von P2.0 bis P2.3 durch den "MOVD Pp,A"-Befehl zerstört worden war. Zusätzlich wurde die Struktur der Projekt-Dokumentation und des Zeichnungssatzes geändert. Der Zeichnungssatz und die Projekt-Dokumentation (Online- und Download-Versionen) wurden entsprechend überarbeitet und erweitert.
18.10.2023
Die Hardware des DeMon48_128k-Projekts ist um einen Adressbus-Monitor erweitert worden.
Auf zwei 4-Digit LED-Displays werden gleichzeitig die Adressen des letzten Programm- und Datenspeicher- beziehungsweise I/O-Zugriffs angezeigt. Durch einen Umschalter mit Mittelstellung kann die Anzeige im Oktal-,
Hexadezimal- oder Dezimal-System ausgewählt werden.
Mit Hilfe von 3 LEDs wird das ausgewählte Anzeigeformat angezeigt und durch 2 weitere LEDs, ob bei der Binär-zu-Oktal- oder Binär-zu-Dezimal-Wandlung ein Überlauf stattgefunden hat (auf 4 Digits können im Oktal-Format
beispielsweise maximal 12 Bit angezeigt werden, bei einem Eingabeformat von 16 Bit können also 4 Bit auf den Displays nicht angezeigt werden).
Auch bei einem Überlauf bei der Binär-zu-Dezimal-Wandlung wird auf den 4 Digits der korrekte "Rest" (1000er, 100er, 10er und 1er) angezeigt. Der Zeichnungssatz (Online- und Download-Version) wurde entsprechend
überarbeitet und erweitert.
11.09.2023
Eine erweiterte Hardware-MMU ermöglicht 4kB-Bank-übergreifende Sprünge zu einer 16-Bit-Adresse per "JMP"-/"CALL"-/"RET"-Befehl (z.B. von 0x08E7 nach 0x53F0).
Beispiele :
Die Hardware-MMU unterstützt Unterprogrammaufrufe per "CALL" über 4kB-Bankgrenzen hinweg, allerdings muss die 4kB-Bank, zu der mit "RET" zurückgekehrt werden soll, beispielsweise in einem Register hinterlegt werden :
Einzelheiten gibt es in der überarbeiteten Dokumentation (Kapitel 3.9.0) und dem zugehörigen Zeichnungssatz.
Zusätzlich wurde der Hardware-Breakpoint etwas verbessert.