Date post: | 06-Apr-2015 |
Category: |
Documents |
Upload: | till-monheit |
View: | 106 times |
Download: | 1 times |
23.9.2009 Embedded Systems Seite 1D
04EI
164CL
XTAL
C166-CoreC166-Core
Port 5 Port 3
CPU
Dua
l Por
t
RAM
2 KByte
Interrupt Controller
Watchdog
Peripheral Data
External Instr./Data
Instr./Data
USART
ASC
BRG
GPT1
16
16
16
1632
PEC
64 K ROM
(C164 CI-8RM)or
OTP(C164CI-8EM)
Interrupt Bus
Data
Data
Port 8
BRG
SSC
Sync. Channel(SPI)
PLL-Oscillatorprog. Multiplier:
0.5; 1; 1.5; 2;2.5; 3; 4; 5
XB
US
(16-
bit N
ON
MU
X D
ata
/ Add
ress
es)
T2
T4
T3
13 ext. IR
Full-CANInterfaceV2.0Bactive
RTC
10-BitADC
Tim
er 7
Tim
er 8
Port 1
Tim
er 1
3
1 Comp.Channel
3/6 CAPCOMChannels
CAPCOM6 Unit forPWM Generation
8 9 4 16
6
16
Port 4
8-Channels
External Bus8/16 bit
MUX only&
XBUSControl
CAPCOM 2
8-Channel
C164CI - CAN-Schnittstelle
P4.6/ CAN TxD
P4.5/ CANRxD
Port
0
23.9.2009 Embedded Systems Seite 2D
04EI
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 Embedded Systems Seite 3D
04EI
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 Embedded Systems Seite 4D
04EI
• 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.
CAN - Merkmale
• 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.
• Geschwindigkeit– maximale Datenrate beträgt 1 MBit/s bei 40m BUS-Länge und immer noch
etwa 40 kBit/s bei 1000m BUS-Länge.
• Flexible Adressierungmechanismen– Meldungen können an einen oder mehere Knoten gesendet werden.
– Alle Knoten empfangen simultan öffentliche Daten.
23.9.2009 Embedded Systems Seite 5D
04EI
CAN: Typische Anwendung
23.9.2009 Embedded Systems Seite 6D
04EI
Application Layer
Physical Signalling(Bit –coding, -timing, -synchron.)Physical Medium Attachment(Transmitter/Receiver-Spec.)Medium Dependent Interface(Cable, Plug...)
PhysicalLayer
Logical Link ControlError detection, error handling;Control of data-flow;Acceptance filtering.Medium Access ControlBit-Stuffing, Framing, Arbitration
DataLink
Layer
Man
agem
ent
Process-Application
Layer
7
2
1
Protokollschichten des CAN
CAN(ISO
11898)Bosch
DeviceNet
CAL, CANopen (CiA)
SDS (Honeywell)etc ...
23.9.2009 Embedded Systems Seite 7D
04EI
Höhere Protokollschichten
• CAN Application Layer (CAL)– Schicht-7 Standard definiert durch “CAN in Automation” (CiA)– 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 Anwendungs-
profil 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: DeviceNet (ODVA), SDS (Honeywell)
23.9.2009 Embedded Systems Seite 8D
04EI
Application Layer
Physical Signalling(Bit –coding, -timing, -synchron.)Physical Medium Attachment(Transmitter/Receiver-Spec.)Medium Dependent Interface(Cable, Plug...)
PhysicalLayer
Logical Link ControlError detection, error handling;Control of data-flow;Acceptance filtering.
DataLink
Layer
Man
agem
ent
Process-Application
Layer
7
2
1
Protokollschichten des CAN
CAN(ISO
11898)Bosch
DeviceNet
CAL, CANopen (CiA)
SDS (Honeywell)etc ...
Medium Access ControlBit-Stuffing, Framing, Arbitration
23.9.2009 Embedded Systems Seite 9D
04EI
• 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
Prinzipielle Eigenschaften von CAN
23.9.2009 Embedded Systems Seite 10D
04EI
NODE A
NODE B
rezessiv
dominant
rezessiv
dominant
bus idle
CAN BUS
rezessiv
dominant
Knoten B sendet rezessiven Pegelliest aber dominanten Pegel zurück
Knoten B verliert die Arbitrierungund schaltet sich auf Empfang
Prinzipielle Eigenschaften von CAN
23.9.2009 Embedded Systems Seite 11D
04EI
CAN_H
CAN_L
z.B.SAE81C90
CAN-Transceiver
CAN-BUS
CAN-Controller
Host-Controller
Application
z.B.80C166
z.B.ABS
z.B.C164CR
oderC515C
z.B.EMS
Node A Node B
(weitere Knoten)
UDiff
CAN
Typische Struktur von CAN-Knoten
23.9.2009 Embedded Systems Seite 12D
04EI
Identifier CRC-FieldData Field (0..8 Bytes)
• 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.
CAN Datenrahmen (data frames)
– Der Identifier spezifiziert den Inhalt der Nachricht (‘Fahrzeug-geschwindigkeit, ‘Ö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 die Information
nicht benötigen verwerfen sie.
23.9.2009 Embedded Systems Seite 13D
04EI
• Um Informationen abzufragen benutzt CAN “Remote Frames”– Ein Remote Frame besteht aus dem Identifier und der CRC-
Prüfsumme, er enthält keine Daten.
CAN Remote Frames
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).
Data Frame; Identifier ’Oel_temp';enthält angeforderte Information
~~~~~~~~~~
Remote Frame; Identifier ’Oel_temp'Node A
Node B
(Öltemp.-Sensor)
Wie heiß ist das Öl?
115°C115 °C !
23.9.2009 Embedded Systems Seite 14D
04EI
Standard CAN / Extended CAN
• CAN Version 2.0A - 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.0B (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.0A, werden aber auch als Knoten der Version 2.0B passiv bezeichnet.
– Sie werden in Netzwerken benutzt, in denen sowohl mit “Standard Frames als auch mit “Extended Frames” gearbeitet wird.
• CAN Version 2.0B (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.
• Infineon C164CI: V2.0B active
23.9.2009 Embedded Systems Seite 15D
04EI
Full-CAN Controller
Message Object 2
CAN Bus
Host CPU
Message Object n CPU load
low high
Message Object 1
.
.
Accep-tance
Filtering
MessageManage-
ment
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.
23.9.2009 Embedded Systems Seite 16D
04EI
Eigenschaften des CAN-Moduls des C164CI
• Die Eigenschaften sind vergleichbar mit dem verbreiteten CAN-Controller AN82527
• Erfüllt alle Forderungen von “CAN spec. V2.0B 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 Sende- oder Empfangsobjekt definiert werden.
23.9.2009 Embedded Systems Seite 17D
04EI
• 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 (C166-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.
Eigenschaften des CAN-Moduls des C164CI
23.9.2009 Embedded Systems Seite 18D
04EI
CAN-BusTransceiver
Receive
Transmit
CAN_H
CAN_L
P4.5
P4.6
CAN_L
z.B. P8.0
Pa.b
Pc.d
C164CI
CAN_H CAN_RxD
CAN_TxD
R(opt)
(Standby)
Verbindungzur
Applikation
Verbindung des C164CI zum CAN-BUS
• Das CAN-Modul benutzt 2 Anschlüsse des Port 4 als Schnittstelle zu einen BUS-Transceiver (P4.5 - CAN_RxD, P4.6 - CAN_TxD).
23.9.2009 Embedded Systems Seite 19D
04EI
CAN MESSAGES
ACCEPTANCE FILTERING
CAN CONTROLLER
Global Mask (Teil derGeneral Registers)
Arbitration Register(LAR, Teil desMessage Object)
11 1 1 1 1 1 1 1 00
11 0 0 1 0 0 1 1 10
ResultierendeGültige Identfier "d" = don't care
11 0 0 1 0 0 1 1 dd
a) 11 0 0 1 0 0 1 1 10
b)
c)
d)
11 0 0 1 0 0 1 1 00
11 0 0 1 0 0 1 1 01
11 0 0 1 0 0 1 1 11
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.
Wegen der "don't care"-Bits werden auch Messages mit den Identifiern b)..d) akzeptiert.
23.9.2009 Embedded Systems Seite 20D
04EI
Bit-Timing
TSeg1 TSeg2Sync-Segm.
Sync-Segm.
Sample-Zeitpunkt
Sende-Zeitpunkt
Bitdauer
1 Zeit-einheit
• Das Bit-Timing wird vom Systemtakt fPERIPHERAL abgeleitet und ist programmierbar bis zu einer Datenrate von 1 MBaud (@ f CPU 16 MHz)
SFRcan
23.9.2009 Embedded Systems Seite 21D
04EI
Register des CAN-Controllers EF00H
General Registers
Control/Status Register EF00H
EF10H Message Object 1
Interrupt Register
EF02H
EF20H Message Object 2
Bit Timing Register
EF04H
EF30H Message Object 3
Global Mask Short
EF06H
EF40H Message Object 4
Global Mask Long
EF08H
EF50H Message Object 5
EF0AH
EF60H Message Object 6
Mask of last Message
EF0CH
EF70H Message Object 7
EF0EH
EF80H Message Object 8
EF90H Message Object 9
EFA0H Message Object 10
EFB0H Message Object 11
EFC0H Message Object 12
EFD0H Message Object 13
EFE0H Message Object 14
EFF0H Message Object 15
SFRcan
23.9.2009 Embedded Systems Seite 22D
04EI
Message Object
Message Control +0 Objekt Startadresse
+2
Arbitration +4
Data 0 Message Config. +6
Data 2 Data 1 +8
Data 4 Data 3 +A
Data 6 Data 5 +C
reserviert Data 7 +E
SFRcan
CAN-SW