www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MCUs mit Busregistern?


Autor: Holm Tiffe (holm)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: manateemoo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
z.B. ATMEL AT91SAM7SE

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Holm Tiffe (holm)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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. ;-)

Autor: A. K. (prx)
Datum:

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

Autor: Holm Tiffe (holm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg, eine PDP11 Uart.....

Gruß,

Holm

Autor: Alexander B. (alex-bd)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also. Es gibt AVR mit businterface : Mega8535,  Mega128, ...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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. ;-)

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

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


Peter

Autor: Holm Tiffe (holm)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Holm Tiffe (holm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter: klar doch, mit solcher Hardware hat das schon DEC gemacht..

Gruß,

Holm

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ghjk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von ST: uPSD32XX

Ein 8051 mit einer CPLD verheiratet.

Autor: Holm Tiffe (holm)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Holm Tiffe (holm)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.