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_system_architect.pdf?GSA_pos=1&WT.oss_r=1&WT.oss=nios%20ii%20architect%20tutorial 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!
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
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.
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!
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.