Hallo zusammen, bei mir ist CAN schon was her. Ich hab eine STM32 Discovery Board und ein SN65HVD230 Transceiver. Ich hab es soweit hinbekommen, dass ich auf CAN L ein saubere Signal bekomme. Mein Logikanalyser liest die Bytes auch richtig. Nur auf CAN H kommt nichts raus. Ist das normal? Brauch ich eine Gegenstelle, dass sich auf CAN H etwas bewegt? Auf CAN TX und RX ist das nahezu gleiche Signal zusehen. Viele Grüße Max
Max schrieb: > Nur auf CAN H kommt nichts raus. Ist das normal? Nein. Max schrieb: > Brauch ich eine Gegenstelle, dass sich auf CAN H etwas bewegt? Nein. Max schrieb: > Auf CAN TX und RX ist das nahezu gleiche Signal zusehen. Ist korrekt so. Du wirst wohl einen Layout Fehler haben oder der Transceiver ist kaputt.
Danke für die schnelle Antwort. Ich hab zwei Transceiver gleicher Baureihe getestet. Und bei beiden ist das gleiche Ergebnis. Ggf. einen anderen Transceiver bestellen? An der Stelle sei noch gesagt, dass der Transceiver gern 3.3V haben möchte. Ich nehme mir allerdings die 3V vom Discovery Board.
Max schrieb: > An der Stelle sei noch gesagt, dass der Transceiver gern 3.3V haben > möchte. Ich nehme mir allerdings die 3V vom Discovery Board. Wenn es wirklich 3V sind, ist das ken Problem, der Baustein sollte ordentlich mit 3,0V bis 3,6V arbeiten! Wie ist Pin8 (RS) beschaktet?
Also gemessen habe ich 2.981V Beim Transceiver handelt es ich um einen Waveshare SN65HVD230. Den habe ich genommen, weil einige anderen den scheinbar schon verwendet haben. Laut der Beschaltung soll da ein 10k Widerstand drin sein.
Max schrieb: > eine STM32 Discovery Board Welches denn? Beim F407 und beim F429 ist es kein Problem, eine Diode zu überbrücken and dann auf die nominellen 3,3V zu kommen. Der einzige Nachteil - du kannst dann extern nicht mehr mit 3,3V einspeisen.
Das STM32F4Discovery habe ich. Ich schau mal, ob ich den Transceiver mit externen 3.3V mal speise. Vielleicht wird es dann besser. Wobei die Berichte die ich gelesen habe, alle mit den 3V von Discovery leben können. :/
Keine Verbesserung gebracht. Interessant ist auch, wenn ich RX und TX vertausche, dann kommt gar nicht mehr raus. Sowohl bei CAN H als auch bei CAN L.
Max schrieb: > Wobei die Berichte die ich gelesen habe, > alle mit den 3V von Discovery leben können. Für mein Audioprojekt war der Ausbau der Diode ein Segen. Die Störungen auf der 3,3V Schiene sind deutlich geringer und der Audioausgang über den CS Chip viel sauberer. Beim F429 Disco wurde ich mit einem viel helleren Display belohnt und die AD Wandler liefern auch sauberere Signale. Für dich allerdings wirklich nicht so wichtig, wenn deine Peripherie mit den 3V klarkommt. Die Diode hat allerdings auch einen Innenwiderstand - man kann also nicht unbegrenzt Strom aus den 3V ziehen.
Max schrieb: > Also gemessen habe ich 2.981V also an den paar fehlenden mVolts liegt es sicherlich nicht.
Max schrieb: > Laut der Beschaltung soll da ein 10k Widerstand drin sein. Und wohin gehen die 10k? Wenn gegen GND, dann wäre das ok.
Max schrieb: > Brauch > ich eine Gegenstelle, dass sich auf CAN H etwas bewegt? eine Gegenstelle ist nicht notwendig (allerdings wird dann die CAN-Meassge auch nicht mit einem Acknowledge (https://de.wikipedia.org/wiki/Controller_Area_Network#ACK-Slot) quittiert. Es sollte aber wenigstens ein Absclusswiderstand (120Ohm)zwischen CANH und CANL vorhanden sein!
Max schrieb: > Interessant ist auch, wenn ich RX und TX > vertausche, dann kommt gar nicht mehr raus. Sowohl bei CAN H als auch > bei CAN L. Würde mich auch wundern!
Max schrieb: > Ich hab es soweit hinbekommen, dass ich auf > CAN L ein saubere Signal bekomme. Mein Logikanalyser liest die Bytes > auch richtig. Nur auf CAN H kommt nichts raus. Mooment. Du Versuchst mit dem Logicanalyzer auf dem CAN mitzulesen? Logicanalyzer sind, wie der Name schon sagt für Logikpegel und nicht Für differentielle Busse. Dass Du da überhaupt was misst (auf CANL), ist reiner Zufall... Warum misst Du überhaupt? Gibt's ein Problem mit der Übertragung? Um das Signal zu beurteilen? Für letzteres ist der Logiganalyzer aber auch nicht das richtige Werkzeug.
Ich nutze den Scanaquad q25. Ich dachte der wäre gut, um mal eben zu schauen ob die richtigen Bytes über die Leitung düsen! :)
mh schrieb: > Mooment. Du Versuchst mit dem Logicanalyzer auf dem CAN mitzulesen? > Logicanalyzer sind, wie der Name schon sagt für Logikpegel und nicht Für > differentielle Busse. > Dass Du da überhaupt was misst (auf CANL), ist reiner Zufall... Yep - da hat jemadn mitgedacht - ich muss gestehen, ich hab' da nicht geschaltet! Das auf CANL was gemessen wird, ist allerdings nicht verwunderlich. Wenn der Logianalyser seine Schaltschwelle bei der TTL-Schaltschwelle (1,5V) hat, wird man genau das beschriebene Verhalten zu sehen bekommen. https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Canbus_levels.svg/220px-Canbus_levels.svg.png Falls der Logicanalyser eine verschiebbar Schwelle hat, könnte man die auf 3Volt hochdrehen und dann das CANH-Signal beobachten.
Max schrieb: > Interessant ist auch, wenn ich RX und > TX vertausche, dann kommt gar nicht mehr raus. Sowohl bei CAN H als auch > bei CAN L. dlchnr schrieb: > Yep - da hat jemadn mitgedacht - ich muss gestehen, ich hab' da nicht > geschaltet! Ich wunder mich einfach nur... weißt du überhaupt wie CAN physikalisch geht? Weißt du was der Unterschied zwischen CAN-Lowspeed und CAN-Highspeed ist?
So senden kann ich jetzt schon mal. War scheinbar alles richtig. Jetzt muss ich die Interrupts noch für RX ans Laufen bringen. Grundlegend weiß ich schon wie CAN funktioniert. Nicht in jedem Detail, aber so die Basics. Deswegen sagte ich auch zu anfangs, dass es bei mir etwas her ist. Hatte aber CAN ein Jahr in der FH und auch ein paar Jahre in der Autoindustrie. Aber das ist wie gesagt schon was her. ;) So 5-6 Jahre.
Hat es bei Dir funzt ? wie sieht dein Testaufbau aus ? hast du mit zwei STM32F4 getestet oder den CAN1 und CAN2 von STM32F4 benutzt. Ich bin gerade dabei, den CAN mit STM32F4 und Waveshare CAN Transceiver zu testen.
Ja hat es. Nur der Interrupt will noch nicht. Aber senden geht schon mal sehr gut. Mit dem CubeMX einfach ein saubere Projekt machen, wo schon Clock und so weiter konfiguriert ist. Dann hast du eigentlich eine solide Basis. Bei mir war das nur ein HickHack, weil ich alles rumkopiert habe und in eine ordentlich Struktur gebracht habe. Mein Aufbau ist etwas speziell. Ich hab einen STM32F4 + ein RCP von Autosportlabs, die auch einen STM32F4 drin haben. Sollte aber auch mit zwei Discovery sehr gut laufen. Wichtig ist, dass der Waveshare einen 120 Ohm Abschlusswiderstand drin hat. :)
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.