Forum: Mikrocontroller und Digitale Elektronik Tool zur Timing-Analyse eines CAN-trace (asc) gesucht


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tobi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich würde bei meinem Projekt gerne eine Timing-Analyse meiner 
CAN-Botschaften durchführen.
Die Daten erhalte ich mit Zeitstempel als Ascii-Trace.
Jetzt interessieren mich:
- Min/Mittel/Max-Zykluszeiten der Botschaften
- Botschaftsausfälle

Und das am besten Abschnittsweise und über den gesamten Trace.

Ziel ist im Prinzip den Controller so lange Daten auf den Bus legen zu 
lassen und die Zykluszeiten immer kürzer zu stellen, bis sich ein großer 
Jitter oder Controllerausfall zeigt. Nadelöhr ist auch der Controller 
(AVR) und nicht der Bus (500k).

Für kleine Traces geht das in Excel, aber ich würde das gerne auf einen 
sehr langen Zeitraum anwenden - da ist bei Excel Schluss.

Gibt es für so etwas ein ordentliches Tool oder eine Library zur 
Verarbeitung von CAN-Traces in Phyton/C++ o.ä.?

Linux wäre toll, Windows tut es aber auch.


Gruß

Tobi

von Thomas O. (kosmos)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Als gute Triggermöglichkeit nutze ich immer das End of Frame da das 7 
Bits lange ist und kein Stuffing bit hat, stelle am Oszi also die 
Pulsdauer auf > 5 Bits ein. Bei Rigol kann man ja die Oszi per PC 
Software Steuert denke das man hier mit einem Script die Telegram Zeit 
sehr gut auswerten kann.

Bist du dir sicher mit dem AVR als Nadelöhr da dieser 120 Bytes 
CAN-Buffer hat.

Kannst du mal so ein ASCII-Trace posten.

Was soll den eigentlich die Zykluszeit verkürzen, eigentlich ist das ja 
nur ein höhere Traffic durch mehr Teilnehmer oder im geringem Umfang 
längere Nachrichten durch die Stuffing bits die ja erst bei einer großen 
Datenlänge und dem 29 bit Identifier ins Gewicht fallen würden.

Für so genaue Analysen wäre vielleicht ein Vector Tool und CAN Adapter 
zu empfehlen.

von Marc V. (Firma: Vescomp) (logarithmus)


Bewertung
0 lesenswert
nicht lesenswert
Tobi schrieb:
> Für kleine Traces geht das in Excel, aber ich würde das gerne auf einen
> sehr langen Zeitraum anwenden - da ist bei Excel Schluss.

 Wieso ?

 1,048,576 Rows und 16,384 Columns pro Sheet reichen nicht ?

 Wenn man pro Botschaft 16 Spalten nimmt, ergibt das über eine
 Milliarde ausgewertete Botschaften.

 Immer noch zu wenig ?

 Kein Problem, Anzahl der Sheets ist nur durch vorhandene Memory
 begrenzt.

 Wird wohl eher mit deinen (Un)Möglichkeiten zusammenhängen, ein
 paar Zeilen in VBA zusammenzunageln...

: Bearbeitet durch User
von Rudolph R. (rudolph)


Bewertung
0 lesenswert
nicht lesenswert
Tobi schrieb:
> Ziel ist im Prinzip den Controller so lange Daten auf den Bus legen zu
> lassen und die Zykluszeiten immer kürzer zu stellen, bis sich ein großer
> Jitter oder Controllerausfall zeigt. Nadelöhr ist auch der Controller
> (AVR) und nicht der Bus (500k).

Hmm, das hatten wir doch gerade erst?
Also den Bus möglichst voll zu stopfen mit aufeinanderfolgenden 
Botschaften.

Ein AVR ist da ganz sicher kein Nadelöhr bei den Laufzeiten von 
CAN-Botschaften, das sind so 128...250µs.
Unter geschickter Ausnutzung der Botschafts-Prioritäten und mit mehreren 
Message-Boxen bekommt man den CAN zu >99% voll - wofür auch immer das 
gut sein soll.

Woher die Daten kommen sollen ist nicht Teil der Frage-Stellung, ebenso 
wenig was der Controller vielleicht sonst noch so machen soll, das 
austestbare Limit ist in der Praxis also eher weniger relevant.

: Bearbeitet durch User

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]
  • [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.