www.mikrocontroller.net

Forum: FPGA, VHDL & Co. SOPC -> RS232 ->


Autor: Franki C. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Bin grad dabei mir mit Quartus ein FPGA mit RS-232 Schnittstelle zu 
basteln.
Als SOPC Vorlage habe ich das Design vom Altera Tutorial genommen:

http://www.altera.com/literature/tt/tt_nios2_syste...

Dann noch im SOPC Builder die uart_rs232 Schnitstelle angelegt s1 mit
cpu.data_master und clk mit cpu_clk verbunden. Dann auf generate und
alles ist wunderbar. Nun weiß ich nicht genau ob ich beim FPGA Fehler 
mache. Ich habe einen Input an RxD (default VCC) und einen Output an TxD 
gelegt. Bei Alignment -> Pins habe ich für beide dann willkürlich eine 
Pinverbindung angelegt. Compiliert und weiter zu Nios II IDE.
Dort als Programm zur Kommunikation folgendes:

FILE *fp;

fp = fopen("/dev/uart_rs232", "w+"); // also used wb+, w+
if(fp){
printf("Verbindung erfolgreich"\n");
fwrite('a', sizeof('a'), 1, fp); // also used 
fwrite('a',strlen('a'),1,fp);
fclose(fp);
}
else{
printf("Error rs232");
fclose(fp);
}


Bekomme ein "Verbindung erfolgreich" aber keine Daten werden geschickt!
Kann mir einer weiter helfen? Gerne auch mit einem fertigen Quartus File
;-) denke nämlich das es daran liegen müsste...

Vielen Dank schon mal!

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Franki C. schrieb:
> Bei Alignment -> Pins habe ich für beide dann willkürlich eine
> Pinverbindung angelegt.

Und das soll gehen? Schau dochmal in den Schaltplan zu Deinem Board. Da 
sollten die entsprechenden Pins rauszubekommen sin.

Duke

Autor: Franki C. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde leider nichts über die RS232 Verbindung bzw. über RxD und Txd 
und auf der Seite von Altera gibt es bei download Versuchen immer einen 
Fehler.

Autor: Franki C. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So hab da endlich was gefunden. Das HSMC Multimedia Board. auf der IO 
Bank 1 sind die Pinne RxD und TxD zu finden, jedoch existieren diese 
nicht im Pin Planer.. Ich werd wahnsinnig! Bitte um Hilfe!

Autor: Flint (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und PIN_J4 und PIN_K4 findest du auch nicht im Pin Planner?

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist noch nicht ganz klar, wie Dein System aussieht.

Willst Du nur mit einem "virtuellen" Board simulieren, oder hast Du 
echte Hardware auf Deinem Schreibtisch? Wenn ja, welche?

Duke

Autor: Franki C. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also für Alle die es interessiert:

Es handelt sich um ein Nios II Embedded Evaluation Kit.

Das mit der Pin-zuordnung habe ich jetzt nach langem hin und her 
geregelt.

Als erstes muss im SOPC Builder noch ein Baustein mit eingefügt werden.
Periphals->FPGA Periphals-> Remote Update Controller.
Mit CPU clk verbinden und das System generieren.
Danach in Quartus das FPGA einfügen und mit den Pins verbinden.
Bei TXD und RXD handelt es sich um die HSMC Pins 115 und 119.
Die heißen auf der HSMC Seite HC_UART_RXD und HC_UART_TXD. Bis dahin 
ganz einfach zu verstehen. Wenn man nun auf die shematic vom cyclon III 
schaut sind diese nur dadurch zu finden, da der HSMC Baustein gleich 
aussieht. Dort geht man dann von den Pins 115 und 119 aus. Hier heißen 
diese Pins jedoch HSMC_TX_n10 und HSMC_TX_p11 ;-) Und die verweisen auf 
IO Bank 6 an dem dann die Pins E18 und H17 Diese stehen nun für RXD und 
TXD.

Kurz:

-Baustein in SOPC Builder einfügen verbinden und generieren
-Im Pin Planer Pin E18 für RXD und Pin H17 für TXD
-Jetzt noch Assignments->Device->Device and pin options, unter der 
Rubrik Configuration Active Parallel und Remote einstellen. Unter der 
Rubrik Dual Purpose Pins alle bis auf DCLK auf "use as regular IO" 
stellen.
Compilieren und alles ist wunderbar.

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.