C 164 CI CANSchnittstelle C 166 Core Data

  • Slides: 22
Download presentation
C 164 CI - CAN-Schnittstelle C 166 -Core Data (C 164 CI-8 RM) or

C 164 CI - CAN-Schnittstelle C 166 -Core Data (C 164 CI-8 RM) or OTP CPU Instr. /Data 32 Data 16 Dual Port 64 K ROM 16 RAM 2 KByte (C 164 CI-8 EM) PLL-Oscillator prog. Multiplier: Watchdog 0. 5; 1; 1. 5; 2; 2. 5; 3; 4; 5 Interrupt Controller RTC 13 ext. IR 16 Interrupt Bus Peripheral Data 16 Port 4 10 -Bit USART Sync. GPT 1 CAPCOM 2 CAPCOM 6 Unit for PWM Generation Channel ADC T 2 (SPI) 8 -Channels ASC SSC T 3 BRG T 4 Port 3 Port 5 Timer 13 8/16 bit MUX only & XBUS Control Timer 8 External Bus Timer 7 16 XBUS (16 -bit NON MUX Data / Addresses) P 4. 6/ CAN Tx. D Full-CAN Interface V 2. 0 B active Port 0 P 4. 5/ CAN Rx. D PEC External Instr. /Data 1 Comp. Channel Port 8 3/6 CAPCOM Channels Port 1 6 8 23. 9. 2009 D 9 Embedded Systems 4 16 1

Controller Area Network - CAN • CAN ist ein Protokoll für die serielle Kommunikation,

Controller Area Network - CAN • CAN ist ein Protokoll für die serielle Kommunikation, das verteilte Echtzeit-Aufgaben mit sehr hohen Sicherheitsanforderungen effektiv unterstützt. • CAN ist standardisiert – ISO-DIS 11898 (high speed applications) – ISO-DIS 11519 -2 (low speed applications) 23. 9. 2009 D Embedded Systems 2

CAN - Merkmale • Geringe Kosten – Serieller BUS für 2 -Draht-Leitungen – Hohe

CAN - Merkmale • Geringe Kosten – Serieller BUS für 2 -Draht-Leitungen – Hohe Stückzahlen der CAN-Bausteine im Kraftfahrzeug- (Automotive-) Sektor und in der Industrieelektronik. • Zuverlässigkeit – Ausgefeilte Mechanismen zur Fehlererkennung und -behandlung führen zu hoher Zuverlässigkeit der Übertragung. Beispiel: • 500 kbit/s, 25% BUS-Auslastung, 2000 Betriebsstunden pro Jahr. Resultat: Ein nicht entdeckter Fehler in 1000 Jahren! – Fehlerbehaftete Meldungen werden erkannt und wiederholt. – Jeder BUS-Knoten wird über einen Fehler informiert. – Geringe Empfindlichkeit gegenüber elektromagnetischen Einstreuungen. • Flexibilität – Knoten können sehr einfach ergänzt oder entfernt werden (plug & play). – Die Anzahl der Knoten ist durch das Protokoll nicht begrenzt. 23. 9. 2009 D Embedded Systems 3

CAN - Merkmale • Gute Echtzeit-Eigenschaften – Kurzer Umfang der Meldungen (messages): 0 bis

CAN - Merkmale • Gute Echtzeit-Eigenschaften – Kurzer Umfang der Meldungen (messages): 0 bis 8 Bytes Daten / Message. – Kurze Latenzzeit zwischen Anforderung einer Übertragung und Start der Übertragung. – Priorisierung von Meldungen (Arbitration on Message Priority - AMP) – Multi Master Protokoll mit CSMA/CD. • Geschwindigkeit – maximale Datenrate beträgt 1 MBit/s bei 40 m BUS-Länge und immer noch etwa 40 k. Bit/s bei 1000 m BUS-Länge. • Multi-Master-Operationen – Jeder Knoten kann den BUS erhalten – Die BUS-Kommunikation wird durch fehlerhafte Knoten nicht verhindert – Fehlerhafte Knoten trennen sich selbst vom BUS ab. • Flexible Adressierungmechanismen – Meldungen können an einen oder mehere Knoten gesendet werden. – Alle Knoten empfangen simultan öffentliche Daten. 23. 9. 2009 D Embedded Systems 4

CAN: Typische Anwendung 23. 9. 2009 D Embedded Systems 5

CAN: Typische Anwendung 23. 9. 2009 D Embedded Systems 5

Protokollschichten des CAN Process-Application Layer 7 1 Application Layer Data Link Layer Physical Layer

Protokollschichten des CAN Process-Application Layer 7 1 Application Layer Data Link Layer Physical Layer 23. 9. 2009 Logical Link Control Error detection, error handling; Control of data-flow; Acceptance filtering. Medium Access Control Bit-Stuffing, Framing, Arbitration Physical Signalling (Bit –coding, -timing, -synchron. ) Physical Medium Attachment (Transmitter/Receiver-Spec. ) Medium Dependent Interface (Cable, Plug. . . ) D Management 2 CAL, CANopen (Ci. A) Device. Net SDS (Honeywell) etc. . . Embedded Systems CAN (ISO 11898) Bosch 6

Höhere Protokollschichten • CAN Application Layer (CAL) – Schicht-7 Standard definiert durch “CAN in

Höhere Protokollschichten • CAN Application Layer (CAL) – Schicht-7 Standard definiert durch “CAN in Automation” (Ci. A) – Netzwerk-Management für Initialisierung, Überwachung und Konfiguration von Knoten in standardisierter Form – Berücksichtigt alle Aspekte für die Realisierung offener Kommunikation über CAN (sorgt für das Zusammenarbeiten herstellerspezifische Systeme) – Verfügbare Implementierungen von CAL vereinfachen dem Nutzer den Weg zu ausgefeilten “Controller Area Networks” • CANopen – Anwendung basierend auf CAL. – CANopen legt die Art der Kommunikation fest, ein Anwendungsprofil fixiert die Bedeutung bestimmter Meldungen (messages) für die betrachtete Anwendung. – Ziel: Austauschbarkeit der Subsysteme bestimmter Anwendungen. • Weiter höhere Protokollschichten (Standards): – Automotiv-Sektor: VOLCANO, OSEK – Industrial Automation: Device. Net (ODVA), SDS (Honeywell) 23. 9. 2009 D Embedded Systems 7

Protokollschichten des CAN Process-Application Layer 7 1 Application Layer Data Link Layer Physical Layer

Protokollschichten des CAN Process-Application Layer 7 1 Application Layer Data Link Layer Physical Layer 23. 9. 2009 Medium Access Control Bit-Stuffing, Framing, Arbitration Logical Link Control Error detection, error handling; Control of data-flow; Acceptance filtering. Physical Signalling (Bit –coding, -timing, -synchron. ) Physical Medium Attachment (Transmitter/Receiver-Spec. ) Medium Dependent Interface (Cable, Plug. . . ) D Management 2 CAL, CANopen (Ci. A) Device. Net SDS (Honeywell) etc. . . Embedded Systems CAN (ISO 11898) Bosch 8

Prinzipielle Eigenschaften von CAN • Asynchroner serieller BUS mit linearer BUS-Struktur und identischen Knoten

Prinzipielle Eigenschaften von CAN • Asynchroner serieller BUS mit linearer BUS-Struktur und identischen Knoten (Multi-Master-BUS) • Es werden nicht Knoten adressiert - die Adressen sind Teile der Message und beziehen sich auf diese, genauso ist die Priorität eine Eigenschaft der Message • Zwei BUS-Zustände: dominant und rezessiv – die BUS-Anschaltung erfolgt nach dem "Wired-AND”-Mechanismus: dominante Bits (logisch 0) überschreiben rezessive Bits (logisch 1) • BUS-Zugriff mittels CSMA/CD mit NDA (Carrier Sense Multiple Access/ Collision Detection mit Non-Destructive Arbitration): – vor dem Senden wird getestet ob der BUS frei ist – jeder Sender testet ob der BUS-Pegel seinem Sendepegel entspricht – bei Widerspruch wird das Senden eingestellt und in den Empfangsmodus geschaltet 23. 9. 2009 D Embedded Systems 9

Prinzipielle Eigenschaften von CAN rezessiv NODE A dominant rezessiv NODE B dominant bus idle

Prinzipielle Eigenschaften von CAN rezessiv NODE A dominant rezessiv NODE B dominant bus idle rezessiv CAN BUS dominant Knoten B sendet rezessiven Pegel liest aber dominanten Pegel zurück 23. 9. 2009 D Knoten B verliert die Arbitrierung und schaltet sich auf Empfang Embedded Systems 10

Typische Struktur von CAN-Knoten Node A Node B z. B. ABS z. B. EMS

Typische Struktur von CAN-Knoten Node A Node B z. B. ABS z. B. EMS Host-Controller z. B. 80 C 166 z. B. C 164 CR oder C 515 C CAN-Controller z. B. SAE 81 C 90 Application CAN (weitere Knoten) CAN-Transceiver CAN_H CAN-BUS UDiff CAN_L 23. 9. 2009 D Embedded Systems 11

CAN Datenrahmen (data frames) • Es gibt zwei Situationen der Kommunikation: – Ein Knoten

CAN Datenrahmen (data frames) • Es gibt zwei Situationen der Kommunikation: – Ein Knoten sendet (’talker’), alle anderen Knoten empfangen (’listener’) – Knoten A fordert (von einem Knoten) etwas an und erhält die Antwort. • Im ’Talk’-Modus benutzten CAN-Knoten Datenrahmen. – Datenrahmen bestehen aus: • einem Identifier • den Daten, die übertragen werden sollen • und einer CRC-Prüfsumme. Identifier Data Field (0. . 8 Bytes) CRC-Field – Der Identifier spezifiziert den Inhalt der Nachricht (‘Fahrzeuggeschwindigkeit, ‘Öltemperatur’, usw. ) und die Priorität der Nachricht. – Das Datenfeld enthält den zugehörigen Wert (’ 36 m/s’, ’ 110°C’, usw. ). – Der Cyclic Redundancy Check ermöglicht es Übertragungsfehler zu erkennen. – Alle Knoten empfangen den Datenrahmen, jene die Information nicht benötigen verwerfen sie. 23. 9. 2009 D Embedded Systems 12

CAN Remote Frames • Um Informationen abzufragen benutzt CAN “Remote Frames” – Ein Remote

CAN Remote Frames • Um Informationen abzufragen benutzt CAN “Remote Frames” – Ein Remote Frame besteht aus dem Identifier und der CRCPrüfsumme, er enthält keine Daten. Identifier CRC-Field – Der Identifier verweist auf die Information, die abgefragt werden soll (’Fahrzeuggeschwindigkeit', ’Öltemperatur', usw. ) und die Priorität der Nachricht. – Jener Knoten, der über die angeforderte Information verfügt (z. B. der Sensor für die Öltemperatur) reagiert mit dem Senden des zugeordneten ‘Data Frame’ (gleicher Identifier, das Datenfeld enthält die gewünschte Information). Wie heiß ist das Öl? Remote Frame; Identifier ’Oel_temp' Node A 115 °C ! Node B (Öltemp. Sensor) ~~~~~ 115°C Data Frame; Identifier ’Oel_temp'; enthält angeforderte Information 23. 9. 2009 D Embedded Systems 13

Standard CAN / Extended CAN • CAN Version 2. 0 A - Standard CAN:

Standard CAN / Extended CAN • CAN Version 2. 0 A - Standard CAN: – Der Standard-Rahmen enthält einen Identifier mit 11 Bit Umfang. – Damit können 211 (=2048) unterschiedliche “Messages” adressiert werden. • CAN Version 2. 0 B (active) - Extended CAN: – Ein “Extended Frame” besitzt einen Identifier mit einer Länge von 29 Bit. – Damit können über 536 Millionen (229) unterschiedliche “Messages” adressiert werden. • CAN Version 2. 0 B (passive) : – Manche Standard-CAN-Knoten sind nicht in der Lage “Extended Frames” zu empfangen, aber sie tolerieren sie und ignorieren deren “Messages”. Sie empfangen keine Daten, produzieren aber auch keine Fehler. – Diese CAN-Knoten verwenden CAN Version 2. 0 A, werden aber auch als Knoten der Version 2. 0 B passiv bezeichnet. – Sie werden in Netzwerken benutzt, in denen sowohl mit “Standard Frames als auch mit “Extended Frames” gearbeitet wird. • Infineon C 164 CI: V 2. 0 B active 23. 9. 2009 D Embedded Systems 14

CAN-Contoller • CAN-Controllern führen autark die Verwaltung der Messages und ihre Qualifizierung (acceptance filtering)

CAN-Contoller • CAN-Controllern führen autark die Verwaltung der Messages und ihre Qualifizierung (acceptance filtering) durch: Full-CAN-Controller – Es existieren mehrere Message-Objecte mit jeweils eigenem Identifier. – Nur wenn eine Message mit einem der vorgegebenen Identifiern empfangen wird, wird diese gespeichert und die Programmausführung der CPU unterbrochen. – Auf diese Weise läßt sich die Auslastung der CPU gering halten. Message Object 1 Acceptance Filtering CAN Bus Message Object 2 . . Message Management Message Object n Full-CAN Controller 23. 9. 2009 D Embedded Systems low high CPU load Host CPU 15

Eigenschaften des CAN-Moduls des C 164 CI • Die Eigenschaften sind vergleichbar mit dem

Eigenschaften des CAN-Moduls des C 164 CI • Die Eigenschaften sind vergleichbar mit dem verbreiteten CAN-Controller AN 82527 • Erfüllt alle Forderungen von “CAN spec. V 2. 0 B active” (Standard- und Extended-CAN) • Maximale CAN-Transferrate von 1 MBit/s • Full CAN Device: – 15 Message-Objekte mit eigenem Identifier und eigenen Status- und Control-Bits – Jedes Message-Objekt kann als Sendeoder Empfangsobjekt definiert werden. 23. 9. 2009 D Embedded Systems 16

Eigenschaften des CAN-Moduls des C 164 CI • Programmierbares Masken-Register für Acceptance-Filterung – Globale

Eigenschaften des CAN-Moduls des C 164 CI • Programmierbares Masken-Register für Acceptance-Filterung – Globale Maske für eintreffende Messages (Full-CAN-Objekte) – Zusätzliche Maske für Message-Objekt 15 (Basis-CAN-Eigenschaft) • Basis-CAN-Eigenschaft (Message-Objekt 15) – Zwei Empfangspuffer – Eigenes globales Masken-Register zur Acceptance-Filterung • Verbindung zur CPU (C 166 -Core) – Das Modul wird über den chip-internen XBUS angeschlossen (16 -Bit BUS-Breite) – Interrupts direkt zur CPU mit allen Möglichkeiten der Interruptbehandlung. • Zur Anbindung an den CAN-BUS ist lediglich die physikalische Pegelkonversion über einen Standard-CAN-Transceiver nötig. 23. 9. 2009 D Embedded Systems 17

Verbindung des C 164 CI zum CAN-BUS C 164 CI Pa. b Verbindung zur

Verbindung des C 164 CI zum CAN-BUS C 164 CI Pa. b Verbindung zur Applikation CAN-Bus Transceiver P 4. 5 CAN_Rx. D CAN_L CAN_H Receive CAN_H P 4. 6 CAN_Tx. D Transmit CAN_L Pc. d (Standby) z. B. P 8. 0 R(opt) • Das CAN-Modul benutzt 2 Anschlüsse des Port 4 als Schnittstelle zu einen BUS-Transceiver (P 4. 5 - CAN_Rx. D, P 4. 6 - CAN_Tx. D). 23. 9. 2009 D Embedded Systems 18

ACCEPTANCE FILTERING Global Mask (Teil der General Registers) 1 1 1 1 0 Arbitration

ACCEPTANCE FILTERING Global Mask (Teil der General Registers) 1 1 1 1 0 Arbitration Register (LAR, Teil des Message Object) 1 0 0 1 0 1 1 1 Resultierende Gültige Identfier "d" = don't care 1 0 0 1 d 1 1 d a) 1 0 0 1 0 1 1 1 b) 1 0 0 1 0 1 1 0 c) 1 0 0 1 1 0 d) 1 0 0 1 1 1 Wegen der "don't care"-Bits werden auch Messages mit den Identifiern b). . d) akzeptiert. 23. 9. 2009 D CAN CONTROLLER CAN MESSAGES Anmerkung: Werden Datenrahmen von mehr als einem Message Object akzeptiert, so erfolgt die Speicherung in dem Objekt mit der niedrigsten Nummer. Falls „remote frames“ von mehr als einem Message Object akzeptiert werden, so werden die Daten des Objects mit der niedrigsten Nummer gesendet. Embedded Systems 19

Bit-Timing Bitdauer Sync. Segm. TSeg 1 TSeg 2 Sync. Segm. 1 Zeiteinheit Sample. Zeitpunkt

Bit-Timing Bitdauer Sync. Segm. TSeg 1 TSeg 2 Sync. Segm. 1 Zeiteinheit Sample. Zeitpunkt • Sende. Zeitpunkt Das Bit-Timing wird vom Systemtakt f. PERIPHERAL abgeleitet und ist programmierbar bis zu einer Datenrate von 1 MBaud (@ f CPU 16 MHz) SFRcan 23. 9. 2009 D Embedded Systems 20

Register des CAN-Controllers SFRcan 23. 9. 2009 D Embedded Systems 21

Register des CAN-Controllers SFRcan 23. 9. 2009 D Embedded Systems 21

Message Object SFRcan CAN-SW 23. 9. 2009 D Embedded Systems 22

Message Object SFRcan CAN-SW 23. 9. 2009 D Embedded Systems 22