Forum: FPGA, VHDL & Co. CAN CRC mit VHDL berechnen und testen


von fresh (Gast)


Lesenswert?

Hallo

Ich versuche gerade die CAN CRC Berechnung mit VHDL zu realisieren! Habe 
mir dazu eine Lösung auf opencores.org angesehen und mir daraus eine 
procedure erstelle welcherich die Daten übergebe und wleche mir nacher 
den crc zurückgeben sollte!

  begin
    crc_next_v  := crc_next;
    crc_tmp_v   := crc_tmp;
    crc_xhdl1_v := crc_xhdl1;
    crc_next_v  := data XOR crc_xhdl1_v(14) ;
    crc_tmp_v   := crc_xhdl1_v(13 DOWNTO 0) & '0';
    if (crc_next_v = '1') then
      crc_xhdl1_v := crc_tmp_v xor "100010110011001";
    else
      crc_xhdl1_v := crc_tmp_v ;
    end if;
    crc_next  <= crc_next_v;
    crc_tmp  <= crc_tmp_v;
    crc_xhdl1 <= crc_xhdl1_v;
  end;

Jetzt liefert er mir zwar einen wert zurück nur wie finde ich jetzt in 
der simulation heraus ob der wert stimmt!?

Gibt es vielleicht irgendein tool oder einen rechner wo man die 
nachricht eingibt und er das dann rechnet!?

MFG Fresh

von Kest (Gast)


Lesenswert?

Das Tool heißt ModelSIM. Damit kannst Du dann alles simulieren


Grüße,

Kest

von fresh (Gast)


Lesenswert?

Hallo

Ich benutze eh Modelsim und er schckt mir pakete samt crc auch richtig 
weg aber er zeigt mir ja nicht an ob die crc summer richtig ist. Dachte 
da es da vielleicht einen crc Rechner gibt der mir aus gegeben SOF 
Identifier, control und Daten die crc berechnet!

Aber ich finde sowas nicht im Internet!

MFG Fresh

von Axel (Gast)


Lesenswert?

Du könntest die CRC-Berechung in VHDL beschreiben und unter modelsim 
vergleichen lassen.

von Falk B. (falk)


Lesenswert?

@  Axel (Gast)

>Du könntest die CRC-Berechung in VHDL beschreiben und unter modelsim
>vergleichen lassen.

Das hat er doch schon! Aber er braucht ein Programm, welche sicher die 
richtige CRC berechnet um seine Schaltung zu testen.

MfG
Falk

von fresh (Gast)


Lesenswert?

Hallo

JA Falk hat recht ich brauche eiegtnlich nur eine Muster Can Nachricht 
um die crc Berechnung zu Kontrollieren! Aber sowas habe ich bisher nicht 
gefunden!

MFG fresh

von fresh (Gast)


Lesenswert?

Hallo

Habe auch noch ne andere Frage! ich habe eine serielle Schnittstelle für 
euine Baudrate von 460,8kbit/s erstellt. Dabei wird der eingang der 
Seriellen Schnittstelle mit der 8-fachen Baudrate abgetastet! Wenn ich 
in Modelsim eine Nachricht mit einer Bitzeit von 2,17us schicke 
funktioniert es einwandfrei. Auf der Hardware habe ich mir als kleine 
Hilfe die empfangenen 8 Bit auf den Leds ausgeben lassen und da kommt es 
nicht richtig an! Ich schicke mit realterm zum Beispiel 0x45 als Number 
und er zeigt gar nichts an! wenn ich 0xff schicke kommt nur 0xFE an usw.

Weis da vielleicht irgendwer ne Lösung!

MFG fresh

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.