1.04k likes | 2.06k Views
Der CAN-Bus. mit Anwendungsbeispiel PowerCube. von Sandra Theidel Claus Lohrberg Sven Henkel. Inhalt. Einführung Prinzip der Nachrichtenübertragung Arbitration Kodierung Fehlerhandhabung allgemein Fehlerbehandlung Bit-Timing Technische Realisierung des CAN-Busses PowerCube.
E N D
Der CAN-Bus mit Anwendungsbeispiel PowerCube von Sandra TheidelClaus LohrbergSven Henkel
Inhalt • Einführung • Prinzip der Nachrichtenübertragung • Arbitration • Kodierung • Fehlerhandhabung allgemein • Fehlerbehandlung • Bit-Timing • Technische Realisierung des CAN-Busses • PowerCube
1. Einführung • Controller Area Network • entwickelt von Bosch Mitte der 80er Jahre • kostengünstiger serieller Bus
1.1 Anwendungen • Medizinische Systeme • Nautische Instrumente • Kontrollsysteme für Fahrstühle • Textilproduzierende Maschinen • Fertigungskontrolle • Landwirtschaftliche Maschinen
1.2 Vorteile des CAN-Busses • kleine Controller • kostengünstig • robust • leicht zu konfigurieren und zu erweitern • automatische Fehlererkennung
2. Prinzip der Nachrichtenübertragung • eindeutiger Nachrichten-Identifier • Keine direkte Adressierung • Multi-Casting
2.1 Multi-Casting • Versand an alle Knoten • Jeder Knoten prüft Relevanz der Nachricht
2.2 Frame-Typen • Data Frame • Remote Frame • Error Frame • Overload Frame • Interframe Spacing
2.2.1 Data Frame • überträgt Daten vom Sender zum Empfänger
2.2.2 Remote Frame • Anforderung an einen Knoten zum Senden eines Data Frame mit demselben Identifier
2.2.3 Error Frame • wird von einem Knoten bei Feststellung eines Fehlers gesendet
2.2.4 Overload Frame • Verzögerung zwischen zwei Data oder Remote Frames
2.2.5 Interframe Spacing • Trennung zweier Frames
3. Arbitration • Priorität wird durch Identifier bestimmt
4. Kodierung • Non-Return-To-Zero-Kodierung (NRZ) (nicht jedes Bit besitzt eine Flanke!) • Durch NRZ-Kodierung u.U. keine Flanken zur Synchronisation Stuffing
4.1 Stuffing • Nach 5 aufeinanderfolgenden gleichwertigen Bits wird ein anderswertiges eingefügt
5. Fehlerhandhabung allgemein falsche Ergebnisse entstehen durch: • Programmierfehler • zufällige Einflüsse und Störungen • z.B. elektromagnetische Felder
Mechanismen • Wiederholung: • Bei Störungen: • Abbruch der Übertragung • Erneuter Versuch nach Wartezeit • Plausibilitätstest
Plausiblilitätstest • Alle Ergebnisse werden auf Zulässigkeit geprüft • Wichtig: Ergebnisse müssen nicht richtig sein! => Ergebnisse könnten richtig sein • z.B. bei Rechtschreibprüfung: Baum/Raum
Maskierungswahrscheinlichkeit • fehlerhafte Ergebnisse werden auf falsche, aber zulässige Variationen der Ausgabe abgebildet • Ziel: geringe Maskierungswahrscheinlichkeit • Vorraussetzung:wenig zulässige Worte gegenüber allen Ergebnissen
Lösung • Erzeugung Fehlererkennender Codes: • Anhängen weiterer Bitstellen an das Codewort (Datenvektor) • Beispiel:
Verbesserung • Informationsvektor der Länge r • wird auf Datenvektor der Länge w + r abgebildet • Abbildung geschieht pseudozufällig • Maskierungswahrscheinlichkeit beträgt 2-r
Prüfkennzeichen • Zufällige Abbildung ist störend: • Erschwert Lesen und • Weitere Verarbeitung der Daten • Aufspaltung in Informationsvektor und Prüfkennzeichen
Prüfkennzeichen • Informationsvektor ist unverschlüsselt kodiert • Methoden: • Einführung von einem Bit als Prüfkennzeichen • Zu jedem Informationsvektor wird zufällig ein Datenvektor/Prüfkennzeichen erzeugt: • Diese Tabelle liegt dem Sender und Empfänger vor
Plausiblilitätstest • Veränderung eines oder beider Vektoren bedeutet: • Vektoren passen nicht mehr zusammen • Erneute Erzeugung des Prüfkennzeichens und Vergleich
Polynomendivision • Zur Erzeugung von pseudozufälligen Vektoren
6. Fehlerbehandlung beim CAN-Bus • Fehlerarten • Fehlerhandhabung • Fehlersignalisierung
6.1 Fehlerarten • Bit-Fehler • Stuffing-Fehler • CRC-Fehler • Form-Fehler • ACK-Fehler
6.1.1 Bit-Fehler • Wert auf dem Bus stimmt nicht mit gesendetem überein • Ausnahmen • Arbitration Field • Ack-Slot
6.1.2 Stuffing-Fehler • Beim Empfang von 6 aufeinanderfolgenden gleichwertigen Bits (verstößt gegen Stuffing-Regel) 000000 Fehler
6.1.3 Weitere Fehlerarten • CRC-Fehler:Empfangene Prüfsumme (CRC) stimmt nicht mit berechneter überein • Form-Fehler:Fest vorgeschriebene Bits entsprechen nicht den erwarteten Werten • ACK-Fehler:Empfang einer Nachricht wurde nicht durch Setzen des ACK-Bits bestätigt
6.2 Fehlerhandhabung • Jeder Knoten befindet sich in einem von 3 Zuständen: • Error active • Error passive • Bus off • Zustand wechselt bei Fehlerhäufung
6.3 Fehlersignalisierung • Je nach Knoten-Status wird Error-Active-Flag bzw. Error-Passive-Flag gesendet • Im Bus-Off-Status keine Fehlersignalisierung
7. Bit-Timing • Synchronisation der Controller durch 2 Verfahren: • Harte Synchronisation • Resynchronisation
7.1 Harte Synchronisation • Erfolgt am Anfang des Frames • Synchronisation auf die erste Signal-Flanke
7.2 Resynchronisation • Während des Empfangs eines Frames • Synchronisation durch Abgleich des internen Taktes auf die Flankenwechsel • Durch Stuffing Synchronisation mindestens alle 5 Bits
8. Technische Realisierung des CAN-Busses • Zahlreiche Medien als Bus verfügbar (1 oder 2 Kabelstränge, Funk, Glasfaser…) • Am häufigsten verwendet: ISO 11989-2 Standard
CAN-Bus nach ISO 11898-2 • Einsatz von Twisted-Pair-Kabeln zur Reduktion von elektromagnetischen Störungen • Endwiderstände zur Vermeidung von Signalreflektionen • Ermöglicht Buslänge von 40m bei 1 Mbit/s bis zu 1km bei 50 Kbit/s • Pegelbestimmung durch Spannungsmessung zwischen CAN_L und CAN_H • Rezessiv: UCAN_H – UCAN_L < 0.5V • Dominant: UCAN_H – UCAN_L > 0.9V
Fehlertoleranz bei ISO 11898-2 • Einsatz von „intelligenten“ Controllern ermöglicht im Störungsfall Wechsel auf einadrigen Bus (bei geringerer Übertragungsfrequenz) • Dadurch wird der Bus tolerant gegen Störungen wie Kabelbruch einer Ader oder Kurzschluss
9. PowerCube • Idee • Elektrisches Interface • Lokale Intelligenz • Komponenten • Beispiel
9.1 Idee • Baukastensystem • Dadurch hohe Flexibilität • Zu lösende Probleme • Mechanisches Interface • Elektrisches Interface • Lokale Intelligenz
9.2 Elektrisches Interface • Zentrale Stromversorgung • Anschluss über ein Kabel (Strom und Daten) • Mögliche Bus-Systeme: CAN-Bus, Profibus, RS485 und RS232
9.3 Lokale Intelligenz • 16-Bit-Mikrocontroller (C167) in jedem aktiven Element • Ermöglicht Steuerung auf zwei Arten • Direkte Steuerung (Drehung, Bewegung...) • Komplexe Befehle (Gehe auf Position x...) • Ermöglicht eine Statusabfrage • Watchdog-Logik • PID-Regler
9.3.1 PID-Regler • Proportional-Integral-Differential-Regler • Vergleicht den Ist- (x) und Soll-Wert (w) • Regelt über die Stellgröße (y) • z ist Störgröße die auf die Regelstrecke wirkt
9.3.3 Regler in PowerCube-Modulen • Regel- und Steuerkreise mit den Aufgaben: • Motorreglung • Überwachung prüft: • Endlage • Überstrom • Unterstrom • Temperatur des Motors • Temperatur der Endstufe • ... • Kommunikationsinterface • Rampengenerator
9.4 Komponenten • 8 aktive Elemente • Verschiedene passive Elemente (Verbindungs- und Adapterstücke)