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写计算器

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. ionic安卓tab栏跑到顶部

    安卓下的ionic的tab会在顶部显示,而不是在底部 解决办法如下: 在app.js文件中的.config代码块里中添加以下代码: 注意依赖注入$ionicConfigProvider $ionicC ...

  3. Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  4. JSP隐含对象

    1.out隐含对象 (输出对象) 直接用于在JSP页面输出内容 javax.servlet.jsp.JspWriter(抽象类) 继承自java.io.Writer JSP中的out对象最终被转化成s ...

  5. LeetCode题解之Largest Number

    1.题目描述 2. 将整数值转换为string  ,然后排序. 3.代码 string largestNumber(vector<int>& nums) { vector<s ...

  6. ASP.NET Core 依赖注入最佳实践——提示与技巧

    在这篇文章,我将分享一些在ASP.NET Core程序中使用依赖注入的个人经验和建议.这些原则背后的动机如下: 高效地设计服务和它们的依赖. 预防多线程问题. 预防内存泄漏. 预防潜在的BUG. 这篇 ...

  7. MySQL常用查询语句积累

    >>MySQL某列插入递增值 SET @i := 100; UPDATE auge_item_classification SET c_code=(@i:=(@i+1)); >> ...

  8. Android应用耗电量统计,无需USB连接

    Android应用耗电量统计一直是一个很头疼的问题,手工统计耗时太长,自动化统计又不是非常精准(执行自动化代码需要通过USB连接,而USB又会充电,这就造成统计数据不准).后来从前辈那里得知可以通过a ...

  9. SQLTest系列之INSERT语句测试

    原文地址:https://yq.aliyun.com/articles/64375?spm=5176.100239.blogcont69187.22.fhUpoZ 摘要: 一款可以测试MSSQL Se ...

  10. H.__mro__) MRO- C3算法