搜索
bottom↓
回复: 22

请教 CAN-BUS的协议 种类和它们的关系

[复制链接]

出0入0汤圆

发表于 2009-3-20 12:03:26 | 显示全部楼层 |阅读模式
最近在学习CAN-BUS,看书时看到CAN有各种标准,SAE J1939-11,SAE J2284 , DeviceNet, CANopen, SDS等。如下图。
但是在看CAN控制器时,如MCP2515的datasheet时,提到支持CAN2.0A/2.0B。
所以我就迷糊了,这CAN 2.0和CANopen等标准是什么关系,我在选择CAN芯片时需要注意些什么。请高手指点!


(原文件名:1212.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2009-3-20 12:26:35 | 显示全部楼层
先有CAN2.0A/2.0B ,再有SAE J1939-11、SAE J2284 、 DeviceNet、CANopen、SDS等

如果是刚开始搞这个通讯,可以自己整个简单的协议:滤波器和数据帧这两块是重点。

出0入0汤圆

发表于 2009-3-20 12:41:16 | 显示全部楼层
CAN2.0是协议标准,无论是用何种协议,帧格式都是符合这个标准的

saeJ1939是卡车用通讯协议
CANopen是面向对象通讯协议
SDS最早是海军用的通讯协议

举个例子:CAN2.0规范是路,而各种协议则是在路上跑的车,无论自行车还是汽车,都要顺着路走
选择CAN芯片基本要看你用在什么地方了,汽车上用freescale或瑞萨

高速或者低速决定用哪个物理层接口芯片

出0入0汤圆

发表于 2009-3-20 12:42:26 | 显示全部楼层
补充以下:NMEA-2000是用在美国海军的协议,复杂的很,国内用的较少

出0入0汤圆

 楼主| 发表于 2009-3-20 12:58:46 | 显示全部楼层
我把我看的这份CAN-BUS入门资料也上传上来,其中讲得还挺详细的。
点击此处下载 ourdev_426646.pdf(文件大小:1.87M) (原文件名:CAN入门书.pdf)

出0入0汤圆

 楼主| 发表于 2009-3-20 13:13:54 | 显示全部楼层
谢谢,erxun 老孟和lnskngdc!

我是否可以理解,只要支持CAN2.0A/2.0B的驱动芯片和控制芯片就可以应用在SAE J1939-11、SAE J2284 、 DeviceNet、CANopen、SDS等这些标准协议中?至于具体用哪个协议,是程序的事情了

老孟提到“可以自己整个简单的协议:滤波器和数据帧这两块是重点。”
在上面我看的资料中有提到数据帧,但是滤波器我不是很明白,这应该是软件滤波器吧,不用特殊的硬件电路吧?

出0入0汤圆

发表于 2009-3-20 13:21:25 | 显示全部楼层
CAN2.0b兼容2.0a
滤波器是指报文滤波,设置一个节点只接收你想要接收的节点报文
数据帧有8字节,可以规定某个字节具体数值代表何种命令(含义),这是应用层的核心

出0入0汤圆

 楼主| 发表于 2009-3-20 13:38:10 | 显示全部楼层
我这儿主要用于传输多个功能模块间的控制信号,波特率500k可能差不多。
我看了一些文章,感觉总线控制器MCP2515和SJA1000用的比较多,总线收发器PCA82C250用得比较多,请问控制器和收发器芯片如何选择?

现在我刚入手,手上也没有什么实验板。请问大家,对新手来说哪个对上手更有帮助,先参考网上资料做个硬件出来,还是先买个现成的开发板学习?如果买开发板的话,有什么产品可以推荐的吗?

出0入0汤圆

发表于 2009-3-20 15:21:17 | 显示全部楼层
个人觉得初学用sja1000容易些

出0入0汤圆

发表于 2009-3-20 19:30:04 | 显示全部楼层
DeviceNet和CANopen上跑在CAN总线上的上层协议,都是针对特定应用的,如果是自己用,不涉及和其它工业网络互联,还是自己设计简单的上层协议来得高效和简便.

DeviceNet规范是要收费的,...CANopen好像有的也是

出0入0汤圆

发表于 2009-3-20 21:45:56 | 显示全部楼层
最好能选内部集成CAN控制器的MCU,比如Freescale,这样可以降低难度。

我可不是给freescale做广告啊

出0入0汤圆

发表于 2009-5-20 16:20:37 | 显示全部楼层
CANopen的许多文档都是不公开的。

出0入0汤圆

发表于 2009-10-6 09:58:14 | 显示全部楼层
现在的CAN协议还是比较保守,特别是在汽车应用这一领域。

出0入0汤圆

发表于 2009-12-14 09:29:35 | 显示全部楼层
很有意义的讨论!我现在也开始搞!

出0入0汤圆

发表于 2009-12-14 09:59:55 | 显示全部楼层
我刚从微芯力克搞了一批STM8S208来做CAN的测试,交流

出0入0汤圆

发表于 2010-1-28 11:21:00 | 显示全部楼层
can的帧格式是11字节时,自己定义协议时,标识符的格式是怎样的?是不是功能码10~6bit,目标地址5~3,源地址2~0的格式?其中功能码是不是代表了优先级?请各位楼主指点!

出1070入962汤圆

发表于 2010-1-28 11:28:34 | 显示全部楼层
刚刚把STM32的CAN 跑起来,收发芯片是TJA1050T,500Kbps,跑的还不错。

出0入0汤圆

发表于 2010-5-3 22:17:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-7 13:01:50 | 显示全部楼层
现在各个车厂用的CAN都比较杂。有些还是初期阶段。开发的并不深入。

出0入0汤圆

发表于 2012-3-29 11:51:16 | 显示全部楼层
汽车的canbus 协议是每个汽车厂家的定义都不一样的。论坛里的资料基本没什么用!
我有个大汽车厂商汽车通讯协议,诊断协议,需要的可以和我联系,qq:896431296

出0入0汤圆

发表于 2012-8-3 13:37:12 | 显示全部楼层
frank21 发表于 2009-3-20 12:58
我把我看的这份CAN-BUS入门资料也上传上来,其中讲得还挺详细的。
点击此处下载 ourdev_426646.pdf(文件大 ...

谢谢了。

出0入0汤圆

发表于 2012-8-5 16:03:11 | 显示全部楼层
正在弄stm 的can

出0入17汤圆

发表于 2012-8-6 13:56:02 | 显示全部楼层
也要开始搞CAN,自诊断协议不懂~~~~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 04:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表