MICROCHIP MCP2510 Technical data

MCP2510
带有 SPI
TM
接口的独立 CAN 控制器
特性
完全支持CAN 总线 V2.0A V2.0B 技术规范,通信 速率为 1Mb/s:
-0 - 8 字节报文长度
- 标准和扩展数据帧
- 可编程位传输速率可达 1Mb/s
- 两个接收缓冲器 , 可优先储存报文
- 六个完全验收滤波器
- 两个完全验收屏蔽滤波器
- 三个发送缓冲器,具有优先级设定以及发送中
止功能
- 用于自检的环回模式
- 高速 SPI 接口
(4.5V 工业级温度范围时可达 5MHz )
- 支持 0,0 1,1 SPI 模式
- 带有可编程预分频器的时钟输出引脚
- 带有可选择使能设定的中断输出引脚
-‘缓冲器满 ’ 输出引脚可配置为各接收缓冲器的
中断引脚或通用数字输出引脚
-‘请求发送 输入引脚可配置为发送缓冲器的控
制引脚 , 用以请求立即发送报文 , 或配置为通 用数字输出引脚
- 低功耗休眠工作模式
低功耗的 CMOS 技术:
- 工作电压范围 3.0V 5.5V
-5mA 典型工作电流
-5.5V时典型待机电流为 10 µA
•18引脚 PDIP/SOIC 和 20 引脚 TSSOP 封装
允许的工作温度范围:
- 工业级 (I): -40°C +85°C
- 扩展级 (E): -40°C +125°C
说明
Microchip Technology Inc.( 美国微芯科技有限公司 ) 生 产的 MCP2510 是一款控制器局域网络 (CAN) 协议控 制器 , 完全支持 CAN 总线 V2.0A/B 技术规范。该器件 支持 CAN1.2CAN2.0A、主动和被动 CAN2.0B 等版 本的协议,能够发送和接收标准和扩展报文。它还同时 具备验收过滤以及报文管理功能。该器件包含三个发送 缓冲器和两个接收缓冲器,减少了单片机 (MCU)的管 理负担。 MCU 的通讯是通过行业标准串行外设接口
SPI)来实现的,其数据传输速率高达 5Mb/s。
封装形式
18 引脚 PDIP/SOIC
20 19 18 17
16 15 14 13 12 11
DD
V
18
RESET
17
16
CS
SO
15
SI
14
SCK
13
INT
12
RX0BF
11
RX1BF10
VDD RESET CS
SO SI
NC SCK INT
RX0BF RX1BF
TXCAN
RXCAN
CLKOUT
TX0RTS
TX1RTS
TX2RTS
OSC2
OSC1
VSS
20 引脚 TSSOP
TXCAN
RXCAN
CLKOUT
TX0RTS TX1RTS
NC
TX2RTS
OSC2 OSC1
VSS
1
2
3
4
5
6
7
8
9
1 2 3 4
5 6 7 8 9
10
MCP2510
MCP2510
2004 Microchip Technology Inc. DS21291E_CN1
MCP2510
目录
1.0 器件功能介绍 ........................................................................................................................................................................ 3
2.0 Can 报文帧 ............................................................................................................................................................................ 7
3.0 报文发送 .............................................................................................................................................................................. 15
4.0 报文接收 .............................................................................................................................................................................. 21
5.0 位定时 ................................................................................................................................................................................. 35
6.0 错误检测 .............................................................................................................................................................................. 41
7.0 中断 ..................................................................................................................................................................................... 45
8.0 时钟振荡器 .......................................................................................................................................................................... 49
9.0 工作模式 .............................................................................................................................................................................. 51
10.0 寄存器映射表 ...................................................................................................................................................................... 55
11.0 SPI 接口 .............................................................................................................................................................................. 57
12.0 电气特性 .............................................................................................................................................................................. 61
13.0 封装信息 .............................................................................................................................................................................. 65
索引 ..................................................................................................................................................................................................... 69
在线支持.............................................................................................................................................................................................. 71
读者反馈表 .......................................................................................................................................................................................... 72
产品识别系统....................................................................................................................................................................................... 73
全球销售及服务网点 ............................................................................................................................................................................ 76
致 客 户
欲获得本数据手册的最新版本 , 请查询我公司的网站 :
http://www.microchip.com
您可通过检查数据手册中任意一页外侧下角的文献编号来确定其版本。文献编号的最后一个字母是版本编号 DS30000 A 版本。
勘误表
现有器件可能带有一份勘误表 , 说明了 ( 与数据手册的 ) 小运行差异以及建议的工作条件。当器件 / 文档的差异为我们所知时 , 我 们将出版一份勘误表。 勘误表上将注明其所适用的硅片版本和文件版本 .
欲了解某一器件是否存在勘误表 , 请通过以下方式之一查询 :
• Microchip 网站 http://www.microchip.com
当地 Microchip 销售办事处 ( 见尾页 )
• Microchip 总部文献中心 ; 美国传真号码 : 001 (480) 792-7277
当致电销售办事处或文献中心时 , 请说明您所使用的器件名称 , 芯片和数据手册版本 ( 包括文献编号 )。
本数据手册的更正
我们将不断努力提高产品和文档质量。 我们花费了大量的时间以保证本文件的正确性。然而 , 我们认识到可能会出现少量遗漏。 如 果您发现任何遗漏和错误 , 请 :
填写本数据手册后的读者反馈表
发电子邮件至 webmaster@microchip.com
您对提高本文件的质量所提供的帮助 , 我们将不胜感谢。
, 例如 : DS30000A
DS21291E_CN2 2004 Microchip Technology Inc.
MCP2510

1.0 器件功能介绍

1.1 概述

MCP2510 是一款独立CAN 控制器,是为简化连接CAN 总线的应用而开发的。图 1-1 简要显示了 MCP2510 的 结构框图。该器件主要由三个部分组成:
1. CAN 协议引擎。
2. 用来为器件及其运行进行配置的控制逻辑和 SRAM 寄存器。
3. SPI 协议模块。
1-2 显示了该器件的典型系统应用。
CAN 协议引擎的功能是处理所有总线上的报文发送和
接收。报文发送时,首先将报文装载到正确的报文缓冲 器和控制寄存器中。利用控制寄存器位,通过 SPI 接口 或使用发送使能引脚均可启动发送操作。通过读取相应 的寄存器可以检查通信状态和错误。 任何在 CAN 总线

1-1: 结构框图

RXCAN
CAN
协议引擎
TXCAN
3 TX
缓冲器
上侦测到的报文都会进行错误检测,然后与用户定义的 滤波器进行匹配,以确定是否将其转移到两个接收缓冲 器之一中。
MCU 通过 SPI 接口与器件进行通信。通过使用标准 SPI 读写命令对寄存器所有读写操作。
所提供的中断引脚提高了系统的灵活性。器件上有一个 多用途中断引脚,以及各接收缓冲器专用的中断引脚, 可用于指示有效报文是否被接收和载入各接收缓冲器。 是否使用专用中断引脚由用户决定,若不使用,也可用 通用中断引脚和状态寄存器(通过 SPI 接口访问)确定 有效报文是否已被接收。
器件还有三个引脚,用来将装载在三个发送缓冲器之一 中的报文立即发送出去。是否使用这些引脚由用户决 定,若不使用,也可通过 SPI 接口访问控制寄存器的方 式来启动报文发送。
1-1 列出了 MCP2510 所有引脚的完整清单。
2 RX 缓冲器
6 个接收滤波器
报文集合缓冲器
SPI
接口逻辑
CS SCK SI
SO
SPI
总线
控制逻辑
INT
RX0BF
RX1BF
TX0RTS
TX1RTS
TX2RTS
2004 Microchip Technology Inc. DS21291E_CN 第3
MCP2510

1-2: 典型系统实现方法图

CAN
总线
系统
主控制器
MCP2510
CAN
收发器
SPI
接口
CAN
收发器
MCP2510
CAN
收发器
MCP2510 MCP2510 MCP2510
节点控制器 节点控制器 节点控制器 节点控制器

1-1: 引脚说明

名称
TXCAN 1 1 O 连接到 CAN 总线的发送输出引脚
RXCAN 2 2 I 连接到 CAN 总线的接收输入引脚
CLKOUT 3 3 O 带可编程预分频器的时钟输出引脚
TX0RTS
TX1RTS
TX2RTS
OSC2 7 8 O 振荡器输出
OSC1 8 9 I 振荡器输入
SS 910P逻辑和 I/O 引脚的参考地端
V
RX1BF
RX0BF
INT
SCK 13 14 I SPI 接口时钟输入引脚
SI 14 16 I SPI 接口数据输入引脚
SO 15 17 O SPI 接口数据输出引脚
CS
RESET
DD 18 20 P 逻辑和 I/O 引脚的正电源
V
NC 615 无内部连接
注: 类型标识: I=输入; O=输出; P=电源
DIP/
SOIC
引脚 #
TSSOP
引脚 #
44 I发送缓冲器 TXB0 请求发送或通用数字输入引脚。 100k
55 I发送缓冲器 TXB1 请求发送或通用数字输入引脚。 100k
67 I发送缓冲器缓冲器 TXB2 请求发送或通用数字输入引脚。 100k
10 11 O 接收缓冲器 RXB1 的中断引脚或通用数字输出引脚
11 1 2 O 接收缓冲器 RXB0 的中断引脚或通用数字输出引脚
12 13 O 中断输出引脚
16 18 I SPI 接口片选输入引脚
17 19 I 低电平有效器件复位输入引脚
I/O/P
类型
内部上拉电阻 (至 V
内部上拉电阻 (至 V
内部上拉电阻 (至 V
DD
DD
DD
CAN
收发器
说 明
CAN
收发器
DS21291E_CN 4 2004 Microchip Technology Inc.
MCP2510

1.2 发送 / 接收缓冲器

MCP2510 具有三个发送缓冲器和两个接收缓冲器,两个验收屏蔽寄存器 (分别对应不同的接收缓冲器)以及六个验收 过滤寄存器。图 1-3 的框图中显示了这些缓冲器以及它们与 CAN 协议引擎的连接方法。

1-3: CAN 缓冲器和协议引擎框图

验收屏蔽寄存器
缓冲器
TXB0
ABTF
MLOA
TXERR
TXREQ
报文
ABTF
TXREQ
TXB1
MLOA
TXERR
报文
ABTF
TXREQ
TXB2
MLOA
TXERR
报文
验收屏蔽寄存器
RXM0
验收滤波寄存器
RXF0
验收滤波寄存器
RXF1
RXM1
验收滤波寄存器
RXF2
验收滤波寄存器
RXF3
验收滤波寄存器
RXF4
验收滤波寄存器
RXF5
报文队列
控制
协议引擎
发送字节序列发生器
{ 发送 <5:0> 接收 <8:0>}
发送逻辑
移位 t<14:0>
比较器
CRC<14:0>
R X B 0
标识符
数据字段 数据字段
接收 <7:0>发送 7:0>
位 时序 逻辑
M
标识符
A B
接收 错误
计数器
发送
错误
计数器
协议 有限
状态机
时钟发生器
R X B 1
REC
TEC
ErrPas BusOff
TX RX
2004 Microchip Technology Inc. DS21291E_CN 5
配置寄存器
MCP2510

1.3 CAN 协议引擎

CAN 协议引擎包含几个功能块,见图 1-4。下面将对这 些功能块及其功能进行介绍。

1.4 协议有限状态机

协议引擎的核心是有限状态机(FSM)。 该状态机逐个 逐位检查报文,当各个报文帧发生数据字段的发送和接 收时, 状态机改变状态。FSM 是一个定序器,对 TX/RX 移位寄存器, CRC 寄存器以及总线之间的顺序数据流 进行控制。 FSM 还对错误管理逻辑 (EML)以及 TX/
RX 移位寄存器和缓冲器之间的并行数据流进行控制。 FSM 确保了报文接收、总线仲裁、报文发送以及错误信
号发生等操作过程依据 CAN 总线协议来进行。总线上 报文的自动重发送也由 FSM 处理。

1.5 循环冗余校验

循环冗余校验寄存器产生循环冗余校验(CRC 代码。 该代码在控制字段(控制数据字节数为 0 的报文)或数 据字段之后被发送,并用来检查是否有报文发入 CRC 字段。

1-4: CAN 协议引擎框图

RX
位时序逻辑

1.6 错误管理逻辑

错误管理逻辑负责将 CAN 器件的故障进行隔离。该逻 辑具有两个计数器,即接收错误计数器(REC)和发送 错误计数器 (TEC)。这两个计数器根据来自位流处理 器的命令进行增减计数。根据错误计数器的计数值, CAN 控制器将被设定为错误主动、错误消极和总线关闭 三种状态。

1.7 位时序逻辑

位时序逻辑 (BTL)可监控总线输入, 并根据 CAN 协 议处理与总线相关的位时序操作。BTL 在帧起始时,以 隐性状态到显性状态的总线过渡进行同步操作(称为硬 同步)。之后, 若 CAN 控制器本身不发送显性位, BTL 在以后的隐性状态到显性状态总线过渡时会再进行 同步操作(称为再同步)。BTL 还提供可编程时间段以 补偿传播延迟时间和相位位移,并对位时段内的采样点 位置进行定义。对 BTL 的编程取决于波特率和外部物理 延迟时间。
发送逻辑
TX
SAM
Sample<2:0>
多数 决定
BusMon
CRC<14:0>
比较器
( 发送 <5:0> 接收 <7:0>)
接收 <7:0> 发送 <7:0>
RecData<7:0>
连接到标准缓冲器
StuffReg<5:0>
比较器
移位 <14:0>
TrmData<7:0>
接收
错误计数器
发送
错误计数器
协议 FSM
Rec/Trm 地址
REC
TEC
ErrPas BusOff
DS21291E_CN 第6 页  2004 Microchip Technology Inc.
MCP2510

2.0 CAN 报文帧

MCP2510 支持 CAN 2.0B 技术规范中所定义的标准数 据帧、扩展数据帧以及远程帧 (标准和扩展 )。

2.1 标准数据帧

CAN 标准数据帧如图 2-1 所示。与其它所有帧相同,帧 以起始帧 (SOF) 位开始。 SOF 为显性状态,允许所有 节点进行硬同步。
SOF 之后是仲裁字段,由 12 个位组成,分别为 11 个识别位和一个远程发送请求 (RTR) 位。 RTR 位用于 区分报文是数据帧 (RTR 位为显性) 还是远程帧 (RTR 位 为隐性状态)。
在仲裁字段之后是控制字段,由 6 个位组成。控制字段 的第一位为识别扩展(IDE) 位,该位为显性状态时,说 明这是标准帧。识别扩展位的下一位为零保留位 (RB0),这一保留位将由 CAN 协议定义为显性位。控制 字段的其余 4 位为数据长度码 (DLC),说明了报文中 包含的数据字节数。
控制字段之后为数据字段,包含正在发送的数据字节。 数据字段长度由上述数据长度码DLC定义(0-8字节)。
数据字段后为循环冗余校验字段 (CRC) ,用来检测报文 传输错误。 CRC 字段包含一个 15 位的 CRC 序列,之 后是隐性 CRC 定界位。
最后一个字段是确认字段,由两个位组成。在确认间隙 (ACK slot) 位执行期间,发送节点发出一个接收位。 任 何收到无错误帧的节点会发回一个显性位 ( 无论该节点 是否配置为接收该报文与否 ),确认帧收到无误。确认 字段以隐性确认定界符结束,该字符可能不允许被改写 为显性位。

2.2 扩展数据帧

在扩展数据帧中, 紧随 SOF 位的是 32 位仲裁字段,如 图 2-2 所示。仲裁字段的前 11 位为 29 位标识符的最有 效位 ( 基本 ID) 。紧随这 11 位的是替换远程请求 (SRR) 位,定义为隐性状态。 SRR 位之后是 lDE 位,该位隐 性时表示这是扩展的 CAN 帧。
应注意的是,如果在扩展帧标识符的前 11 位发送完后, 总线仲裁无果,而此时仲裁中的节点之一发出标准数据 帧(11 位标识符),那么, 由于节点发出了显性 IDE 位而使标准 CAN 帧赢得总线仲裁。 另外,扩展 CAN SRR 位应为隐性, 以允许正在发送标准 CAN 远程帧 的节点发出显性 RTR 位。
SRR 位和 lDE 位之后是标识符的其余 18 位(扩展 ID 以及一个远程发送请求位。
为使标准帧和扩展帧都能在共享网络上发送,应将29 位 的扩展报文标识符拆分成最高11 位和最低18位两部分。 拆分后可确保 IDE 位在标准数据帧和扩展帧中的位置保 持不变。
仲裁字段之后是 6 位控制字段。控制字段前两位为保留 位,必须定义为显性位。其余 4 位为数据长度码 (DLC), 说明报文中包含的数据字节数。
扩展数据帧的其它部分 (数据字段, CRC 字段,确认 字段, 帧结尾和间断) 与标准数据帧的结构相同 ( 见第
2.1 节)。

2.3 远程帧

通常,数据传输是由数据源节点 ( 例如,传感器发送数 据帧)自主完成的。但也可能发生终节点向源节点请求 发送数据的情况。要做到这一点,终节点须发送一个标 识符与所需数据帧的标识符相匹配的远程帧。随后相应 的数据源节点会发送一个数据帧以响应远程帧请求。
远程帧( 如图 2-3 所示) 与数据帧存在两点不同,第一, 远程帧的 RTR 位为隐性状态;第二,远程帧没有数据字 段。当带有相同标识符的数据帧和远程帧同时发出时, 数据帧将赢得仲裁,这是因为其紧随标识符的 RTR 位 为显性。这样可使发送远程帧的节点立即收到所需数 据。

2.4 错误帧

错误帧是由检测到总线错误的任一节点产生的。2-4 所示,错误帧包含两个字段,即错误标志字段, 及紧随其后的错误定界字段。错误标志字段有两种类 型。节点发送哪种类型的出错标志字段,取决于检测到 错误并产生错误标志字段的节点的错误状态。
当错误主动节点检测到一个总线错误时,这个节点将产 生一个主动错误标志,中断当前的报文发送 。主动错误 标志由 6 个连续的显性位构成。这种位顺序主动打破了 位填充规则。所有其它节点在识别到所形成的位填充错 误后,会自行产生错误帧,称为错误反射标志。错误标 志字段因此包含 6 到 12 个连续显性位 (由 1 个或多个 节点产生)。错误定界字段为错误帧划上了句号。在错 误帧发送完毕后,总线主动恢复正常状态,被中断的节 点会尝试重新发送被中止的报文。
当错误消极节点检测到一个总线错误时,该节点将发送 一个错误消极标志,并紧接着发送错误定界字段。错误
消极标志包含 6 个连续的隐性位,而错误消极节点发出 的错误帧则包含 14 个隐性位。由此可知,除非总线错
误被正在发送报文的节点检测到,否则错误消极节点错 误帧的发送,将不会影响网络中任何其它节点。如果发 送节点产生一个错误消极标志,那么,由于位填充规则 被打破,将导致其它节点产生错误帧。错误帧发送完毕 后,错误消极节点必须等待总线上出现 6 个连续隐性位 后,才能尝试重新参予总线通信。
错误定界符由 8 个隐性位组成,允许总线节点在错误发 生后重新启动总线通信。
2004 Microchip Technology Inc. DS21291E_CN7
MCP2510

2.5 过载帧

如图 2-5 所示,过载帧与主动错误帧具有相同的格式。 但是,过载帧只能在帧间间隔产生,因此可通过这种方 式区分过载帧和错误帧(错误帧是在帧传输时发出的)。 过载帧由两个字段组成,即过载标志和随后的过载定界 符。过载标志由 6 个显性位和紧随其后的其它节点产生 的过载标志构成(而错误帧包含最多 12 个显性位)。过 载定界符包含 8 个隐性位。节点在两种情形下会产生过 载帧:第一,节点在帧间间隔检测到非法显性位;第二, 由于内部原因,节点尚无法接收下一条报文。节点最多 可产生两条连续过载帧来延迟下一条报文的发送。

2.6 帧间间隔

帧间间隔将前一条帧(无论何种类型)与其后的数据帧 或远程帧分离开来。帧间间隔由至少 3 个隐性位构成, 又称为间断。间断使节点在发送下一条报文之前有时间 进行内部处理。在间断之后, CAN 总线将保持隐性状 态 ( 总线空闲 ),直至下一条报文发送开始。
DS21291E_CN8 2004 Microchip Technology Inc.
2004 Microchip Technology Inc. DS21291E_CN9

2-1: 标准数据帧

数据帧 ( 位数 = 44 + 8N)
12
仲裁字段
11
ID 10
帧起始
0
ID3
ID0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
RTR
控制字段
IDE
RB0
6
4
DLC3
DLC0
8
8N (0≤N≤8)
数据字段
16
CRC 字段
8
15
CRC
确认间隙位
CRC 定界符
确认定界符
7
帧结束
IFS
标识符
报文滤波
存储于缓冲器中
长度码
保留位
数据
存储于发送 / 接收缓冲器中
位填充
MCP2510
2004 Microchip Technology Inc. DS21291E_CN10

2-2: 扩展数据帧

数据帧 (位数
32
仲裁字段
11
ID10
帧起始
0 1 1 0 0 0 1
标识符
报文滤波
ID3
ID0
存储于缓冲器中
SRR
IDE
EID17
扩展标识符
EID0
RTR
RB1
位填充
6
控制字段
4
RB0
DLC318DLC0
数据 长度 码
保留位
存储于发送 / 接收缓冲器中
= 64 + 8N)
8N (0≤N≤8)
数据字段
8 8
CRC
15
CRC
16
字段
帧结束
定界符
确认定界符
确认间隙位
CRC
1 1 1 1 1 1 1 1
7
IFS
1 1 1
MCP2510
2004 Microchip Technology Inc. DS21291E_CN11

2-3: 远程数据帧

32
仲裁字段
11
ID10
帧起始
0 1 1 1 0 0
标识符
报文滤波
带扩展识别的远程帧
ID3
ID0
SRR
IDE
EID17
EID0
RTR
6
控制字段
4
RB1
RB0
DLC318DLC0
数据 长度 代码
保留位
16
CRC 字 段
15
CRC
7
帧结束
确认定界符
确认间隙位
CRC 定界符
1 1 1 1 1 1 1 1 1
IFS
1 1 1
MCP2510
2004 Microchip Technology Inc. DS21291E_CN12

2-4: 错误帧

被中断的数据帧
12
仲裁字段
11
帧起始
ID 10
0 000
标识符
报文滤波
ID3
ID0
RTR
6
控制字段
DLC3
IDE
RB0
数据 长度码
保留位
4
位填充
DLC0
8N (0≤N≤8)
数据字段
8
数据帧或 远程帧
8
错误帧
6
错误标志
6
反射 错误标志
8
错误定界符
帧间间隔或过载帧
MCP2510
0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 0
0
2004 Microchip Technology Inc. DS21291E_CN13

2-5: 过载帧

远程帧 ( 位数 = 44 位 )
12
仲裁字段
11
帧起始
ID 10
0 100
ID0
RTR
6
控制字段
DLC3
IDE
RB0
确认定界符
7
帧结束
过载帧
6
过载标志 过载定界符
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
8
帧间间隔 或出错帧
16
CRC 字段
4
DLC0
15
CRC
确认间隙位
CRC 定界符
1 1 1 1 1 1 1 1
1
帧结束 错误定界符 或过载定界符
MCP2510
MCP2510
注:
DS21291E_CN14 2004 Microchip Technology Inc.
MCP2510

3.0 报文发送

3.1 发送缓冲器

MCP2510 采用三个发送缓冲器。每个发送缓冲器占据 14 字节的 SRAM,并映射到存储器中。其中第一字节
NCTRL 是与报文缓冲器相关的控制寄存器。 该寄
TXB
存器中的信息决定了报文在何种条件下被发送,并在报 文发送时指示其状态(见寄存器 3-2)。用 5 个字节用来 装载标准和扩展标识符以及其它报文仲裁信息 ( 见寄存 器 3-3至 3-8)。 最后 8 个字节用来装载等待发送的报文 的八个可能的数据字节 ( 见寄存器 3-8)。
对于可访问报文缓冲器的单片机来说,必须清除
NCTRL.TXREQ 位,表明发送缓冲器无等待发送的
TXB
报文。至少须将 TXBNSIDH TXBNSIDL 和 TXBNDLC 寄存器装载数据。如果报文包含数据字节,还需对
NDm 寄存器进行装载。若报文采用扩展标识符,应
TXB TXBNEIDm 寄存器进行装载,并将 TXBN- SIDL.EXIDE 位置位。
在报文发送之前,单片机应对 CANINTE.TXI 初始化,以便在报文发送时使能或禁止中断的产生。
MCU 还应对 TXB
NCTRL.TXP 优先级控制位进行初始化
( 3.2 )

3.2 发送优先级

发送优先级是指 MCP2510 内部等待发送报文之间的优 先级。它与 CAN 协议中固有的报文仲裁的优先级无关。 在发送起始帧 SOF 之前,器件将所有等待发送报文的 发送缓冲器的优先级进行比较。具有较高优先级的发送 缓冲器将首先发送。例如,如果发送缓冲器 0 的优先级 设定比发送缓冲器 1 高,缓冲器 0 将首先发送。如果两 个缓冲器的优先级相同,编号较高的发送缓冲器将优先 发送。例如,如果发送缓冲器 1 与发送缓冲器 0 的优先 级设定相同, 缓冲器 1 将优先发送。发送优先级的设定 共有 4 个等级。如果某个发送缓冲器的 TXB TRL.TXP<1:0> 设定为 11 该发送缓冲器具有最高的 发送优先级。如果 TXB 该发送缓冲的发送优先级最低。
NCTRL.TXP<1:0> 设定为 00
NE 位进行
NC-
如果报文发送失败, TXB
NCTRL.TXREQ 将保持置位,
表明该报文仍在等待发送。此时以下条件标志之一将被 置位。 如果报文发送已开始但发生错误, TXB
NCTRL.
TXERR CANINTF.MERRF 位将被置位,此时在 CANINTE.MERRE 位置位后, 器件将会在 I
NT 引脚产
生中断。若发送报文总线仲裁失败,TXBNCTRL.MLOA 位将被置位。

3.4 TXnRTS 引脚

TXNRTS 引脚为输入引脚,可配置为请求发送输入引 脚, 作为启动任一发送缓冲器中报文发送的备用方法, 或标准数字输入引脚。通过设定 TXRTSCTRL 寄存器可 对这些引脚进行配制和控制 (见寄存器 3-2)。只有在 MCP2510 处于配置模式时,才可对 TXRTSCTRL 寄存 器内容进行修改 (见 第 9.0 节 )。如果该引脚配制为请 求发送引脚,该引脚将被映射为发送缓冲器中相应的
NCTRL.TXREQ 位。 TXNRTS 引脚的下降沿电平跳
TXB 变信号可将 TXREQ 位锁定。 用户可将 TXNRTS 引脚同
XNBF 直接相连,在 RXNBF 引脚变为低电平时自动启
R
动报文发送。 TXNRTS 引脚具有 100 k(标称值)的 内部上拉电阻。

3.5 中止发送

MCU 可通过清除与特定发送缓冲器对应的 TXBnC- TRL.TXREQ 位来中止某条报文的发送。也可通过设置 CANCTRL.ABAT 位以中止所有等待发送的报文。如果 CANCTRL.ABAT 被置位则所有报文中止发送,用户要
继续报文发送,必须对该位进行复位(通常须先确认所 有 TXREQ 位都已被清零 )。只有通过设定 CAN- CTRL.ABAT 位中止报文发送时, CANCTRL.ABTF 标 志才将被置位。通过复位 TXREQ 来中止报文发送,将 不会使 AT BF 位置位。
只有尚未开始发送的报文可被中止。报文一旦开始发 送,用户将不能对 TXBnCTRL.TXREQ 位进行复位。在 报文开始发送后,如果总线出现错误或该报文总线仲裁 失败,无论是否存在报文中止请求,该报文都将重新发 送。

3.3 发送启动

通过设定控制寄存器中TXBNCTRL.TXREQ发送控制位 可以启动相应发送缓冲器的报文发送。通过 SPI 接口写 寄存器或向某一发送缓冲器的 T 平可以进行设定。如果选择 SPI 接口方式进行位设定以 启动报文发送,可以同时设定 TXREQ 位和 TXP 优先级 控制位。
TXB
NCTRL.TXREQ 置位后, TXBNCTRL.ABTF
TXBNCTRL.MLOA TXBNCTRL.TXERR 位都将被清
除。
NCTRL.TXREQ 位置位并不能启动报文发送,仅
TXB 将发送缓冲器标记为准备发送。 当器件检测到总线空 闲时,才会启动报文发送。优先级最高的报文将首先发 送。
报文发送成功后,TXB
CANINTF.TX
2004 Microchip Technology Inc. DS21291E_CN15
NIF 位将被置位,置位后将产生中断。
NCTRL.TXREQ 位将被清除,
XNRTS 引脚输入低电
MCP2510
3-1: 报文发送流程图
开始
检查 TXBnCTRL.TXP <1:0> 以确定 最高优先级的报文
任一
TXBnCTRL.TXREQ
= 1
?
清零 :
TXBnCTRL.ABTF TXBnCTRL.MLOA TXBnCTRL.TXERR
CAN 总线是否
可以进行报文发送?
报文发送
当器件确定任一发送控制寄存 器 TXBnCTRL.TXREQ 位已被 置位后,报文发送序列开始
将置 1 的 TxBnCTRL.TXREQ 位清 零 或在报文发送之前将 CAN- CTRL.ABAT 位置1将会中止报文发 送
TXBnCTRL.TXREQ=0
CANCTRL.ABAT=1
?
产生 中断
CANINTE.TXnIE 位决定 在报文成功发送后是否产 生中断请求
报文发送
成功 ?
TxBnCTRL.TXREQ=0
CANINTE.TXnIE=1?
CANTINF.TXnIF=1
返回开始
报文出错?
发送过程中
仲裁失败了吗?
TxBnCTRL.TXERR=1
TxBnCTRL.MLOA=1
DS21291E_CN16 2004 Microchip Technology Inc.
寄存器 3-1: TXBNCTRL 发送缓冲器 N 控制寄存器
( 地址 : 30h40h50h)
U-0 R-0 R-0 R-0 R/W-0 U-0 R/W-0 R/W-0
ABTF MLOA TXERR TXREQ TXP1 TXP0
bit 7 bit 0
MCP2510
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1-0
未用 : 读作 '0'
ABTF: 报文发送中止标志
1 = 报文中止 0 = 报文发送成功
MLOA: 报文仲裁失败
1 = 报文发送中仲裁失败 0 = 报文发送中仲裁未失败
TXERR: 检测到的发送错误
1 = 报文发送中发生了总线错误 0 = 报文发送中未发生总线错误
TXREQ: 报文发送请求
1 = 缓冲器等待报文发送
( 单片机将此位置位以请求报文发送 - 报文发送后该位自动清零 )
0 = 缓冲器无报文发送
( 单片机将此位清零以请求中止报文发送 )
未使用 : 读作 '0'
TXP<1:0>: 发送缓冲器优先级
11 = 最高的报文发送优先级 10 = 中偏高的报文发送优先级 11 = 中偏低的报文发送优先级 00 = 最低的报文发送优先级
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知值
2004 Microchip Technology Inc. DS21291E_CN17
MCP2510
寄存器 3-2: TXRTSCTRL - TXNRTS 引脚控制和状态寄存器
( 地址: 0Dh)
U-0 U-0 R-x R-x R-x R/W-0 R/W-0 R/W-0
B2RTS B1RTS B0RTS B2RTSM B1RTSM B0RTSM
bit 7 bit 0
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
未使用 : 读作 '0'
未使用 : 读作 '0'
B2RTS: TX2RTS
- 作为数字输入引脚时,读出值为 T
- 作为请求发送输入引脚时读作 ‘0’
B1RTS: TX1RT
- 作为数字输入引脚时,读出值为 TX
- 作为请求发送输入引脚时读作 ‘0’
B0RTS: TX0RTS
- 作为数字输入引脚时,读出值为 TX
- 作为请求发送输入引脚时读作 ‘0’
B2RTSM: TX2RTS
1 = 该引脚用来请求 TXB2 缓冲器发送报文 ( 在下降沿 ) 0 = 数字输入
B1RTSM: TX1RTS
1 = 该引脚用来请求 TXB1 缓冲器发送报文 ( 在下降沿 ) 0 = 数字输入
B0RTSM: TX0RTS
1 = 该引脚用来请求 TXB0 缓冲器发送报文 ( 在下降沿 ) 0 = 数字输入
其中 : R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知值
引脚状态
X2RTS 引脚电平
X 引脚状态
1RTS 引脚电平
引脚状态
0RTS 引脚电平
引脚模式
引脚模式
引脚模式
寄存器 3-3: TXB
NSIDH - 发送缓冲器 N 标准标识符高位
( 地址 : 31h41h51h)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3
bit 7 bit 0
bit 7-0
DS21291E_CN18  2004 Microchip Technology Inc.
SID<10:3>: 标准标识符 <10:3>
其中 :
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知值
寄存器 3-4: TXBNSIDL - 发送缓冲器 N 标准标识符低位
( 地址 : 32h, 42h, 52h)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
SID2 SID1 SID0 EXIDE —EID17EID16
bit 7 bit 0
MCP2510
bit 7-5
bit 4
bit 3
bit 2
bit 1-0
SID<2:0>: 标准标识符位数 <2:0>
未用 : 读作 '0’
EXIDE: 扩展标识符使能
1 = 报文将发送扩展标识符 0 = 报文将发送标准标识符
未用 : 读作 '0’
EID<17:16>: 扩展标识符位数 s <17:16>
其中 :
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知值
寄存器 3-5: TXB
( 地址 : 33h, 43h, 53h)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8
bit 7 bit 0
bit 7-0
EID<15:8>: 扩展标识符位数 <15:8>
其中 :
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知值
NEID8 - 发送缓冲器 N 扩展标识符高位
寄存器 3-6: TXB
NEID0 - 发送缓冲器 N 扩展标识符低位
( 地址 : 34h, 44h, 54h)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
EID7 EID6 EID5 EID4 EID3 EID2 EID1 EID0
bit 7 bit 0
bit 7-0
2004 Microchip Technology Inc. DS21291E_CN19
EID<7:0>: 扩展标识符位数 <7:0>
其中 :
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知值
MCP2510
寄存器 3-7: TXBNDLC - 发送缓冲器 N 数据长度码
( 地址 : 35h, 45h, 55h)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
—RTR— DLC3 DLC2 DLC1 DLC0
bit 7 bit 0
bit 7
bit 6
bit 5-4
bit 3-0
未用 : 读作 '0’
RTR: 远程发送请求位
1 = 发送的报文为远程帧 0 = 发送的报文为数据帧
未用 : 读作 '0’
DLC<3:0>: 数据长度码 设定发送的数据长度 (0 8 字节 )
Note: 可以将 DLC 设定为大于 8 的值,但只发送 8 个字节
其中 :
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知值
寄存器 3-8: TXB
( 地址 : 36h-3Dh, 46h-4Dh, 56h-5Dh)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
TXB
bit 7 bit 0
bit 7-0
TXB
NDM - 发送缓冲器 N 数据段字节 m
NDm
7
NDM7:TXBNDM0: 发送缓冲器 n 数据字段字节 m
TXBNDm6TXBNDm5TXBNDm4TXBNDm3TXBNDm2TXBNDm1TXBNDm
0
其中:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知值
DS21291E_CN20  2004 Microchip Technology Inc.

4.0 报文接收

4.1 报文接收缓冲器

MCP2510 具有两个全文接收缓冲器。每个接收缓冲器 配备有多个验收滤波器。除上述专用接收缓冲器外, MCP2510 还具有单独的报文集成缓冲器 (MAB) ,可作 为第三个接收缓冲器 (见图 4-1)。

4.2 接收缓冲器

在三个接收缓冲器中,MAB总能够接收来自总线的下一 条报文。其余两个接收缓冲器 RXB0 RXB1 则从协议 引擎接收完整的报文。 当其中一个缓冲器处于接收等待 或保存着上一条接收到的报文时, MCU 可对另一缓冲 器进行访问。
MAB对接收到的报文进行组合,并将满足验收滤波器条 件的报文传送到至 RXB4-9 )
注: 一旦报文被验收, MAB 中所有的内容将传
送到接收缓冲器。这表明无论标识符为何 种类型 (标准或扩展标识符)或接收到多 少字节的数据,整个接收缓冲器都将被 MAB的内容所改写。因此,在接收任何报文 后,必须断定接收缓冲器中所有寄存器的 内容都被修改了。
当报文传送至某一接收缓冲器,与该接收缓冲器对应的
CANINTF.RX
毕, MCU 就必须将该位清除以接收下一条报文。 该控 制位提供的锁定功能确保在 MCU 尚未处理完上一条报 文前, MCP2510 不会将新的报文载入接收缓冲器。 如 果 CANINTE.RX 一个中断 , 显示接收到有效报文。
NIF 位将置 1。一旦缓冲器中的报文处理完
N 缓冲器(见寄存器 4-4 至寄存
NIE 位被置 1,器件会在 INT 引脚产生
MCP2510
NCTRL.RXM 位设置为11 , 无论验收滤波器的设置
RXB
值是什么 , 缓冲器都将接收所有报文。如果报文在帧结 束前出错,在 MAB 中组合的出错前的那部分报文将被 移入缓冲器。该工作模式可在 CAN 系统调试时使用,一 般不在实际系统环境中使用。

4.4 RX0BF RX1BF 引脚

INT 引脚在多种情况下可向 MCU 提出中断请求。除此 之外,接收缓冲器满引脚(RX0BF 来显示有效报文是否分别载入 RXB0 RXB1
NBF 引脚可配置为缓冲器满中断引脚或标准数字
RXB
输出引脚。通过 BFPCTRL 寄存器 ( 寄存器 4-3) 可对这 些引脚进行配置和状态查询。 当设定为中断工作模式
(设定 BFPCTRL.BxBFE BFPCTRL.BxBFM 位为
1) ,这些引脚为低电平有效并且被映射到相应接收缓 冲器的 CANINTF.RX CANINTF.RXNIF 位变为高电平,表明有效报文已被载 入接收缓冲器,相应的 RXNBF 引脚将变为低电平。如 果 CANINTF.RX 将进入逻辑高电平状态, 直到下一条报文载入接收缓冲 器。
当该引脚设定为数字输出时,相关的接收缓冲器的 BFPCTRL.BxBFM 位应被清零 ,而 BFPCTRL.BxBFE 位应被置 1。在这种工作模式下,引脚的状态由 BFPC- TRL.BxBFS 位控制。在 BxBFS 位写入 1,将使相关的 缓冲器满输出引脚输出高电平,写入 0 将使该引脚输出 低电平。 当引脚用于这种模式时 , 该引脚的状态只应通Bit Modify SPI 命令来修改,以避免任何缓冲器满引 脚出现干扰。
NIF 位。当其中一个接收缓冲器的
NIF 位被 MCU 清零,相应的中断引脚
RX1BF)也可用

4.3 接收优先级

RXB0 是具有较高优先级的寄存器 , 并配置有 2 个报文 验收滤波寄存器。 RXB1 优先级较低,配置有 4 个验收 滤波器寄存器。 RXB0 的验收滤波寄存器数量较少,因 此 RXB0 接受匹配条件更为严格,表明 RXB0 具有较高 的优先级。此外通过配置 RXB0CTRL 寄存器,还可以 实现以下功能:如果 RXB0 中装有上一条有效报文,而 另一条报文也正被接收,该项设置将避免发生溢出错 误。无论新的报文是否符合 RXB1 验收条件,都将被滚 存至 RXB1 。 每个接收缓冲器还分别配置有一个可编程 验收滤波屏蔽寄存器 (见 第 4.5 节 )。
当报文被接收时, RXB 能该接收操作的验收滤波器的编号 , 以及接收到的报文 是否为远程传输请求。
通过 RXB 该位通常设置为 00,以接收所有被验收滤波器器认可 的报文。在这种情况下,标准或扩展帧报文的接收与否 取决于验收滤波寄存器中 RFX 状态。如果 RXB 缓冲器将分别只接收标准帧或扩展帧。如果验收滤波寄 存器中 RFX TRL.RXM 工作模式,验收滤波器将不起作用。上述两 种由 RXBNCTRL.RXM 控制位决定的接收模式可以应 用在总线上只有标准帧或扩展帧的系统中。如果
NCTRL.RXM 位可以设定特殊接收工作模式。
NSIDL.EXIDE 位的设置不对应于 RXBNC-
NCTRL <3:0> 位状态将显示使
NSIDL.EXIDE 控制位的
NCTRL.RXM 设定值为 01 10,接 收
2004 Microchip Technology Inc. DS21291E_CN21
MCP2510

4-1: 接收缓冲器原理图

验收屏蔽寄存器
RXM1
验收滤波寄存器
RXF2
验 收
验收屏蔽寄存器
RXM0
验收滤波寄存器
RXF3
验 收
验收滤波寄存器
RXF0
验收滤波寄存器
RXF1
R X
标识符
B 0
数据字段 数据字段
M A B
验收滤波寄存器
RXF4
验收滤波寄存器
RXF5
标识符
R X B 1
DS21291E_CN22  2004 Microchip Technology Inc.

4-2: 报文接收流程图

开始
 检测到
 起始帧
开始将报文载入
报文集成缓冲器 (MAB)
MCP2510
产生
出错帧
是,符合载入
RXBO 的条件
CANINTF.RXnIF 位决定接
收缓冲器是否为空以及是否 可以接收新的报文,
CANINTF.RX0IF
=0?
将报文传送至 RXB0
CANINTF.RX0IF=1
根据满足的验收滤波器条件
来设置 RXB0CTRL.FILHIT <0>
RXB0CTRL.BUKT
产生溢出错误 :
EFLG.RX0OVR 为1
RXB0CTRL.BUKT 位 决定在 RXB0 满时,新 的报文是否可以滚存到
RXB1 l
=1
CANINTE.ERRIE=1
收到
有效报文吗?
报文
符合载入过滤器
条件吗
返回开始
EFLG.RX1OVR 为1
?
是,符合载入
RXB1 的条件
产生溢出错误 :
返回开始
CANINTF.RX1IF
=0?
将报文传送至 RXB1
CANINTF.RX1IF=1
根据满足的验收滤波器条件
来设置 RXB0CTRL.FILHIT <2:0>
引脚 = 0
CANINTE.RX1IE=1?
BFPCTRL.B1BFM=1
BF1CTRL.B1BFE=1
?
CANINTE.RX0IE=1?
BFPCTRL.B0BFM=1
BF1CTRL.B0BFE=1
?
RXB0
设定 RXBF0
引脚 = 0
在 INT 产生
中断请求
根据报文载入哪个接收缓冲 器来设置 CANSTAT <3:0>
RXB1
设定 RXBF1
2004 Microchip Technology Inc. DS21291E_CN23
MCP2510
寄存器 4-1: RXB0CTRL - 接收缓冲器 0 控制寄存器
( 地址 : 60h)
U-0 R/W-0 R/W-0 U-0 R-0 R/W-0 R-0 R-0
RXM1 RXM0 RXRTR BUKT BUKT1 FILHIT0
bit 7 bit 0
bit 7
bit 6-5
bit 4
bit 3
bit 2
bit 1
bit 0
未用 : 读作 '0'
RXM<1:0>:接收缓冲器工作模式
11 =关闭屏蔽 / 滤波功能;接收所有报文 10 =只接收符合滤波器条件的带扩展标识符的有效报文 01 =只接收符合滤波器条件的带标准标识符的有效报文 00 =接收符合滤波器条件的所有带扩展标识符或标准标识符的有效报文
未用 : 读作 '0'
RXRTR: 是否接收到远程传送请求
1 = 接收到远程传送请求 0 = 没有接收到远程传送请求
BUKT滚存使能
1 = 如果 RXB0 满, RXB0 接收到的报文将被滚存至 RXB1 0 = 滚存禁止
BUKT1只读位 BUKT 位备份 (只在 MCP2510 器件内部使用 ).
FILHIT<0>:滤波器指示 - 指明使能报文接收的验收滤波寄存器编号
1 = 验收滤波寄存器 1 (RXF1) 0 = 验收滤波寄存器 0 (RXF0)
注: 如果从 RXB0 到 RXB1 的滚存发生, FILHIT 位将反映接收滚存报文的滤波器
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
DS21291E_CN24  2004 Microchip Technology Inc.
寄存器 4-2: RXB1CTRL - 接收缓冲器 1 控制寄存器
( 地址 : 70h)
U-0 R/W-0 R/W-0 U-0 R-0 R-0 R-0 R-0
RXM1 RXM0 RXRTR FILHIT2 FILHIT1 FILHIT0
bit 7 bit 0
MCP2510
bit 7
bit 6-5
bit 4
bit 3
bit 2-0
未用 : 读作 '0'
RXM<1:0>:接收缓冲器工作模式
11 =关闭屏蔽 / 滤波功能;接收任何报文 10 =只接收符合滤波器条件的带扩展标识符的有效报文 01 =只接收符合滤波器条件的带标准标识符的有效报文 00 =接收符合滤波器条件的所有带扩展标识符或标准标识符的有效报文
未用 : 读作 '0'
RXRTR是否收到远程传递请求
1 = 接收到远程传递请求 0 = 未收到远程传递请求
FILHIT<2:0>: 滤波器指示 - 显示使能报文接收的过滤寄存器编号
101 = 验收滤波寄存器 5 (RXF5) 100 = 验收滤波寄存器 4 (RXF4) 011 = 验收滤波寄存器 3 (RXF3) 010 = 验收滤波寄存器 2 (RXF2) 001 = 验收滤波寄存器 1 (RXF1) ( 只有当 RXB0CTRL 中的 BUKT 位置 1 时 ) 000 = 验收滤波寄存器 0 (RXF0) ( 只有当 RXB0CTRL 中的 BUKT 位置 1 时 )
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
2004 Microchip Technology Inc. DS21291E_CN25
MCP2510
寄存器 4-3: BFPCTRL - RXNBF 引脚控制和状态寄存器
( 地址 : 0Ch)
U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
B1BFS B0BFS B1BFE B0BFE B1BFM B0BFM
bit 7 bit 0
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
未用 : 读作 '0'
未用 : 读作 '0'
B1BFS: RX1BF
- RX1BF 配置为中断请求引脚时,读作 ‘0’
B0BFS: RX0BF
- RX0BF 配置为中断请求引脚时,读作 ‘0’
B1BFE: RX1BF
1 = 引脚功能使能, 工作模式由 B1BFM 位的状态决定 0 = 引脚功能禁止, 引脚为高阻状态
B0BFE: RX0BF
1 = 引脚功能使能, 工作模式由 B0BFM 位的状态决定 0 = 引脚功能禁止, 引脚为高阻状态
B1BFM: RX1BF
1 = 当有效报文载入 RXB1 时,该引脚用来产生中断请求 0 = 数字输出模式
B0BFM: RX0B
1 = 当有效报文载入 RXB0 时,该引脚用来产生中断请求 0 = 数字输出模式
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
引脚状态 ( 只限数字输出工作模式)
引脚状态 ( 只限数字输出工作模式)
引脚功能使能
引脚功能使能
引脚工作模式
F 引脚工作模式
寄存器 4-4: RXB
NSIDH - 接收缓冲器 N 标准标识符高位
( 地址 : 61h, 71h)
R-xR-xR-xR-xR-xR-xR-xR-x
SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3
bit 7 bit 0
bit 7-0
DS21291E_CN26  2004 Microchip Technology Inc.
SID<10:3>: 标准标识符位 <10:3> 这些数据位装载接收报文标准标识符中最高 8 位。
图注:
R = 可读位 W = 可写位 U = 未用, 读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
寄存器 4-5: RXBNSIDL - 接收缓冲器 N 标准标识符低位
( 地址 : 62h, 72h)
R-x R-x R-x R-x R-x U-0 R-x R-x
SID2 SID1 SID0 SRR IDE —EID17EID16
bit 7 bit 0
MCP2510
bit 7-5
bit 4
bit 3
bit 2
bit 1-0
SID<2:0>: 标准标识符位 <2:0> 这些数据位装载接收报文中标准标识符的最低 3 位。 SRR: 远程发送请求位 (只有当 IDE 位 = ‘0’ 时有效)
1 = 收到远程发送请求 0 = 收到标准数据帧
IDE: 扩展标识符标志 该位表明收到报文是标准帧还是扩展帧
1 = 收到的报文为扩展帧 0 = 收到的报文为标准帧
未用 : 读作 '0'
EID<17:16>: 扩展标识符位 <17:16>
这些位装载接收报文中扩展标识符中的最高 2 位。
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
寄存器 4-6: RXBNEID8 - 接收缓冲器
( 地址 : 63h, 73h)
R-xR-xR-xR-xR-xR-xR-xR-x
EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8
bit 7 bit 0
N 扩展标识符中间位
bit 7-0
2004 Microchip Technology Inc. DS21291E_CN27
EID<15:8>: 扩展标识符位 <15:8> 这些数据位装载接收报文扩展标识符的第 8 到 15 位。
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
MCP2510
寄存器 4-7: RXBNEID0 - 接收缓冲器 N 扩展标识符低位
( 地址 : 64h, 74h)
R-xR-xR-xR-xR-xR-xR-xR-x
EID7 EID6 EID5 EID4 EID3 EID2 EID1 EID0
bit 7 bit 0
bit 7-0
EID<7:0>: 扩展标识符位 <7:0> 这些数据位装载接收报文扩展标识符中最低的 8 位。
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 复位值 x = 未知
寄存器 4-8: RXBNDLC - 接收缓冲器
( 地址 : 65h, 75h)
U-0 R-x R-x R-x R-x R-x R-x R-x
RTR RB1 RB0 DLC3 DLC2 DLC1 DLC0
bit 7 bit 0
bit 7
bit 6
bit 5
bit 4
bit 3-0
未用 : 读作 '0'
RTR:扩展帧远程发送请求位 ( 只有当 RXBnSIDL.IDE = 1 时有效 )
1 = 收到扩展远程 (发送请求)帧 0 = 收到扩展数据帧
RB1: 保留位 1
RB0: 保留位 0
DLC<3:0>数据长度代码
表明接收到的数据字节个数
N 数据长度码
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
寄存器 4-9: RXBNDM - 接收缓冲器
N 数据字段字节 M
( 地址 : 66h-6Dh, 76h-7Dh)
R-xR-xR-xR-xR-xR-xR-xR-x
NDm7 RBNDm6 RBNDm5 RBNDm4 RBNDm3 RBNDm2 RBNDm1 RBNDm0
RB
bit 7 bit 0
NDm7:RBNDm0: 接收缓冲器 N 数据场字节 m
bit 7-0
DS21291E_CN28  2004 Microchip Technology Inc.
RB
这 8 个字节包含接收报文中的数据信息
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
MCP2510

4.5 报文验收滤波器及屏蔽寄存器

验收滤波器及屏蔽寄存器用来确定报文集成缓冲器中的 报文是否应被载入接收缓冲器(见图 4-3)。 一旦 MAB 接收到有效报文,报文中的标识符字段将与过滤寄存器 中的值进行比较。如果两者匹配,该报文将被载入相应 的接收缓冲器。滤波屏蔽寄存器用来确定滤波器对标识 符中的哪些位进行校验 ( 见寄存器 4-10 至寄存器 4-
17) 。表 4-1 所示的真值表显示了标识符中每一位是如 何与验收屏蔽器和滤波器进行比较 , 以确定该报文是否 应被载入接收缓冲器。屏蔽寄存器主要确定对标识符中 的哪一位进行滤波。如果某屏蔽位设置为零,对应的标 识符位将被自动接收而不被滤波。

4-1: 滤波 / 屏蔽寄存器真值表

屏蔽位 n 过滤位 n
0X X
10 0
10 1
11 0
11 1
注: X = 可为任意值
如图 4-1,RXB0 接收缓冲器配备有验收滤波寄存器 RXF0 RXF1, 以及过滤屏蔽寄存器 RXM0 RXB1 配 备有验收滤波寄存器 RXF2, RXF3, RXF4 RXF5 以及 滤波屏蔽寄存器 RXM1。当新报文符合验收滤波条件并 被载入接收缓冲器时 , 使能报文接收的滤波器编号将被 装载到 RXB RXB1CTRL 寄存器包含 FILHIT<2:0> 位。 滤波寄存器 的编码如下:
- 101 = 验收滤波寄存器 5 (RXF5)
- 100 = 验收滤波寄存器 4 (RXF4)
- 011 = 验收滤波寄存器 3 (RXF3)
- 010 = 验收滤波寄存器 2 (RXF2)
- 001 = 验收滤波寄存器 1 (RXF1)
- 000 = 验收滤波寄存器 0 (RXF0)
NCTRL 寄存器 FILHIT 位中。 对于 RXB1
报文标识符
n001
接受或拒绝
n
接受
接受
拒绝
拒绝
接受
注: 只有 RXB0CTRL 寄存器中的 BUKT 位置 1
(见表 3-9) 以允许 RXB0 接收的报文滚存
RXB1 时,才会出现 000001 状态。
RXB0CTRL 包含有 BUKT 位 和 FILHIT<0> 位的备份。
BUKT位的编码方式使这三位的用法与RXB1CTRL.FIL­HIT 相类似,并且可区分无滚存发生时和滚存发生时滤
波器 RXF0 和 RXF1 接收报文的情况。
- 111 = 验收滤波寄存器 1 (RXF1)
- 110 = 验收滤波寄存器 0 (RXF0)
- 001 = 验收滤波寄存器 1 (RXF1)
- 000 = 验收滤波寄存器 0
如果 BUKT 位清零,对应 6 个过滤寄存器就有 6 种编码 状态。如果 BUKT 位置 1,除了上述 6 种编码状态外, 还有 2 种编码状态分别对应滚存到 RXB1 RXF0 RXF1
如果接收报文符合一个以上滤波寄存器的接受条件, FILHIT 位中的二进制代码将反映其中编号最小的寄存 器。例如,如果滤波器 RXF2 RXF4 同时与接收报文 匹配,FILHIT 中将装载 RXF2 编码值。 这实际上为编号 较小的验收滤波寄存器赋予较高的优先级。接收报文将 按照编号上升的原则依次与滤波寄存器进行匹配比较。
只有 MCP2510 处于配置模式时,才能对屏蔽和滤波寄 存器中的内容进行修改 (见第 9.0 节)。
2004 Microchip Technology Inc. DS21291E_CN29
MCP2510

4-3: 报文验收屏蔽及滤波操作

验收滤波寄存器 验收屏蔽寄存器
RXFn0
RXFn1
报文集成缓冲器
寄存器 4-10: RXF
( 地址 : 00h, 04h, 08h, 10h, 14h, 18h)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3
bit 7 bit 0
bit 7-0
SID<10:3>: 标准标识符滤波控制位 <10:3> 这些数据位装载了用来对接收报文中标准标识码位 <10:3> 进行滤波判断的滤波寄存器位
RXMn0
RXMn1
RXFnn
标识符
NSIDH - 验收滤波寄存器 N 标准标识符的高位
RxRqst
RXMnn
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
DS21291E_CN30  2004 Microchip Technology Inc.
寄存器 4-11: RXFNSIDL - 验收滤波寄存器 N 标准标识符的低位
( 地址 : 01h, 05h, 09h, 11h, 15h, 19h)
R/W-x R/W-x R/W-x U-0 R/W-x U-0 R/W-x R/W-x
SID2 SID1 SID0 EXIDE —EID17EID16
bit 7 bit 0
MCP2510
bit 7-5
bit 4
bit 3
bit 2
bit 1-0
SID<2:0>:标准标识符滤波控制位 <2:0> 这些数据位装载用来对接收报文中的标准标识码位 <2:0> 进行滤波判断的滤波寄存器位 未用: 读作 '0'
EXIDE: 扩展标识符使能
1 = 报文滤波仅应用于扩展帧 0 = 报文滤波仅应用于标准帧
未用:读作 '0
EID<17:16>:扩展标识符滤波控制位 <17:16> 这些数据位装载用来对接收报文中的扩展标识码位 <17:16> 进行滤波判断的滤波寄存器位
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
寄存器 4-12: RXF
( 地址 : 02h, 06h, 0Ah, 12h, 16h, 1Ah)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8
bit 7 bit 0
bit 7-0
EID<15:8>:扩展标识符过滤控制位 <15:8> 这些数据位装载 用来对接收报文中扩展标识码 位 <15:8> 进行过滤判断的过滤寄存器位
NEID8 - 验收滤波器 N 扩展标识符的高位
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
2004 Microchip Technology Inc. DS21291E_CN31
MCP2510
寄存器 4-13: RXFNEID0 - 验收滤波寄存器 N 扩展标识符的低位
( 地址 : 03h, 07h, 0Bh, 13h, 17h, 1Bh)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
EID7 EID6 EID5 EID4 EID3 EID2 EID1 EID0
bit 7 bit 0
bit 7-0
EID<7:0>:扩展标识符过滤控制位 <7:0> 这些数据位装载用来对接收报文中扩展标识码位 <7:0> 进行滤波判断的滤波寄存器位
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
寄存器 4-14: RXM
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3
bit 7 bit 0
bit 7-0
SID<10:3>:标准标识符屏蔽控制位 <10:3> 这些数据位装载用来对接收报文中标准标识码位 <10:3> 进行屏蔽控制的屏蔽寄存器位
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
寄存器 4-15: RXM
R/W-x R/W-x R/W-x U-0 U-0 U-0 R/W-x R/W-x
SID2 SID1 SID0
bit 7 bit 0
NSIDH - 验收滤波屏蔽寄存器 N 标准标识符的高位 ( 地址 : 20h, 24h)
NSIDL - 验收滤波屏蔽寄存器 N 标准标识符低位 ( 地址 : 21h, 25h)
—EID17EID16
bit 7-5
bit 4-2
bit 1-0
DS21291E_CN32  2004 Microchip Technology Inc.
SID<2:0>:标准标识符屏蔽控制位 <2:0> 这些数据位装载用来对接收报文中标准标识码位 <2:0> 进行屏蔽控制的屏蔽寄存器位。 未用:读作 '0'
EID<17:16>: 扩展标识符屏蔽控制位 <17:16> 这些数据位装载用来对接收报文中扩展标识码位 <17:16> 进行屏蔽控制的屏蔽寄存器位
图注:
R = 可读位 W = 可写位 U = 未知, 读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
MCP2510
寄存器 4-16: RXMNEID8 - 验收滤波屏蔽寄存器 N 扩展标识码的高位 ( 地址 : 22h, 26h)
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8
bit 7 bit 0
bit 7-0
EID<15:8>:扩展标识码屏蔽控制位 <15:8> 这些数据位装载用来对接收报文中扩展标识码位 <15:8> 进行屏蔽控制的屏蔽寄存器位
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
寄存器 4-17: RXM
R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x R/W-x
EID7 EID6 EID5 EID4 EID3 EID2 EID1 EID0
bit 7 bit 0
bit 7-0
EID<7:0>::扩展标识符屏蔽控制位 <7:0> 这些数据位装载用来对接收报文中扩展标识符位 <7:0> 进行屏蔽控制的屏蔽寄存器位
图注:
R = 可读位 W = 可写位 U = 未用, 读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 t’0 = 清零值 x = 未知
NEID0 - 接受屏蔽寄存器 N 扩展标识符的低位字节 ( 地址 : 23h, 27h)
2004 Microchip Technology Inc. DS21291E_CN33
MCP2510
注:
DS21291E_CN34 2004 Microchip Technology Inc.
MCP2510

5.0 位定时

CAN总线上所有节点都必须具有相同的比特率。CAN协 议采用反向不归零制(NRZ)编码,在数据流中不对时 钟信号进行编码。因此,接收时钟信号必须由接收节点 恢复并与发送器的时钟同步。
由于不同节点的振荡器频率以及传输时间不同,接收器 应具有某种同步到数据传输边沿的锁相环 (PLL)来同 步时钟并保持这种同步。鉴于数据采用 NRZ 编码,有 必要进行位填充以确保至少每 6 位时间发生一次边沿 , 以使数字锁相环 (DPLL) 同步。
MCP2510通过DPLL实现位定时。DPLL 被配置成同输入 数据同步,并为发送数据提供标称定时。 DPLL 将每一 个位时间分割为由基本单位为时间份额(T 多个时间段。
在位时间帧中执行的总线定时功能,例如与本地振荡器 同步,网络传输延迟补偿和采样点定位等 , 都是由 DPLL 的可编程位定时逻辑来规定的。
CAN 总线上所有器件都必须使用相同比特率。然而,并 非所有器件都要求具有相同的主振荡器时钟频率。对于 采用不同振荡器时钟频率的器件 , 应通过适当设置波特 率预分频比以及每一时间段中的时间份额的数量来对比 特率进行调整。
标称比特率是在非再同步情况下,理想振荡器中的理想 发送器每秒发送的位数。标称比特率定义的最大值为
1Mb/s
Q)所组成的
标称位时间定义为:
BIT = 1 / 标称比特率
T
可将标称位时间视为分割开的几个互不重叠的时间段。 这些时间段如图 5-1 所示。
- 同步段 (Sync_Seg
- 传播时间段 (Prop_Seg
- 相位缓冲段 1 Phase_Seg1
- 相位缓冲段 2 Phase_Seg2
标称位时间 = T Phase_Seg1 + Phase_Seg2)
时间段以及标称位时间都是由被称作时间份额或 T 整数时间单位组成的,见图 5-1。根据定义,标称位时 间长度可通过可编程设定为 8 T 义,最小标称位时间为 1µs,此时对应的最大比特率为
1Mb/s
Q * (Sync_Seg + Prop_Seg +
Q
Q 到 25 TQ。同时根据定

5-1: 位时间分区

输入信号 l
同步段
TQ
传播段
相位缓冲段 1 相位缓冲段 2
采样点
2004 Microchip Technology Inc. DS21291E_CN35
MCP2510

5.1 时间份额

时间份额(TQ)是一个由振荡器周期派生出的固定时间 单元。除了用于时钟发生的固定分频比为 2 的预分频器 外,还有一个可编程设定的波特率预分频器。其分频值 为 1 64 的整数。
时间份额定义为:
T
2* BaudRate + 1()*T
=
Q
OSC
其中,Baud Rate 是由 CNF1.BRP<5:0> 表征的二进制 数。
举例:
OSC = 16 MHz, BRP<5:0> = 00h,标称位时间
如果 F
= 8 TQ
Q= 125 nsec, 标称比特率 = 1 Mb/s
T
OSC = 20 MHzBRP<5:0> = 01h,标称位时间
如果 F
Q
= 8 T
Q= 200 nsec, 标称比特率 = 625 Kb/s
T
OSC = 25 MHzBRP<5:0> = 3Fh,正常位时间
如果 F = 25 TQ
Q = 5.12 µsec, 标称比特率 = 7.8 Kb/s
T
必须对不同节点的振荡器频率进行协调以提供整个系统 的特定标称位时间。也就是说,所有振荡器的 T
Q 整数倍。还应注意的是,尽管 TQ 的数量可编程
须是 T
OSC
设定为4至 25,但实际使用中最小值为 6TQ。若位时间 长度小于 6TQ,则不能保证系统正常工作。

5.2 同步段

位时间的同步段用于同步 CAN 总线上的各个节点。输 入信号的跳变沿就发生在同步段。 该段持续时间为
Q
1T

5.3 传播段

位时间的传播段用于补偿网络中的物理传输延迟时间。 延迟时间包括信号在总线上的传播时间以及节点的内部 延迟时间。延迟时间计算为发送器到接收器之间的往返 时间 (信号在总线上传播时间的两倍),加上输入比较 器延迟和输出驱动器延迟时间。通过设置 CNF2 寄存器 ( 见寄存器 5-2) 中的 PRSEG2:PRSEG0,传播段的长度 可编程设定为 1T
Q 8TQ
总延迟时间是根据以下各部分延迟时间计算得出的:
-2 *总线末端到末端延迟; T
-2 * 输入比较器延迟; T
BUS
COMP (取决于应用电
路)
-2 * 输出驱动器延迟; T
DRIVE (取决于应用电
路)
-1 * CAN控制器的输入至输出延迟; T
CAN
(定义最大值为 1TQ + 延迟 ns)
PROPOGATION = 2 * (TBUS + TCOMP +
-T TDRIVE) + TCAN
- Prop_Seg = TPROPOGATION / TQ

5.4 相位缓冲段

相位缓冲段用来确定在标称位时间内采样点的最佳位 置。采样点发生在相位缓冲段 1 和 相位缓冲段 2 之间。 通过再同步可以延长或缩短这两个相位缓冲段 (见第
5.7.2 节) 。因此,相位缓冲段长度值的变化就代表了 DPLL 所起的作用。在一个位时间中, 相位缓冲段 1
终点确定了采样点位置。相位缓冲段 1 的时间长度可通 过编程设定为 1T
Q 至 8TQ。相位缓冲段 2 可在下一个数
据发送之前提供延迟,其时间长度可通过编程设定 1TQ 8TQ(然而根据 IPT 要求,相位缓冲段 2 实际最 小长度为 2TQ - 见以下第 5.6 ),或取为相位缓冲段 1 与信息处理时间(IPT)两者之间的较大值(见第 5.6
节)。

5.5 采样点

采样点是一个时间点。在该时间点,总线电平被读取, 并且接收位的值被确定。采样点位于相位缓冲段 1 的终 点。如果位定时缓慢且包含多倍 T
Q,可以设定在采样点
对总线进行多次采样。接收位的数值由三个值的多数值 确定。 在采样点进行三次采样,且前两次的采样时间间
Q/2。
隔为 T

5.6 信息处理时间

信息处理时间 (IPT) 是从采样点开始的预留时间段,用 以计算后续位的电平数值。 CAN 规范中定义该时间长 度小于等于 2T
Q 因此,相位缓冲段至少应为 2TQ
2T
Q。而 MCP2510 器件将该时间长度定义
DS21291E_CN36  2004 Microchip Technology Inc.
MCP2510

5.7 同步

为补偿总线上各节点时钟振荡器频率之间的相移,每一 个 CAN 控制器必须能够与输入信号的相关信号沿同 步。同步过程是实现 DPLL 功能的过程。当检测到发送 数据中的跳变沿,逻辑电路将跳变沿的位置与所期望的 时间段 (同步段)进行比较。随后电路将对相位缓冲段
1 和相位缓冲段 2 的值作必要调整。同步具有两种形式。
5.7.1 硬同步
硬同步只有在总线空闲状态条件下隐性位到显性位的跳 变沿发生时才进行,表明报文传输开始。在硬同步之 后,位时间计数器随同步段重新开始计数。硬同步强行 将已发生的跳变沿置于重新开始的位时间同步段内。根 据同步规则,如果某一位时间内已有一个硬同步出现, 该位时间内将不会发生再同步。
5.7.2 再同步
再同步可能导致相位缓冲段 1 被延长或相位缓冲段 2 被 缩短。这两个相位缓冲段的延长时间或缩短时间上限由 再同步跳转宽度 (SJW)给定。如图 5-2,相位缓冲段 1 加入了 SJW 值而被延长。而如图 5-3,相位缓冲段 2 减去了 SJW 值而被缩短。 SJW 代表了 DPLL 的 循环滤 波功能。 SJW 可通过编程设定为 1T
时钟信息只可由隐性位到显性位的跳变沿获得。由于总 线上最多可出现连续相同值的位数是固定的,从而确保 了一帧发送期间与位流的再同步。
Q 至 4TQ
跳变沿的相位误差由相应同步段的跳变沿位置给定,并
Q 计量。相位误差定义如下:
T
如果跳变沿处于同步段内,则 e = 0
如果跳变沿处于采样点之前,则 e > 0
如果跳变沿处于前一位的采样点之后,则 e < 0
如果相位误差的幅度小于或等于再同步跳转宽度的编程 值,再同步的作用与硬同步相同。
如果相位误差幅度大于再同步跳转宽度且相位误差为正 值,相位缓冲段 1 延长再同步跳转宽度。
如果相位误差幅度大于再同步跳转宽度且相位误差为负 值,相位缓冲段 2 缩短再同步跳转宽度。
5.7.3 同步规则
在一个位时间内仅允许同步一次
只有在前一个采样点测得的值 ( 上一次读取的总线
值 ) 与紧接跳变沿之后的总线值不同,该跳变沿才 可用于同步。
符合以上规则 1 2 的所有其它隐性位至显性位的
跳变沿都将被用于再同步 , 除非,由于隐性位到 显性位的跳变沿发生正向误差 , 致使发送显性位 的节点不执行再同步。

5-2: 延长一个位周期

输入信号
同步段
TQ
传播段 相位缓冲段 1 相位缓冲段 2
SJW
采样点
标称位长度
实际位长度
2004 Microchip Technology Inc. DS21291E_CN37
MCP2510

5-3: 缩短一个位周期

输入信号
相位缓冲段 1
TQ
同步段
传播段

5.8 对时间段编程

时间段的编程设定须满足以下要求:
传播段 + 相位缓冲断 1 >= 相位缓冲断 2
传播段 + 相位缓冲断 1 >= T
相位缓冲断 2 > 同步跳转宽度
例如,假设 FOSC = 20 MHz 时欲实现 125 kHz CAN 波 特率 :
OSC = 50 nsec选择 BRP<5:0> = 04h,则 TQ
T 500 nsec。欲达到 125 kHz,位时间应为 16TQ
位的采样时刻取决于系统参数,通常应发生在位时间的 60-70% 处。同时, T
同步段 = 1T 冲段 1 = 7TQ,将会在跳变之后的 10TQ 时进行采样。 时相位缓冲段 2 长度为 6T
由于相位缓冲段 2 长度为 6,根据规则,SJW 最大值 为
Q。然而通常情况下,只有当不同节点的时钟发生不
4T
够精确或不稳定时,例如采用陶瓷谐振器时,才需要较 大的 SJW。一般情况下, SJW 取 1 即可满足要求。
Q,传播段 = 2TQ ; 这种情况下设置相位缓
DELAY 典型值为 1-2TQ
DELAY
Q
SJW
标称位长度
采样点
相位缓冲段 2
实际位长度

5.9 振荡器容差

位定时要求允许传输速率最高达 125 k / 秒的应用采 用陶瓷谐振器。要满足 CAN 协议的整个速度范围的要 求,应采用石英振荡器。 节点到节点振荡器频率偏差最 多不应超过 1.7%
=
DS21291E_CN38  2004 Microchip Technology Inc.
MCP2510

5.10 位定时配置寄存器

CAN 总线接口的位定时由配置寄存器 (CNF1 CNF2 CNF3)控制。只有当 MCP2510 处于配置模式时,才能 对这些寄存器进行修改,见第 9.0 节。
5.10.1 CNF1
BRP<5:0> 控制波特率预分频器的设置。这些位根据 OSC1 输入频率设定 TQ 的时间长度。当 BRP<5:0> 设置
000000TSJW<1:0> 的位可选择以 TQ 计的同步跳转宽度。
5.10.2 CNF2
PRSEG<2:0> 的位设定以 TQ 计的传播段时间长度。 PHSEG1<2:0> 设定相位缓冲段 1 的时间长度,以 T
计。 SAM 位控制对 RXCAN 引脚进行采样的次数。将该 位设置为 ‘1’ 将对总线进行 3 次采样,其中前两次发生
寄存器 5-1: CNF1 - 配置寄存器 1 ( 地址2Ah)
Q 取最小值为 2 个 OSC1 时钟周期。
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
SJW1 SJW0 BRP5 BRP4 BRP3 BRP2 BRP1 BRP0
bit 7 bit 0
bit 7-6
bit 5-0
SJW<1:0>:同步跳转宽度
11 = 长度 = 4xT 10 = 长度 = 3xTQ 01 = 长度 = 2xTQ 00 = 长度 = 1xTQ
BRP<5:0>:波特率预分频器
Q = 2 x (BRP + 1) / FOSC
T
Q
Q
在采样点前 T 间点 (即相位缓冲段 1 的终点)。 总线数值由至少两次 采样的相同值确定。如果 SAM 位设定为 ‘0’,则 只在采 样点时刻对 RXCAN 引脚状态进行一次采样。 BTLM- ODE 位控制如何确定相位缓冲段 2 的长度。如果该位设 置为 ‘1’,则相位缓冲段 2 长度由 CN3 PHSEG2<2:0> 状态决定 (见第 5.10.3 节)。 如果 BTLMODE 位设置 ‘0’,则相位缓冲段 2 长度取为相位缓冲段 1 和信息处 理时间 (MCP2510 中为固定值 2T
Q/2 时间点,而第三次发生在正常采样时
Q)之间的较大值。
5.10.3 CNF3
如果 CNF2.BTLMODE 位置 ‘1’,相位缓冲段 2 的时间 长度将由 PHSEG2<2:0> 设定,该长度以 T
BTLMODE 位置为 ‘0’,则 PHSEG2<2:0> 将不起作用。
Q 计 。如果
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
2004 Microchip Technology Inc. DS21291E_CN39
MCP2510
寄存器 5-2: CNF2 - 配置寄存器 2 ( 地址:29h)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
BTLMODE SAM PHSEG12 PHSEG11 PHSEG10 PRSEG2 PRSEG1 PRSEG0
bit 7 bit 0
bit 7
bit 6
bit 5-3
bit 2-0
BTLMODE: 相位段 2 位时间长度
1 = 相位段 2 位时间长度由 CNF3 中的 PHSEG22:PHSEG20 确定 0 = 相位段 2 位时间长度取相位缓冲段 1 和 IPT (2T
SAM: 采样点配置
1 = 在采样点对总线进行三次采样 0 = 在采样点对总线进行一次采样
PHSEG1<2:0>:相位段 1 位时间长度
(PHSEG1 + 1) x T
PRSEG<2:0>:传播段长度
(PRSEG + 1) x T
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
Q
Q
寄存器 5-3: CNF3 - 配置寄存器 3 ( 地址
U-0 R/W-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0
WAKFIL PHSEG22 PHSEG21 PHSEG20
bit 7 bit 0
bit 7
bit 6
bit 5-3
bit 2-0
未用: 读作 '0'
WAKFIL:唤醒输入引脚滤波使能位
1 = 唤醒输入引脚滤波使能 0 = 唤醒输入引脚滤波禁止
未用: 读作 '0'
PHSEG2<2:0>:相位段 2 长度
(PHSEG2 + 1) x T
注: 相位段 2 的最小有效设定为 2TQ
Q
Q) 之间的较大值
28h)
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
DS21291E_CN40  2004 Microchip Technology Inc.
MCP2510

6.0 错误检测

CAN 协议提供了完备的错误检测机制,可以检测到以 下错误。

6.1 CRC 错误

发送节点通过循环冗余校验(CRC)计算特殊校验位来 确定从帧起始到数据字段结束时的位序列。 CRC 序列CRC 字段发送。 接收节点采用相同公式计算 CRC 序列,并将计算结果与收到的 CRC 序列相比较。如果 两者不匹配,接收节点将产生错误帧,表明检测到 CRC 出错。出错报文将重新发送。

6.2 确认错误

在报文的确认字段,发送器检查确认间隙(已发送为隐 性位)是否包含一个显性位。如果没有,表明没有任何 其它节点正确接收到报文。这时将发生确认错误,并产 生一个错误帧,报文将重新发送。

6.3 格式错误

如果一个节点在帧结尾,帧间空间,确认定界符或 CRC 定界符等四个位段中的任一位段中检测到显性位,将产 生出错帧表明检测到格式出错。报文将重新发送。

6.4 位错误

当发送节点发送了一个显性位但检测到一个隐性位,或 发送一个隐性位但检测到一个显性位,同时该发送节点 正在监控总线实际电平并将之与刚刚发送的位相比较, 这时将产生一个位错误。如果发送节点发送一个隐性位 但在仲裁字段和确认间隙期间检测到一个显性位,由于 总线仲裁正在进行,此时将不产生位错误。

6.5 位填充错误

在帧起始和 CRC 定界符之间,如果节点检测到 6 个连 续且极性相同的位,说明违反了位填充规则。此时节点
将产生错误帧表明发生了位填充错误。报文将重新发 送。

6.6 错误状态

当某个节点检测到总线出错时,将以错误帧的形式向所 有其它节点进行报告。 出错报文的发送将被中止,并尽
快进行重新发送。而且根据内部错误计数器的计数值, 每一个 CAN 节点都被设定为错误主动模式 “ 错误消
极模式 总线关闭 三种工作模式之一。错误主动模 式是通常的状态,处于该模式的节点可以不受任何限制
地发送报文和主动错误帧 (由显性位构成)。 处于错误 消极模式的节点可以发送报文和被动错误帧(由隐性位
构成)。处于总线关闭模式的节点暂时不能参与总线通 信。这种状态下,不能进行报文发送或接收。

6.7 错误模式和错误计数器

MCP2510 具有两个错误计数器: 接收错误计数器
REC)(见寄存器 6-2),以及发送错误计数器 (TEC)(见寄存器 6-1)MCU 可读取这两个计数器的
值。计数器根据 CAN 总线规范进行增减计数。
如果两个计数器的值同时低于错误消极模式限定值 128 MCP2510 将工作于错误主动模式。当至少一个 计数器的计数值等于或大于 128 时,器件将转为错误消 极模式。如果发送错误计数器计数值超过总线关闭模式 限定值 256,器件将被转为总线关闭模式。器件将始终 处于总线关闭模式直至接收到总线关闭恢复序列。总线 关闭恢复序列由重复 128 次的 11 个连续隐性位组成(见 图 6-1)。注意,如果总线保持空闲状态时间长达 128 X 11 位时间, MCP2510 在总线关闭结束后将无须 MCU 干预,可自动恢复错误主动模式。 如果不希望其自动恢 复,应通过错误中断服务程序来定义。 MCU 可通过 EFLG 寄存器读取当前 MCP2510 器件的错误模式 (见 寄存器 6-3)。
除此之外, EFLG 寄存器中还有一个出错状态警告标志 位 EFLG:EWARN。当至少一个发送或接收错误计数器 的计数值等于或超过错误警告限定值 96 时,该标志位 将被置位。当接收与发送错误计数器的计数值同时小于 出错警告限定值时, EWARN 将被复位。
2004 Microchip Technology Inc. DS21291E_CN41
MCP2510

6-1: 错误模式状态原理图

复位
REC > 127 TEC > 127
TEC > 255
REC < 127 TEC < 127
寄存器 6-1: TEC - 发送错误计数器 ( 地址 : 1Ch)
R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0
TEC7 TEC6 TEC5 TEC4 TEC3 TEC2 TEC1 TEC0
bit 7 bit 0
bit 7-0
TEC<7:0>:发送错误计数值
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
接收到重复 128 次连续 11 个隐性位
寄存器 6-2: REC - 接收错误计数器 ( 地址 : 1Dh)
R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0
REC7 REC6 REC5 REC4 REC3 REC2 REC1 REC0
bit 7 bit 0
bit 7-0
DS21291E_CN42  2004 Microchip Technology Inc.
REC<7:0>:接收错误计数值
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 t’0 = 清零值 x = 未知
寄存器 6-3: EFLG - 错误标志寄存器 ( 地址 : 2Dh)
R/W-0 R/W-0 R-0 R-0 R-0 R-0 R-0 R-0
RX1OVR RX0OVR TXBO TXEP RXEP TXWAR RXWAR EWARN
bit 7 bit 0
bit 7 RX1OVR:接收缓冲器 1 溢出标志
- RXB1 收到有效报文且 CANINTF.RX1IF = 1 时置 1
- 应由 MCU 复位
bit 6 RX0OVR接收缓冲器 1 溢出标志
- 当 RXB0 收到有效报文且 CANINTF.RX0IF = 1 时置 1
- 应由 MCU 复位
bit 5
bit 4 TXEP:发送错误计数值大于错误消极模式限定值标志
bit 3 RXEP:接收错误计数值大于错误消极模式限定值标志
bit 2 TXWAR:发送错误警告标志
bit 1
bit 0
TXBO:总线关闭出错标志
- TEC 达到 255,该位置 1
- 当成功接收到总线恢复序列时复位
- TEC 计数值等于或大于 128 时,该位置 1
- TEC 小于 128 时复位
- 当 REC 计数值等于或大于 128 时,该位置 1
- REC 小于 128 时复位
- TEC 计数值等于或大于 96 时,该位置 1
- TEC 小于 96 时复位
RXWAR:接收错误警告标志
- REC 计数值等于或大于 96 时,该位置 1
- REC 小于 96 时复位
EWARN:错误警告标志
- TEC REC 计数值等于或大于 96 (TXWAR RXWAR = 1),该位置 1
- REC TEC 计数值皆小于 96 时复位
MCP2510
图注:
R = 可读位 W = 可写位 U = 未用, 读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
2004 Microchip Technology Inc. DS21291E_CN43
MCP2510
注:
DS21291E_CN44 2004 Microchip Technology Inc.
MCP2510

7.0 中断

器件具有 8 个中断源。 CANINTE 寄存器中包含了使能 各个中断源的中断使能控制位。 CANINTF 寄存器中包 含了各个中断源的中断标志位。当有中断请求发生, INT 引脚将置为低电平,并维持低电平状态直至 MCU 清除中断标志。中断标志只有在引起相应中断请求条件 消失后,才能被清除。
建议在对 CANINTF 寄存器中的中断标志位进行复位操 作时,采用位修改命令而不要使用普通的写操作。这是 为了避免在写命令执行中无意间修改了标志位,从而导 致中断请求信号的丢失。
应注意, CANINTF 中的中断标志位为可读写位,因此 在相关 CANINTE 中断使能位置 1 的前提下,对上述任 何一位进行置位均可使 MCU 产生中断请求。

7.1 中断码位

如寄存器 9-2 所示, CANSTAT.ICOD (中断代码) 中的编码反映等待处理的中断源。 如果多个中断请求同 时发生, INT 有中断。 CANSTAT.ICOD 中断代码位将反映当前等待 处理的最高优先级中断的代码。 在中断源之间存在内部 优先级, ICOD 编码值越低,其中断优先级越高。 一旦 最高优先级的中断被清除,等待处理的次高级中断(如 果存在)代码将被反映在 ICOD 位中 (见表 7-1)。 应 注意,只有那些被中断使能的中断才会被反映在 ICOD 位中。

7-1: ICOD<2:0> 解码

ICOD<2:0> 布尔表达式
000
001
010
011
100
101
110
111
引脚将保持低电平状态直至 MCU 清除所
ERR•WAK•TX0•TX1•TX2•RX0•RX1
ERR
ERR•WAK
ERR•WAK•TX0
ERR•WAK•TX0•TX1
ERR•WAK•TX0•TX1•TX2
ERR•WAK•TX0•TX1•TX2•RX0
ERR•WAK•TX0•TX1•TX2•RX0•RX1

7.2 发送中断

在发送中断使能(CANINTE.TXNIE = 1)的条件下,如 果相关发送缓冲器空并处于新报文装载就绪状态时,器 件会在INT 引脚产生中断请求信号。 CANINTF.TXNIF发 送中断标志位将被置位以显示中断源。 MCU 通过将
NIF 位置 0 来清除中断。
TX

7.3 接收中断

在接收中断使能(CANINTE.RXNIE = 1)的条件下,如 果报文成功接收并被载入相关接收缓冲器时,器件会在 INT 引脚产生中断请求信号。 在接收到 EOF 字段后,该 中断立即被激活。 CANINTF.RX 被置位以显示中断源。 MCU 通过将 RX 除中断。
NIF 接收中断标志位将
NIF 位复位来清

7.4 报文错误中断

如果报文发送和接收过程中出现错误,报文出错标志
CANINTF.MERRF)将被置 1,此时若相应的 CAN-
INTE.MERRE 中断使能位也被置 1,器件将在 INT 引脚 产生中断请求信号。 该中断功能在与只听模式联用时被 用来加快波特率的确定。

7.5 总线活动唤醒中断

MCP2510 处于休眠模式且总线活动唤醒中断被使能 时 (CANINTF.WAKIF=1),在 INT 引脚上将产生中断请 求,并且当 CAN 总线上检测到活动状态时, CANINTF.WAKIF 位将被置 1。该中断会使 MCP2510 脱离休眠模式。 MCU 通过将 WAKIF 位清零来清除该中 断。
2004 Microchip Technology Inc. DS21291E_CN45
MCP2510

7.6 错误中断

在错误中断使能时(CANINTE.ERRIE = 1),如果发生 溢出或发送 / 接收节点的状态发生改变,器件将在 INT 引脚产生中断请求。错误标志寄存器 (EFLG)将会显 示以下错误中断状况之一。
7.6.1 接收缓冲器溢出
MAB 已完成对所收到的有效报文的组合 (该报文符 合验收滤波器的接收条件),而此时与该滤波器相关的 接收缓冲器尚无法接收报文,这时将发生溢出。相应的
EFLG.RX MCU 清除。 .
7.6.2 接收节点警告
接收错误计数器计数值达到 MCU 警告限定值 96
7.6.3 发送节点警告
发送错误计数器计数值达到 MCU 警告限定值 96
NOVR 位将被置 1,表明发生溢出。该位必须
7.6.4 接收节点错误消极模式
接收错误计数器超出错误消极模式限定值 127,且器件 进入错误消极状态。
7.6.5 发送节点错误消极模式
发送错误计数器超出错误消极模式限定值 127,且器件 进入错误消极模式。
7.6.6 总线关闭模式
发送错误计数器超出 255,且器件进入总线关闭状态。

7.7 中断确认

中断与 CANINTF 寄存器中的一个或多个状态标志直接 相关。只要其中一个标志位置位,所有中断就将保持等 待发送状态。 一旦器件设置了中断标志,在中断条件消 除之前 MCU 将不能将其复位。
DS21291E_CN46 2004 Microchip Technology Inc.
寄存器 7-1: CANINTE - I 中断使能寄存器 ( 地址 : 2Bh)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
MERRE WAKIE ERRIE TX2IE TX1IE TX0IE RX1IE RX0IE
bit 7 bit 0
bit 7 MERRE报文错误中断使能
1 = 报文接收或发送错误中断 0 = 中断禁止
bit 6 WA KIE :唤醒中断使能
1 = CAN 总线活动中断 0 = 中断禁止
bit 5 ERRIE:错误中断使能 ( EFLG 寄存器中包含了多种引起错误中断的状态标志位 )
1 = EFLG 错误状态变化中断 0 = 中断禁止
bit 4 TX2IE:发送缓冲器 2 空中断使能
1 = TXB2 为空时中断 0 = 中断禁止
bit 3 TX1IE:发送缓冲器 1 空中断使能
1 = TXB1 为空时中断 0 = 中断禁止
bit 2 TX0IE:发送缓冲器 0 空中断使能
1 = TXB0 为空时中断 0 = 中断禁止
bit 1 RX1IE:接收缓冲器 1 满中断使能
1 = RXB1 装入报文时中断 0 = 中断禁止
bit 0 RX0IE接收缓冲器 0 满中断使能
1 = RXB0 装入报文时中断 0 = 中断禁止
MCP2510
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
2004 Microchip Technology Inc. DS21291E_CN47
MCP2510
寄存器 7-2: CANINTF - 中断标志寄存器 ( 地址 : 2Ch)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
MERRF WAKIF ERRIF TX2IF TX1IF TX0IF RX1IF RX0IF
bit 7 bit 0
bit 7 MERRF:报文出错中断标志
1 = 有等待处理的中断 (此位应由 MCU 清除以使中断复位) 0 = 无等待处理的中断
bit 6 WAKIF:唤醒中断标志
1 = 有等待处理的中断 (此位应由 MCU 清除以使中断复位) 0 = 无等待处理的中断
bit 5 ERRIF:出错中断标志 ( EFLG 寄存器中包含了多种引起出错中断的状态标志位
1 = 有等待处理的中断 (此位应由 MCU 清除以使中断复位) 0 = 无等待处理的中断
bit 4 TX2IF:发送缓冲器 2 空中断标志
1 = 有等待处理的中断 (此位应由 MCU 清除以使中断复位) 0 = 无等待处理的中断
bit 3 TX1IF:发送缓冲器 1 空中断标志
1 = 有等待处理的中断 (此位应由 MCU 清除以使中断复位) 0 = 无等待处理的中断
bit 2 TX0IF发送缓冲器 0 空中断标志
1 = 有等待处理的中断 (此位应由 MCU 清除以使中断复位) 0 = 无等待处理的中断
bit 1 RX1IF:接收缓冲器 1 满中断标志
1 = 有等待处理的中断 (此位应由 MCU 清除以使中断复位) 0 = 无等待处理的中断
bit 0 RX0IF:接收缓冲器 0 满中断标志
1 = 有等待处理的中断 (此位应由 MCU 清除以使中断复位) 0 = 无等待处理的中断
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 复位值 x = 未知
DS21291E_CN48  2004 Microchip Technology Inc.
MCP2510

8.0 时钟振荡器

MCP2510 设计使用晶体振荡器或陶瓷振荡器作为时钟 振荡器,它们应连接在 OSC1 和 OSC2 引脚上。 MCP2510 的振荡器设计要求选用并联切割晶体振荡 器。若使用串联晶振,其产生的时钟频率可能超出厂商 规定值。图 8-1 显示了一个典型时钟振荡器电路。 MCP2510 也可由连接在 OSC1 引脚上的外部时钟源来 驱动,如图 8-2 8-3

8.1 时钟振荡器起动定时器

MCP2510 采用了一个振荡起动定时器 (OST),它将 MCP2510 保持在复位状态以保证内部状态机开始运行
之前,时钟振荡器已处于稳定状态。初始上电、复位以 及从休眠模式唤醒后的最初 128 OSC1 时钟周期内,
OST 将保持复位状态。应注意,在 OST 超时前不应进行 SPI 操作。

8-1: 晶体 / 陶瓷谐振器工作原理图

OSC1
C
1

8.2 CLKOUT 引脚

时钟输出引脚是供系统设计人员使用的主系统时钟,或 作为系统中其它器件的时钟源。CLKOUT 具备一个内部 预分频器,可将 FOSC 除以 1 2, 4 和 8 可通过设定 CANCNTRL 寄存器来使能 CLKOUT功能并选择预分频 器 (见寄存器 9-1) 系统复位时, CLKOUT 引脚被激 活,其缺省设置为最低频率的时钟输出 (8 分频),从 而可作为 MCU 的时钟信号。当要求器件进入休眠模式 时, MCP2510 会在 CLKOUT 引脚上驱动 16 个时钟周 期,然后才进入休眠模式。 处于休眠模式时的 CLKOUT 引脚的空闲状态为低电平。 当 CLKOUT 时钟输出功能 被禁止时 (CANCNTRL.CLKEN = ‘0’) CLKOUT 引脚 处于高阻状态。
CLKOUT 设计具备的功能是保证无论 CLKOUT 引脚处
于使能、禁止或预分频器的设定值改变时, t
CLKOUT
t
l
的时间设定都能得到保留。
接到内部逻辑电路
CLKOUT
h
1: 采用 AT 条形切割晶振时 ,可如图中接入一个串联电阻 RS。 注 2: 图中反馈电阻 R

8-2: 外部时钟源

1: 在此引脚接入一个对地电阻可以减少系统噪音,但同时会导致系统电流增加。 注 2: 应注意对占空比的限制 (见表 12-2)。
XTAL
(1)
S
R
C
2
OSC2
F 典型值为 2 至 10 MΩ.
(1)
开路
RF
(2)
休眠
OSC1
OSC2
2004 Microchip Technology Inc. DS21291E_CN49
MCP2510
8-3: 外部串联谐振晶振电表 12-2 路图
330 k
74AS04
330 k
74AS04
0.1 mF
XTAL
1: 应注意对占空比的限制 (见表 12-2)。
74AS04
MCP2510
OSC1
DS21291E_CN50  2004 Microchip Technology Inc.
MCP2510

9.0 工作模式

MCP2510 具有 5 种工作模式,分别为:
通过设定 CANCTRL. REQOP 位,可选择工作模式(见 寄存器 9-1)。改变工作模式时,新的工作模式需等到所 有报文传输完毕之后才能生效。因此在运行另一种模式 之前,用户在进行下一步操作时应先确认器件是否已进 入该工作模式。通过读取 CANSTAT. OPMODE 位(见 寄存器 9-2)可以查验当前工作模式。

9.1 配置模式

正常运行之前,必须对 MCP2510 进行初始化。只有在 配置模式下,才能对器件进行初始化。 在初始上电或复 位时,器件自动进入配置模式。将 CANTRL.REQOP 设 置为 ‘100’ 也可以使器件进入配置模式。 当进入配置模 式时,所有错误计数器将被清零。只有在配置模式下, 才能对下列的寄存器进行修改。
• CNF1, CNF2, CNF3
• TXRTSCTRL
接收滤波寄存器
接收屏蔽寄存器
只有当 CANSTAT.OPMODE 读数为 ‘100’ 时,才能进行 初始化操作,并对配置寄存器,接收过滤寄存器以及接 收屏蔽寄存器进行写操作。配置完成之后,可以通过设 定 CANCTRL.REQOP 以使器件进入正常工作模式(或 其他工作模式)。
脚将保持隐性状态。注意,即使在报文发送时器件也将 中断报文发送立即进入休眠模式。因此在设定休眠模式 前,应确认所有 TXREQ 位均已被清除。
9.2.1 唤醒功能
处于休眠模式下的器件将监视 RXCAN 引脚的总线活动 情况。 如果 CANINTE.WAKIE 位置位,器件将被唤醒并 产生中断请求。 由于休眠模式下内部时钟振荡器处于关 断状态, 因此唤醒后,需要一段时间让时钟振荡器起 动,并使器件进入报文接收使能状态。器件将忽略导致 器件从休眠中唤醒的报文,以及器件唤醒过程中的任何 报文。 器件唤醒之后处于监听模式。因此 MCU 应先将 器件设定为正常工作模式,然后再使 MCP2510 进行总 线通信。
当器件处于内部休眠模式时,通过对器件进行编程设定 可以在 RXCAN 输入线路中加入低通滤波功能。该功能 可以避免由于 CAN 总线上的短时脉冲干扰而导致器件 误唤醒。 通过设定 CNF3.WAKFIL 位可以使能或禁止该 滤波器。

9.3 监听模式

监听模式使 MCP2510 可以接收包括错误报文在内的所 有报文。这种模式可用于总线监视的应用或热插拔状况 下的波特率检测。进行自动波特检测时,网络中应至少 有其它两个正在互相通信的节点。可以通过经验方法对 不同的取值进行测试直至接收到有效报文。 监听模式是 一种静音模式,即器件不能发送包括错误标志或确认信 号在内的任何报文。可通过滤波器和屏蔽器来接收特定 的报文,或将滤波屏蔽位全部设定为零以接收任何报 文。在该模式下,错误计数器将被复位并被设置为无 效。通过设定 CANCTRL 寄存器中的模式请求位可以激 活监听模式。

9.2 休眠模式

MCP2510具有内部休眠模式,以降低器件的功耗。即使 MCP2510 处于休眠模式,SPI 接口仍能保持正常工作
以允许访问器件内的所有寄存器。
只需设置 CANCTRL 寄存器中的模式请求位即可进入休 眠模式。通过查询 CANSTAT.OPMODE 状态可以确定 器件是否已进入休眠模式。应在向 MCP2510 发送休眠 命令后,再查询 CANSTAT.OPMODE 的状态。只有在
CANSTAT.OPMODE 指示器件已进入休眠模式后, MCP2510才真正进入休眠状态。在内部休眠模式下,唤
醒中断仍然有效 (如果该中断被使能) 。这样还可将 MCU 置于休眠模式,当用 MCP2510 在检测到总线活动 后,唤醒 MCU
注: 注意,不应在报文传输时使 MCP2510
入休眠模式。否则,报文传输将中止,并在 总线上产生错误标志。而且报文将被暂停,
并等待器件唤醒之后继续发送。 在休眠模式下, MCP2510 内部时钟振荡器将停止工 作。当总线发生活动时,或 MCU 通过 SPI 接口设定 CANINTF.WAKIF位以产生唤醒中断 (CANINTF.WAKIF 位也必须被置位以便唤醒中断产生 ) 时,均可唤醒 MCP2510。当 MCP2510 处于休眠模式时,TXCAN
2004 Microchip Technology Inc. DS21291E_CN51
MCP2510

9.4 回环模式

该模式可使器件内部发送缓冲器和接收缓冲器之间进行 报文自发自收,而无须通过 CAN 总线。该模式可用于 系统研发和测试。回环模式下应答位 ACK 无效,器件 接收自己发送的报文就如同接收来自其它节点的报文。 回环模式是一个静音模式,即器件不能通过总线发送包 括错误标志或确认信号在内的任何报文。 在该模式下, 器件的 TXCAN 引脚处于隐性状态。可通过设定滤波器 和屏蔽器以接收特定的报文。也可以将滤波屏蔽位全部 置零来接收所有的报文。通过设定 CANCTRL 寄存器中 的模式请求位可激活回环模式。

9.5 正常模式

该模式为 MCP2510 标准工作模式。该模式下,器件主 动监视总线上的所有报文,并产生确认位和错误帧等。 只有在正常工作模式下, MCP2510 才能在 CAN 总线 上进行报文的传输。
寄存器 9-1: CANCTRL - CAN 控制寄存器 (地址 : XFh
R/W-1 R/W-1 R/W-1 R/W-0 U-0 R/W-1 R/W-1 R/W-1
REQOP2 REQOP1 REQOP0 ABAT
bit 7 bit 0
bit 7-5
bit 4
bit 3
bit 2
bit 1-0
REQOP<2:0>: 工作模式设定
000 = 设定为正常工作模式 001 = 设定为休眠模式 010 = 设定为回环模式 011 = 设定为监听模式 100 = 设定为配置模式
REQOP 不应设定为其它任何值,任何其它设定值皆为无效。
注: 上电复位时, REQOP = b'111'
ABAT: 报文发送中止设定
1 = 请求中止所有等待发送的发送缓冲器 0 = 终止报文发送中止请求
未用 : 读作 '0'
CLKEN: CLKOUT 引脚使能设定
1 =CLKOUT 引脚使能 0 =CLKOUT 引脚禁止 (引脚处于高阻状态)
CLKPRE <1:0>: CLKOUT 引脚预分频器设定
CLKOUT = 系统时钟频率 /1
00 =F
CLKOUT = 系统时钟频率 /2
01 =F 10 =F
CLKOUT = 系统时钟频率 /4
11 =FCLKOUT = 系统时钟频率 /8
CLKEN CLKPRE1 CLKPRE0
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
DS21291E_CN52  2004 Microchip Technology Inc.
寄存器 9-2: CANSTAT - CAN 状态寄存器 (地址 : XEh)
R-1 R-0 R-0 U-0 R-0 R-0 R-0 U-0
OPMOD2 OPMOD1 OPMOD0
bit 7 bit 0
ICOD2 ICOD1 ICOD0
MCP2510
bit 7-5
bit 4
bit 3-1
bit 0
OPMOD<2:0>:工作模式
000 = 器件处于正常工作模式 001 = 器件处于休眠模式 010 = 器件处于回环模式 011 = 器件处于监听模式 100 = 器件处于配置模式
未用 : 读作 '0'
ICOD<2:0>:中断标志码
000 = 无中断 001 = 出错中断 010 = 唤醒中断 011 = TXB0 中断 100 = TXB1 中断 101 = TXB2 中断 110 = RXB0 中断 111 = RXB1 中断
未用 : 读作 '0'
图注:
R = 可读位 W = 可写位 U = 未用,读作 ‘0’
-n = 上电复位值 ’1’ = 置位值 ’0’ = 清零值 x = 未知
2004 Microchip Technology Inc. DS21291E_CN53
MCP2510
注:
DS21291E_CN54 2004 Microchip Technology Inc.
MCP2510

10.0 寄存器映射表

读写。一些特定控制和状态寄存器允许使用 SPI 位修改 命令进行单独位的设定。可以使用位修改命令对表 10-
10-1 列出了 MCP2510 寄存器映射表。 通过使用行
(低 4 位)列 (高 4 位)值可对映射表中的寄存器地址
1中的阴影部分的寄存器进行位修改操作。10-2中列 出了 MCP2510 所有控制寄存器的汇总表。
进行确定。 寄存器的地址排列优化了寄存器数据的顺序

10-1: CAN 控制寄存器映射表

低地址位 高地址位
x000 xxxx x001 xxxx x010 xxxx x0011 xxxx x100 xxxx x101 xxxx x110 xxxx x111 xxxx
0000 RXF0SIDH RXF3SIDH RXM0SIDH
0001 RXF0SIDL RXF3SIDL RXM0SIDL TXB0SIDH TXB1SIDH TXB2SIDH RXB0SIDH RXB1SIDH
0010 RXF0EID8 RXF3EID8 RXM0EID8 TXB0SIDL TXB1SIDL TXB2SIDL RXB0SIDL RXB1SIDL
0011 RXF0EID0 RXF3EID0 RXM0EID0 TXB0EID8 TXB1EID8 TXB2EID8 RXB0EID8 RXB1EID8
0100 RXF1SIDH RXF4SIDH RXM1SIDH TXB0EID0 TXB1EID0 TXB2EID0 RXB0EID0 RXB1EID0
0101 RXF1SIDL RXF4SIDL RXM1SIDL TXB0DLC TXB1DLC TXB2DLC RXB0DLC RXB1DLC
0110 RXF1EID8 RXF4EID8 RXM1EID8 TXB0D0 TXB1D0 TXB2D0 RXB0D0 RXB1D0
0111 RXF1EID0 RXF4EID0 RXM1EID0 TXB0D1 TXB1D1 TXB2D1 RXB0D1 RXB1D1
1000 RXF2SIDH RXF5SIDH
1001 RXF2SIDL RXF5SIDL
1010 RXF2EID8 RXF5EID8
1011 RXF2EID0 RXF5EID0
1100
1101
1110 CANSTAT CANSTAT CANSTAT CANSTAT CANSTAT CANSTAT CANSTAT CANSTAT
1111
注: 可以采用位修改指令对表中阴影部分的寄存器进行单独位的位修改
BFPCTRL TEC CANINTF TXB0D6 TXB1D6 TXB2D6 RXB0D6 RXB1D6
TXRTSCTRL REC EFLG TXB0D7 TXB1D7 TXB2D7 RXB0D7 RXB1D7
CANCTRL CANCTRL CANCTRL CANCTRL CANCTRL CANCTRL CANCTRL CANCTRL
CNF3 TXB0D2 TXB1D2 TXB2D2 RXB0D2 RXB1D2
CNF2 TXB0D3 TXB1D3 TXB2D3 RXB0D3 RXB1D3
CNF1 TXB0D4 TXB1D4 TXB2D4 RXB0D4 RXB1D4
CANINTE TXB0D5 TXB1D5 TXB2D5 RXB0D5 RXB1D5
TXB0CTRL TXB1CTRL TXB2CTRL RXB0CTRL RXB1CTRL

10-2: 控制寄存器汇总

寄存器
名称
BFPCTRL 0C B1BFS B0BFS B1BFE B0BFE B1BFM B0BFM --00 0000
TXRTSCTRL 0D B2RTS B1RTS B0RTS B2RTSM B1RTSM B0RTSM --xx x000
CANSTAT xE OPMOD2 OPMOD1 OPMOD0 ICOD2 ICOD1 ICOD0 100- 000-
CANCTRL xF REQOP2 REQOP1 REQOP0 ABAT CLKEN CLKPRE1 CLKPRE0 1110 -111
TEC 1C 发送错误计数器 0000 0000
REC 1D 接收错误计数器 0000 0000
CNF3 28 WAKFIL PHSEG22 PHSEG21 PHSEG20 -0-- -000
CNF2 29 BTLMODE SAM PHSEG12 PHSEG11 PHSEG10 PRSEG2 PRSEG1 PRSEG0 0000 0000
CNF1 2A SJW1 SJW0 BRP5 BRP4 BRP3 BRP2 BRP1 BRP0 0000 0000
CANINTE 2B MERRE WAKIE ERRIE TX2IE TX1IE TX0IE RX1IE RX0IE 0000 0000
CANINTF 2C MERRF WAKIF ERRIF TX2IF TX1IF TX0IF RX1IF RX0IF 0000 0000
EFLG 2D RX1OVR RX0OVR TXBO TXEP RXEP TXWAR RXWAR EWARN 0000 0000
TXB0CTRL 30 ABTF MLOA TXERR TXREQ TXP1 TXP0 -000 0-00
TXB1CTRL 40 ABTF MLOA TXERR TXREQ TXP1 TXP0 -000 0-00
TXB2CTRL 50 ABTF MLOA TXERR TXREQ TXP1 TXP0 -000 0-00
RXB0CTRL 60 RXM1 RXM0 RXRTR BUKT BUKT FILHIT0 -00- 0000
RXB1CTRL 70 RSM1 RXM0 RXRTR FILHIT2 FILHIT1 FILHIT0 -00- 0000
地址
(Hex)
7 6 5 4 3 2 1 0
上电复位值
2004 Microchip Technology Inc. DS21291E_CN55
MCP2510
注:
DS21291E_CN56 2004 Microchip Technology Inc.
MCP2510

11.0 SPI 接口

11.1 概述

MCP2510 设计可与许多微控制器的串行外设接口
SPI)直接相连,支持 0,0 1,1 运行模式。外部数据
和命令通过 SI 引脚传送到器件中,而数据在 SCK 时钟 信号的上升沿传送进去。MCP2510 在 SCK 下降沿通过
SO 引脚发送表 11-1 列出了所有操作的指令字节。有关 0,0 1,1 运行模式详细的输入输出时序请参见图 11-8 11- 9

11.2 读指令

在读操作开始时, CS 引脚将被置为低电平。随后 读指 令和 8 位地址码(A7 A0)将被依次送入 MCP2510 。 在接收到读指令和地址码之后, MCP2510 指定地址寄 存器中的数据将被移出通过 SO 引脚进行发送。每一数 据字节移出后, 器件内部的地址指针将自动加一以指向 下一地址。因此可以对下一个连续地址寄存器进行读操 作。通过该方法可以顺序读取任意个连续地址寄存器中 的数据。 通过拉高 CS11- 2

11.3 写指令

CS 引脚为低电平启动写操作。 启动写指令后,地址 码以及至少一个字节的数据被依次发送到 MCP2510 。 只要 CS 保持低电平,就可以对连续地址寄存器进行顺 序写操作。在 SCK 引线上的上升沿,数据字节将从 D0 位开始依次被写入。如果 CS 未发送完之前跳变到高电平,该字节的写操作将被中 止,而之前发送的字节已经写入。有关详细的字节写操 作时序请参见图 11- 3
引脚电平可以结束读操作,见
引脚在字节的 8 位数据尚

11.6 位修改指令

位修改命令提供了一种对特定控制和状态寄存器中单独 的位进行设定和清除的方法。该命令并非对所有寄存器 都有效。允许进行位修改的寄存器可参见第 10.0 节( 寄 存器映射表 )。
置某器件的 CS 字节会被发送给 MCP2510。命令字节发送后,寄存器 地址,屏蔽字节以及数据字节被依次发出。 屏蔽字节决 定寄存器中的哪一位将被修改。屏蔽字节中的 ‘1’ 表示 允许对寄存器相应的位进行修改, ‘0’ 则禁止修改。数据 字节确定寄存器位修改后的最终结果。如图 11-1 所示, 如果屏蔽字节相应位设置为 ‘1’,数据字节中的 ‘1’ 表示 将对寄存器对应位置 1,而 ‘0’ 则将对该位清零,见 图 11- 1
为低电平选择该器件,之后位修改命令

11.7 复位指令

复位指令可以重新初始化 MCP2510 的内部寄存器,并 设置配置模式。该命令通过 SPI 接口发送到 MCP2510, 其功能与 RESET 相同。复位指令为单字节指令。在发 送复位指令之前,应将所选器件的 CS 后发送命令字节,发送完毕之后将 CS 引脚恢复为高电 平。我们强烈建议将复位指令(或将 RESET 引脚置为 低电平)包含在器件上电初始化过程中。 MCP2510 将128F
OSC 时钟周期之内保持复位状态。
置为低电平。
11.4 请求发送指令 (RTS
使用RTS命令可以启动一个或多个发送缓冲器的报文发 送。
置某器件的 CS 节会被发送给 MCP2510 如图 11-4 所示,该命令的最 后 3 位显示了被使能发送的缓冲器编号。执行该命令后 相应缓冲器的 TxBnCTRL.TXREQ 位被置 1。用一条 RTS 命令即可对这三位中的一位或全部三位进行设定。 如果发送的 RTS 命令中 nnn = 000,该命令将被视为无 效。
为低电平选择该器件,之后 RTS 命令字

11.5 状态读指令

状态读指令允许单条指令对一些常用的报文接收和发送 状态位进行访问。
置某器件的 CS 状态读命令字节将被发送给 MCP2510 命令字节发出 后, MCP2510 将发回一个包含状态信息的 8 位数据。 在发送完最初 8 位数据之后,如果还有时钟信号发出, 只要CS 提供的, MCP2510 将继续发送状态位。该命令中发回 的每个位的状态也可通过带相应寄存器地址的标准读命 令读取。
引脚保持低电平并且时钟信号是通过SCK 引脚
为低电平选择该器件,如图 11- 5 所示,
2004 Microchip Technology Inc. DS21291E_CN57
MCP2510

11- 1: 位修改

屏蔽字节
数据字节
001 11100
XX1 100XX
修改前的 寄存器内容
修改后 的寄存器
010 11000
011 10000
内容

11-1: SPI 指令集

指令名称 指令格式 功能介绍
复位 1100 0000 将内部寄存器复位为缺省状态,并将器件设定为配置模式
0000 0011 从以指定地址起始的寄存器读取数据 写 0000 0010 向以指定地址起始的寄存器写入数据
RTS
状态读 1010 0000 读取 MCP2510 的状态 (包括发送接收中断标志位和各请求发送位) 位修改 0000 0101 对指定寄存器进行位修改
1000 0nnn 设置 TXBnCTRL.TXREQ 位以启动一个或多个发送缓冲器的报文发送
TXB2 请求发送
1000 0nnn
TXB0 请求发送
TXB1 请求发送

11- 2: 读指令

CS
0 2 3 4 5 6 7 8 9 101112131415161718192021221
SCK
指令 地址字节
000
SO
0
SI

11- 3: 字节写指令

CS
0 23456789101112131415161718192021221
SCK
指令
SI
23
A0
1A7654
010
高阻状态
地址字节
0
0
00000
A7654
32
321
1
1A0
76543210
76543210
任意状态
输出数据
23
数据字节
SO
DS21291E_CN58  2004 Microchip Technology Inc.
高阻状态

11- 4: 请求发送指令

CS
SCK
MCP2510
02345671
指令
0
SI
01
T1
T2 T000

11- 5: 位修改指令

CS
0 2 3 4 5 6 7 8 9 1011 12131415161718192021221
SCK
指令
SI
SO
: 位修改指令仅对部分寄存器有效,可参见 Section 10.0 中的寄存器映射表。

11- 6: 状态读指令

CS
0 23456789101112131415161718192021221
SCK
1100000
SO
0
地址字节
A7 6 5 4
高阻状态
32
屏蔽字节
765432 10
1
A0
高阻状态
23 24 25 26 27 28 29 30 31
数据字节
76543210
23
指令
SI
SO
2004 Microchip Technology Inc. DS21291E_CN59
高阻状态
00001010
数据输出
76543210
任意状态
重复
数据输出
7654321 0
CANINTF.RX0IF CANINTF.RX1IF TXB0CNTRL.TXREQ CANINTF.TX0IF TXB1CNTRL.TXREQ CANINTF.TX1IF TXB2CNTRL.TXREQ CANINTF.TX2IF
MCP2510

11- 7: 复位指令

CS
SCK
SI
02345671
11
指令
0
00
000

11-8: SPI 输入时序图

CS
1
4
MSB 输入
5
SCK
SO
模式 1,1
模式 0,0
SI

11-9: SPI 输出时序图

CS
SO
高阻状态
高阻状态
6
3
11
7
2
LSB 输入
10
SCK
SO
SI
DS21291E_CN60  2004 Microchip Technology Inc.
8
12
MSB 输出
9
13
任意状态
2
模式 1,1
模式 0,0
14
LSB 输出
MCP2510

12.0 电气特性

12.1 绝对最大额定值

VDD.............................................................................................................................................................................7.0V
所有相对于 VSS 的输入输出 ..............................................................................................................-0.6V 至 VDD +1.0V
储存温度................................................................................................................................................. -65°C 至 +150°C
带电时环境温度...................................................................................................................................... -65°C 至 +125°C
引脚的焊接温度 (10 秒)....................................................................................................................................... +300°C
所有引脚的 ESD 保护极限 ......................................................................................................................................................≥ 4kV
注意 : 如果器件运行条件超过上述各项绝对最大额定值可能对器件造成永久性损坏。上述参数仅是运行条件的极大 值。我们不建议使器件运行在超过或在技术规范以外的条件下。器件长时间工作在绝对最大额定值条件下,其稳定性 可能受到影响。
2004 Microchip Technology Inc. DS21291E_CN61
MCP2510

12-1: 直流特性

工业级 (I): TAMB = -40°C 至 +85°C VDD = 3.0V 至 5.5V 扩展级 (E): T
AMB = -40°C 至 +125°C VDD = 4.5V 至 5.5V
参数 . 符号 特性 最小值 最大值 单位 条件
V
DD 电源电压 3.0 5.5 V
VRET 寄存器保持电压 2.4 V
高电平输入电压
IH RXCAN 2 VDD+1 V
V
SCK, CS, SI, TXnRTS 引脚 .7 VDD VDD+1 V
OSC1 .85 V
RESET .85 V
低电平输入电压
V
IL RXCAN,TXnRTS 引脚 -0.3 .15 VDD V
SCK, CS
, SI -0.3 0.4 V
DD VDD V
DD VDD V
OSC1 VSS .3 VDD V
RESET V
SS .15 VDD V
低电平输出电压
V
OL TXCAN 0.6 V IOL = -6.0 mA, VDD = 4.5V
RXnBF
引脚 —0.6VIOL = -8.5 mA, VDD = 4.5V
SO, CLKOUT 0.6 V I
OL = -2.1 mA, VDD = 4.5V
INT —0.6VIOL = -1.6 mA, VDD = 4.5V
高电平输出电压
OH TXCAN, RXnBF 引脚 VDD -0.7 V IOH = 3.0 mA, VDD = 4.5V, I temp
V
V
SO, CLKOUT VDD -0.5 V IOH = 400 µA, VDD = 4.5V
INT
VDD -0.7 V IOH = 1.0 mA, VDD = 4.5V
输入漏电流
I
LI OSC1 TXnRTS 外的所有
I/O 引脚
-1 +1 µA CS = RESET = VDD, V
IN = VSS VDD
OSC1 引脚 -5 +5 µA
INT 内部电容
C
(所有输入和输出)
I
DD 工作电流 —10mAVDD = 5.5V, FOSC = 25 MHz,
I
DDS 维持电流 (休眠模式) —5µACS, TXnRTS = VDD, 输入连接到 VDD
—7pFTAMB = 25°C, fC = 1.0 MHz,
V
DD = 5.0V ( )
F
CLK = 1 MHz, SO = 开路
V
SS
注: 该参数通过间歇采样获得,未经 100% 测试。
DS21291E_CN62 2004 Microchip Technology Inc.

12-2: 时钟振荡器时序特性

MCP2510
时钟 时序 振荡器 特性参数
工业级 (I): T 扩展级 (E): T
AMB = -40°C +85°C VDD = 3.0V 5.5V AMB = -40°C 至 +125°C VDD = 4.5V 5.5V
参数 符号 特性 最小值 最大值 单位 条件
F
OSC 内部时钟频率 1
1
T
OSC 内部时钟周期 40
62.5
T
DUTY 占空比 (外部时钟输入) 0.45 0.55 TOSH / (TOSH + TOSL)
25 16
1000 1000
MHz
4.5V 5.5V
MHz
3.0V 4.5V
nsns4.5V 5.5V
3.0V 4.5V
注: 该参数通过间歇采样获得,未经 100% 测试。
12-3: CAN 接口交流特性参数
CAN 口交流特性参数
工业级 (I): T 扩展级 (E): T
参数 符号 特性 最小值 最大值 单位 条件
T
T
WF
DCLK
唤醒噪音滤波器
CLOCKOUT 传播延迟
50 ns
100 ns
AMB = -40°C +85°C VDD = 3.0V 5.5V AMB = -40°C +125°C VDD = 4.5V 5.5V
12-4: CLKOUT 脚交流/直流特性
CLKOUT 脚交流/直流特性参数
工业级 (I): T
  扩展级 (E): T
参数 符号 特性 最小值 最大值 单位 条件
t
CLKOUT
h
CLKOUT
t
l
CLKOUT
t
r
CLKOUT
t
f
t
CLKOUT
d
CLKOUT 引脚高电平时间 15 ns
CLKOUT 引脚低电平时间 15 ns
CLKOUT 引脚上升时间 —5ns
CLKOUT 引脚下降时间 —5ns
CLOCKOUT 传播延迟 100 ns
: CLKOUT 预分频器分频比设置为 1
AMB = -40°C +85°C VDD = 3.0V 至 5.5V
AMB = -40°C +125°C VDD = 4.5V 5.5V
T
OSC = 40 ns ( )
OSC = 40 ns ( )
T
0.3 V
DD 0.7 VDD 时测量
( )
0.7 V
DD 0.3 VDD 时测量
( )
2004 Microchip Technology Inc. DS21291E_CN63
MCP2510
12-5: SPI 口交流特性参数
SPI 接口 AC 特性参数
工业级 (I): T 扩展级 (E): T
参数 符号 特性 最小值 最大值 单位 条件
F
CLK 时钟频率
— —
1TCSS CS 建立时间 100 ns
2TCSH CS 保持时间 100
115
180
3TCSD CS 禁止时间 100
100 280
4TSU 数据建立时间 20
20 30
5THD 数据保持时间 20
20 50
6TR CLK 上升时间 —2µs
7TF CLK 下降时间 —2µs
8THI 时钟高电平时间 90
115
180
9TLO 时钟低电平时间 90
115
180
10 TCLD 时钟延迟时间 50 ns
11 TCLE 时钟使能时间 50 ns
12 TV 从时钟输出有效
— —
13 THO 输出保持时间 0—ns
14 TDIS 输出禁止时间 200 ns
注: 该参数未经 100% 测试。
AMB = -40°C 至 +85°C VDD = 3.0V 5.5V AMB = -40°C 至 +125°C VDD = 4.5V 5.5V
V
5 4
2.5
— — —
— — —
— — —
— — —
MHz MHz MHz
ns ns ns
ns ns ns
ns ns ns
ns ns ns
DD = 4.5V 5.5V
V
DD = 4.5V 5.5V (E temp)
V
DD = 3.0V 4.5V
V
DD = 4.5V 5.5V
V
DD = 4.5V 5.5V (E temp)
V
DD = 3.0V 4.5V
V
DD = 4.5V 5.5V
V
DD = 4.5V 5.5V (E temp)
V
DD = 3.0V 4.5V
V
DD = 4.5V 5.5V
V
DD = 4.5V 5.5V (E temp)
V
DD = 3.0V 4.5V
V
DD = 4.5V 5.5V
V
DD = 4.5V 5.5V (E temp)
V
DD = 3.0V 4.5V
V
— — —
— — —
90
115
180
ns
DD = 4.5V 5.5V
ns
V
DD = 4.5V 5.5V (E temp)
ns
V
DD = 3.0V 4.5V
V
ns
DD = 4.5V 5.5V
ns
V
DD = 4.5V 5.5V (E temp)
ns
V
DD = 3.0V 4.5V
V
ns
DD = 4.5V 至 5.5V
ns
V
DD = 4.5V 5.5V (E temp)
ns
V
DD = 3.0V 4.5V
DS21291E_CN64  2004 Microchip Technology Inc.

13.0 封装信息

13.1 封装标识信息

MCP2510
18 引脚 PDIP 封装 (300 mil)
XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX
YYWWNNN
18 引脚 SOIC 封装 (300 mil)
XXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXX
YYWWNNN
20 引脚 TSSOP 封装 (4.4 mm)
XXXXXXXX
XXXXXNNN
YYWW
示例:
MCP2510-I/P
XXXXXXXXXXXXXXXXX
YYWWNNN
示例:
MCP2510-I/SO XXXXXXXXXXXX XXXXXXXXXXXX
YYWWNNN
示例:
MCP2510
I/STNNN
YYWW
图注 : XX...X 用户指定信息 *
YY 年份代码 (阳历年份的后两位数字) WW 星期代码 (一月一日的星期代码为 ’01’) NNN 字母数字追踪代码
注:如Microchip 芯片部件编号没有在一行完全标出,它将在下一行继续标出。因
此限制了用户指定信息的可用字符数量。
* 标准的产品标识包括 Microchip 部件编号,年份代码,星期代码,追踪代码
2004 Microchip Technology Inc. DS21291E_CN65
MCP2510
18 引脚塑封双列直插式封装 (P) – 300 mil PDIP
E1
D
2
n
1
α
E
A
c
A1
β
eB
引脚数 引脚间距
引脚厚度
模块顶部锥度 模块底部锥度
* 控制参数
§ 重要特征
注: 尺寸 D E1 不包括模块毛边或凸起。每侧毛边或凸起不得超过 0.10 英寸(0.254mm) 同等 JEDEC 规范: MS-001 图号:C04-007
n p
c
α
β
B1
B
A2
L
p
毫米英寸 *单位
最大正常最小最大正常最小 尺寸范围
1818
2.54.100
4.323.943.56.170.155.140A总高度
3.683.302.92.145.130.115A2塑模封装厚度
0.38.015A1悬空间隙
8.267.947.62.325.313.300E总宽度
6.606.356.10.260.250.240E1塑封模块宽度
22.9922.8022.61.905.898.890D总长度
3.433.303.18.135.130.125L底脚长度
0.380.290.20.015.012.008
1.781.461.14.070.058.045B1引脚上部宽度
0.560.460.36.022.018.014B引脚下部宽度
10.929.407.87.430.370.310eB芯片总行间距 §
1510515105 1510515105
DS21291E_CN66  2004 Microchip Technology Inc.
18 引脚塑封小外形封装 (SO) – 宽型, 300 mil SOIC 封装)
MCP2510
p
B
n
45°
c
β
E1
E
D
2
1
h
A
φ
L
A1
α
A2
引脚数 引脚间距
底角倾斜角 引脚厚度
模块顶部锥度 模块底部锥度
* 控制参数
§ 重要特征
注: 尺寸 D E1 不包括模块毛边或凸起。每侧毛边或凸起不得超过 0.10 英寸(0.254mm) 同等 JEDEC 规范: MS-013 图号 . C04-051
n p
φ
c
α
β
048048
毫米英寸 *单元
最大正常最小最大正常最小尺寸范围
1818
1.27.050
2.642.502.36.104.099.093A总高度
2.392.312.24.094.091.088A2塑封模块厚度
0.300.200.10.012.008.004A1悬空间隙 §
10.6710.3410.01.420.407.394E总宽度
7.597.497.39.299.295.291E1塑封模块宽度
11. 7311.5311 .33.462.454.446D总长度
0.740.500.25.029.020.010h倒棱间距
1.270.840.41.050.033.016L底脚长度
0.300.270.23.012.011.009
0.510.420.36.020.017.014B引脚宽度
1512015120 1512015120
2004 Microchip Technology Inc. DS21291E_CN67
MCP2510
20 引脚 塑封小外形封装 (ST) – 4.4 mm (TSSOP 封装 )
E
p
B
n
c
β
引脚数 引脚间距
悬空间隙 §
底角倾斜角 引脚厚度
模块顶部锥度 模块底部锥度
* 控制参数
§ 重要特征
注: 尺寸 D E1 不包括模块毛边或凸起。每侧毛边或凸起不得超过每侧 0.005 英寸(0.127mm)
同等 JEDEC 规范: MO-153 图号: C04-088
E1
A1
D
2
1
A
φ
L
n p
φ
c
α
β
048048
A1
α
A2
毫米 *英寸单位
最大正常最小最大正常最小尺寸范围
2020
0.65.026
1.10.043A总高度
0.950.900.85.037.035.033A2塑封模块厚度
0.150.100.05.006.004.002
6.506.386.25.256.251.246E总宽度
4.504.404.30.177.173.169E1塑封模块宽度
6.606.506.40.260.256.252D塑封模块长度
0.700.600.50.028.024.020L底脚长度
0.200.150.09.008.006.004
0.300.250.19.012.010.007B引脚宽度
10501050 10501050
DS21291E_CN68  2004 Microchip Technology Inc.
MCP2510
索引
B
BFpctrl - RXnBF 引脚控制和状态寄存器 . . . . . . . . . . . . . . 26
报文错误中断 报文发送缓冲 报文发送缓冲器 报文发送流程图 报文发送优先级 报文发送中止 报文接收 报文接收缓冲器 报文接收流程图 报文验收滤波器 报文验收滤波器及屏蔽寄存器 报文帧 标准数据帧
C
CANCTRL - CAN 控制寄存器 . . . . . . . . . . . . . . . . . . . . . . 52
CANINTE - 中断使能寄存器 CANSTAT - CAN 状态寄存器 CAN 缓冲器和协议引擎框图 CAN 接口交流特性参数 CAN 控制器寄存器映射表 CAN 协议引擎 CAN 协议引擎框图 CNF1 - 配置寄存器 1 CNF2 - 配置寄存器 2 CNF3 - 配置寄存器 3 CRC 错误
采样点 传播段 错误管理逻辑 错误检测 错误模式 错误模式和错误计数器 错误帧 错误中断 错误状态
D
典型系统实现方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
电气特性 读指令 对时间段编程
E
EFLG - 错误标志寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
F
发送节点错误消极模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
发送节点警告 发送中断 封装信息 封装形式
G
概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
格式错误 工作模式 过载帧
H
唤醒功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
回环模式 寄存器映射表
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
. . . . . . . . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
. . . . . . . . . . . . . . . . . . . . . . . . 47
. . . . . . . . . . . . . . . . . . . . . . 53
. . . . . . . . . . . . . . . . . . . . . . . . 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . 63
. . . . . . . . . . . . . . . . . . . . . . . . . 55
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7, 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57, 58
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
J
监听模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
接收缓冲器 接收缓冲器原理图 接收节点错误消极模式 接收节点警告 接收器溢出 接收中断 晶体 / 陶瓷谐振器工作原理
K
勘误表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
扩展数据帧
L
滤波 / 屏蔽寄存器真值表 . . . . . . . . . . . . . . . . . . . . . . . . . . 29
滤波 / 屏蔽真值表
P
配置模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
启动报文发送
Q
器件功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
请求发送指令 (RTS) 确认错误
R
REC - 接收错误计数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
RXB0BF RXB1BF 引脚 RXB0CTRL - 接收缓冲器 0 控制寄存器 RXB1CTRL - 接收缓冲器 1 控制寄存器 RXBnDLC - 接收缓冲器 n 数据长度码 RXBnDm - 接收缓冲器 n 数据段字节 m RXBnEID0 - 接收缓冲器 n 扩展标识符低位 RXBnEID8 - 接收缓冲器 n 扩展标识符中间位 RXBnSIDH - 接收缓冲器 n 标准标识符高位 RXBnSIDL - 接收缓冲器 n 标准标识符低位 RXFnEID0 - 验收滤波器 n 扩展标识符低位 RXFnEID8 - 验收滤波器 n 扩展标识符中间位 RXFnSIDH - 验收滤波器 n 标准标识符高位 RXFnSIDL - 验收滤波器 n 标准标识符低位 RXMnEID0 - 验收滤波器屏蔽寄存器 n 扩展标识符低位 RXMnEID8 - 验收滤波器屏蔽寄存器 n 扩展标识符中间位 RXMnSIDH - 验收滤波器屏蔽寄存器 n 标准标识符高位 RXMnSIDL - 验收滤波器屏蔽寄存器 n 标准标识符低位
S
SPI 端口交流特性参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
SPI 接口 SPI 接口概述
时间份额 说明 缩短一个位周期
T
TEC - 发送错误计数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
TXBnCTRL 发送缓冲器 n 控制寄存器 TXBnDm - 发送缓冲器 n 数据段字节 m TXBnEID0 - 发送缓冲器 n 扩展标识符低位 TXBnEID8 - 发送缓冲器 n 扩展标识符低位 TXBnEIDH - 发送缓冲器 n 扩展标识符高位 TXBnSIDH - 发送缓冲器 n 标准标识符高位 TXBnSIDL - 发送缓冲器 n 标准标识符低位 TXnRTS 引脚 TXRTSCTRL - TXBNRTS 引脚控制和状态寄存器
特性 同步 同步段
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . . . . . . 57, 59
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . 24
. . . . . . . . . . . . . . 25
. . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . 28
. . . . . . . . . . . 28
. . . . . . . . . 27
. . . . . . . . . . . 26
. . . . . . . . . . . 27
. . . . . . . . . . . 32
. . . . . . . . . 31
. . . . . . . . . . 30
. . . . . . . . . . . 31
. . 33
33
. . 32
. . 32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . 20
. . . . . . . . . . . 20
. . . . . . . . . . . 19
. . . . . . . . . . . 19
. . . . . . . . . . . 18
. . . . . . . . . . . 19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
. . . . . . 18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2004 Microchip Technology Inc. DS21291E_CN69
MCP2510
同步规则
W
WWW 在线技术支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
外部串联谐振晶振电路图 外部时钟 (osc1) 时序特性 外部时钟源 位错误 位定时 位定时配置寄存器 位时序逻辑 位填充错误 位修改指令
X
相位缓冲段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
协议有限状态机 写指令 信息处理时间 休眠模式 循环冗余校验
Y
延长一个位周期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
硬同步 远程帧
Z
再同步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
振荡器 振荡器容差 正常模式 帧间间隔 直流特性 中断 中断确认 状态读指令 字节写指令 总线关闭模式 总线活动唤醒中断 最大额定值
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
. . . . . . . . . . . . . . . . . . . . . . . . . . 50
. . . . . . . . . . . . . . . . . . . . . . . . . 63
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57, 59
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57, 59
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
DS21291E_CN70  2004 Microchip Technology Inc.
MCP2510
在线支持
Microchip 网站为客户提供在线支持。
Microchip 旨在利用网站使客户可以方便地获取文件和
信息。要查看 Microchip 网站,用户必须能访问因特网, 并装有 Netscape 的网络浏览器。也可以从 Microchip FTP 站点下载文 件。
连接到 Microchip 网站
可通过下列 URL 访问 Microchip 网站:
使用 FTP 服务可连接到文件传输站点:
网站和文件传输站点提供各种服务。用户可以下载最 新开发工具、数据手册、应用笔记、用户指南、文章和 样本程序等文件。还可以获得 Microchip 的各种商业信 息,包括 Microchip 销售办事处、代理商和工厂代表等 信息。其它有用的数据有:
最新 Microchip 新闻稿
技术支持,其中有常见问答
设计技巧
工作机会
• Microchip 顾问计划成员名单
其它关于 Microchip 产品的网站链接
有关产品、开发系统和技术信息等的会议
研讨会和其它活动的时间表
®
Microsoft® Internet Explorer 之类
www.microchip.com
ftp://ftp.microchip.com
系统信息与升级热线
系统信息与升级热线为系统用户提供 Microchip 所有开 发系统软件产品的最新版本列表。同时,该热线还为客 户提供如何接收最新升级软件包的信息。热线电话号码 为:
美国和加拿大的客户,请拨打 1-800-755-2345
其它国家或地区的客户,请拨打 1-480-792-7302
042003
2004 Microchip Technology Inc. DS21291E_CN 第 71
MCP2510
读者反馈表
我们努力为您提供最佳文档,以确保您能够成功使用 Microchip 产品。如果您对文档的组织、条理性、主题及其它有助 于提高文档质量的方面有任何意见或建议,请填写本反馈表并传真给我公司 TRC 经理,传真号码为 86-21-6275 5060
请填写以下信息,并利用本表单向我们提出您对本文档的意见。
致:
关于: 读者反馈
发自:
应用(可不填):
您希望收到回复吗?是 否
器件: 文献编号:
问题:
1.
2.
3.
TRC 经理
姓名
公司 地址 国家 / 省份 / 城市 / 邮编
电话: (_______) __________________
本文档中哪些部分是最有特色的?
本文档是否满足了您软硬件开发的要求?如何满足的?
您认为本文档的组织结构便于理解吗?如果不便于理解,那么问题何在?
传真:(______) ____________________
DS21291EMCP2510
总页数 ________
4.
您认为本文档应该添加哪些内容以改善其结构和主题?
5.
您认为本文档中可以删减哪些内容,而又不会影响整体使用效果?
6.
本文档中是否存在错误或误导信息?如果存在,请指出是什么信息及其具体页数?
7.
您认为本文档还有哪些方面有待改进?
DS21291E_CN72 2004 Microchip Technology Inc.
产品识别系统
欲获得定价和交货情况等信息,请向工厂或所列销售网点查询。 .
PART NO. X /XX
器件
器件: MCP2510: CAN 控制器 w/SPI 接口
温度范围: -=-40°C +85°C
MCP2510T: CAN 控制器 w/SPI 接口
E=-40°C至 +125°C
封装 温度范围
(卷带式)
MCP2510
示例 :
a) MCP2510-E/P: 扩展级温度, PDIP 封装。 b) MCP2510-I/P: 工业级温度, PDIP 封装。 c) MCP2510-E/SO: 扩展级温度, SOIC 封装。 d) MCP2510-I/SO: 工业级温度, SOIC 封装。 e) MCP2510-I/SO: 管式和卷带式,工业级温
度, SOIC 封装。
f) MCP2510I/ST: 工业级温度, TSSOP
装。
g) MCP2510T-I/ST: 卷带式,工业级温度 ,
TSSOP 封装。
封装: P=塑封 DIP 封装 300 mil 主体), 18 引脚
SO = 塑封 SOIC 封装 (300 mil 主体), 18 引脚 ST = TSSOP 封装 , 4.4 mm 主体), 20 引脚
销售和技术支持
数据手册 寝数据手册中述及的产品可能会有一份勘误表 , 它描述了运行中的小差别以及建议的工作范围。要知道某一器件是否有勘误表 , 请 通过以下方式之一联系我们 :
1. Microchip 当地销售办事处
2. Microchip 总部文献中心 . 传真 : 001-480-792-7277
3. Microchip 网站 (www.microchip.com)
请说明器件名称 , 以及您所使用的芯片和数据手册 ( 包括文献编号 ) 的版本
客户通知系统 注册 Microchip (www.microchip.com/cn) 网站 , 获得产品最新信息
2004 Microchip Technology Inc. DS21291E_CN73
MCP2510
注:
DS21291E_CN74 2004 Microchip Technology Inc.
请注意以下有关 Microchip 器件代码保护功能的要点:
•Microchip的产品均达到 Microchip 数据手册中所述的技术指标。
•Microchip确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的操 作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
•Microchip愿与那些注重代码完整性的客户合作。
•Microchip或任何其它半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视 为违反了《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的软 件或其它受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
本出版物中所述的器件应用信息及其它类似内容仅为建议,它 们可能由更新之信息所替代。确保应用符合技术规范,是您自 身应负的责任。Microchip Technology Inc. 不会就这些信息的 准确性或使用方式作出任何陈述或保证,也不会对因使用或以 其它方式处理这些信息而引发的侵犯专利或其它知识产权的行 为承担任何责任。未经 Microchip 书面批准,不得将 Microchip 的产品用作生命维持系统中的关键组件。在知识产权保护下, 不得暗中或以其它方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron dsPIC、 K
EELOQ、 microID、 MPLAB、 PIC、 PICmicro、
PICSTARTPRO MATEPowerSmartrfPIC SmartShunt 均为 Microchip Technology Inc. 在美国和其它国
家或地区的注册商标。
AmpLabFilterLabMXDEVMXLABPICMASTER rfPICSEEVALSmartSensor The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的
注册商标。
Analog-for-the-Digital AgeApplication Maestro dsPICDEMdsPICDEM.netdsPICworksECAN ECONOMONITORFanSenseFlexROMfuzzyLAB In-Circuit Serial Programming、 ICSP、 ICEPIC、 Migratable MemoryMPASMMPLIBMPLINKMPSIMPICkit PICDEMPICDEM.netPICLABPICtailPowerCal PowerInfoPowerMatePowerToolrfLABrfPICDEM Select ModeSmart Serial、SmartTel Total Endurance
Microchip Technology Inc. 在美国和其它国家或地区的商 标。
SQTP Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其它商标均为各持有公司所有。
© 2004 Microchip Technology Inc. 版权所有。
Microchip Mountain View
过了 机、 器和模拟产品方面的质量体系流程均符合
Microchip 9001:2000
位于美国亚利桑那州
的全球总部、设计中心和晶圆生产厂均于
ISO/TS-16949:2002
®
KEELOQ
跳码器件、串行
在开发系统的设计和生产方面的质量体系也已通过了
认证。
Chandler和Tem pe
质量体系认证。公司在
EEPROM
、单片机外设、非易失性存储
ISO/TS-16949:2002
PICmicro
及位于加利福尼亚州
2003年10
®
8
位单片
。此外,
月通
ISO
2004 Microchip Technology Inc. DS21291E_CN75
全球销售及服务网点
美洲
公司总部 Corporate Office
2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 1- 480-792-7200 Fax: 1- 480-792-7277 Technical Support: 1-480-792-7627 Web Address: http://www.microchip.com
亚特兰大 Atlanta
3780 Mansell Road, Suite 130 Alpharetta, GA 30022 Tel: 1-770-640-0034 Fax: 1-770-640-0307
波士顿 Boston
2 Lan Drive, Suite 120 Westford, MA 01886 Tel: 1-978-692-3848 Fax: 1-978-692-3821
芝加哥 Chicago
333 Pierce Road, Suite 180 Itasca, IL 60143 Tel: 1-630-285-0071 Fax: 1-630-285-0075
达拉斯 Dallas
4570 Westgrove Drive, Suite 160 Addison, TX 75001 Tel: 1-972-818-7423 Fax: 1-972-818-2924
底特律 Detroit
Tri-Atria Office Building 32255 Northwestern Highway, Suite 190 Farmington Hills, MI 48334 Tel: 1-248-538-2250 Fax: 1-248-538-2260
科科莫 Kokomo
2767 S. Albright Road Kokomo, IN 46902 Tel: 1-765-864-8360 Fax: 1-765-864-8387
洛杉矶 Los Angeles
18201 Von Karman, Suite 1090 Irvine, CA 92612 Tel: 1-949-263-1888 Fax: 1-949-263-1338
圣何塞 San Jose
1300 Terra Bella Avenue Mountain View, CA 94043 Tel: 1-650-215-1444 Fax: 1-650-961-0286
加拿大多伦多 To ron to
6285 Northam Drive, Suite 108 Mississauga, Ontario L4V 1X5, Canada Tel: 1-905-673-0699 Fax: 1-905-673-6509
亚太地区
澳大利亚 Australia
Suite 22, 41 Rawson Street Epping 2121, NSW Australia Tel: 61-2-9868-6733 Fax: 61-2-9868-6755
中国 - 北京
北京市朝阳门北大街 6 号 北海万泰大厦 706B 室 邮编:100027 电话:86-10-85282100 传真:86-10-85282104
中国 - 成都
成都市提督街 88 号 四川建行大厦 2401-2402 室 邮编:610016 电话:86-28-86766200 传真:86-28-86766599
中国 - 福州
福州市五四路 71 号 国贸广场 28 F 单元 邮编:350001 电话:86-591-7503506 传真:86-591-7503521
中国 - 香港特别行政区
香港新界葵芳兴芳路 223 号 新都会广场 2 座 901-906 室 电话:852-24011200 传真:852-24013431
中国 - 上海
上海市仙霞路 317 号 远东国际广场 B 栋 701 室 邮编:200051 电话:86-21-62755700 传真:86-21-62755060
中国 - 深圳
深圳市福田区滨河大道 5022 号 联合广场 A 座 1812 室 邮编:518033 电话:86-755-82901380 传真:86-755-82951393
中国 - 顺德
佛山市顺德区容桂镇凤祥南路 2 号 宏建大厦 401 室 邮编:528303 电话:86-757-28395507 传真:86-757-28395571
中国 - 青岛
青岛市香港中路 12 号 丰合广场 B505A 室 邮编:266071 电话:86-532-5027355 传真:86-532-5027205
台湾地区
Kaohsiung Branch 30F - 1 No. 8 Min Chuan 2nd Road Kaohsiung 806, Taiwan Tel: 886-7-536-4818 Fax: 886-7-536-4803
台湾地区
Taiwan Branch 11F-3, No. 207 Tung Hua North Road Taipei, 105, Taiwan Tel: 886-2-2717-7175 Fax: 886-2-2545-0139
印度 India
Divyasree Chambers 1 Floor, Wing A (A3/A4) No. 11, O’Shaugnessey Road Bangalore, 560 025, India Tel: 91-80-22290061 Fax: 91-80-22290062
日本 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
韩国 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 或 82-2-558-5934
新加坡 Singapore
200 Middle Road #07-02 Prime Centre Singapore, 188980 Tel: 65-6334-8870 Fax: 65-6334-8850
欧洲
奥地利 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
02/17/04
DS21291E_CN 76  2004 Microchip Technology Inc.
Loading...