mikrocontroller.net

Forum: FPGA, VHDL & Co. Signal_vergleich in VHDL


Autor: sensor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

ich will zwei signale vergleichen. Die sind eingentlich  Signale die ich 
von einem sensor( inkremental Drehgeber) bekommen.Aber es ist die Frage 
die Drehrichtung eines Drehgeber zu bestimmen und dafür muß ich wissen 
welchen von den 2 erfasste Signale schneller als das andere ist.
Die Signale sind Rechteckig und deshalb als Frequenz zu betrachten.

Wie kann man das ganze im VHDL umsetzen??
wie wäre dies??
Process(signal_A, signal_B)
begin
Richtung < = '0';

 if signal_A> signal_B then

Richtung <='1';-----Rechtslauf
  else 
Richtung <='0';-----Linkslauf


end if;

end Process;


ich freue mich auf ihre Meinungen

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie man inkrementelle Drehgeber in VHDL narrensicher auswertet, steht 
hier: 
http://www.mikrocontroller.net/articles/Drehgeber#...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie kann man das ganze im VHDL umsetzen??
Ich könnte mir eine funktionsfähige Quick-And-Dirty Variante auch so 
vorstellen:
Process(signal_A)
begin
  if rising_edge(signal_A) then
    if (signal_B='1') then Richtung <='1';-----Rechtslauf
    else                   Richtung <='0';-----Linkslauf
    end if;
  end if;
end Process;
Allerdings sollte dann das Signal Richtung auf den FPGA-Takt 
einsynchronisiert werden...

Autor: sensor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke an euch , es hat mir viel geholfen und besonder die Code von 
Miller
Noch mal dankeschön

Autor: Weltbester FPGA Pongo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich denke, du hast schon eingangs einen denkfehler: Die takte aus dem 
drehgeber sind nicht unterschiedlich schnell, sondern es gibt nur eine 
phasendifferenz.

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.