CAN - PowerPoint PPT Presentation

About This Presentation
Title:

CAN

Description:

... (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 ... – PowerPoint PPT presentation

Number of Views:259
Avg rating:3.0/5.0
Slides: 34
Provided by: PamelaS154
Category:
Tags: can | j1939

less

Transcript and Presenter's Notes

Title: CAN


1
MotoHawk Training
CAN Controller Area Network
2
OUTLINE
  • CAN Introduction
  • CAN Physical Network
  • CAN Message Format
  • MotoHawk Block Walk Through
  • MotoHawk Post Office
  • MotoHawk Advanced CAN Blocks
  • CAN Protocol Overview

3
INTRODUCTION
  • CAN Controller Area Network
  • Communication 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 doesnt define a protocol, but allows
    access to the CAN hardware to implement a
    protocol
  • By itself, CAN is not difficult (I mean it)

4
OUTLINE
  • CAN Introduction
  • CAN Physical Network
  • CAN Message Format
  • MotoHawk Block Walk Through
  • MotoHawk Post Office
  • MotoHawk Advanced CAN Blocks
  • CAN Protocol Overview

5
PHYSICAL NETWORK
  • Two wire robust serial communication
  • Up to 1Mbps data rate which is limited by wire
    length
  • 100 m _at_ 250Kbps
  • 30 m _at_ 1Mbps
  • Termination resistance required
  • Maximum bandwidth
  • 2000 messages per second _at_250Kbps
  • 4000 messages per second _at_500Kbps
  • 8000 messages per second _at_1Mbps
  • Designed bandwidth should not exceed 70 of the
    maximum bandwidth

CAN -
CAN
Wire Length
120 ?
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

Module 0 continues to transmit while Module
1 waits for next opportunity to transmit
Module 0
Module 1
T0
T1
T2
T3
7
OUTLINE
  • CAN Introduction
  • CAN Physical Network
  • CAN Message Format
  • MotoHawk Block Walk Through
  • MotoHawk Post Office
  • MotoHawk Advanced CAN Blocks
  • CAN Protocol Overview

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)

9
OUTLINE
  • CAN Physical Network
  • CAN Message Format
  • MotoHawk Block Walk Through
  • MotoHawk Post Office
  • MotoHawk Advanced CAN Blocks
  • CAN Protocol Overview

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 cant talk to the module via CAN (and
    therefore programming cannot be performed via
    CAN)
  • Boot key sets CAN baud rate to 250kbps

11
Send CAN Raw Block
12
CAN Exercise 1
  • CAN Bus Test
  • Construct a calibratable CAN message transmitter
  • Use CANKing to monitor bus traffic

System Diagram
13
CAN Exercise 1
  • Transmit a message using the Send CAN Raw Block
    on address 0x1F4.
  • CAN 1
  • ID Type Standard (0)
  • Data Length 8
  • Transmission Rate 50 ms
  • Use calibrations for visibility from MotoTune
  • Change the Tx ID and note that the CAN bus
    traffic changes
  • Change the Data and Data length and note that the
    traffic changes
  • Use CANKing to debug any failed communication or
    monitor the bus traffic

14
OUTLINE
  • CAN Introduction
  • CAN Physical Network
  • CAN Message Format
  • MotoHawk Block Walk Through
  • MotoHawk Post Office
  • MotoHawk Advanced CAN Blocks
  • CAN Protocol Overview

15
POST OFFICE
  • CAN is the hardware layer, so how are transmitted
    messages sorted and filtered in MotoHawk?
  • A Post Office is the simplest analogy
  • Mailboxes
  • Letters
  • Addresses
  • Zip Codes

16
POST OFFICE
  • Many messages are transmitted on a bus at a given
    time, but a module may only be interested in a
    small subset
  • Similar 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

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?

18
POST OFFICE
  • 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 mask is similar to assigning a Dont Care or
    a Do Care to a particular number in the mask

19
Filtering
  • 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 exactly
  • For 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

20
READ CAN RAW BLOCK
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

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

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

24
OUTLINE
  • CAN Introduction
  • CAN Physical Network
  • CAN Message Format
  • MotoHawk Basic Transmit Block
  • Exercise
  • MotoHawk Post Office
  • MotoHawk Advanced CAN Blocks
  • CAN Protocol Overview

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?
  • Im 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

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

27
MOTOHAWK ADVANCED CAN
  • gtgt edit motohawk_can_example.m

28
LITTLE ENDIAN vs BIG ENDIAN
  • Terminology originates from Gullivers Travels
  • Endianness refers to the order in which bytes
    are stored in memory
  • This table shows the 4 byte storage for 1025
    (0x41)

Address Big Endian Representation Little Endian Representation
00 0000 0000 0000 0001
01 0000 0000 0000 0100
02 0000 0100 0000 0000
03 0000 0001 0000 0000
  • By default, the MotoHawk CAN scripts use Big
    Endian byte orderingwhich can lead to confusion

29
LITTLE ENDIAN vs BIG ENDIAN
Given this CAN definition byte ordering for a 4
byte variable
Big Endian MSB
Little Endian LSB
63....56
55....48
47....40
39....32
LSB
MSB
Now, go lets back to the script definition
30
OUTLINE
  • CAN Introduction
  • CAN Physical Network
  • CAN Message Format
  • MotoHawk Basic Transmit Block
  • Exercise
  • MotoHawk Post Office
  • MotoHawk Advanced CAN Blocks
  • CAN Protocol Overview

31
CLASS EXERCISE
  • Create a distributed control system to control
    the ETC over CAN

Pedal
Duty Cycle
PID
Analog signal from potentiometer
CAN message send
TPS
City ID 0x81
ECU 2
CAN message receive
TPS
TPS
Analog signal from ECT
CAN message send
City ID 0x0B
Duty Cycle
Duty Cycle
ECU 1
CAN message receive
PWM output
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,535 Offset 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/255 Offset 0 Start bit 56 Size 1 byte
33
PROTOCOL OVERVIEW
  • CAN gets complicated when protocols are
    considered
  • J1939, 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

34
 
MotoTron Control SolutionsProduction Controls in
a Flash
 
Write a Comment
User Comments (0)
About PowerShow.com