Forum: FPGA, VHDL & Co. String-Funktionen


von Martin (Gast)


Lesenswert?

Hallo Leute!

Ich möchte mit einem FPGA einen String über eine RS232 ausgeben.
Dazu habe ich einen RS232 Baustein in VHDL designed.

Der Sendebuffer ist ein STD_logic_vector(7 downto 0).

Wie kann ich nun Zeichen für Zeichen eines Strings
in STD_logic_vector wandeln?

txbuffer<=to_stdlogicvector(ausgabestring(1));
Diese Zeile funktioniert definitiv nicht.
Leider werden Strings in meinem Buch nicht behandelt.

Danke für eure Hilfe.

Tschüss, Martin

von high_speed (Gast)


Lesenswert?

Bist du ein Masochist? ;-)

Das in Hardware zu gießen ist nicht gerade sinnvoll, so etwas macht
man besser mit einer CPU. Schau mal auf http://OPENCORES.org, da gibt
es einige CPU-Cores. Was hat du den noch alles auf deinen Board zur
Verfügung. (RAM, EEPROM, ...)

Wenn du es unbedingt in Hardware machen willst, benötigst du eine
"state machine". In deinen Fall währe es ein Zähler, der nach und
nach
die Register adressiert, in denen die Zeichen hinterlegt sind.

> Dazu habe ich einen RS232 Baustein in VHDL designed.

Das glaube ich dir nicht.
Den Treiber kannst du nicht im FPGA integrieren, den musst du schon
extern anbringen. (LVCMOS 3,3V [3,3V, 0V] -> RS232 [-12V, +12V])
Was du meinst ist ein UART (Universal Asynchronous Receiver
Transmitter). Zumindest ein Teil davon UAT. ;-)

MfG
Holger

von Xenu (Gast)


Lesenswert?

Versuchs mal so:

txbuffer <= conv_std_logic_vector(character'pos(ausgabestring(1)),8);

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.