Tải bản đầy đủ (.pdf) (14 trang)

AN0873 using the MCP2515 CAN developer’s kit

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (378.45 KB, 14 trang )

M

AN873

Using the MCP2515 CAN Developer’s Kit
Author:

connector. For the purposes of this application note,
the left node will be referred to as the PC node and the
right node will be referred to as the PICmicro node.

Pat Richards
Microchip Technology Inc.

Both nodes are identical except for the controller
interface to the MCP2515 is a PC for one node and a
PICmicro controller for the other node. By providing a
two node CAN network on a single board, a simple
CAN network can be implemented with one PCB.

INTRODUCTION
The MCP2515 eases software development and
shortens the learning curve for the MCP2515 by
providing three PC software templates with different
functions that CAN node designers can use as needed.
By using one of the templates, the user can read,
display, and modify all of the registers in the MCP2515
down to the bit level. Another template can
demonstrate basic input/output functionality by
allowing messages to be transmitted and received on
the CAN bus. Finally, the third template is a


demonstration
template
that,
by
using
a
preprogrammed PICmicro® microcontroller (MCU),
implements a two node CAN bus that gets the user “on
the bus” in the shortest amount of time and effort.

PC Node
The left node (as oriented in Figure 1) is referred to as
the PC node. The PC performs the microcontroller
functions and interfaces to the MCP2515 via Serial
Peripheral Interface (SPI™) through the parallel port.
The software templates control this node.

PICmicro Node
The right node is referred to as the PICmicro node and
represents a typical CAN node. This node is used by
the end user as needed. When running the “MCP2515
Evaluation” template, demonstration firmware is used
to complete a CAN system.

This application note serves as a three-part tutorial for
the MCP2515 and discusses the three software
templates in detail as well as the important menu items.
Figure 1 is a block diagram of the MCP2515 board. The
board is a two node CAN system that can be used
together to implement a simple bus or can be

connected to an external bus using the off-board

FIGURE 1:

BLOCK DIAGRAM OF MCP2515 DEVELOPMENT BOARD
PICmicro® Node

To PC

PC Node

TXCAN

XCVR

RXCAN

MCP2515

LED Bank

TXCAN

RXCAN

MCP2515
XCVR

LED Bank


SPI™

µC

SPI™

CANH
CANL

 2003 Microchip Technology Inc.

External
CAN Bus

DS00873A-page 1


AN873
OVERVIEW OF THE SYSTEM
SOFTWARE
There are three software templates that are used to
control one or both of the nodes on the board. This
tutorial will discuss all three of the templates. Refer to
the User’s Guide for images of the windows if needed.
Note:

The templates can be saved as projects
which will save the layout and default
properties by selecting File > Save. Saving
the project does not save the register

contents of the MCP2515. Saving the
register contents can be done in the
Register template as discussed at the end
of the Register Template tutorial (Part 3).

The following is a brief discussion of the three
templates:

Register Template
The “Register” template is a low-level template that
allows bit-level control of the MCP2515 registers. This
template may be used to become familiar with the
MCP2515 by experimenting with mask and filter
settings, bit timings, configuration registers and other
functions associated with configuring the MCP2515.
There are several windows associated with the
Register template:

MCP2515 EVALUATION BOARD WINDOW
This window displays the connection status, parallel
port address and MCP2515 mode of operation. The
MCP2515 can be reset in this window and MCP2515
register contents be saved and loaded. The register
contents are saved as a HEX file.

STATUS WINDOW
The status window shows the contents of CANSTAT
register (operation mode and interrupt flag codes), TX
and RX error counts (TEC and REC registers) and
EFLG register contents.

In addition, there are buttons to clear the overflow flag
bits in the EFLG register.

MESSAGE FILTERS WINDOW
The masks and filters are configurable in this window,
allowing the user to setup and test for message
acceptance. The ‘Message Filters’ window allows
messages to be tested against the masks and filters
without physically going on the bus. This is
accomplished by entering values in the mask, filters
and test identifier fields and pressing the “Test Buf n”
button.
Note:

The masks and filters cannot be physically
written to the registers unless the
MCP2515 is in “Configuration” mode.

DS00873A-page 2

PHYSICAL LAYER WINDOW
The three CNF registers used for all CAN bit timings
are configured in this window.
Note:

The CNF registers can only be modified
while the MCP2515 is in “Configuration”
mode.

CONFIGURATION WINDOW

TXRTSCTRL, BFPCTRL, CANINTF, CANINTE and
CANCTRL are all modified from this window. These are
the control and flag registers.
If a message is received while in the Register template,
the receive buffer flags in CANINTF (RX0IF and
RX1IF) must be cleared manually to receive additional
messages.

TRANSMIT WINDOW
The transmit window controls the buffer contents for
the transmit registers including TXBnCTRL, the
identifier registers and the data registers.

RECEIVE WINDOW
This window contains all of the buffer contents for the
receive buffers including RXBnCTRL, the identifier
registers and the data registers.

Basic Template
This template provides high-level control of one node
(PC node) and is identical to the “MCP2515 Evaluation”
template, minus the window for the second node (see
the tutorial, part 1). This template can be thought of as
a simple bus monitor with transmit capabilities.

BUS STATUS
This window, labeled ‘MCP2515 CAN Controller’,
provides several pieces of information about the status
of the bus including nominal bus loading, status of node
(ON or OFF the bus) and bus bit rate.


OUTPUT
The output window displays the messages that are
received and transmitted. A time stamp indicates either
delta times or absolute times between messages (see
“Message Format Window” description).

HISTORY LIST
The history list window is used to collect transmitted
messages for saving to a file. This file can be opened
later and messages can be selected for retransmission.
Some or all messages can be selected for
transmission. This window works in conjunction with
the ‘’Timed Transmission” window.
For the demo program, the history list window is used
to send initial configuration data to the PICmicro®
MCU.

 2003 Microchip Technology Inc.


AN873
TIMED TRANSMISSIONS
The timed transmissions window is used to send the
messages in the history list. The messages can be sent
either one time (one shot) or repeated at regular intervals (cyclic).

MESSAGE FORMAT WINDOW
This window determines the format of the displayed
data in the output window. The default is ‘Standard Text

Format’ which displays the message data as normal
data.
To change the property of the “Standard Text Format”,
highlight “Standard Text Format” and press the
“Properties” button. The numeric base and the time
display can be changed as indicated in Figure 2.

FIGURE 2:

UNDERSTANDING THE MENUS
There are several menu items that are discussed in this
application note. The remaining menu items that are
not discussed are the self-explanatory menus, such as
“File > Save” and “Help”. The menus change slightly
between the three software templates as discussed.

Register Template Menus
The menu items for the Register template are shown in
Figure 3.

FIGURE 3:

MENU BAR

TEXT FORMAT FOR
OUTPUT WINDOW
The three menus that are discussed are:

VIEW MENU
This menu makes visible/invisible, the windows loaded

in the Register Template.

MESSAGES MENU
This menu loads windows associated with the Register
Template.

MCP2515 Evaluation Template
This template contains a simple demonstration
program. Only high-level control is possible on the PC
node. Indirect control of the PICmicro node is made
possible via the CAN bus (i.e., the PICmicro node is
configured by the PC node via the CAN bus). The
demo program incorporates the CAN Kingdom Higher
Layer Protocol (HLP). A specific set up procedure
(covered later) is required to enable the two nodes to
communicate with each other.
The windows associated with the Evaluation Template
are the same as the Basic template with the following
addition:

MCP2515 EVALUATION BOARD CONTROLS
WINDOW

Note:

Selecting a window while holding down the
shift key will load a copy of the window so
that more than one window of the same
type can be visible. This is useful for
opening multiple “Receive” and “Transmit”

windows for viewing multiple buffers
simultaneously.

OPTIONS MENU
The “Options” menu contains two sub-menu items that,
as the name implies, sets options for the software.
Options > Global... - as shown in Figure 4 has autosave
options and numeric base settings. The numeric base
settings select the default numeric base as displayed/
entered in the windows. Selecting hexadecimal automatically places a ‘$’ in front of the entered number
indicating the number entered is HEX.

This window, combined with the “Output” window, is the
main window of interest for the demo. This window
displays the graphical representation of the messages
on the CAN bus.

 2003 Microchip Technology Inc.

DS00873A-page 3


AN873
FIGURE 4:

OPTIONS > GLOBAL...

Basic and Demonstration Template
Menus
The Basic and Demonstration Template menus are

identical as shown in Figure 3. The sub-menus are
same for the Basic and Demonstration templates.
However, they differ from the Register template submenus as follows:

MESSAGES MENU
The “Messages” contains two sub menus that select
transmit message formats.

Options > MCP2515... - as shown in Figure 5 sets the
clock frequency, parallel port address, and whether the
MCP2515 is reset on software power-up.
The clock frequency and parallel port address must be
set properly for the software to function properly. The
MCP2515 clock frequency is used in calculating the
CAN bus rate and is therefore required to be set. The
parallel port address much match the BIOS address
setting. Typical values for the parallel port are 0x3BC,
0x378, and 0x278. Address 0x378 is the most common
default for LPT1.

FIGURE 5:

Messages > Universal > Universal - (shown in
Figure 6) loads a window used for transmitting messages onto the CAN bus. The identifier, data length,
and data are entered and sent with this window. The
“Universal” window can be thought of as a window for
sending raw/unformatted messages. Other windows
under “Messages > Universal” change the formatting of
how outgoing messages are entered. For example,
transmitted messages can be entered as integers,

floats, longs or strings by selecting the proper submenu.

FIGURE 6:

OPTIONS > MCP2515...

MESSAGES > UNIVERSAL
>UNIVERSAL

Messages > CAN Kingdom - this sub menu is for
sending CAN Kingdom formatted messages and is
beyond the scope of this application note.

OPTIONS MENU
The “Options” menu is identical to the “Options” menu
in the “Register Template” except for the addition of a
“King’s Pages” sub-menu which is beyond the scope of
this application note.

DS00873A-page 4

 2003 Microchip Technology Inc.


AN873
TUTORIAL PART 1: SETTING UP AND
RUNNING THE DEMO
The MCP2515 CAN Development Kit demo utilizes
both of its CAN nodes to demonstrate basic CAN
communications. Each node is set up to transmit and

receive messages.

Initial Set Up
A few initial set up procedures should be performed to
insure proper operation before continuing.

VERIFY/SET THE PARALLEL PORT ADDRESS

Running the Demo
Open a new “MCP2515 Evaluation Board” project
template (File > New).
Refer to Figure 7 for the configuration procedure. After
stepping through the configuration procedure, the two
nodes should be communicating with each other. A
receive message (received by the PC node) should be
displayed in the “Output” window at every timer interval
as set in the “MCP2515 Evaluation Board Controls”
window ($100 or 256 ms in the case of the flow
diagram). The data contains the potentiometer value
and the S4, S5, S6 button status as read by the
PICmicro node.

The parallel port address must match the operating
system BIOS setting. To set/verify, select “Options >
MCP2515...”.

SET OSCILLATOR FREQUENCY IN
SOFTWARE
The oscillator frequency must be set to match the
board oscillator so the CAN bit rate will be reflected

accurately. To set, select “Options > MCP2515...” and
set to the proper oscillator frequency (16000 kHz if
using the 16 MHz oscillator supplied with the kit).

SAVE CONFIGURATION
Saving the configuration as a project insures that the
new settings are saved. To save, select “File > Save”
and name the project something descriptive.

REOPEN SAVED PROJECT
This refreshes the settings to the saved values. To
reopen, select “File > Reopen” and choose the file that
was just saved.

 2003 Microchip Technology Inc.

DS00873A-page 5


AN873
FIGURE 7:

DEMO CONFIGURATION PROCEDURE

SetFosc = 16 MHz

Must set the on-board oscillator
value so the bit timing will be
calculated properly.
(Options > MCP2515)


Set numeric base to HEX

Sets the default numeric base for
entered numbers and places ‘$’ in
front of the number.
(Options > Global)

Set “Display” output to HEX

Configures the “Output” window
display
(Highlight “Standard Text
Format” in the “Select
Formatters” window and press
“Properties”).

Set bit rate = 125 kb/s

Go “on-bus”

Select the “Bus Parameters” tab in
the “MCP2515 Can Controller”
window and set the bit rate.

Select the “Bus Statistics” tab in
the “MCP2515 CAN Controller”
window and press “Go on Bus”.

Send configuration data to

PICmicro node

Open “History List” Window
(View > History List)
Load configuration messages
(Press “Load” and select
“mcsetup.hst”)
Send messages to PICmicro node
(Press “Send All”)*

Set transmit rate for PICmicro
node

Set “Timer Rate” in the “MCP2515
Evaluation Board Controls” window
to $100 (=> 256 ms)

Communicate

The PICmicro node should now be
sending sensor status (POT and
S4, S5, S6 buttons) at 256 ms
intervals

* The “Output” window should display some transmitted messages and two received messages. If both
receive messages are not displayed, reset the nodes by pressing MCLR on the PICmicro node and “Reset
Board” button on the PC node and go to the “Go on-bus” step.

DS00873A-page 6


 2003 Microchip Technology Inc.


AN873
FIGURE 8:

Two transmit messages can be displayed in the
“Output” window by checking/unchecking the LED
boxes or by pressing the “Set” button to set the transmit
interval time. These controls are contained in
the”MCP2515 Evaluation Board Controls” window.

MCP2515 EVALUATION
BOARD CONTROLS

The function of each node is explained in more detail
below.

PC Node
The PC node is set up to receive and display all
messages sent by the PICmicro node (in the “Output”
window).
The
received
messages
contain
potentiometer data and button status (S4, S5, S6) and
are displayed graphically in the “MCP2515 Evaluation
Board Controls” window. The “raw” message is
displayed in the “Output” window.

The PC node can transmit two message types:
1.
2.

The timer rate that the PICmicro node uses to
schedule its message transmissions.
The digital output of the RXnBF pins, which are
indicated on the associated LEDs. These pins
on the MCP2515 are configured as general
purpose outputs for the purpose of the demo.

PICmicro Node
The PICmicro node is set up to respond to messages
received by the PC node. This response will either
involve changing it’s own transmit interval or driving the
RXnBF pins which are reflected on corresponding
LEDs.

The messages are transmitted by either pressing the
“Set” button or checking/unchecking the LED
checkboxes in the “MCP2515 Evaluation Board
Controls” window (Figure 8).

The PICmicro node will transmit a single message at
the predefined transmit interval ($100 ms, or 256 ms for
the tutorial) which contains the ADC value from the
potentiometer in byte 1. This message also contains
the button status for S4, S5, and S6 in byte 0.

Message Formats

There are three different message identifiers that are
used in the system implementation. Each identifier
indicates a specific function as explained in Table 1.

TABLE 1:

MESSAGE FORMATS

Message Definition

Data

Message
Direction

ID

DLC

Scheduled Transmission Frequency

0066

8

00 nn nn 00 00 00 00 00

PC-to-PICmicro node

LED Control (RXBFn)


0067

8

0n 00 00 00 00 00 00 00

PC-to-PICmicro node

Potentiometer and Buttons

0069

2

nn nn

PICmicro node to PC

n - represents changing data

 2003 Microchip Technology Inc.

DS00873A-page 7


AN873
SCHEDULED TRANSMISSION FREQUENCY
(MESSAGE 066)
This message is sent from the PC node when “Set” is

pressed and contains (in DB1 and DB2) the frequency
in which the PICmicro node is to send data. The “Timer
Rate” text box sets the transmission frequency. The
format of the data is:
• DB2 - eight MSbs of the transmission frequency
• DB1 - the six LSbs of the transmission frequency
Example: if the “Timer Rate” is set to 0xFFFF, the
resulting data in the message would be:
• DB1 = FC, DB2 = FF.
This implies that the actual maximum = 0x3FFF =
16,383 => 16.383 seconds.
Example: if the “Timer Rate” = 0x100 (256 ms), as in
the flow diagram The resulting data in the message
would be DB1 = 00, DB2 = 40.

LED CONTROL (MESSAGE 067)
This message is sent from the PC node and is used to
control the RXBFn LEDs on the PICmicro node.
The format of the data is:
• LED RXFB0 - DB0, bit0; (0 = OFF, 1 = ON)
• LED RXFB1 - DB0, bit1, (0 = OFF, 1 = ON)

POTENTIOMETER AND BUTTONS (MESSAGE
069)
This message is scheduled and is sent from the
PICmicro node. The message is sent at regular
intervals as determined by message ‘066’ and contains
the digital equivalent of the potentiometer and the
button status for the three buttons associated with the
PICmicro node. For each button, there is one bit

showing the current status and one sticky bit that is set
if the button has been pressed since the last poll.
The format of the data:
• DB0 - button status (six MSbs => three status bits
and three sticky bits).
• DB1 - analog-to-digital converted value.

DS00873A-page 8

TUTORIAL PART 2: THE BASIC
TEMPLATE
The “Basic” template is identical to the “MCP2515
Evaluation” template in every aspect except that the
“MCP2515 Evaluation Board Controls” is not available
in the “Basic” template. Therefore, this tutorial will focus
on the different settings/configurations available.
Note:

If the Demo Tutorial (Part 1) was set up
prior to this one, the PICmicro node is
probably still sending messages at regular
intervals. Setting the CAN bit rate to
125 kb/s and going on the bus will display
these messages in the “output” window.

Changing the Output Window
The “Output” window is the main window of activity in
the “Basic” template and can be modified to different
display properties.


SCROLLING AND FIXED MESSAGES
The messages can be displayed in either scrolling or
fixed format simply by clicking the right mouse button
while the cursor is over the “Output” window and
selecting the proper display properties (Figure 9).
Scrolling Messages - deselect “Fixed Positions”.
Selecting “Auto Scroll” automatically scrolls the window
to the newest message.
Non-scrolling Messages - Select “Fixed Positions”.
This selection anchors messages with matching
identifiers into one position; only the data and time are
updated.

CHANGING THE TIME BASE
The “Time” can be displayed as either free-running time
between messages or as delta time by highlighting
“Standard Text Format” in the “Select Formatters”
window and pressing the “Properties” button (see
Figure 2).

FIGURE 9:

CHANGING THE OUTPUT
WINDOW DISPLAY
PROPERTIES

 2003 Microchip Technology Inc.


AN873

TUTORIAL PART 3: THE REGISTER
TEMPLATE
As described earlier, the “Register” template is a low
level template that allows bit-level control of the
MCP2515 registers. This template may be used to
become familiarized with the MCP2515 by
experimenting with mask and filter settings, bit timings,
configuration registers, and other functions associated
with configuring the MCP2515.
This tutorial will discuss the associated windows and
provide examples for some. In addition, a Loopback
mode demonstration will be given to demonstrate the
basic
steps
required
for
successful
CAN
communications with the MCP2515.
Note:

Unlike the “Basic” and “Evaluation”
templates which modify specific registers
automatically, all registers of the MCP2515
while in the “Register” template are
controlled manually (e.g. transmit requests
are set manually and the receive flags
must be cleared manually for each
message sent and received). In essence,
the user is the microcontroller while in the

“Register” template.

Mask and Filter Settings
The “MCP2515 Message Filters” window can be used
to experiment with various mask and filter
configurations and how these configurations apply to
incoming message IDs. For example, setting “RXM0”,
“RXF0”, “RXF1”, and “Test Identifier” as shown in
Figure 10 would reveal that the Test Identifier would
match RXF1 and be accepted into buffer 0. Pressing
the “Test Buf n” buttons is a software test of the masks
and filters.
Refer to the MCP2515 data sheet for more details on
mask and filter operations.

FIGURE 10:

MCP2515 MESSAGE
FILTERS

Initial Set Up
A few initial set up procedures should be performed to
insure proper operation before continuing.

VERIFY/SET THE PARALLEL PORT ADDRESS
The parallel port address must match the operating
system BIOS setting. To set/verify, select “Options >
MCP2515...”.

SET OSCILLATOR FREQUENCY IN

SOFTWARE
The oscillator frequency must be set to match the
board oscillator so the CAN bit rate will be reflected
accurately. To set, select “Options > MCP2515...” and
set to the proper oscillator frequency (16000 kHz if
using the 16 MHz oscillator supplied with the kit).

SAVE CONFIGURATION
Saving the configuration as a project insures that the
new settings are saved. To save, select “File > Save”
and name the project something descriptive.

REOPEN SAVED PROJECT
This refreshes the settings to the saved values. To
reopen, select “File > Reopen” and choose the file that
was just saved.

 2003 Microchip Technology Inc.

When finished setting the mask and filters, the
MCP2515 can be written by pressing the “Write” button
while in “Configuration” mode.

IMPORTANT CONSIDERATIONS
• The mask/filter and CNF registers are not written
unless the “Write” button is pressed while the
MCP2515 is in Configuration mode.
• An ‘x’ at the end of a value indicates “extended”
identifier (29 bits). If a filter value has an ‘x’, the
incoming identifier will be accepted only if it also is

extended (contains an ‘x’).
• The’$’ represents HEX.
• Standard identifiers are 11-bits with a range of
$0 - $7FF.
• Extended identifiers are 29-bits with a range of
$0 - $7FFFFFFE.

DS00873A-page 9


AN873
Bit Timing

CANINTE AND CANINTF

The “MCP2515 Physical Layer” window contains the
three CNF registers which are used to set the CAN bit
rate. The resulting bit rate is displayed at the bottom of
the window for a given FOSC and CNF register values.

CANINTE is the interrupt enable register that routes it’s
associated flag bit in CANINTF to the INT pin. The flag
bits in CANINTF can be set/cleared regardless of
CANINTE.

FIGURE 11:

To demonstrate the interrupts, simply set a bit in
CANINTE and toggle its associated bit in CANINTF.
The INT pin LED should toggle with the flag bit.


PHYSICAL LAYER
WINDOW

Example: Set CANINTE.RX0IE = 1 (bit 0) and then
toggle CANINTF.RX0IF (bit 0) and click “Write”. The
INT LED will toggle with the flag bit.

CANCTRL
The CANCTRL register sets the operation mode and
the CLKOUT prescaler.
The operation mode can be changed by either
selecting the mode from the pull-down menu or by
toggling the three MSb.

FIGURE 12:

CONFIGURATION
REGISTERS

Example, Figure 11 shows one possible configuration
of the bit timing registers for a CAN bit rate of 125 kb/s
using a 16 Mhz oscillator.
Note:

The CNF registers can only be modified
while in “Configuration” mode. Any other
mode will gray out the registers indicating
they are read-only.


Configuration Window
This window contains the configuration registers as
shown in Figure 12. The following examples are
provided to become familiar with the register
operations:

TXRTSCTRL

Status Window

This register configures the TXnRTS pins as either
request-to-send pins for their associated transmit
buffers or as general purpose inputs.

The “MCP2515 Status” window contains the status of
several parameters including the mode of operation,
pending interrupts, transmit and receive error counters
values, and receive buffer overflow status.

Setting bits 2:0 = b’00’ configures the pins as inputs.
The operation of these pins as inputs can be tested by
pressing and holding one or more switches (S1, S2,
S3) and pressing “Read”. Bits 5:0 will reflect the status
of the buttons.

BFPCTRL
This register configures the two RXnBF pins as receive
buffer full pins, as general purpose outputs, or tri state
(off).


Transmit and Receive Registers
The transmit and receive registers are displayed in two
separate windows and contain the identifier, data
length code, and data registers. The transmit register
window also contains the CTRL (TXBnCTRL) register
which contains the Transmit Request (TXREQ) bit (bit
3).

Setting bits 3:2 = b‘11’ and bits 1:0 = b‘00’ configures
the pins as outputs. The associated RXBFn LEDs can
be toggled on/off by changing the values of bits 5:4 and
clicking “Write”.

DS00873A-page 10

 2003 Microchip Technology Inc.


AN873
Communicating in LOOPBACK Mode

CONCLUSION

While “Loopback” mode is primarily a diagnostics mode
and is not used in real applications, it can be used to
demonstrate communication procedures while in the
“Register” template. The following is a step-by-step
demonstration of sending and receiving messages
while in “Loopback” mode:


This concludes the tutorials demonstrating the
usefulness of the MCP2515 CAN Development Kit.
With it, one can quickly learn the fundamentals of
Controller Area Networks and utilize it for system
development.

1.

2.

3.

4.

5.

6.

7.

Set the mask and filters for receive buffer 0 as
shown in Figure 10. The demo will send two
different messages with IDs of 0x55 and 0xAA.
Remember to set “Configuration” mode before
attempting to write the masks and filters
Set the CAN bit rate as shown in Figure 11.
While it is not necessary to set the bit rate
because the MCP2515 is communicating to
itself, it is good practice to configure the CNF
registers

Write CANINTE to 0x01 to enable the INT pin on
messages received into receive buffer 0. This is
done only to provide a visible indication on the
board of a received message
Make sure CANINTF.RX0IF = 0 (bit 0). Receive
buffers can receive messages only when their
associated flag is cleared
In the “Transmit Buffer” window, select transmit
buffer 0 with the pull-down box. Set “CAN ID” =
$AA, “Length” (DLC) = 8, and set the data bytes
to unique values. This message, when
transmitted will match filter 0.
Select Transmit buffer 1 and set the “CAN ID” =
$55, DLC = 8, and the data to unique values.
This message will match filter1
The MCP2515 register contents can be saved at
this point if desired to be reloaded at a later time.
The register contents are saved here before the
last step because the MCP2515 is still in
“Configuration” mode. To save the register
settings, press the “Save Regs” button in the
“MCP2515 Evaluation Board” window.
In
the
“Configuration”
window,
select
“Loopback” mode and click “Write”.

The MCP2515 is now set up to transmit and receive it’s

own messages.
1.
2.
3.

4.
5.

Select transmit buffer 0 or 1
Toggle CTRL.TXREQ (bit 3) to a ‘1’ and click
“Write”. The INT LED should be on
Read the “Receive Buffer” window. The
transmitted message should be in the receive
buffer
Clear CANINTF.RX0IF (bit 0). The INT LED
should be off
Goto number 1

 2003 Microchip Technology Inc.

DS00873A-page 11


AN873
NOTES:

DS00873A-page 12

 2003 Microchip Technology Inc.



Note the following details of the code protection feature on Microchip devices:


Microchip products meet the specification contained in their particular Microchip Data Sheet.



Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.



There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip's Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.



Microchip is willing to work with the customer who is concerned about the integrity of their code.



Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”

Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.


Information contained in this publication regarding device
applications and the like is intended through suggestion only
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
No representation or warranty is given and no liability is
assumed by Microchip Technology Incorporated with respect
to the accuracy or use of such information, or infringement of
patents or other intellectual property rights arising from such
use or otherwise. Use of Microchip’s products as critical
components in life support systems is not authorized except
with express written approval by Microchip. No licenses are
conveyed, implicitly or otherwise, under any intellectual
property rights.

Trademarks
The Microchip name and logo, the Microchip logo, dsPIC,
KEELOQ, MPLAB, PIC, PICmicro, PICSTART, PRO MATE and
PowerSmart are registered trademarks of Microchip
Technology Incorporated in the U.S.A. and other countries.
FilterLab, microID, MXDEV, MXLAB, PICMASTER, SEEVAL
and The Embedded Control Solutions Company are
registered trademarks of Microchip Technology Incorporated
in the U.S.A.
Accuron, Application Maestro, dsPICDEM, dsPICDEM.net,
ECAN, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB,
In-Circuit Serial Programming, ICSP, ICEPIC, microPort,
Migratable Memory, MPASM, MPLIB, MPLINK, MPSIM,
PICC, PICkit, PICDEM, PICDEM.net, PowerCal, PowerInfo,
PowerMate, PowerTool, rfLAB, rfPIC, Select Mode,
SmartSensor, SmartShunt, SmartTel and Total Endurance are

trademarks of Microchip Technology Incorporated in the
U.S.A. and other countries.
Serialized Quick Turn Programming (SQTP) is a service mark
of Microchip Technology Incorporated in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
© 2003, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
Microchip received QS-9000 quality system
certification for its worldwide headquarters,
design and wafer fabrication facilities in
Chandler and Tempe, Arizona in July 1999
and Mountain View, California in March 2002.
The Company’s quality system processes and
procedures are QS-9000 compliant for its
PICmicro® 8-bit MCUs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals,
non-volatile memory and analog products. In
addition, Microchip’s quality system for the
design and manufacture of development
systems is ISO 9001 certified.

DS00873A-page 13

 2003 Microchip Technology Inc.


M
WORLDWIDE SALES AND SERVICE

AMERICAS

ASIA/PACIFIC

Corporate Office

Australia

2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support: 480-792-7627
Web Address:

Suite 22, 41 Rawson Street
Epping 2121, NSW
Australia
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755

Atlanta

Unit 915
Bei Hai Wan Tai Bldg.
No. 6 Chaoyangmen Beidajie
Beijing, 100027, No. China
Tel: 86-10-85282100
Fax: 86-10-85282104


3780 Mansell Road, Suite 130
Alpharetta, GA 30022
Tel: 770-640-0034
Fax: 770-640-0307

Boston
2 Lan Drive, Suite 120
Westford, MA 01886
Tel: 978-692-3848
Fax: 978-692-3821

Chicago
333 Pierce Road, Suite 180
Itasca, IL 60143
Tel: 630-285-0071
Fax: 630-285-0075

Dallas
4570 Westgrove Drive, Suite 160
Addison, TX 75001
Tel: 972-818-7423
Fax: 972-818-2924

Detroit
Tri-Atria Office Building
32255 Northwestern Highway, Suite 190
Farmington Hills, MI 48334
Tel: 248-538-2250
Fax: 248-538-2260


Kokomo
2767 S. Albright Road
Kokomo, IN 46902
Tel: 765-864-8360
Fax: 765-864-8387

Los Angeles

China - Beijing

China - Chengdu
Rm. 2401-2402, 24th Floor,
Ming Xing Financial Tower
No. 88 TIDU Street
Chengdu 610016, China
Tel: 86-28-86766200
Fax: 86-28-86766599

China - Fuzhou
Unit 28F, World Trade Plaza
No. 71 Wusi Road
Fuzhou 350001, China
Tel: 86-591-7503506
Fax: 86-591-7503521

China - Hong Kong SAR
Unit 901-6, Tower 2, Metroplaza
223 Hing Fong Road
Kwai Fong, N.T., Hong Kong
Tel: 852-2401-1200

Fax: 852-2401-3431

China - Shanghai
Room 701, Bldg. B
Far East International Plaza
No. 317 Xian Xia Road
Shanghai, 200051
Tel: 86-21-6275-5700
Fax: 86-21-6275-5060

China - Shenzhen

18201 Von Karman, Suite 1090
Irvine, CA 92612
Tel: 949-263-1888
Fax: 949-263-1338

Rm. 1812, 18/F, Building A, United Plaza
No. 5022 Binhe Road, Futian District
Shenzhen 518033, China
Tel: 86-755-82901380
Fax: 86-755-8295-1393

Phoenix

China - Shunde

2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7966

Fax: 480-792-4338

Room 401, Hongjian Building
No. 2 Fengxiangnan Road, Ronggui Town
Shunde City, Guangdong 528303, China
Tel: 86-765-8395507 Fax: 86-765-8395571

San Jose

China - Qingdao

2107 North First Street, Suite 590
San Jose, CA 95131
Tel: 408-436-7950
Fax: 408-436-7955

Rm. B505A, Fullhope Plaza,
No. 12 Hong Kong Central Rd.
Qingdao 266071, China
Tel: 86-532-5027355 Fax: 86-532-5027205

Toronto

India

6285 Northam Drive, Suite 108
Mississauga, Ontario L4V 1X5, Canada
Tel: 905-673-0699
Fax: 905-673-6509


Divyasree Chambers
1 Floor, Wing A (A3/A4)
No. 11, O’Shaugnessey Road
Bangalore, 560 025, India
Tel: 91-80-2290061 Fax: 91-80-2290062

Japan
Benex S-1 6F
3-18-20, Shinyokohama
Kohoku-Ku, Yokohama-shi
Kanagawa, 222-0033, Japan
Tel: 81-45-471- 6166 Fax: 81-45-471-6122

DS00873A-page 14

Korea
168-1, Youngbo Bldg. 3 Floor
Samsung-Dong, Kangnam-Ku
Seoul, Korea 135-882
Tel: 82-2-554-7200 Fax: 82-2-558-5932 or
82-2-558-5934

Singapore
200 Middle Road
#07-02 Prime Centre
Singapore, 188980
Tel: 65-6334-8870 Fax: 65-6334-8850

Taiwan
Kaohsiung Branch

30F - 1 No. 8
Min Chuan 2nd Road
Kaohsiung 806, Taiwan
Tel: 886-7-536-4818
Fax: 886-7-536-4803

Taiwan
Taiwan Branch
11F-3, No. 207
Tung Hua North Road
Taipei, 105, Taiwan
Tel: 886-2-2717-7175 Fax: 886-2-2545-0139

EUROPE
Austria
Durisolstrasse 2
A-4600 Wels
Austria
Tel: 43-7242-2244-399
Fax: 43-7242-2244-393

Denmark
Regus Business Centre
Lautrup hoj 1-3
Ballerup DK-2750 Denmark
Tel: 45-4420-9895 Fax: 45-4420-9910

France
Parc d’Activite du Moulin de Massy
43 Rue du Saule Trapu

Batiment A - ler Etage
91300 Massy, France
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79

Germany
Steinheilstrasse 10
D-85737 Ismaning, Germany
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44

Italy
Via Quasimodo, 12
20025 Legnano (MI)
Milan, Italy
Tel: 39-0331-742611
Fax: 39-0331-466781

Netherlands
P. A. De Biesbosch 14
NL-5152 SC Drunen, Netherlands
Tel: 31-416-690399
Fax: 31-416-690340

United Kingdom
505 Eskdale Road
Winnersh Triangle
Wokingham
Berkshire, England RG41 5TU
Tel: 44-118-921-5869

Fax: 44-118-921-5820
07/28/03

 2003 Microchip Technology Inc.



×