两种CAN微控制器MCP2510与SJA1000的比较
来源:互联网 发布:淘宝致富王软件 编辑:程序博客网 时间:2024/05/10 07:14
两种CAN微控制器MCP2510与SJA1000的比较
MCP21510
SJA1000
引脚
18
28
发送缓冲器
三个发送缓冲器。每个发送缓冲器占据14 字节的SRAM,并映射到存储器中。其中第一字节TXBNCTRL 是与报文缓冲器相关的控制寄存器。 该寄存器中的信息决定了报文在何种条件下被发送,并在报文发送时指示其状态。用5个字节来载标准和扩展标识符以及其它报文仲裁信息。 最后8个字节用来装载等待发送的报文的八个可能的数据字节
一个发送缓冲器TXB,长13个字节。
接受缓冲器
有两个报文接收缓冲器。每个接收缓冲器配备有多个验收滤波器。除上述专用接收缓冲器外,MCP2510 还具有单独的报文集成缓冲器 (MAB) ,可作为第三个接收缓冲器。
一个接收缓冲器RXB,长13个字节。但有一个接收FIFO(RXFIFO),长64个字节。RXB作为RXFIFO的一个窗口,被CPU访问。CPU在此FIFO的支持下,可以在处理一条报文的同时接收其它报文。
与MCU接口
通过SPI接口与MCU进行数据传输,最高数据传输速率可达5 Mbps。支持SPI模式0,0和1,1。与SJA1000不同的是,MCU对MCP2510的接收缓冲器和发送缓冲器的操作,必须通过SPI接口用MCP2510内置读写命令来完成。
通过8根地址/数据复合总线与MCU交换数据。
软件设计时需要注意以下问题:
①因为MCP2510在初始化完成后处于默认Configuration模式下,所以就需要在MCP2510的初始化完后将其置为Normal模式,否则MCP2510将一直停留在Configuration模式下,不能正常进行工作。将MCP2510置Normal模式可通过使用MCP2510内置的BitModify(位修改)4指令向CANCTRL控制字写入一个0字节来实现。
②在对MCP2510进行任何操作之前,都要由微处理器向MCP2510的片选CS输出一个低电平,使得MCP2510选通。
③在执行MCP2510的“读”操作时,发送完读指令及其地址码之后,仍然需要向MCP2510提供时钟,以接收“读”到的数据。可以通过向MCP2510发送一个0字节来实现。
④在对MCP2510完成任意操作后,都要延时一段时间,使其有足够的时间来准备接收下次操作的命令,防止出现MCP2510“忙”的情况。
一般来讲,SJA1000要与总线式单片机接口,单片机对SJA1000的操作和对外存储器的操作是一样的。最简单的就是89C51+SJA1000。PHILIPS的ARM多数是非总线式单片机,所以不方便。但2119是PHILIPS的ARM中带CAN控制器最便宜的一款,有2个CAN控制器。无论是做CAN节点还是CAN中继器都是合适的选择。
- 两种CAN微控制器MCP2510与SJA1000的比较
- can控制器SJA1000详解
- sja1000 can控制器波特率计算方法
- 使用stm32的io模拟方式操作can控制器sja1000
- sja1000 CAN控制器波特率计算方法详解
- sja1000-CAN控制器socket驱动移植
- SJA1000控制器详解
- DSP的DMA控制器与ARM的DMA控制器比较
- SJA1000重要的寄存器
- 基于飞思卡尔微控制器的CAN Bootloader的实现与应用
- CAN总线与RS485的比较
- CAN总线与RS485的比较
- CAN总线与RS485的比较
- CAN总线与RS485的比较
- CAN总线与RS485的比较
- IOS初始化控制器的两种方法
- yii初始化控制器的两种方法
- 基于AT91RM9200+linux平台的MCP2510驱动
- VS 2008 找不到“windows.h”之谜
- 保护SQL语句不被Sql Profiler / 事件探查器 捕获跟踪到
- Studying note of GCC-3.4.6 source (46)
- js 异步处理进度条
- 一个有用的项目包含三要素
- 两种CAN微控制器MCP2510与SJA1000的比较
- 苹果发布Safari5浏览器 增强对HTML5支持
- make 时产生的乱码
- Working with XML on Android
- 可拖拽的图片墙
- PKU1009解题
- 树控件给每一项添加图标后怪问题。
- 使用sudo来赋予普通用户root的权限
- 抓住你要的幸福