tms470m: controller area network...

35
TMS470M: Controller Area Network (DCAN)

Upload: others

Post on 10-Aug-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

TMS470M: Controller Area Network

(DCAN)

Page 2: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

DCAN Architecture • Full CAN according to protocol

version 2.0 part A, B

• CAN Core

– handles all CAN protocol functions

• Message Handler

– controls data transfer between CAN Core, Message Interface registers and RAM

– handles acceptance filtering and interrupts

• Message RAM

– 16 mailboxes (DCAN 1)

– 16 mailboxes (DCAN 2)

• Registers and Message Object access (IFx)

– Status and configuration registers for module setup and indirect Message Object access through interface registers (IFx)

• Module Interface

– 32-bit interface to VBUS clock domain

DCAN

Message RAM Interface

Module Interface

Me ssage Ha ndler

Registers & MO access

CTRL VBUSP

CAN_TX

Message RAM

(8, 16 or 32 bit) INT requests DMA requests

VCLKA

CAN_CLK

CAN_RX VCLK

Test Modes

only

CAN Core

Page 3: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

DCAN Features Overview

• Full CAN according to protocol version 2.0 part A, B

• Standard and Extended Identifiers

• Programmable Bit Timing, Bit rates up to 1 MBit/s

• Up to 16 Message Objects (MO) / Mailboxes

• Identifier Masks for each Message Object

• Programmable FIFO mode for Message Objects

• Dual clock feature

• Possible automatic retransmission of a frame in case of lost arbitration or error

• Bus diagnostic: Bus off, Bus error passive, Bus error warning, Bus stuck dominant

• Frame error report: CRC, Stuff, Form, Bit and Acknowledgement errors

• Programmable loop-back modes for self-test operation

• Suspend modes for debug support

• Parity check mechanism for all RAM modules

Page 4: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

CAN Bus

CAN

NODE B

CAN

NODE A CAN

NODE C

CAN_H

CAN_L

• Two wire differential bus (usually twisted pair)

• Max. bus length depend on transmission rate

– 40 meters @ 1 Mbps

120120

Page 5: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

CAN Node Wired-AND Bus Connection

RX TX

CAN Controller (Hercules MCU)

CAN_L

CAN_H

120120

CAN Transceiver (EX: TI SN65HVD23x)

Page 6: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Principles of CAN Network Operation

• Data messages transmitted are identifier based, not address based

• Content of message is labeled by an identifier that is unique

throughout the network – (e.g. rpm, temperature, position, pressure, etc.)

• All nodes on network receive the message and each performs an

acceptance test on the identifier

• If message is relevant, it is processed (received); otherwise it is

ignored

• Unique identifier also determines the priority of the message – (lower the numerical value of the identifier, the higher the priority)

• When two or more nodes attempt to transmit at the same time, a

non-destructive arbitration technique guarantees messages are

sent in order of priority and no messages are lost

Page 7: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Non-Destructive Bitwise Arbitration

• Bus arbitration resolved via arbitration with

wired-AND bus connections

– Dominate state (logic 0, bus is high)

– Recessive state (logic 1, bus is low)

Node A wins

arbitration

CAN Bus

Node A

Node B

Node C

Start

Bit

Node B loses

arbitration Node C loses

arbitration

Page 8: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

CAN Message Format

• Data is transmitted and received using Message Frames

• 8 byte data payload per message

• Standard and Extended identifier formats

Standard Frame: 11-bit Identifier (CAN v2.0A)

Extended Frame: 29-bit Identifier (CAN v2.0B)

11-bit

Identifier

R

T

R

S

O

F

I

D

E

r0 DLC 0…8 Bytes Data CRC ACK

E

O

F

Arbitration

Field

Control

Field Data Field

Control

Field

11-bit

Identifier

R

T

R

S

O

F

I

D

E

r0 DLC 0…8 Bytes Data CRC ACK r1 18-bit

Identifier

S

R

R

E

O

F

Arbitration Field Data Field

Page 9: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

TMS470M: Local Interconnect

Network (LIN)

Page 10: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Typical LIN Applications

Rear Door Lock,

window

Mirror

Mirror

BCM

Gateway

Passenger´s Door

Lock, window

Driver´s Door

Lock, window

Fan

Damper

Door Control

Light

Light

Levelizer

Levelizer

Compressor

CAN

Climate Control

Wipers

Dashboard

Rear Wiper

Sun Roof

Driver´s Seat

Steering

wheel

Rear Door Lock,

window

Page 11: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

LIN Communication Concept

• Single Master concept with max. 16 nodes in one LIN cluster

• LIN supports baud rates from 1 to 20KHz

• Single wire low cost bus system often used as a sub network to comfort CAN.

Page 12: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

LIN Message Frame

MASTER

• Synch break signalling beginning of a new message

• Synch field: 0x55

• ID Field:

ID 0x00 to 0x3F (0 to 63)

• Diagnostics:

ID 0x3C (master request) ID 0x3D (slave response)

• User Defined: ID 0x3E

SLAVE

• Response with 0 to 8 data fields

• Checksum field

– classic CS LIN1.3

– over data bits only

– enhanced CS LIN2.0

– over data bits and the protected identifier

SDEL

1..4 Tbit

SYNCH BREAK

13 + (0..7) Tbit

SYNCH FIELD

10 Tbit

ID FIELD

10 Tbit

ST

AR

T B

IT

ST

OP

BIT

01010101

ST

AR

T B

IT

ST

OP

BIT

ST

AR

T B

IT

ST

OP

BIT

ST

AR

T B

IT

ST

OP

BIT

Data FIELD

10 Tbit

ST

AR

T B

IT

ST

OP

BIT

Checksum FIELD

10 Tbit

P0

P

1

Page 13: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

• Compatible with LIN 1.3 or 2.0

• LIN 2.0 Master Compliant

• HW LIN protocol handler

– Multi-buffered receive and transmit units

– Automatic checksum generation and validation

– ID masks for message filtering

– DMA capability

• Synch break detection

• Slave automatic synchronization

• Optional baud rate update

• Synchronization validation

• Automatic bit monitoring

• Automatic error detection

• SCI (UART) mode

– Max 3.125Mbps with 100MHz VCLK

BLIN

SCI

8 RECEIVE BUFFERS

8 TRANSMIT BUFFERS

INTERFACE

DMA

CONTROL

READ DATA BUS

WRITE DATA BUS

LINRX

LINTX

SCICLK

ADDRESS BUS

MASK

FILTERS

SYNCHRONIZER

COUNTER

TIMEOUT CONTROL

COMPARE

FSM

TXRX ERROR DETECTOR

(TED)

CHECKSUM CALCULATOR

BIT MONITOR

ID PARITY CHECKER

LIN Key Features

Page 14: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Write Data to

TX Buffer

LIN Module

Process Error

Interrupt

Application Software

Sync Break is generated

Sync Field is generated

Identifier is transmitted

TX Buffer Transmit Data

TXRDY Flag is set after

complete message is

transmitted

Error Flag is set

or

Process other task

Write identifier to

ID register

• Application software handles the preparation of transmitted data and starts the transmission with writing the ID.

LIN: Master Transmission

Right identifier received

Yes

Page 15: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Write identifier

to ID register

LIN Module

Process Error

Interrupt

Application Software

Process other tasks

Sync Break is generated

Sync Field is generated

Identifier is transmitted

Received Data RX Buffer

RXRDY Flag is set after

complete message is received

Error Flag is set

or

Right identifier received

Yes

LIN: Master Reception

• Application software starts the transmission with writing the ID and handles the received data.

Page 16: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

• Programmable Frame Format

1 Start Bit

1 to 8 Data Bits

0 or 1 Address Bit

0 or 1 Parity Bit

1 or 2 Stop Bits

• Asynchronous Communications Format

• 2 Multiprocessor Modes with Wake-up Capability Idle-Line Mode; Address-Bit Mode

• Programmable Baud Rate

– more than 16 700 000 different Baud Rates

• Error Detection

– Parity, Overrun and Framing Error

– Break Detect

• Noise Protection Capability

• Double-buffered Receive and Transmit Function

LIN – SCI Mode Features

Page 17: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

LAB3: PC Communication Using SCI

Page 18: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Overview

• In this project we will:

– Setup the SCI module

– Input from and output to PC Hyper-terminal

Initialize the SCI Port

Wait for Hyper-

Terminal Input

Input = „1‟?

Output to PC “SPI

demo starts”

Output to PC “ADC

demo starts”

Y

N

Page 19: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Initializing the SCI Module

Bring LIN/SCI module out of reset

Software reset LIN/SCI (Prepare

configuring SCI)

Set SCI TX/RX pin functional

Async? Parity bit? Stop bit?

Set data bits

Set baud rate

Release SCI from Software reset

LIN/SCI (Configuration ends)

SCIGCR0 = 1;

SCIGCR1 = 0;

SCIPI00 = 0x6;

SCIGCR1 = 0x03000022; // Async,

no parity, one stop bit

SCICHAR = 7;

SCIBAUD = baudValue;

SCIGCR1 |= 0x80;

Page 20: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Setting baud rate

temp = 80000 / 19.2-16; •16P+M=VCLK Freq / Baud rate -16;

•Configure P and M field in SCIBaud

reg (offset = 0x2C)

•Lower 4 bits: M

•The others: P

((temp & 0xF)<<24)

(temp>>4);

•80MHz VCLK

Page 21: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Input from / Output to PC hyper-terminal

• Input: Read data from register SCIRD

• Output: Write data to register SCITD

• Before read/write, user shall check SCIFLR register to see whether TX buffer

is ready to be written or Rx buffer contains new data to be read.

Page 22: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Communicating with the SCI Module

• In Code Composer Studio, insert the following into User Code 1 in main.c

/* USER CODE BEGIN (1) */

//Configure the Baud rate to 19.2K.

temp = 80000 / 19.2-16;

temp = ((temp & 0xF)<<24) | (temp>>4);

SCI_Init(temp); // Initialize to 19200bps, 8N1

PutText("SCI UART IS SET.\r");

PutText("Press 1 for ADC DEMO; Press 2 for SPI DEMO\r");

while((ADC_SPI=GetChar())==0);

if(ADC_SPI=='1') //ADC DEMO

{ PutText("ADC demo starts.\r");

/* USER CODE start (ADC) */

/* USER CODE end (ADC) */

}

else //SPI DEMO

{ PutText("SPI demo starts.\r");

/* USER CODE start (SPI) */

/* USER CODE end (SPI) */

}

/* USER CODE END (1) */

Page 23: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Initializing the Modules

• Insert the following into User Code 2 in SCI.C

/* USER CODE BEGIN (2) */

SCIGCR0 = 1; // Module Out OF Reset

SCIGCR1 = 0; //SWnRST = 0, Clears all Flag and can config

SCIPI00 = 0x6; // TX/RX Pin Functional

SCIGCR1 = 0x03000022; // Async, no parity, one stop bit

SCICHAR = 7; // 8 data bits,

SCIBAUD = baudValue; // Configure baud rate

SCIGCR1 |= 0x80;

// SWnRST = 1, SCI Config is done and should not be disturbed

/* USER CODE END (2) */

Page 24: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Building and Deploying the Code

• The coding segment for this project is now complete, go ahead and build your

project and then program it to the flash.

Page 25: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Testing your code

• Upon Completion open the TMS470M console or preferred terminal program.

• Ensure the following properties

– Baud rate: 19200

– Data bits: 8

– No parity, 1 Stop bits

• Click the „Terminate All‟ box in CCS then hit reset on the board.

• You should now see the „SCI UART IS SET.‟ prompt in the console window.

• When character „1‟ is typed, the microcontroller will output „„ADC demo starts”

to the terminal program. If other character is typed, the microcontroller will

output “SPI demo starts”.

Page 26: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

TMS470M: Multi-Buffered ADC (MibADC)

Page 27: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

MibADC Block Diagram

CONTROL AND STATUS

SEQUENCER

ADIN15

.

.

.

.

.

.

.

.

.

.

ADIN0

VrefLO VrefHI VSSA VCCA

Chnsel Swtsel (Test / Cal)

Conversion

Group

Selection

ADEVT

Interrupt

requests

PERIPHERAL BUS (VBUS)

16

Internal

Event 1

Internal

Event 7

Event Logic

EVENT

GROUP1

EVENT

FIFO

GROUP1

FIFO

GROUP2

FIFO

Result Formatting

- Channel ID mask

- 8/10 bit mode mask

16:1

Multip

lexer

GIO Control

5

.

.

Interrupt

Threshold

+ counters EVENT,GROUP1

GROUP2

3

Calibration &

Error

Correction

Ctrl Chn

ADC RAM

w/ Parity

GROUP2

w/ Autoinitialization w/ RAM Test

Self-test

& Calibration

Sample

Cap

Discharge

10bit

Analog – Digital Converter (successive approximation)

CAP Dis.

FIFO empty

ADCL

K

6

Magnitude

Threshold

Interrupt

Sources

5

Prescaler

5

VCLK

Page 28: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

• Configurable 10-bit or 8-bit resolution

• 16 channels

• Sequential multi-channel conversion in ascending order

• Two conversion modes

– Single conversion

– Continuous conversion

• Three conversion groups w/ programmable sample and acquisition times

– Two software- or event-triggered conversion groups: Group1 and Group2

– One event-triggered-only conversion group: Event Group

• Three size adjustable memory regions

– Channel identifier stored with conversion result

• Up to 8 event trigger options

• Enhanced interrupt capability w/ programmable interrupt threshold counter

• Power-down mode

• Embedded self-test & calibration

• External event pin (ADEVT) can be programmed as general-purpose I/O

MibADC Main Features

Page 29: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

MibADC Operation Modes

• Conversion mode

– normal active mode for converting the selected external input voltage

• Sample Capacitor Discharge mode

– active mode that grounds the ADC sampling capacitor

• Calibration mode

– special active mode for calibration using internal reference voltages

• Self-test mode

– active mode for failure-detection using internal reference voltages

• Power-down mode

– inactive mode in which the ADC internal clock is stopped

Page 30: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

MibADC Conversion Groups

Event group select

(ADEVSEL)

Event

group

FIFO

12 value

8 value

read

ADEVBUFFER

ADG1SEL ADG2SEL

Input Channel Select Registers

Group 1

FIFO

9 value

3 value

Group 2

FIFO

read

ADG1BUFFER

read

ADG2BUFFER

31 0

31 0

31 0

1 1 1 1

Page 31: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

MibADC Interrupts

• Conversion Group End Interrupt

– All channels that are assigned to a particular group are converted

• Conversion Group Buffers Threshold Interrupt

– Number of conversion results exceed threshold register value

• Conversion Group Buffers Overrun Interrupt

– Number of ADC conversions exceed the number of buffers allocated for that conversion group

• Magnitude Threshold Interrupt

– Magnitude comparison of conversion result on up to six channels; alternately, comparison can be made between the conversion result from another channel.

• Parity Error Interrupt

– Parity error following a read from the ADC RAM

Page 32: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

TMS470M Support Structure

Page 33: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

34

TMS470 Web Page: www.ti.com/TMS470M

– Data Sheets

– Technical Reference Manual

– Application Notes

– Software & Tools Downloads and Updates

– Order Evaluation and Development Kits

TMS470M Engineer 2 Engineer Forums:

www.ti.com/hercules-support

– News and Announcements

– Useful Links

– Ask Technical Questions

– Search for Technical Content

TMS470M WIKI:

www.ti.com/hercules-tms470m-wiki

– How to guides

– Intro Videos

– General Information

TMS470M Support Structure

Page 34: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

TMS470M Microcontroller Forum Overview

• Forum Guidelines:

– At least one person will monitor the forum at all times (work days)

– All questions posted in the forum will have a response in 24hrs or less

Forum Flow:

TMS470M Forum

TI E2E forum for

questions about

TMS470M devices

Answer Known ?

YES

Post Answer Within

24hrs

NO

Post ‘Question Received’

Confirmation Within

24hrs

Forward

Question to

World Wide

Team

World Wide Apps Team:

-United States

- Europe

-India

Post Answer

Page 35: TMS470M: Controller Area Network (DCAN)processors.wiki.ti.com/images/8/82/TMS470M_MCU_1Day...TMS470M: Controller Area Network (DCAN) DCAN Architecture • Full CAN according to protocol

Thank You!

Please fill out the TMS470M 1 Day Training Class Survey

TMS470M

Transportation MCUs

TEXAS INSTRUMENTS