Hallo zusammen, für ein neues Projekt muss ich an einem Kfz die Geschwindigkeit des Innenraum-CAN-Bus haben. Gibt es eine Möglichkeit das direkt auf den CAN_H und CAN_L Leitungen zu messen? Oder weiß zufällig jemand welche Bitrate Mercedes für den Low-Speed CAN Bus (CAN B) im Innenraum verwendet? Eine weitere Frage wäre, ob es andere Low-Speed Transceiver für den Low-Speed (Fault Tolerant Bus) als den TJA1054 (bzw. 1053) gibt? Habe nur den bis jetzt gefunden. Vielen dank schon mal Jan
Jan W. schrieb: > für ein neues Projekt muss ich an einem Kfz die Geschwindigkeit des > Innenraum-CAN-Bus haben. Gibt es eine Möglichkeit das direkt auf den > CAN_H und CAN_L Leitungen zu messen? Oder weiß zufällig jemand welche > Bitrate Mercedes für den Low-Speed CAN Bus (CAN B) im Innenraum > verwendet? Try and Error wäre möglich. Du könntest den Controller auf Listen only (Error Passive) einstellen, und eben die üblichen verdächtigen Bitraten durchgehen. Filter offen lassen, wenn du was kriegst, hast du die richtige Rate gefunden.
Jan W. schrieb: > für ein neues Projekt muss ich an einem Kfz die Geschwindigkeit des > Innenraum-CAN-Bus haben. Gibt es eine Möglichkeit das direkt auf den > CAN_H und CAN_L Leitungen zu messen? Oder weiß zufällig jemand welche > Bitrate Mercedes für den Low-Speed CAN Bus (CAN B) im Innenraum > verwendet? 125 kBit/s Jan W. schrieb: > Eine weitere Frage wäre, ob es andere Low-Speed Transceiver für den > Low-Speed (Fault Tolerant Bus) als den TJA1054 (bzw. 1053) gibt? Habe > nur den bis jetzt gefunden. TJA1055 AMIS-41683 AMIS-41682 MAX3054 MAX3055 MAX3056 LT1796 (Dir ist schon klar, dass ein Fault Tolerant High-Speed Transceiver natürlich auch für Low-Speed geht oder ?)
Ja das wäre möglich, Problem ist nur dass ich bis jetzt nur High-Speed Transceiver hier habe zum testen, die Kommunikation läuft auch wunderbar, also Hard und Software funktionieren (Einmal ein STM32 mit SN650VD.... als Sender und ein ATMEGA mit MCP2551/TJA1050 als Empfänger. Oder kann ich mit dem Highspeed Transceiver am Lowspeed Bus hängen und mitlauschen? Da werden ja unterschiedliche Pegel für Dominant/Rezessiv verwendet.
Peter D schrieb: > (Dir ist schon klar, dass ein Fault Tolerant High-Speed Transceiver > natürlich auch für Low-Speed geht oder ?) Nein, aber vielen Dank für den hinweiß und die Bitrate. Welche Fault-Tolerant HS Transceiver gibt es denn? Habe hier TJA1050 und SN65HVD230 hier, wobei der SN... ja ein 3V Typ ist. Jan
Wenn du mit STM32 arbeitest, solltest du darauf achten, dass die Transceiver mit 3,3V Pegeln klar kommen. Z.B. TJA1055/3 und AMIS-41683 sind dafür ausgelegt
Ja weiß ich, der SN65.... ist ja ein 3V3 Typ, auf dem Steckbrett/Basteltisch läuft ja auch alles. Jan W. schrieb: > Peter D schrieb: >> (Dir ist schon klar, dass ein Fault Tolerant High-Speed Transceiver >> natürlich auch für Low-Speed geht oder ?) > > Nein, aber vielen Dank für den hinweiß und die Bitrate. Und das obwohl HS und LS mit verschiedenen Pegeln arbeiten?
:
Bearbeitet durch User
Peter D schrieb: > (Dir ist schon klar, dass ein Fault Tolerant High-Speed Transceiver > natürlich auch für Low-Speed geht oder ?) Bist Du Dir da sicher? Wikipedia sagt z.B. "Die beiden gängigsten Realisierungen der physikalischen Schichten nach ISO 11898-2 (Highspeed-CAN) und ISO 11898-3 (Lowspeed-CAN) unterscheiden sich außer in der Datenrate in weiteren Eigenschaften und sind deshalb nicht zueinander kompatibel." Für die ursprügliche Frage nach der Geschwindigkeit: einfach mal mit dem Oszi nachmessen. Man sieht die Bits recht deutlich und kann dann die Länge vermessen. Nebenbei sieht man dann auch ob es wirklich ein Low-Speed CAN ist oder vielleicht doch ein langsamer High-Speed...
mh schrieb: > Für die ursprügliche Frage nach der Geschwindigkeit: einfach mal mit dem > Oszi nachmessen. Man sieht die Bits recht deutlich und kann dann die > Länge vermessen. Nebenbei sieht man dann auch ob es wirklich ein > Low-Speed CAN ist oder vielleicht doch ein langsamer High-Speed... Das wollte ich auch gerade sagen. Oszi ran und die kürzesten Pulse messen. Das ergibt dann die Bitrate.
Peter D schrieb: > (Dir ist schon klar, dass ein Fault Tolerant High-Speed Transceiver > natürlich auch für Low-Speed geht oder ?) Dir ist schon klar, dass der Unterschied zwischen LowSpeed / Fault Tolerant und High-Speed nicht nur in der Geschwindigkeit liegt?
Bin mir wegen LS und HS auch nicht sicher, aber werde morgen einfach mit dem TJA1050 (HS Transc.) im Listen-Only-Modus lauschen. Bitrate soll ja 125kbit/s sein. Zur not habe ich erst am WE ein Oszi zur Hand Danke aber schon mal Jan
So, habe eben mal mit den üblichen Bitraten (125,100,50,20 und 10 kbit/s) im Liste-Only Modus am CAN-Bus gelauscht, aber es wurde nichts empfangen, rein gar nichts. Habe mit dem STM32 mal verschiedene Standard und Extended Data Frames gesendet, die werden alle Empfangen, auch bei verschiedenen Bitraten, also Hard- und Software funktionieren. Auch verschiedenste IDs wurden empfangen. Dann scheint also der Highspeed-Transceiver nicht mit dem Lowspeed-Bus zusammen spielen zu wollen. Schade, dann muss ich erst mal kaufen und basteln. Oder kann es noch andere Gründen geben warum das nicht funktioniert? Wenn dann ja noch eine falsche Bitrate oder? Jan
Jan W. schrieb: > Oder kann es noch andere Gründen geben warum das nicht funktioniert? > Wenn dann ja noch eine falsche Bitrate oder? Versuchs mal mit 83,33 kBit/s (kein Witz!). Die arbeiten mit krummen Bitraten, keine Standard-Geschwindigkeiten. Müßtest du aber auch mit dem Oszi messen können.
Nop, 83,33kbit/s geht auch nicht, aber komme bei dieser Bitrate auf eine Fehlerquote von 0,4%, aber müsste ja noch ok sein oder? Werde am Wochenende mal mit nem Oszi messen. Dann einfach den kürzesten Impuls nehmen und mit F=1/T die Frequenz errechnen und frequenz=bitrate? oder wie rechne ich das Jan
Jan W. schrieb: > Nop, 83,33kbit/s geht auch nicht, aber komme bei dieser Bitrate > auf eine > Fehlerquote von 0,4%, aber müsste ja noch ok sein oder? Ja. > > Werde am Wochenende mal mit nem Oszi messen. > > Dann einfach den kürzesten Impuls nehmen und mit F=1/T die Frequenz > errechnen und frequenz=bitrate? oder wie rechne ich das Genau so. > > Jan
Danke dir. Habe gerade mal ein wenig gegoogelt (keine ahnung warum ich das nicht vorher schon gemacht habe :-) ) aber 83,33kbit/s scheint die richtige zu sein. Dann scheint wie gesagt der HS-Transceiver nicht mit dem LS-Bus zu laufen jan
Nein, HS- und FT-CAN sind elektrisch nicht kompatibel. Zum Gucken kannst Du CAN_L über einen Spannungsteiler oder Schutzwiderstand direkt an CAN_RX Deines Controllers anschliessen. Da liegen bei High (rezessiv) ca 5 V und bei low (dominant) 1-2 V an. Damit kommen die meisten CMOS-Eingänge klar. Für einen 3,3V-Controller muss das Ganze natürlich 2/3 runtergeteilt werden. Das Du mit dieser Lösung nicht in Serie gehst versteht sich von selbst ;-) TJA1054 könnte ich Dir zuschicken, die wollen aber VDD = 5 V sehen.
Jan W. schrieb: > Dann einfach den kürzesten Impuls nehmen und mit F=1/T die Frequenz > errechnen und frequenz=bitrate? oder wie rechne ich das Du meinst wahrscheinlich das Richtige. Allerdings ist hier T (Periodendauer) und Frequenz irreführend, da diese ja "ganze Schwingungen" betreffen... Ein Bit ist dagegen ja nur ein "Pegel" des Signals und nicht eine Schwingung. Such einfach die kürzeste Zeit zwischen zwei Flanken, der Kehrwert davon ist dann die Bitrate.
soul e. schrieb: > Das Du mit dieser Lösung nicht in Serie gehst versteht sich von selbst > ;-) > > TJA1054 könnte ich Dir zuschicken, die wollen aber VDD = 5 V sehen. Versteht sich von selbst :-) aber zum testesn klingt das ja ganz gut, den TJA1054 gibt es ja nur in SOP-Package oder? Was willst denn haben? Versand? Zahlweise? Mein System läuft eh mit 5V, reichen die 5V auch für Vbatt des TJA? mh schrieb: > Such einfach die kürzeste Zeit zwischen zwei Flanken, der Kehrwert davon > ist dann die Bitrate. Zwischen zwei gleichen Flanken? Also zwischen zwei steigenden z.b.?
Jan W. schrieb: > Versteht sich von selbst :-) aber zum testesn klingt das ja ganz gut, > den TJA1054 gibt es ja nur in SOP-Package oder? Was willst denn haben? > Versand? Zahlweise? Richtig, den gibt es nur in SO-14. Geht notfalls auch auf Lochraster, wenn man jeden zweiten Pin hochbiegt und über Drähte anschliesst. Mit aufgerundetem Porto bist Du dabei --> pn > Mein System läuft eh mit 5V, reichen die 5V auch für Vbatt des TJA? Sicher. So wie in Fig.7 im Datenblatt http://www.nxp.com/documents/data_sheet/TJA1054A.pdf . /STB und EN kannst Du fest auf High legen und /ERR erstmal ignorieren. > Zwischen zwei gleichen Flanken? Also zwischen zwei steigenden z.b.? Nein, zwischen zwei unterschiedlichen.
Vector hat da ein kostenloses E-Learning Seminar im Internet. Da sieht man auch, dass die Bus-Pegel zwischen HS und LS ganz anders sind: https://elearning.vector.com/index.php?&wbt_ls_seite_id=504216&root=376493&seite=vl_can_introduction_de
Hallo, die Bitrate per Oszi ausmessen geht recht einfach: http://www.canhack.de/viewtopic.php?t=13#5111 Grüssle
soul e. schrieb: > Zum Gucken kannst > Du CAN_L über einen Spannungsteiler oder Schutzwiderstand direkt an > CAN_RX Deines Controllers anschliessen. genau so habe ich es gemacht und erst mal vielen dank dafür, es funktioniert jetzt! Kann jetzt schön auf dem Innenraum-can-bus lauschen, die Birate beträgt übrigens wie erwähnt 83,33kbit/s. Und so wie es aussieht werden nur Standard-IDs verwendet. Jetzt warte ich noch auf ein paar Bauteile und dann bastel ich mir Controller und LS-Transceiver zusammen. Vielen dank noch mal an alle Jan
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.