Hallo,
ich möchte einen AVR mit einem FPGA verbinden und das ganze über 16
Bit-Adress- und 8 oder 16 Bit-Datenbus. Gibt es einen AVR der da
irgendwas an Board hat (8 oder besser 16 bit Datenbus). Oder gibt es da
vielleicht eine Lösung die schonmal jemand erstellt hat?
Jegliche Hinweise oder Quellen in diese Richtung würden mich sehr
interessieren.
Danke Tom
@ Tom (Gast)
>ich möchte einen AVR mit einem FPGA verbinden und das ganze über 16>Bit-Adress- und 8 oder 16 Bit-Datenbus. Gibt es einen AVR der da>irgendwas an Board hat (8 oder besser 16 bit Datenbus). Oder gibt es da
Der MEGA8515 und noch einige andere haben eine exterene
Speicherschnittstelle. (8 Bit Daten und 16 Bit Adressbus). Reicht für
den AVR auch locker. Wieviel Daten willst du denn übertragen, dass es 16
Bit Datenbus sein soll?
>Jegliche Hinweise oder Quellen in diese Richtung würden mich sehr>interessieren.
Die Datenblätter der AVRs.
http://www.atmel.com
MFG
Falk
Hallo Johannes, das ging aber schnell :)
Ist das beim ATMega 8515 die alternativbelegung für Port A und C?
Ist da Adresse und Daten dann gemultiplext? Wie steuert man sowas dann
an. Gibts da Funktionen wo man nur Adresse und Daten bereit stellen muss
oder muss man sich um das Multiplexen und die ganzen Sachen manuell
selber kümmern?
Gibt es irgendwo ein Beispiel dafür wo ich mir sowas mal ansehen könnte?
Gruß
Tom
@ Tom (Gast)
>Ist das beim ATMega 8515 die alternativbelegung für Port A und C?
Ja.
>Ist da Adresse und Daten dann gemultiplext?
Ja.
>Wie steuert man sowas dann an.
Macht der AVR alleine.
> Gibts da Funktionen wo man nur Adresse und Daten bereit stellen muss>oder muss man sich um das Multiplexen und die ganzen Sachen manuell>selber kümmern?
Nein.
>Gibt es irgendwo ein Beispiel dafür wo ich mir sowas mal ansehen könnte?
Im Datenblatt (Surprise, Surprise).
MFG
Falk
Also ich hab schon das Datenblatt und ich seh ja auch die Doppelbelegung
für die Pins aber ich find irgendwie nicht an welcher Stelle mehr dazu
steht, und dementsprechend auch kein Bsp.
Kannst Du mir auf die Sprünge helfen unter welcher Rubrik ich das finde?
Vielen Dank :)
Das sieht aus als könnte ich es für die Anbindung an meinen FPGA nutzen.
Wenn irgendjemand irgendwelche Gründe sieht das dies nicht gehn sollte
wäre ich für Denkanstöße dankbar.
Gruß
Tom
@ Tom (Gast)
>Das sieht aus als könnte ich es für die Anbindung an meinen FPGA nutzen.
Ja, kann man. Du kannst dir soagr das Latch sparen, das kann problemlos
im FPGA nachgebildet werden.
MFG
Falk
Hallo,
ich habe auch vor, einen FPGA direkt an die externe
Speicherschnittstelle zu hängen.
Allerdings hätte ich dazu ein kleine Anfängerfrage, da ich mich auf
diesem Gebiet noch nicht so gut auskenne.
Mir ist noch nicht klar, wofür ich die Adressleitungen benötige? Würde
es nicht auch einfach reichen, nur die 8 Datenleitungen an den FPGA zu
hängen? Bei einem externen Speicher ist schon klar, dass der Speicherort
bekannt sein muss. Ich möchte ja aber nur die Daten im FPGA
weiterverarbeiten und dann wieder ausgeben.
Wäre sehr nett, wenn ihr mir dabei helfen könntet.
Vielen Dank!
mfg
biggie
Wenn dein FPGA weiss, welche Daten wohin müssen, dann kannst du dir die
Adressen sparen. Aber das kannst du dann nur über ne StateMachine
erkennen. Mit den Adressen wirds dann halt einfacher, wenn du z.B.
sagst, Adresse 0 ist Kommando-register, Adresse 1 ist Config-Register
usw. Da du bei Verwendung des EMI automatisch Adressen hast, würd ich
die auch nutzen, musst ja nicht alle 16 nehmen...
Ralf
@ biggie (Gast)
>ich habe auch vor, einen FPGA direkt an die externe>Speicherschnittstelle zu hängen.
Dann tu das doch einfach mit XMEM Interfache Speicher.
>Mir ist noch nicht klar, wofür ich die Adressleitungen benötige? Würde
Damit die Daten an einer sinnvollen Adress im FPGA landen? Wenn du nur
ein eiziges Registe rim FPGA haben willst brauchst du keine Adressen,
aber das kann ziemlich nervig werden.
>bekannt sein muss. Ich möchte ja aber nur die Daten im FPGA>weiterverarbeiten und dann wieder ausgeben.
Trotzdem brauchst du einen gescheiten Übergabemechanismus, sprich eine
vollständige Schnittstelle. Entweder wie ein SRAM oder SPI oder I2C.
MFG
Falk
Hallo,
danke für eure schnellen und hilfreichen Antworten. Ich glaube, ich war
wahrscheinlich etwas auf dem Schlauch gestanden, weil ich noch nicht so
viel mit FPGAs gearbeitet habe.
>ich habe auch vor, einen FPGA direkt an die externe>Speicherschnittstelle zu hängen.>Dann tu das doch einfach mit XMEM Interfache Speicher.
So ist das geplant. Ich verwende den ATmega128 und will ihn eben direkt
an das externe Speicherinterface hängen.
>musst ja nicht alle 16 nehmen...
da ich die 8 Leitungen für die Datenübertragung sowieso verbinden muss,
reicht es dann, wenn ich auch nur diese als Adressleitungen verwende?
Vielen Dank!
mfg
biggie
@ biggie (Gast)
>>musst ja nicht alle 16 nehmen...>da ich die 8 Leitungen für die Datenübertragung sowieso verbinden muss,>reicht es dann, wenn ich auch nur diese als Adressleitungen verwende?
Nööö. Schau dir mal bitte das XMEM Interface an. Es wäre sehr unklug, da
nochmal was eigenes stricken zu wollen. Nimm die 8 Bits für den
Datenbus, 4..16 Bits für den Adressbus, CS, WR, RD und fertig.
MFG
Falk
biggie wrote:
>>musst ja nicht alle 16 nehmen...> da ich die 8 Leitungen für die Datenübertragung sowieso verbinden muss,> reicht es dann, wenn ich auch nur diese als Adressleitungen verwende?
Ja, denn damit hast Du schon 256 Adressen, was oft ausreicht.
Nur den ALE-Pin nicht vergessen, um die Adresse im FPGA zu latchen.
Der AVR kann konfiguriert werden von 8..16Bit Adressen, die restlichen
Pins sind dann ganz normale IOs.
Der 8051 hat das gleiche Interface und extra Befehle mit
8Bit-Adreßpointer.
Und wenn man viel Datenbytes hintereinander reinladen muß, kann man im
FPGA auch ein Autoincrement machen.
Peter
Hallo zusammen!
>Nimm die 8 Bits für den>Datenbus, 4..16 Bits für den Adressbus,
Genau das will ich ja machen. Nur das die 8 Bit für den Datenbus und 8
Bit für den Adressbus gemultiplext auf physikalisch gleichen Pins
liegen. Vielleicht hab ich mich oben unklar ausgedrückt.
Vielen Dank nochmal an alle, die mir so schnell und kompetent
weitergeholfen haben.
mfg
biggie