Aber das dies auch für den /CLK gilt war mir neu. Würde die /CLK-Leitung des 8251 aber schon gerne mit im Systemtakt belassen, denn hier vermute ich Seiteneffekte durch nicht mehr synchronisierte Zugriffe auf den Chip. Denn /CLK aus IC8a zu entnehmen, würde bedeuten, dass dieser mit dem Steuerbus nicht mehr synchron ist (und dabei noch schneller wäre als der Systemtakt)
Im Datasheet des 8251 steht ganz klar, das der CLK Eingang nichts mit den Read/Write Zugriffen zu tun hat.
Bezüglich der Z180-Karte hat diese doch einen einstellbaren Taktteiler der aus Phi erzeugt wird. Passt der für solche Karten nicht?
Doch, da hast du recht. Und , gut mitgedacht!
Der CLK aus der 8085-CPU Karte hat 2 MHz, der Teiler auf der Z180 Karte kann "nur" 2n teilen. Bei Oszillatoren, die nicht mit 2MHz * 2n schwingen haben dann auch der CLK-Leitung einen Takt ungleich 2MHz.
Im aktuellen Fall ist das nicht wichtig. Wenn man die Baudrate aus diesem Takt erzeugt, wie bei der MFA-ProgSerSchnittstelle, hat man ein Problem.
Also, für deine Karte will ich meine Aussage zurück ziehen.
die Ansteuerung des 8251 habe ich aus den Original-MFA-Unterlagen 4.10 entnommen
Ja, ich weiss,die können das auch nicht richtig.
Aber ein Fehler abschreiben macht es nicht richtig.
Gilt auch für die Baudratenteiler und die Kondensatoren.
Der '192/'193 ist ja schon fast synchron, aber nicht der LOAD Eingang.
Schau dir mal den '161 an, der ist m.W. komplett synchron. Schau ich mir aber ggf. auch noch mal genau an.
Damit kannst du BorrowOut/CarryOut direkt auf den LOAD Eingang verbinden.
7497 muss ich mir anschauen.
Bei der Interrupt-Steuerung macht m.E. nur der Empfang sinn. Denn warum sollte ich einen Interrupt beim Versenden auslösen? In dem Augenblick befinde ich mich in der Regel softwaretechnisch eh in einer Senderoutine, bei der Unterbrechungen vermutlich eher störend wären.
Bei einem Empfang von Zeichen (z.B. Eingabe über ein Terminal) könnte hier ein anderes Programm unterbrochen werden, um die eingetippten Zeichen einzulesen.
Der Rx-Intr ist auf jeden Fall interessanter.
Mit dem Tx-Intr kann man einen Sendebuffer in Software realisieren. Zeichen, die ich senden möchte die UART aber belegt ist, werden in einem Buffer zwischen gespeichert. Wenn das UART-Senderegister frei ist, wird der Intr ausgelöst und ein Zeichen aus dem Buffer in die UART geschickt. ich Das kann Wartezeiten in der Software verkürzen bzw emiminieren. Und ja, auch ein Sendebuffer kann voll werden.
Ist ein Nice-To-Have. Früher hab ich sowas standartmässig implementiert.
Weiterhin viel Erfolg.