mikrocontroller.net

Forum: FPGA, VHDL & Co. PIO Direction


Autor: Mana (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eine Frage zu den Funktionen: IOWR_ALTERA_AVALON_PIO_DIRECTION 
und IOWR_ALTERA_AVALON_PIO_DATA

Ich habe eine eigene Komponente in Qsys erzeugt. Die Komponente hat 3 
Conduits (im Anhang):
1. sd_clk: 1 Leitung, output
2. sd_cmd: 1 Leitung, bidirectional
3. sd_dat: 4 Leitungen (vektor), bidirectional

Ich möchte die Funktion IOWR_ALTERA_AVALON_PIO_DIRECTION benutzen. Diese 
Funktion hat eine Base als erster Parameter, das ist dann 
Komponente_Base und der andere Parameter ist input oder output.
Ich weiß aber nicht, wie ich die input und output setze, da ich 3 
verschiedene Signale habe und nicht nur eins, das ein Vektor ist.
Nur die Signale sd_cmd und sd_dat sind bidirectional, das heißt, nur für 
die beide muss ich die Richtung ändern.

Aber für das Signal sd_clk kann man noch die Funktion 
IOWR_ALTERA_AVALON_PIO_DATA benutzen um die Daten zu schicken.
Wie würde die beiden Funktionen aussehen?

Ich muss für die beide Funktionen irgendetwas immer für alle Signale 
schicken, da alle Signale zur gleichen Komponente_Base gehören. Ich weiß 
aber nicht wie das aussehen muss...

Hat jemand eine Idee?

: Verschoben durch Moderator
Autor: Ordner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich möchte die Funktion IOWR_ALTERA_AVALON_PIO_DIRECTION benutzen
Hangt davon ab, wofür?

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... offensichtlich soll daß ja wohl ein SD Card interface werden?

Da sind die genannten Funktionen m.E. denkbar ungeeignet. Die sind (wie 
der Name schon sagt) für parallele _PIO_-Interfaces gedacht.

Ein SD-Card Interface ist allerdings (zumindest im abstrakten Sinn) ein 
(bzw. mehrere) SPI-Bus(se). Nix parallel.

Also nimmst Du am besten die dafür gedachten Funktionen (die 
sinnigerweise "SPI" im Namen haben) oder suchst dir gleich einen 
geeigneten SD-Card Core (der dann sektorweise lesen und schreiben kann).

: Bearbeitet durch User
Autor: Mana (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ordner schrieb:
>>Ich möchte die Funktion IOWR_ALTERA_AVALON_PIO_DIRECTION benutzen
> Hangt davon ab, wofür?

Um die Bits jeder Leitung (sd_clk, sd_cmd, sd_dat(3-0)) zu der SD-Karte 
zu schicken bzw. von der SD-Karte zu empfangen.

Autor: Mana (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Markus F. schrieb:
> ... offensichtlich soll daß ja wohl ein SD Card interface werden?

Ja, genau :-)
>
> Da sind die genannten Funktionen m.E. denkbar ungeeignet. Die sind (wie
> der Name schon sagt) für parallele _PIO_-Interfaces gedacht.

>
> Ein SD-Card Interface ist allerdings (zumindest im abstrakten Sinn) ein
> (bzw. mehrere) SPI-Bus(se). Nix parallel.

Warum nicht parallel, wenn ich DAT3-0 habe? Ich schreibe eine SD-Card 
Interface mit 4-Bit Modus

>
> Also nimmst Du am besten die dafür gedachten Funktionen (die
> sinnigerweise "SPI" im Namen haben) oder suchst dir gleich einen
> geeigneten SD-Card Core (der dann sektorweise lesen und schreiben kann).

Für das FPGA-Board, mit dem ich arbeite, gibt es gar keinen 
SD-Karte-Kontroller. Deswegen schreibe ich einen.
Ich wollte aber zuerst meine eigene SD-Karte-Interface in Qsys 
entwerfen, damit ich in NIOS-Eclipse die Software dafür schreiben kann. 
Ich wollte nicht eine fertige Komponente von Qsys, wie z.B. PIO 
(Parallel I/O), eine für jedes Signal (sd_clk, sd_cmd, sd_dat(3-0)) 
verwenden...

Vielleicht versteht man, was ich meine, wenn man das Bild vom ersten 
Post mit dem Bild von diesem vergleicht.

Ich möchte die Interface von dem ersten Post. Aber ich schaffe nicht, 
die Signale mit den Funktionen OWR_ALTERA_AVALON_PIO_DIRECTION
und IOWR_ALTERA_AVALON_PIO_DATA zu setzen, was für Reihenfolge es hat in 
dem Parameter der Funktionen...

Beitrag #5070385 wurde von einem Moderator gelöscht.

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.