CAN总线学习系列之三——CAN控制器的选择

在进行CAN总线开发前,首先要选择好CAN总线控制器。下面就比较一些控制器的特点。
 
一些主要的CAN总线器件产品

制造商 产品型号 器件功能及特点
Intel 82526
82527
8XC196CA/CB
CAN通信控制器,符合CAN2.0A
CAN通信控制器,符合CAN2.0B
扩展的8XC196+CAN通信控制器,符合CAN2.0A
Philips 82C200
SJA1000
82C250
TJA1040
TJA1054
8XC592
8XCE598
P51XA-C3
CAN通信控制器,符合CAN2.0A
CAN通信控制器,82C200的替代品,符合CAN2.0B
通用CAN总线收发器
高速CAN总线收发器
容错的CAN总线收发器
8XC552+CAN通信控制器,去掉IIC符合CAN2.0A
提高了电磁兼容性的8XC592
16位微控制器+CAN通信控制器,符合CAN2.0B
Motorola 68HC05X4系列 68HC05微控制器+CAN通信控制器,符合CAN2.0A
Siemens 81C90/91
C167C
CAN通信控制器,符合CAN2.0B
微控制器+CAN通信控制器,符合CAN2.0A/B

因为SJA1000比较简单,资料丰富,对于初学者非常适用,所以我们采用SJA1000作为我们总线开发板的CAN控制器,让大家更容易入门。
 
SJA1000是一种独立的CAN控制器,主要用于移动目标和一般工业环境中的区域网络控制。它是Philips公司PCA82C200控制器的替代产品,除了PCA82C200的BasicCAN操作模式以外,还增加了一种新的操作模式——PeliCAN,这种模式支持具有很多新特性的CAN2.0B协议。
    SJA1000的基本特征如下:
1)      引脚电气参数与PCA82C200兼容;
2)      具有PCA82C200模式(即默认的BasicCAN模式),支持CAN2.0A和CAN2.0B;
3)      有扩展的接收缓冲器64字节,先进先出(FIFO);
4)      支持11位和29位标识码,通信速率可达1Mbps;
5)      其PeliCAN模式的扩展功能包括:可读写的错误计数器,可编程的错误报警限额寄存器,最近一次错误代码寄存器,对每一个总线错误的中断,有具体位表示的仲裁丢失中断,单次发送(无重发),支持热拔插,可扩展的验收滤波器,可接收自身报文(自请求接收)。

CAN总线学习系列之三——CAN控制器的选择的更多相关文章

  1. CAN总线学习系列之二——CAN总线与RS485的比较

    CAN总线学习系列之二——CAN总线与RS485的比较 上 一节介绍了一下CAN总线的基本知识,那么有人会问,现在的总线格式很多,CAN相对于其他的总线有什么特点啊?这个问题问的好,所以我想与其它总线 ...

  2. CAN总线学习系列之— CAN总线特点介绍

    CAN总线学习系列之— CAN总线特点介绍 CAN 总线作为一种工业界的流行总线广泛应于工业自动化.多种控制设备.交通工具.医疗仪器以及建筑.环境控制等各个行业中,它是是一种多主机局域网,所以这样 一 ...

  3. SQL Sever 学习系列之三

    SQL Sever 学习系列之三 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题)         五.经理今天刚谈到with的用法(with的 ...

  4. 大数据学习系列之三 ----- HBase Java Api 图文详解

    版权声明: 作者:虚无境 博客园出处:http://www.cnblogs.com/xuwujing CSDN出处:http://blog.csdn.net/qazwsxpcm 个人博客出处:http ...

  5. SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)

    前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识. SpringCloud Hystrix Hystrix 介绍 Netfl ...

  6. Gradle学习系列之三——读懂Gradle语法

    在本系列的上篇文章中,我们讲到了创建Task的多种方法,在本篇文章中,我们将学习如何读懂Gradle. 请通过以下方式下载本系列文章的Github示例代码: git clone https://git ...

  7. CAN总线学习记录之三:总线中主动错误和被动错误的通俗解释

    首先建议把广泛使用的"主动错误"和"被动错误"概念换成"主动报错"和"被动报错". 1. 主动报错站点 只要检查到错误, ...

  8. Python零基础学习系列之三--Python编辑器选择

    上一篇文章记录了怎么安装Python环境,同时也成功的在电脑上安装好了Python环境,可以正式开始自己的编程之旅了.但是现在又有头疼的事情,该用什么来写Python程序呢,该用什么来执行Python ...

  9. ClickHouse学习系列之三【配置文件说明】

    背景 最近花了些时间看了下ClickHouse文档,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统.在介绍了安装和用户权限管理之后,本文对其配置文件做下相关的 ...

随机推荐

  1. javascript 数组求交集/差集/并集/过滤重复

    最近在小一个小程序项目,突然发现 javscript 对数组支持不是很好,连这些基本的功能,都还要自己封装.网上查了下,再结合自己的想法,封装了一下,代码如下. //数组交集 Array.protot ...

  2. <Android 基础(三十三)> TabHost ~ 仿微信底部菜单

    简介 Container for a tabbed window view. This object holds two children: a set of tab labels that the ...

  3. [Android] Activity间切换,传递数据

    前面照着android系统的裁剪图片的功能自己写了一个相似的工具.功能是大体上实现了,但留下了一个调用的问题:如何从我的程序调用这个裁剪工具,并且获得裁剪后的图片呢? 其实这个也很简单了,就是inte ...

  4. Python Django框架笔记(三):django工作方式简单说明和创建用户界面

    (一)  说明 简单说明下django的工作方式,并举2个例子. (二)  Django工作方式 假定我们有下面这些文件 ,这里在前2篇的基础上增加了 templates目录(存放html文件) 和s ...

  5. LeetCode题解之Valid Triangle Number

    1.题目描述 2.问题分析 暴力计算 3.代码 int triangleNumber(vector<int>& nums) { ; ) return res; ; i < n ...

  6. LeetNode 题解之Reverse Nodes in k-Group

    1.题目描述 2.问题分析 这个题本质上还是按照链表翻转的思路来解,只是需要添加一些细节判断. 3.代码 class Solution { public: ListNode* reverseKGrou ...

  7. python基础一数据类型之列表

    摘要: python基础一中写到列表,那么这篇主要讲列表. 1,定义列表 2,列表.元祖.字符串都属于序列,都可以用用索引和切片. 3,列表的方法 1,定义列表 list1 = ['a','b',1, ...

  8. winform调用jar包

    因为工作需要,需要做一个数据上传的程序,客户规定的是:数据接口采用http连接,采用JSON-RPC轻量级远程调用协议.所以决定用winform做一个管理界面(其中还包括其他的功能),java完成数据 ...

  9. NodeJS中MySql的增删改查操作

    纯粹记录一下最基础写法,几乎没有写什么逻辑,写法也并不是很完善(因为我自己也刚刚摸索出来这么写可以...= =!)    望高手指教   也希望能够帮到比我还新的新手.... //1.insert操作 ...

  10. Beyond Compare 4 使用方法

    一 : 二 : 三 :