Hi Leute,
ich eine std_logic_vector über mein UART senden. Funktioniert soweit
auch,
jedoch ist der am Terminal angezeigte Bit-Vector irgenwie vertauscht.
Anbei Ausschnitte meiner Implementierung:
Diese Werte sollen nacheinander übertragen werden:
Am Terminal kommen folgende Daten an:
00000001
00000011
00000111
00001111
00011111
00111111
Irgendwie stehe ich auf dem Schlauch. :-(
Wie kann ich die Reihenfolge 1:1 wie in den value's beschrieben
übertragen?
Danke für eure Hilfe!
Gruss
Holger
std_logic schrieb:> mein UART
Und wie sieht dein UART aus?
> Am Terminal kommen folgende Daten an
Und was sagt die Simulation?
Wie auch immer: der Fehler ist nicht im geposteten Code, häng einfach
mal deine VHDL Datei(en) hier an.
Sir T schrieb:> Da ist ein kleines Problem beim wrap des RomAddr Counter, was wohl nicht> ursächlich für den Fehler ist.>> Was sagt denn die Timing Analyse? 100MHz ok?
Hi!
Ich glaube das Timing müsste in Ordnung sein. FPGA läuft sicher auf 100
MHz.
Gruss
Die funktionale Simulation sieht wie erwartet aus (siehe Anhang, habe
einfach mal loopback gemacht und den Sendeabstand verkuerzt (Zeile 79).
std_logic schrieb:> Ich glaube das Timing müsste in Ordnung sein. FPGA läuft sicher auf 100> MHz.
Warum macht mich das "müsste" nur stutzig? Was sagt die Timing-Analyse?
Gibt es unconstraint pathes?
> Warum macht mich das "müsste" nur stutzig? Was sagt die Timing-Analyse?> Gibt es unconstraint pathes?
Hi!
Wie kann ich das überprüfen bzw. feststellen?
Gruss
Kleine Frage dazu (speziel FPGA-Synthese):
Gibt es bei der FPGA-Synthese keine Probleme, wenn bei der
Signaldeklaration Werte zugewiesen werden? Bei Constantendeklarationen
sehe ich das ja noch ein...
Werden diese Werte dann nach der Synthese korrekt als Reset-Werte
benutzt?
Grüße
Der Besucher
Wenn dein Board in Ordnung ist bzw die RS232-Verbindung richtig ist
kann kein anderes Ergebnis rauskommen als das man oben vom VHDL
erwartet.
Ich habe mit QuartusII 13.0.56 compiliert.
Gruss
Das benutze ich mit:
https://sites.google.com/site/terminalbpp/
siehe Bild im Anhang.
Die Hexdaten: 40 20 10 8 4 2 40....
Das richtige zu erwartende Ergebnis.
Oben das Termimal "DE1" habe ich selber mit Purebasic progammiert.
Gruss
Peter Bierbach schrieb:u
> Das Programm ist io.
Ist klar. Ich kenne den Code...
> Liegt an deinem Terminal.
Oder an der Hardware...
@std_logic: passt die Baudrate, funktioniert der RS232 Wandler, passen
die Pegel? Hast du ein Oszi?
std_logic schrieb:> welches Terminal benutzt du, dass es funktioniert?
Welches benutzt du, dass es nicht funktioniert? Ich verwende OCConsole
(wird leider nicht mehr gepflegt).
----------------------------------
Mit Terminal v1.9b 20040204 by Br@y habe ich das selbe Problem.
----------------------------------
Diese Version war mein Vorgänger v1.9b 20040204, funktioniert auch
wunderbar.
Hast du ein USB-Dongle? Probier mal einen anderen....
Ansonsten liegt es an deinem Board.
Gruss
> ....... Unconstrained Paths>> sollte das das Problem sein?
Eventuell, setze ein constraint für die clock und schau im report, ob es
die 10ns/100Mhz schafft! Eine post-layout Simulation könnte auch
hilfreich sein.
Da die serielle Schnittstelle nicht so übermäßig wählerisch ist mit Zeit
,gehe mal immer 5MHZ tiefer und teste noch einmal wenn du keine andere
Prüfmöglichkeit hast.
Zumindest ändern sich die Ausgaben.
Gruss
Hi,
Danke für euere hilfreichen Tipps! ;)
Es liegt an der Hardware, genauer gesagt am UART -> USB bzw. RS232 ->
USB
Wandler.
Welche Wandler benutzt ihr denn so?
Habt ihr Erfahrungen, welche absolut verlässlich funktionieren?
Vielen DANK!
Gruss
Hmm..., das habe ich vermutet. Denn wenn die MHz vom Board nicht stimmt
würde ein Buchstabensalat kommen und keine regelmäßige Zahlenreihe.
Schau dir im Internet einige an und such dann nach Urteilen über dieses
Ding.
Die kosten ja nicht die Welt. Es gibt welche mit Gehäuse und ohne
Gehäuse(hier liegt die Elektronik offen zum Basteln).
Gruss
Raspi schrieb:> Es liegt an der Hardware, genauer gesagt am UART -> USB bzw. RS232 ->> USB Wandler.
Oder hast du da Pegelprobleme. Man darf nicht einfach einen Wandler mit
TTL Pegeln an "richtige" RS232 Pegel anschließen...
> Habt ihr Erfahrungen, welche absolut verlässlich funktionieren?
Da wäre sehr zielführend, wenn du sagen würdest, welche Hardware du
verwendest. Aber i.A. laufen die mit FTDI Chipsatz problemlos. Und
Prolific funktioniert auch tadellos...
Das muß er selber entscheiden, was für ein Typ er braucht:
Ein Dongle USB zu TTL(3 Volt) zum Board oder einen USB zu Seriell
9Pin-Stecker zum Board mit 9Pin-Stecker , wo ein MAX verbaut ist auf dem
Board.
----------------------
Oder hast du da Pegelprobleme. Man darf nicht einfach einen Wandler mit
TTL Pegeln an "richtige" RS232 Pegel anschließen...
---------------------
Aus den Kinderschuhen wird er wohl raus sein?
GRuss
Raspi schrieb:> Ich nutze ein DE0 - nano mit dem FTDI USB-RS232-WE-1800-BT_0.0 - Kabel,> dieses funktioniert leider überhaupt nicht am Eval-Board.
Funktioniert das Kabel mit sich selber? Test: Pins 2+3 verbinden und am
Terminal irgendetwas eingeben. Das Terminal muss seine eigenen Zeichen
empfangen und ausgeben.
Peter Bierbach schrieb:> Aus den Kinderschuhen wird er wohl raus sein?
Wer eine simple RS232 Schnittstelle nicht zum Laufen bringt, der kann
sich (elektrisch gesehen) noch nicht mal die Schuhe selber binden.
Edit:
@Andreas: dieses Kabel?
http://www.newark.com/ftdi/usb-rs232-we-1800-bt-0-0/cable-usb-to-rs232-serial-1-8m/dp/45P4109
Das müsste vom Pegel her passen:
USB to UART cable with RS232 level UART signals. Black cable,
Transparent USB connector 0.0 = RED wire is 0V
Wie hast du es an dein Board angeschlossen?
Im Kabel ist ein Pegelwandler, das wird also nichts, wenn du direkt an
die GPIO Pins gehst.
Was ist denn nun mit den letzten beiden Pins? Sind das GPIO Pins oder
GND?
Power musst du außerdem nicht unbedingt anschließen.
Hier das Datenblatt, das müsste alles aufklären:
http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_USB_RS232_CABLES.pdf
@Peter Bierbach
Kannst du nicht normal zitieren? Es gibt da rechts unten in jedem
Beitrag ein paar Funktionen...
Hmm.., den roten auf keine fall anschliessen.
Ich habe ein Dongle : schwarz/grün/weiß/rot den roten(+) habe ich
isoliert.
Am GPIO habe ich weiß/grün = TX/RX und schwarz ist Masse und schon geht
es.
GRuss
Alexander F. schrieb:> @Peter Bierbach> Kannst du nicht normal zitieren?
Peter konnte das zwischendurch mal. Hat es aber schnell wieder
verlernt...
Raspi schrieb:> TXD - Port GPI0_00 ==> yellow - RXD> RXD - Port GPI0_01 ==> orange - TXD
Ich frage mich jetzt auch, welche Pegel hier vorliegen: TTL oder
RS232...
Der rote Draht ist der SpannungsAUSGANG des Dongle. Bei der 0.0 Version
kommen da 0 V heraus. Den brauchst du also gleich gar nicht
anschließen...
>GPI0_0 Pin 12 / GND ==> black - GND>GPI0_0 Pin 30 / GND ==> red - Power / GND
Das sieht so aus als wenn hier ein GPIO Pin als GND benutzt
wird. Das ist doch bestimmt nicht richtig! Das DE0-Nano
hat zwei eigene GND Pins auf den GPIO Leisten.
Gruß,
Michael
-------------------------
Der rote Draht ist der SpannungsAUSGANG des Dongle. Bei der 0.0 Version
kommen da 0 V heraus. Den brauchst du also gleich gar nicht
anschließen...
------------------------
ER meint wohl , das der Massepin mit in der GPIO-Leiste sitzt , wie bei
meinem DE0 und DE1 Board.
He...,he... du bist sehr naiv.
Ich habe 3 verschiedene Dongle , bei 2 kommt 3,3 Volt raus und bei dem
anderen 5 Volt.
Der Spannungsdraht vom Dongle darf am GPIO nicht angeschlossen
werden..wozu auch.
GRuss
Warum wird hier so herumgepfuscht?
5 sec googlen und das Datenblatt des DE0 Board gefunden.
Es hat ein RS-232 Port (Seite 37), daran ist eine 9-poliger D-Sub Buchse
anzuschließen (Pins 2,3 und 5).
An diesen D-Sub wird dann das USB zu RS-232 Converterkabel zum PC
angeschlossen.
Klaus Falser schrieb:> An diesen D-Sub wird dann das USB zu RS-232 Converterkabel zum PC> angeschlossen.
Es geht um das DE0 Nano, das hat keinen RS232 Port.
Alexander F. schrieb:> Klaus Falser schrieb:>> An diesen D-Sub wird dann das USB zu RS-232 Converterkabel zum PC>> angeschlossen.>> Es geht um das DE0 Nano, das hat keinen RS232 Port.
Hmm, 'tschuldigung.
Ist mir in der Zwischenzeit auch aufgefallen...