一种值得嵌入式开发人员学习的总线 -- CAN-Bus

can总线相关概述
1 写在前面
说到can,相信大家都有所了解,但单纯的了解,其意义不大,要知道它能做什么,知道它的用途才重要。
可能初学的朋友不太了解can的应用领域,对于汽车电子、轨道交通、工业自动化等诸多的运动控制系统中,运用can总线通信的地方很多很多。所以,我建议:嵌入式开发的朋友,有必要学习can,以及can常用的通信协议。
2 can总线
什么是总线?
相信大家都知道,谷歌百度一下,非常详细的解释:总线(bus)是计算机各种功能部件之间传送信息的公共通信主干线。就好比一条输电线,它有多条分支,但主干线是重要的一条线路。
什么是can?
can:controllerareanetwork即控制器局域网络。
理解了总线及can的含义,对can总线的理解就不难了,只是我们这种控制通信的方式这样命名而已。同理,我们也能理解什么是485总线,什么是i2c总线······
3 can网络结构
想要实现can总线的通信,必须要有can相关的硬件支持,也可以说是osi(开放系统互联)中的物理层。
(图片来自stm32 can网络结构图)
主要包含:mcu、can控制器、can收发器;
可以结合485总线理解,can控制器就是uart控制器,can收发器就是485转换器。
can控制器是can通信中的核心部位,收和发的数据都经由它来处理;
can收发器可以理解成一个转换器,就是将ttl电平信号转换为can总线中的差分信号。
4 can通信原理
can通信原理其实是一个很大的话题,这里从基础来讲述实现can通信的原理。
can在英文单词中有罐头的意思,可能很多人小时候都玩过有种叫“传声筒”的东西,就是对着绳子一端的罐头说话,声音就可以传输的另一头。
罐头一端的人说【你好】,另外一端的人就能理解到对方说的话(你好)的意思。
我们可以把【你好】理解成通信中的数据,至于它是通过什么方式传输过去我们是不必关心的,只需要知道【你好】的意思即可。
也就是说,数据经过电平转换的过程我们不用关心,还有就是添加的一些协议(如canopen,可以理解成额外添加的数据)我们也不用关心,关心的是我们想要得到的数据。
5 can应用协议
can也可以理解成uart,我们可以不使用can收发器,像单片机uart中直接将两块单片机的tx和rx引脚连接,通过ttl电平信号传输数据。
一般来说,我们使用uart通信,都会添加相关的协议,如modbus。添加协议的作用是就是方便解析数据,防止信号受干扰而检测错误数据帧等。
相关的协议目前有多种:
canopen协议 (制定组织:cia)
devicenet协议 (制定组织odva)
cal协议 (制定组织:cia)
cankingdom (制定组织:kvaser)
j1939协议 (制定组织:sae)
sds协议(制定组织:honeywell)
can总线应用协议相对can驱动来说要复杂的多,目前canopen协议算是市面上用的比较多的一种,后期会更新canopen协议中一项开源协议canfestival。
6 最后
can总线以及can相关协议的内容相对来说较多,本文算是带领大家对can有一个基础的认识。
微信搜索“embedddeveloper” 或者扫描下面二维码、关注,在我的底部菜单查看更多精彩内容!
长按识别二维码 关注
原文标题:一种值得嵌入式开发人员学习的总线 --- can-bus
文章出处:【微信公众号:strongerhuang】欢迎添加关注!文章转载请注明出处。

三相电路电流计算公式
安森美扩充RHYTHM DSP系列 专为助听器而设计
半导体或将导致日韩关系进一步恶化
中兴通讯车用微内核操作系统产品获POSIX PSE52系统认证
IT与汽车业者争食,智能交通领域云谲波诡
一种值得嵌入式开发人员学习的总线 -- CAN-Bus
影响升级,摩尔定律引领消费电子化潮流
苹果首款5G手机 iPhone 12 怎么样?一探究竟
美国AeroVironment公司推出新一代混合动力VTOL无人机
LED显示屏模组和箱体到底哪个好呢?
凌科电气YM系列工业防水连接器高度契合消防车供配电箱的连接传输要求
微软将PowerToys系列使用工具从Windows 95带往Windows 10 古老小程序成功复活
iPhone8什么时候上市:iPhone8量产时间确定!iPhone8外观配置毫无秘密,5米以内无线充电
区块链+银行业未来可能的发展方向
TDK将收购苹果三星陀螺仪供应商InvenSense
利用原位3D光学显微镜来表征LLZO)电解质上锂沉积形貌
光电效应是谁发现的_光电效应方程的意义
CCC认证怎么选择机构,CCC认证全部流程
直面“低成本”挑战,Mini LED显示驱动技术“蝶变”
利尔达携手科舸物联推出基于 LoRa® 的卫星物联网连接方案