1 can controller area network motohawk training. 2 outline can introduction can physical network can...

33
1 CAN Controller Area Network MotoHawk Training

Upload: annis-casey

Post on 18-Dec-2015

223 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

1

CANController Area Network

MotoHawk Training

Page 2: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

2

OUTLINE

• CAN Introduction

• CAN Physical Network

• CAN Message Format

• MotoHawk Block Walk Through

• MotoHawk “Post Office”

• MotoHawk Advanced CAN Blocks

• CAN Protocol Overview

Page 3: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

3

INTRODUCTION

•CAN = Controller Area NetworkCommunication specification implemented for automotive

applications in the 1980s•Often, the term “CAN” is misused

CAN is a hardware definition for interoperability between modules

CAN specification does not state the data content of a given message

Protocols built on top of CAN state the data content (ex. J1939, GMLAN)

•MotoHawk doesn’t define a protocol, but allows access to the CAN hardware to implement a protocol

•By itself, CAN is not difficult (I mean it)

Page 4: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

4

OUTLINE

• CAN Introduction

• CAN Physical Network

• CAN Message Format

• MotoHawk Block Walk Through

• MotoHawk “Post Office”

• MotoHawk Advanced CAN Blocks

• CAN Protocol Overview

Page 5: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

5

PHYSICAL NETWORK

• Two wire robust serial communication

• Up to 1Mbps data rate which is limited by wire length 100 m @ 250Kbps 30 m @ 1Mbps

• Termination resistance required• Maximum bandwidth

2000 messages per second @250Kbps

4000 messages per second @500Kbps

8000 messages per second @1Mbps

• Designed bandwidth should not exceed 70% of the maximum bandwidth

120 Ω

CAN + CAN -

WireLength

Page 6: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

6

PHYSICAL NETWORK

• Bus arbitration is handled with a simple strategy All modules on the bus attempt to transmit a message at the same

time The message with the lowest address wins

• This strategy is handled at the hardware level Dominant Bits (0) vs. Recessive Bits (1)

• Multiple modules on the same bus cannot transmit the same address at the same time

T0 T1 T2 T3

Module 0

Module 1

Module 0 continues to transmit while Module 1waits for next opportunity to transmit

Page 7: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

7

OUTLINE

• CAN Introduction

• CAN Physical Network

• CAN Message Format

• MotoHawk Block Walk Through

• MotoHawk “Post Office”

• MotoHawk Advanced CAN Blocks

• CAN Protocol Overview

Page 8: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

8

MESSAGE FORMAT

•A CAN 2.0B Message can contain up to 131 bits

•As application developers, 3 fields are important:4 bits determine the length of the data (aka payload)

(Range : 0-8)Up to 64 bits of data depending on data length ID Format

• Extended IDs are 29 bits• Standard IDs are 11 bits• Extended and Standard IDs can exist on the same bus at the same

time• Standard IDs have less message overhead (higher percentage of

data per message)

Page 9: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

9

OUTLINE

• CAN Physical Network

• CAN Message Format

• MotoHawk Block Walk Through

• MotoHawk “Post Office”

• MotoHawk Advanced CAN Blocks

• CAN Protocol Overview

Page 10: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

10

CAN DEFINITION BLOCK

•First, the CAN hardware needs to be initialized

•Baud rate and transmit queue size configured

• If the baud rate and/or MotoTune protocol settings are not configured properly, then MotoTune can’t talk to the module via CAN (and therefore programming cannot be performed via CAN)Boot key sets CAN baud rate to 250kbps

Page 11: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

11

Send CAN Raw Block

Page 12: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

12

• CAN Bus Test Construct a calibratable CAN message transmitter Use CANKing to monitor bus traffic

Plu

g (w

hen

not

in u

se)

System Diagram

US

B to

Dua

l C

AN

In

terf

ace

Sh

ort

Ju

mp

er o

r S

ma

rtCra

ft C

ab

le

CAN Exercise #1

Page 13: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

14

OUTLINE

• CAN Introduction

• CAN Physical Network

• CAN Message Format

• MotoHawk Block Walk Through

• MotoHawk “Post Office”

• MotoHawk Advanced CAN Blocks

• CAN Protocol Overview

Page 14: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

15

POST OFFICE

• CAN is the hardware layer, so how are transmitted messages sorted and filtered in MotoHawk?

• A Post Office is the simplest analogyMailboxesLettersAddressesZip Codes

Page 15: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

16

POST OFFICE

• Many messages are transmitted on a bus at a given time, but a module may only be interested in a small subsetSimilar to a post office where the messages are letters and

the software dispatcher is the postman

A “mail box” in MotoHawk is called a “slot”

Page 16: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

17

POST OFFICE

• A “slot” has an address known as a CAN ID similar to the address on a mailbox

• The MotoHawk post office needs to deliver messages to these slots

• How does it happen?

Page 17: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

18

POST OFFICE

•Filtering is done with 2 masks ID Mask : Filters a message by the address or the IDPayload Mask : Filters a message by the data content

•A mask is similar to assigning a “Don’t Care” or a “Do Care” to a particular number in the mask

Page 18: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

19

•Filtering is done with 2 masks ID Mask : Filters a message by the address or the ID Payload Mask : Filters a message by the data content

•A ‘1’ in the mask means that the data and the value must match exactlyFor example,

• if ID mask = 0x7F0 (111 1111 0000)

• and ID = 0x7E4 (111 1110 0100)

• If incoming ID = 0x7E0, (111 1110 0000)

message goes to mailbox

• If incoming ID = 0x7F4, (111 1111 0100)

x message is rejected by mailbox

• If incoming ID = 0x7E1, (111 1110 0001)

message goes to mailbox

Filtering

Page 19: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

20

READ CAN RAW BLOCK

Page 20: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

21

POST OFFICE

•The “Slot Name” is the name of the mailbox at the post office

•The slot has default settings for the ID, ID Mask, Payload Value, and Payload Mask

•This is the design time mailbox configuration

Page 21: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

22

POST OFFICE

• The properties of the mailboxes can be changed at run time• The filters determined at design time can be strengthened

(more restrictive), but cannot be weakened

• In MotoHawk, the CAN Receive Slot Properties Block allows the user to change the filters at run time

Page 22: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

23

POST OFFICE

• What happens if the postal worker rings your doorbell to deliver a message? This is an asynchronous reception of a message The advantage is that processing time can be saved by not

periodically polling this message

• How does MotoHawk handle this situation? Asynchronous reception processed with CAN Receive Slot Trigger

Block Slot name in this block must match the slot name specified in Read

CAN Raw block or Read CAN Message block

Page 23: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

24

OUTLINE

• CAN Introduction

• CAN Physical Network

• CAN Message Format

• MotoHawk Basic Transmit BlockExercise

• MotoHawk “Post Office”

• MotoHawk Advanced CAN Blocks

• CAN Protocol Overview

Page 24: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

25

MOTOHAWK ADVANCED CAN

•The Read and Send CAN blocks are nice, but sometimes more advanced data parsing is necessary. Common questions: I have 12 bit scaled data that spans across multiple bytes.

How do I convert it into engineering units? I have more data that can fit into 64 bits. How do I create

multi-page messages? I’m using a protocol that has a variable ID. How do I

dynamically create the ID easily?

•These are valid questions and there is an answer…

Page 25: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

26

MOTOHAWK ADVANCED CAN

• MotoHawk has 2 blocks – Read CAN Message and Send CAN Message (below)

• These are very powerful blocks that allow users to set up multi-page documents and parse and scale both variables and IDs

Page 26: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

27

MOTOHAWK ADVANCED CAN

>> edit motohawk_can_example.m

Page 27: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

28

• Terminology originates from “Gulliver’s Travels”

• “Endianness” refers to the order in which bytes are stored in memory

• This table shows the 4 byte storage for 1025 (0x41)

• By default, the MotoHawk CAN scripts use Big Endian byte ordering…which can lead to confusion

Address Big Endian Representation

Little EndianRepresentation

00 0000 0000 0000 0001

01 0000 0000 0000 0100

02 0000 0100 0000 0000

03 0000 0001 0000 0000

LITTLE ENDIAN vs BIG ENDIAN

Page 28: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

29

63...….56

55...….48

47...….40

39...….32

Given this CAN definition byte ordering for a 4 byte variable:

LSB

Big Endian

MSB

Little Endian

LSB

MSB

Now, go let’s back to the script definition…

LITTLE ENDIAN vs BIG ENDIAN

Page 29: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

30

OUTLINE

• CAN Introduction

• CAN Physical Network

• CAN Message Format

• MotoHawk Basic Transmit BlockExercise

• MotoHawk “Post Office”

• MotoHawk Advanced CAN Blocks

• CAN Protocol Overview

Page 30: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

31

•Create a distributed control system to control the ETC over CAN

Pedal

Duty Cycle

TPS %

CAN message receive

Analog signal from ECT

TPS %

CAN message send

Duty Cycle

PWM output

Duty Cycle

CAN message send

TPS %

CAN message receive

Analog signal from potentiometer

City ID 0x0B

City ID 0x81

CLASS EXERCISE

Page 31: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

32

CLASS EXERCISE

Duty Cycle message definition

CAN 1

ID Type : Standard (0)

ID : 0x1F4

Data Length : 2 Bytes

Transmission Rate : 10 ms

Data Field

Duty Cycle (SIGNED)Scale : 200/65,535Offset : 0 Start bit: 48 Size: 2 bytes

TPS Percent message definition

CAN 1

ID Type : Standard (0)

ID : 0x2F4

Data Length : 1 Byte

Transmission Rate : 15 ms

Data Field

TPS Percent (UNSIGNED)Scale : 100/255Offset : 0 Start bit: 56 Size: 1 byte

Page 32: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

33

PROTOCOL OVERVIEW

• CAN gets complicated when protocols are consideredJ1939, SmartCraft, CCP, GMLAN, etc. are all examples of

protocols that adhere to strict rules

• These protocols can be implemented using Simulink and/or Stateflow

• Some message formats (J1939) have already been implemented for other projects

Page 33: 1 CAN Controller Area Network MotoHawk Training. 2 OUTLINE CAN Introduction CAN Physical Network CAN Message Format MotoHawk Block Walk Through MotoHawk

MotoTron Control SolutionsProduction Controls in a Flash