Blue Flower

CAN-Analyzer,

  • CAN-Bus Analyzer I ( CAN-Bus Finder)


    Projektstand:
    Januar 2009 - Prototyp der Hardware wurde erfolgreich auf einer Lochrasterkarte aufgebaut. Mittels Testprogramm wurden alle Hardwarefunktionen erfolgreich getestet. Somit muss nur noch ein bisschen Software :-) geschrieben werden.

    Allgemeines:
    Der CAN-Bus (Controller Area Network) ist ein Datenbus, welcher in der heutigen Fahrzeugen nicht mehr wegzudenken ist. Entwickelt wurde er von Bosch in den 80er Jahren. Mit dem ISO-Standard ISO 11898 wurde das Protokoll für die Anwendung im PKW international standardisiert.

    CAN ist das derzeit am häufigsten eingesetzte Kfz-Bussystem für Low-Speed und Highspeed Anwendungen.
    Meistens kommen mehrere CAN-Busse mit unterschiedlichen Baudraten im PKW zum Einsatz:

    • Motor-CAN (High-Speed-CAN: 500kBit/s) für Motorsteuerung, Getriebesteurung, Bremsen, usw.
    • Komfort-CAN ( Low-Speed-CAN: 50kBit/s, 100kBits/s, 125kBits/s) für Klima, Tür, Lichtsteureung usw.
    • Infotaiment-CAN (Low-Speed-CAN 50kBit/s, 100kBits/s, 125kBits/s) für Navigation, Radio, LFB usw.


    Beim CAN-Bus erfolgt die Datenübertragung auf einer Zwei-Draht-Leitung (CAN-High und CAN-Low) Leitung, deren gemeinsamer Bezugspunkt die Masse Leitung ist. Üblicherweise sind diese 2 Leitungen auch miteinander verdrillt (Twisted Pair) wodurch eine besserer EMV erreicht wird. Ein weiteres Merkmal des CAN-Busses ist, dass keine Geräte (man spricht hier von CAN-Knoten) direkt addressiert werden, sondern eine CAN-Message aus einem Identifier (Message ID) und bis zu 8 Datenbytes besteht. z.B. (LEN gibt die Anzahl der Datenbytes an)
    ID LEN Datenbytes Kommentar
    351 8 00 00 00 00 00 00 00 00 Message in der die Geschwindigkeitinformation bei VW-Fahrzeugen enthalten ist

    Dies sollte mal als kurze Einführung reichen. Weitere Informationen zum CAN-Bus sind unten bei den Links zu finden.

    Kurzbechreibung:
    Der CAN-Bus-Analyzer erkennt automatisch das Format des CAN-Bus Protokolls ( 11-Bit Identifier oder 29-Bit Identifier und die aktuelle Baudrate) und protokolliert die CAN-Messages via RS232-Schnittstelle an den PC. Ebenso wird immer die letzte Empfangene CAN-Message auf dem optionalen LCD anzgezeigt (empfohlen wird ein 2x24 Zeichen Textdisplay HD44780 kompatibel). Ebenso ist die Hardware in der Lage, CAN-Bus Messages selbst zu versenden (dies sollte man aber aus Sicherheitsgründen beim Motor-CAN nicht machen)
    Kenndaten der Hardware:

    • Mikrocontroller: ATMega 168
    • 8-MHz Quarz
    • CAN-Bus Controller: SJA 1000
    • CAN-Bus Treiber: ATA 6660
    • RS232 Schnittstelle: MAX232
    • LCD-Schnittstelle für LCD-Displays (HD44780 kompatible) siehe Projekt LCD-Display
    • CAN-Bus Schnittstelle ist nicht galvanisch getrennt
    • ISP-Schnittstelle (zum Programmieren)
    • JTAG-Schnittstelle (zum Programmieren und Debuggen via JTAG)
    • Jumper für die Terminierung der CAN-Bus Leitungen wahlweise mit 120 bzw. 2,6k ohm
    • Protokollierung der CAN-Messages via RS232 bzw. zum Senden von Steuerkommandos an den CAN-Analyzer

    Hauptzweck der Schaltung ist es, in Fahrzeugen den CAN-Bus zu lokalisieren und zum analysieren der CAN-Messages

    Software:
    noch in der Mache :-)
    Compiler: CodeVision AVR C

    Programmierung:
    Die Programmierung erfolgt via ISP Schnittstelle mit den üblichen Programmieradaptern, bzw. mit dem STK500 Entwicklungskit oder mittels JTAG-Interface

    Fusesettings für den Atmel Prozessor:
    - kommt noch

    Schaltplan:

    Schaltplan vom CAN-Bus Analyzer

    Bilder vom Prototypen Aufbau:

    Bild vom Schaltungsaufbau auf Lochraster Leiterplatte


    Leiterbahnunterseite vom Testaufbau:
    Bild von der Leiterbahnunterseite vom Aufbau



    Beispiel einer emfpangener Testmessage mit der CAN-ID 110 und 8 Datenbytes:
    Anzeiger einer empfangener CAN-Message im Display

     

     

  • STM32-CAN – Hardware V1.2

     STM32-CAN - Hardware V1.2
         Abb. 1.1  STM32-CAN V1.2 Hardware

     

    Hardware Modifikationen (L10009.02):

    • Bugfix V-Bus  Signal  
    • LED 3 (grün) hinzugefügt, dient jetzt als Rx-Status LED
    • Low-Speed CAN-Bus jetzt fest auf SUB-D9.  (Pin 4 - CAN-LOW, Pin 9 - CAN-High)
      Somit kann das Interface mit einer speziellen Firmware als Gateway zwischen dem Low-Speed und High-Speed CAN-Bus eingesetzt werden.

    Schaltplan:
    Schaltplan STM32-CAN  - Version 1.2

    Abb. 1.2 Schaltplan STM32-CAN Version V1.2

     

    SUB-D9 Steckerbelegung (männlich):

    Pin-Nr.  Beschreibung
    1  nicht verwendet
    2  CAN-LOW -Signal
     Auswahl LOW/HIGH Speed CAN Bus erfolgt mittels DIP-Schalter 
    3  GND (optional)
    4  CAN2 -  LOW
     vom  CAN LOW-Speed Bus Treiber
    5  nicht verwendet
    6  GND
    7  CAN-HIGH Signal
     Auswahl LOW/HIGH Speed CAN Bus erfolgt mittels DIP-Schalter 
    8  nicht verwendet
    9  CAN2 - High
     vom CAN Low Speed Bus Treiber

     

     

    Software:

    Die neue Hardware wird ab den Softwareversionen V2.0.x  unterstützt. Wobei grundsätzlich auch die alte Version verwendet werden kann, allerdings wird dann die grüne LED nicht unterstützt.

    Software V2.0.3 / V3.0.3:

    • Benutzerdefinierte Baudrate für 47,619 kBaud (Saab-Fahrzeuge) hinzugefügt.
      ( Benutzerdefinierte Baudrate = 4762 )

    Software V2.0.2 / V3.0.2:

    • Benutzerdefinierte Baudrate von 95,234 kBaud  hinzugefügt.
      (Benutzerdefinierte Baudrate = 9500))
    • Versionsnummer ab V3.x.x    (ab V3.0.2) ist die CAN-Hacker kompatible Variante die die Baudraten von:
      - 800 kBit
      - 1 Mit 
      unterstützt.

    Software V2.0.1:

    • Lawicel Protokoll um den Befehl F[CR] - Read Error Status erweitert
    • CAN-Error Status abfragen (Vorerst wird nur das 'Bus Error (BEI)' Bit unterstützt! )
    • Anzeige von CAN-Buss Error mittels synchronem Blinke aller LEDs.
      Ebenso wird beim Buserror die Read Error Status Meldung ohne Anforderung gesendet (maximal 1 mal pro Sekunde)

    Software V2.0.0:

    • Rx-Status, LED 3 (grün) toggeln wenn CAN-Botschaften empfangen werden
    • Watchdog abgeschaltet
    • CAN-Error Handling verbessert (ABOM auf enabled gesetzt)

     
    Die neune Software Versionen sind auf der  STM32-CAN - Download Page  zu finden!     (nur registrierte Benutzer)

     

    STM32CubeMX - Testprojekt für STM32-CAN

    In Kürze werde ich hier eine kleine Anleitung für STM32CubeMX veröffentlichen, die beschreibt wie man meine Hardware mit dem CubeMX programmieren kann. Zur Kurzbeschreibung gehts hier:
    STM32-CAN CubeMX - Projekt

    Das CubeMX-Projekt ist hier: Github: STM32-CAN - CubeMX Testprojekt veröffentlicht.

    Status (V0.3):
    - LED ansteuern
    - Lawcel Protokoll teilweise implementiert, so das der CAN-Hacker als CAN-Logger verwendet werden kann
    - CAN TX-Message Testbotschaft  senden, beim Empfang (Lawicel)  zum Senden einer CAN-Botschaft
    - Rx-Message empfangen (blaue LED wird getoggelt) und die Daten über Lawicel an den PC senden (CAN-Hacker zeigt
      die Botschaft im Monitor oer Trace-Fenster an)
    - Normal Mode oder Listen Only Mode werden unterstützt
    - Auswahl der Baudrate vom CAN-Hacker übernehmen

    Status (V0.1):
    - LED ansteuern
    - CAN1 initialisiere  500 kBaud
    - TX-Message senden
    - Rx-Message empfangen (blaue LED wird getoggelt)

     

    Wichtiger Hinweis für die Leute, die mein Protoypen-Board von mir erhalten haben:
    Bitte nicht flashen, da sonst mein Bootloader überschrieben wird, und somit kein Firmware update mehr möglich ist.

    Important not for the people who got my protoype interface from me:
    Do not flash the interface, becaus my integrated bootloader will be erased, and so no further firmware upodates are possible.

     

     


    Zur Zeit sind alle Prototypen verkauft. Eventuell, wenn sich noch ein paar Interessenten finden, werde ich wieder welche fertigen lassen.

    für 25,-EUR inkl. Versand erwerben könnt. Wer kein PayPal verwenden will, kann mich auch über das Kontaktformular kontaktieren.

    Der Lieferumfang entspricht obiger Abbildung Abb.1.1

    Hinweise:
    - Unversicherter Postversand
    - Versand nur innerhalb der EU - Außerhalb der EU nur auf Anfrage
    - Es handelt sich hierbei um einen Privatverkauf! 
    - Die gesetzliche Gewährleistung wird hiermit ausgeschlossen. Der Käufer akzeptiert dies mit Klick auf den "Jetzt kaufen" Button
    -  Das Interface wird vor dem Versand nochmal auf Funktion geprüft.