+ All Categories
Home > Documents > D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt...

D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt...

Date post: 06-Apr-2015
Category:
Upload: till-monheit
View: 106 times
Download: 1 times
Share this document with a friend
22
23.9.2009 Embedded Systems Seite 1 D 04EI 164C L XTAL C166- C166- Core Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data Instr./Data USART ASC BRG GPT1 16 16 16 16 32 PEC 64 K ROM (C164 CI-8RM) or OTP (C164CI-8EM) Interrupt Bus Data Data Port 8 BRG SSC Sync. Channe l (SPI) PLL-Oscillator prog. Multiplier: 0.5; 1; 1.5; 2; 2.5; 3; 4; 5 XBUS (16-bit NON MUX Data / Addresses) T2 T4 T3 13 ext. IR Full-CAN Interface V2.0B active RTC 10-Bit ADC Timer 7 Timer 8 Port 1 Timer 13 1 Comp. Channel 3/6 CAPCOM Channels CAPCOM6 Unit for PWM Generation 8 9 4 16 6 16 Port 4 8-Channels External Bus 8/16 bit MUX only & XBUS Control CAPCOM 2 8-Channel C164CI - CAN- Schnittstelle P4.6/ CAN TxD P4.5/ CAN RxD Port 0
Transcript
Page 1: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 2: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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)

Page 3: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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.

Page 4: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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.

Page 5: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

23.9.2009 Embedded Systems Seite 5D

04EI

CAN: Typische Anwendung

Page 6: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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 ...

Page 7: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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)

Page 8: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 9: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 10: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 11: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 12: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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.

Page 13: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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 !

Page 14: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 15: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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.

Page 16: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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.

Page 17: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 18: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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).

Page 19: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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.

Page 20: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 21: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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

Page 22: D 23.9.2009 Embedded Systems Seite 1 C166-Core Port 5 Port 3 CPU Dual Port RAM 2 KByte Interrupt Controller Watchdog Peripheral Data External Instr./Data.

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


Recommended