![]() |
English 商城首页
查看购物车
用户中心
购买与付款方法
AVRVi淘宝店 |
|
购物车
浏览过的商品
|
名称:CAN控制器MCP2510 货号:AVRVi000107
商品属性:
详细介绍:
mcp2510数据手册:MCP2510.pdf
●支持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的引脚功能 引 脚 名 称 功 能
图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)两个错误计数器。因而对于网络中的任何一个节点来说,都有可能因为错误计数器的数值不同而使其处于错误-激活、错误-认可和总线-脱离三种状态之一。
笔者利用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
有问题请点右上角客服图标,不用安装任何插件,即时与我们在线沟通。重要说明
|
AVR与虚拟仪器 © 2006-2008 版权所有 鲁ICP备06016962号 QQ:286629322 总机:0531-80870158 传真专线:0531-80879869 电子邮箱:avrvi@163.com MSN:avrvi@hotmail.com 公司地址:山东省济南市山大路146号213室 济南市历城区思达天成电子产品经营部 邮购部(仓库)地址:山东济南二环东路1728号七里堡新居8号楼6单元102 电话:13406948192
|