Forum: Mikrocontroller und Digitale Elektronik MCUs mit Busregistern?


von Holm T. (Gast)


Lesenswert?

Ich hatte mich mit Jörg Wunsch (Tm) schon per Mail unterhalten, bei 
Atmel gibts wohl sowas nicht. Der Intel 8042 war ein 8048 mit leicht 
veränderten Ports zum Anschluß an einen parallelen Rechnerbus. Man 
konnte da Daten auf einen Port schreiben was dann intern einen Int 
auslösen konnte, oder auch umgekehrt ein Ausgaberegister, das von außen 
erst bei einem Read aktiviert wurde. Eine Z80 PIO beherrscht sowas auch, 
was gibts für aktuelle MCUs mit diesem Feature?

Gruß,

Holm

von manateemoo (Gast)


Lesenswert?

z.B. ATMEL AT91SAM7SE

von (prx) A. K. (prx)


Lesenswert?

Solche Dinger gabe es in der 80ern häufig (ebenfalls Z8-UPC, 68120), sie 
sind aber in dieser einfachen Form längst obsolet. Wer wollte heute noch 
mit ihnen reden?

Bei PCI sind mir solche Dinger schon begegnet. Auf Prototypenkarten für 
PCI, d.h. PCI-Interface und Controller drauf, der Rest frei. Aber ob es 
das heute noch gibt - oder ob man den Leuten eher gleich ein FPGA mit 
PCI verkauft?

Aber diese Dimension meinst du wohl nicht. Im Controller-Umfeld 
kommuniziert man aber nicht parallel, nicht wenn man das irgendwie 
vermeiden kann. Und serielle Kommunikation gibt es ja allerlei - 
immerhin ist ein nicht zu dämlich gebautes SPI (ggf. mit DMA) weitaus 
schneller als der Bus vom 8042.

von Holm T. (Gast)


Lesenswert?

Einen Arm kann ich nicht brauchen, viel zu aufgeblasen, das Selbe mi 
FPGA und Co.
Was SPI macht und kann weiß ich auch, Vorteile davon möchte ich wirklich 
nicht wissen.

Ich möchte an einen parallelen BUS eine Mimik dran hängen die eine
spezielle UART simuliert, das ist Alles.

Gruß,

Holm

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nun, vielleicht freundest du dich ja doch mit der Idee an, dir das
Event-System vom Xmega mal anzugucken?

Eine UART am Parallelbus klingt natürlich verdächtig nach einer
möglichen Hardware-Realisierung. ;-)

von (prx) A. K. (prx)


Lesenswert?

Bei Microchip findet man sowas. Mindestens bei den PIC24, deren Parallel 
Master Port dem Namen zum Trotz auch Slave spielen kann.

von Holm T. (Gast)


Lesenswert?

Jörg, eine PDP11 Uart.....

Gruß,

Holm

von Alexander B. (alex-bd)


Lesenswert?

Guten Abend Holm,

das können auch die PIC18F - meist (evtl. jeder) ab 40Pin.
Nennt sich SPP - streaming parallel port.
Wenn ich Dich richtig verstanden habe müsste es das sein.

Gruss
Alex

von Purzel H. (hacky)


Lesenswert?

Also. Es gibt AVR mit businterface : Mega8535,  Mega128, ...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hey noch Was schrieb:
> Also. Es gibt AVR mit businterface : Mega8535,  Mega128, ...

Da ist der AVR aber nur Bustmaster, er soll aber Slave sein.

Holm: naja, wenn du die PDP-11-UART sauber beschreiben kannst, ich
habe keinen Zweifel, das sowas in ein FPGA (vermutlich sogar ein
eher kleines) passen würde, auch wenn ich nicht viel Ahnung von
HDL + FPGAs habe. ;-)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Der XMega sollte das in der Tat mit etwas Firmware auch ohne externe 
Bausteine beherrschen, abgesehen von eventuell nötigen Pegelwandlern.

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

es hindert dich doch niemand, ein Port als 8bit-Datenbus und ein 
weiteres Port als 6 Adressen, RD und WR zu konfigurieren. Dann kannst du 
zwar nicht mit einfachen Read- oder Write-Befehlen arbeiten, aber die 
heutige höhere Taktrate macht das wett.

Gruss Reinhard

von Peter D. (peda)


Lesenswert?

Der gute alte 74HC646 ist als Koppelregister zwischen 2 Bussen geeignet.
Der eine schreibt ein Byte rein, der andere liest es aus.


Peter

von Holm T. (Gast)


Lesenswert?

Die UART der PDP11 ist zu Fuß aufgebaut, d.h. ein wirklich oller 
"Industry Standard UART" (Zitat DEC) der wirklich nicht programmierbar 
ist und zwei 8 Bit Ports für die empfangenen zu sendenden Daten hat. 
Dann gibts ein paar TTL Register auch für den Status, das war es dann.
Die Baudrate wird per Hardware mit Dipschaltern eingestellt.
Die Doku gibts irgendwo bei Bitsavers.org.

Solche ollen UARTs habe ich noch von Tesla, MHB1012 oder so
PMOS, die wollen +5/-9V ..

Ein Atmel mit solch einem Port wäre hier sehr einfach gewesen.
die PICs, auch wenn ich die nicht mag, schaue ich mir mal dahingehend 
näher an. Da muß ja nicht wirklich viel Firmware rein.

Die Xmegas fallen durch nicht gerade bastelfreundliche Gehäuse auf; ja, 
geht noch...
Xmegas haben aber etwas mit dem Arm gemeinsam: "Kanonen auf Spatzen"

Das was ich da basteln will, ist eh Unfug und nur zum Spaß da. Ich will 
mit Am2901 Slices eine kleine PDP11 kompatible Kiste basteln und das in 
einem Gefäß das einbe VME Backplane hat. Den vorhandenen VME-RAM will 
ichauch gleich nutzen, der passende UART ist nur ein weiteres Steinchen 
auf dem langen Weg bis 2.9 BSD bootet..

Ob das Ding dann irgendwie die Power hat einer Wurstpelle vom Teller zu 
ziehen ist eine ganz andere Frage und nicht primär.

Gruß,

Holm

von Holm T. (Gast)


Lesenswert?

@Peter: klar doch, mit solcher Hardware hat das schon DEC gemacht..

Gruß,

Holm

von (prx) A. K. (prx)


Lesenswert?

Holm Tiffe schrieb:

> Solche ollen UARTs habe ich noch von Tesla, MHB1012 oder so
> PMOS, die wollen +5/-9V ..

Klingt nach altertümlichen UART-ICs ähnlich AY-3-1015: Tx und Rx 
Komponente völlig getrennt mit getrenntem Bus und mit Pins für die Modi.

Was ich noch nicht verstehe: Hast du nun eine UART und baust die PDP-11 
drumrum, oder baust du eine PDP-11 und suchst eine passende UART? Mit 
einem Exemplar der Gattung AY-3-1015 könnte ich wahrscheinlich dienen.

von ghjk (Gast)


Lesenswert?

Von ST: uPSD32XX

Ein 8051 mit einer CPLD verheiratet.

von Holm T. (Gast)


Lesenswert?

@A.K. Ich bastele erst mal an der CPU, genauergesagt an einer Subplatine 
für den Ladbaren Mikrocode RAM. Danach kommt die CPU selbst.
Das Ganze wird noch etwas dauern :-) Das es eine PDP11 wird liegt am 
überschaubaren Befehlssatz und es gibt Software dafür.

Ich habe mich halt kundig gemacht, auf was das OS wert legt damit es 
funktioniert, und da ist die serielle Konsole kein unwesentlicher 
Bestandteil.
Wenn ich die AY-3-1015 von Dir nehme, muß ich praktisch auch die ganze 
restliche Hardware drumherum nachbauen, deswegen dachte  ich 
ursprünglich an einen Atmel der die ganze Platine simuliert. :-)

Ich habe auch schon mal ein ähnliches Problem gehabt, eine emulierte 
Robotron Tastatur für einen alten Rechner. Diese Tastatur hat eine 
bidirektionale 8 Bit breite Parallelschnittstelle mit 4 (?) 
Selektleitungen.
Original schreibt der Z80 in der Tastatur den Status und die Daten auf 2 
Verschiedene Register (8212) und der Hauptrechner kann die da abholen.
Nach dem dieser eine der CS Leitungen selektiert hat, hat  die Tastatur 
800ns Zeit die Daten haltbar auf diesem Bus unterzubringen. Genauso beim 
Schreiben in die Tastatur. Ein Freund hatte da einen Emulator mit einer 
PS/2 Tastatur angefangen, da war IMHO ein AT89C2051 drin. Das Ding hat 
es Zeitmäßig nicht gebacken bekommen entsprechend zu reagieren. Mit J 
habe ich damals auch über einen Atmel nachgedacht und wir sind dabei zu 
dem Ergebnis gekommen, das der das warscheinlich mit Hängen und Würgen 
schaffen würde, wenn man ihn in Assembler quält. So Abwegig ist also 
IMHO so ein Latch am Port gar nicht..


Ich schaue bei mir selbst nacher mal nach, es kann sein, das ich so 
einen AY-3-1015 als Einzelstück auch noch habe..

@ghjk: ich schaue mir das Ding mal an..

Gruß,

Holm

von (prx) A. K. (prx)


Lesenswert?

Holm Tiffe schrieb:

> restliche Hardware drumherum nachbauen, deswegen dachte  ich
> ursprünglich an einen Atmel der die ganze Platine simuliert. :-)

Adressdecodierung, Buszyklen und Interrupt-Steuerung soll der gleich mit 
übernehmen, dabei aber kompatibel zum Original sein, damit dessen 
Software läuft? Nun ja...

von Holm T. (Gast)


Lesenswert?

Nein, so war das nicht gemeint. Ein Bisschen Leim drum herum ist sicher 
nötig, wie z.B. Adreßdecoder. Aber er sollte die Register nachbilden und 
selbverständlich UART spielen. Kompatibel muß das Ding  dann nur 
Softwareseitig sein, d.h. sich über die entsprechenden Memory Adressen 
ansprechen lassen und die richtigen Bits im Statusregister setzen.
Das war so meine Vorstellung.

Übrigens der IC den ich noch hier habe heißt AY-5-1013A, ist Pinoutmäßig 
das Selbe wie der AY-3-1015D, welcher aber den Vorteil hat mit 5V 
auszukommen.
Der AY-5 will -12 zusätzlich, ist also warscheinlich das Selbe wie die 
MHB1012 die ich auch gefunden habe..

Dein IC ist also nicht ganz uninteressant :-)

Gruß,

Holm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.