CAN控制器MCP2510

AVR与虚拟仪器  
 English   商城首页    查看购物车    用户中心    购买与付款方法    AVRVi淘宝店淘宝商城钻石卖家淘宝商城钻石卖家淘宝商城钻石卖家    
当前位置: 首页 > 电子元器件 > CAN控制器MCP2510 价格
搜索: 高级搜索
购物车

浏览过的商品
 

名称:CAN控制器MCP2510

货号:AVRVi000107规格: PCS重量:0克

CAN控制器MCP2510
点击打开大图
数量: 1+ 10+ 30+ 50+
价格: ¥19.50元 ¥19.30元 ¥19.10元 ¥19.00元
含税价: ¥20.48元 ¥20.27元 ¥20.06元 ¥19.95元
数量    注册用户才能收藏 点立即购买后按提示操作,或点击页头查看购物车链接,以完成订单
商品属性
购买此商品时最多可使用: 100 VI币
详细介绍

mcp2510数据手册:MCP2510.pdf


MCP2510的主要特点如下:

●支持CANV2.0A/B;

●具有SPI接口,支持SPI模式0,0和1,1;

●内含3个发送缓冲器和2个接收缓冲器,可对其优先权进行编程;

●具有6个接收滤波器,2个接收滤波器屏蔽;

●具有灵活的中断管理能力;

●采用低拉功耗CMOS工艺技术,其工作电压范围为3.0~5.5V;有效电流为5mA,维持电流为10μA;

●工作温度范围为-40~+125℃。

2 管理功能

MCP2510有PDIP、SOIC和TSSOP三种封装形式,有18个引脚。图1为18脚PDIP封装形式,有18个引脚。图1为18脚PDP封装MCP2510的引脚排列图。表1所列是各引脚功能的详细描述。

表1 MCP2510的引脚功能

引 脚 名  称 功      能
1 TXCAN 去CAN总线的发送输出引脚
2 RXCAN 来自CAN总线的接收输入引脚
3 CLKOUT 具有可编程预分频的时钟输出引脚
4
5
6 TX0RTS
TX1RTS
TX2RTS 发送缓冲器发送请求端,或作数字输入端
7
8 OSC2
OSC1 振荡器输出端、输入端
9 Vss 地端
10
11 RX1BF
RX0BF 接收缓冲器中断引脚,或作数字输出端
12 INT 中断输出引脚
13 SCK SPI接口的时钟输入端
14 SI SPI接口的数据输入端
15 SO SPI接口的数据输出端
16 CS SPI接口的片选输入端
17 RESET 复位端
18 VDD 电源端


3 结构及工作原理

图2是MCP2510的内部结构框图,其中CAN协议机负责与CAN总线的接口,SPI接口逻辑用于实现同MCU的通讯,而寄存、缓冲器组与控制逻辑则用来完成各种方式的设定和操作控制。现结合其工作过程将各部分的功能、原理作一介绍。

3.1 收发操作

MCP2510的发送操作通过三个发送缓冲器来实现。这三个发送缓冲器各占据14个字节的SRAM。第一字节是控制寄存器TXBNCTRL,该寄存器里的内容设定了信息发送的条件,且给出了信息的发送状态;第二至第六字节用来存放标准的和扩展的标识符以及仲裁信息;最后八个字节则用来存放待发送的数据信息。在进行发送前,必须先对这些寄存器进行初始化。

3.2 中断管理

MCP2510有8个中断源,包括发送中断、接收中断、错误中断及总线唤醒中断等。利用中断使能寄存器CANINTE和中断屏蔽寄存器CANINTF可以方便地实现对各种中断的有效管理。当有中断发生时,INT引脚变为低电平并保持在低电平,直到MCU清除中断为止。

3.3 错误检测

CAN协议具有CRCF错误、应答错误、形式错误、位错误和填充错误等检测功能。MCP2510内含接收出错计数器(REC)和发送出错计数器(TEC)两个错误计数器。因而对于网络中的任何一个节点来说,都有可能因为错误计数器的数值不同而使其处于错误-激活、错误-认可和总线-脱离三种状态之一。

  1. 4 应用实例

笔者利用MCP2510和CAN总线收发器82C250构成了一个CAN总线分布式温湿度测控网络。该系统包括一个主控制器和多个节点控制器(温湿度测控单元),这种网络拓扑结构采用了总线式结构,且结构简单、成本低,采用无源抽头连接。因而系统的可靠性较高。其信息传输采用CAN通信协议,通信介质采用双绞线。由于CAN总线是基于发送报文的编码,它不对CAN控制节点进行编码,故系统的可扩充性比较好,同时增删CAN总线上的控制节点不会对系统的其余节点造成任何影响。

节点控制器的MCU可选用具有SPI接口的微处理器,也可采用不带SPI接口的微处理器。本系统采用的是不带SPI接口的89C2051微处理器,89C2051可通过4条普通的I/O线与CAN控制器的SPI接口直接相连,并可用软件算法来实现SPI接口协议。CAN总线收发器82C250则作为MCP2510与物理总线的接口。如果需要进一步提高系统的抗干扰能力,可在MCP2510和82C250之间再加一个光电隔离器。MCP2510与MCU和CAN收发器的实际接收如图3所示。

5 SPI接口协议的软件实现

在使用CAN控制器MCP2510时,需要对MCP2510进行初始化以及对CAN总线上的数据进行收发操作。与其它CAN控制不同的是,读、写MCP2510的发送和接收缓冲器必须通过SPI接口协议的读写命令来实现。SPI写命令时序如图4所示。写指令首先被发送到MCP2510的SI引脚,并在SCK的上升沿锁存每个数据位,然后发送地址和数据。执行完毕指令后,数据被写进指定的地址单元中,再通过SPI接口协议的写命令来设置发送位以启动发送。

SPI接口协议的读命令时序图如图5所示。操作时,首先将读指令和地址发送到MCP2510的SI引脚,并在SCK的上升沿锁存每个数据位。同时把存贮在这个地址单元中的数据在SCK的下降沿输出到SO引脚。当执行读写操作时,CS引脚应始终保持在低电平。

    用软件编程实现SPI接口协议的汇编语言程序如下:

 

 
 

 

 

SPI接口写子程序:

MES_WRITE:CLR C ;清除进位标志C

MOV R3,#8 ;置循环次数R3为8

WRIT1:CLR SCK ;置SCK为低电平

NOP

RLC A ;A中存放写指令或地址、数据,带进位标志左移一位

MOV SI,C ;A中的最高位送SI

NOP

SETB SCK ;置SCK为高电平,此时A中的最高数据被锁存

NOP

DJNZ R3,WRIT1 ;循环8次

RET

SPI接口读子程序:

MES_READ:CLR ACC ;清除A中内容

CLR C ;清除进位标志C

MOV R6,#8 ;置循环次数R6为8

READ1:CLR SCK ;置SCK为低电平

NOP

MOV C,SO ;SO线输出的数据送给进位标志C

RLC A ;A带进位标志左移一位

SETB SCK;置SCK为高电平

NOP

DJNZ R6,READ1;循环8次后,SO线输出的数据送到A

RET

 

商品相册
AVRVi专业产品包装和资料光盘
专业包装和资料光盘
CAN控制器MCP2510