www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik fertiger Bus im ATMEGA?


Autor: Tom (Gast)
Datum:

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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ATMega8515 und alles ab ATMega64 aufwärts besitzen einen herausgeführten 
Datenbus, falls Du das meinst...

Autor: Falk Brunner (falk)
Datum:

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

Autor: Tom (Gast)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Tom (Gast)
Datum:

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

Autor: Jörg X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"AVR ATmega8515 Memories" -> "External memory interface"

rtfm Jörg

Autor: Tom (Gast)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: biggie (Gast)
Datum:

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

Autor: Ralf (Gast)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: biggie (Gast)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

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

Autor: biggie (Gast)
Datum:

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

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.