Forum: FPGA, VHDL & Co. RS232 bei Xilinx Spartan 3A DSP 1800A


von Der A. (ayk)


Lesenswert?

Hi,

beschäftige mich seit paar Tagen mit dem Xilinx Spartan 3A DSP 1800A - 
Kit und mir stellt sich die Frage, wie ich eine Verbindung über RS232 
mit dem PC herstellen kann.

Laut nem allgemeinen UART Quellcode sind neben Rx und Tx weitere 
Ports/Bits nötig, um eine Verbindung aufzubauen. Leider wird im Handbuch 
nicht weiter darauf eingegangen... nur die Ports für RXD (N21) und TXD 
(P22) werden angegeben.

Könnte mir da bitte jemand bisschen Klarheit verschaffen :D Das wäre 
echt super nett :)

Gruß ayk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Für RS232 (ohne Handshake und Drumrum) reichen RXD, TXD und GND aus.

> Laut nem allgemeinen UART Quellcode sind neben Rx und Tx weitere
> Ports/Bits nötig, um eine Verbindung aufzubauen
Welcher Code?

von Der A. (ayk)


Lesenswert?

Ich hab mal in Google nen Quelltext gefunden für VHDL... der recht 
"umfangreich" war.

Zurück zu meiner Frage :D Kann ja nicht sein, dass ich einfach auf TXD 
rausschicken kann oder? Ich mein solche Einstellungen wie Baudrate etc? 
Muss ich dafür nen Taktteiler machen?

P.S.: Sry für meine "trivialen" Fragen; bin noch Neuling in diesem 
Gebiet :D

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Kann ja nicht sein, dass ich einfach auf TXD rausschicken kann oder?
> Ich mein solche Einstellungen wie Baudrate etc?
> Muss ich dafür nen Taktteiler machen?
Oh, so dicht am Anfang... :-/

Wenn du eine Verbindung über RS232 machen willst, solltest du dir erst 
mal die Spezifikation der RS232-Schnittstelle ansehen (insbesondere das 
Timing). Dort siehst du dann, dass du bestimmte Zeiten (Baudrate) und 
Abläufe (Startbit, Daten, Stopbit) einhalten mußt. Und diese 
Rahmenbedingungen mußt du in deiner VHDL-Beschreibung beachten und 
abarbeiten.

> beschäftige mich seit paar Tagen mit dem Xilinx Spartan...
Aber es drängt sich mir ein wenig die frage auf, ob du dich damit nicht 
etwas überforderst...

> Muss ich dafür nen Taktteiler machen?
Hast du schon die berüchtigte blinkende LED und den Hoch-Runter-Zähler 
(das "Hello World" der Hardware) realisiert? Es könnte sein, dass du 
schon an wesentlich einfacheren Aufgaben (als die RS232) noch ein paar 
Tage zubringst.

von Robert S. (Firma: Student) (rschelkle)


Lesenswert?

Hallo ayk,

also die wohl einfachste Methode um eine Kommunikation via RS232 mit nem 
PC herzustellen ist, du realisierst einen Microcontroller (bspw. 
MicroBlaze oder PowerPC) und verlagerst die Gestaltung der Kommunikation 
in Software.

Welche Werkzeuge stehen dir zur Verfügung?

Gruss Robbi

von Boris M. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo ayk,

auch ich bin seit ein paar Tagen stolzer besitzer eines Spartan-3A DSP 
1800A Boards. Ich denke mein Thread könnte dir am Anfang etwas helfen. 
Weiter unten darin habe ich mal ein paar Einsteiger-Aufgaben gepostet 
(die ich selbst noch am lösen bin) Unter Punkt 1.3 geht es dabei auch um 
die RS232 Schnittstelle - davor sollte man aber Punkt 1.1 und 1.2 gelöst 
haben:)

Falls du nicht den ganzen Thread lesen willst hänge ich hier mal die 
Aufgaben an. Für die ersten beiden habe ich 3,5 Tage gebraucht:( Aber es 
hat sich gelohnt!!!

Gruß Boris

von berndel (Gast)


Lesenswert?

also ich weiss ja nicht, aber habt ihr euch das:
http://www.fpga4fun.com/SerialInterface.html
mal angesehen?

von Boris M. (Gast)


Lesenswert?

>also ich weiss ja nicht, aber habt ihr euch das:
>http://www.fpga4fun.com/SerialInterface.html
>mal angesehen?

Schöner Link und einigermaßen gute Beschreibung für einen Einsteiger:)

von Der A. (ayk)


Lesenswert?

Erstmal vielen Dank für die zahlreichen Infos :)

Bin jetzt soweit, dass ich meine Daten über RS232 rausschicken kann, 
funktioniert auch einwandfrei :D

Boris, sag ma, hast du es schon geschafft, den PROM zu programmieren? 
Wenn ich die Jumper für M2:M0 auf 1:0:1 stelle, sehe ich leider in 
IMPACT in der Chain meinen PROM Baustein nicht?!? Hab ich da nen 
Denkfehler? Hab schon sämtliche Jumperstellungen versucht, leider ohne 
Erfolg :)

Wenn diesbezüglich Infos kommen würden, wäre ich super dankbar :D

Gruß @ all...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Jumper für M2:M0
Das ist die falsche Ecke. Damit wird "nur" der Config-Modus des FPGAs 
umgestellt (Seriell oder Parallel, Slave oder Master).

Du mußt die Jumper für die JTAG Chain finden und richtig setzen.

von Der A. (ayk)


Lesenswert?

Die Jumpersettings (ausser M2:M0) sind auf Werkseinstellung und im 
Handbuch konnte ich auch nicht sehr viel finden. Müsste nicht 
theoretisch die Chain richtig erkannt werden, wenn ich noch nichts 
umgesteckt habe? Hab zwar versucht die Jumper in der Nähe des PROMs 
umzustecken, aber leider tut sich da wenig -.-.

Werd noch paar Datenblätter durchgehn, mal schaun ^^

Kann es auch an der Software Version liegen? Hab im moment die von der 
mitgelieferten CD installiert... Webpack 9.2i.

Sollte ich mal auf V10 uppen? Schaden kanns ja nicht :D

von Christian R. (supachris)


Lesenswert?

Aykut T. wrote:

> Kann es auch an der Software Version liegen? Hab im moment die von der
> mitgelieferten CD installiert... Webpack 9.2i.
>
> Sollte ich mal auf V10 uppen? Schaden kanns ja nicht :D

Lieber nicht. Im Vergleich zur 9.2.0.4 ist die 10.1 extrem instabil. Bei 
Xilinx sollte man meiner Meinung nach immer mit der ältest-möglichen 
Version arbeiten.

von Der A. (ayk)


Lesenswert?

Hmmm... ok...

Leider löst das mein Problem auch nicht ;)

Laut Datenblatt MÜSSTE die PROM in der Chain erkannt werden... wird sie 
aber nicht :/

Hab auch schon ein 2. Eval Board getestet... das gleiche Problem. Der 
Fehler muss also an mir liegen :D

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Laut Datenblatt MÜSSTE die PROM in der Chain erkannt werden...
Ich habe mir den Plan vom Board mal angeschaut: da ist kein Config-Prom 
in der Chain. Das Config-Prom ist entweder U1 (paralleles Flash) oder 
U16 (SPI-Flash). Diese Bausteine mußt du irgendwie anders programmieren.

So vielleicht:
http://www.xilinx.com/support/documentation/application_notes/xapp1053.pdf

von Der A. (ayk)


Lesenswert?

Danke dir Lothar :D Hab mir noch paar Dokus durchgeschaut und bin dann 
letztendlich bei Avnet statt Xilinx fündig geworden. Da gibts ne gut 
erklärte Anleitung, wie die SPI programmiert werden kann. Hab mal den 
Link mit rein, falls es wen interessiert (Für den Download Bereich ist 
ein Account nötig).

http://www.em.avnet.com/spartan3a-dsp

Gruß ayk

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
Noch kein Account? Hier anmelden.