10350|24

87

帖子

0

TA的资源

一粒金砂(中级)

菜鸟聊聊CAN(FD)、RS485/RS422、RS232、Ethernet以太网、EtherCat的应用与区别 [复制链接]

 

作为一个老不死的老菜鸟写的,多年经验,全是大白话(大实话),可能不对有失偏颇,但绝对值得菜鸟们看,以后你会发现这个家伙说的还真是那么回事。

 

一、重点聊聊CAN和RS485的区别和应用

CAN和485、422都是两线的串行总线,可以挂多个节点。这种总线的优势就是简单和灵活,简单就意味着成本低,连接节点之间只需要两根线而已,端子可以随便用成本很低的3.96端子,可以说是非常简单了。

从区别来讲,CAN对于485来讲最大的优势是错误处理、多主、仲裁、可靠性方面、CAN控制器的编程也简单,MCU核给它数它自己处理了。

 

RS485的优势是灵活性,有时候灵活性意味着速度,但是一般单片机用RS485是不会用专门的RS485控制器的,通信过程要全靠软件实现,软件不但要读寄存器还要进行各种判断和跳转,软件处理速度有时限制了通信速度。而CAN是有硬件控制器的,地址的识别、错误处理等都是控制器自动执行的,MCU核的软件只需要读写寄存器就可以了。另外485是一主多从,当多个节点同时发是不被允许的,会导致总线锁死,多个节点都需要主动发数的就不要用485了。但是你说CAN一定快于RS485吗?不一定哦。CAN2.0的速度只能到1M这个限制是芯片限制的,也就是你根本买不到超过1M的CAN2.0芯片好吧?实际上CAN的实施过程中基本750K~800K左右如果做不好信号质量线长节点多那么数据就很容易出错了。RS485的优势是几乎不限制速度,芯片很多支持到5M、10M的,只要硬件做的好,线不长、节点不多,10M也是非常可能的,注意10M已经接近低速以太网了哈。所以速度这块你要从上面说的两个方面综合考量。

 

CAN除了速度有限制,其传输效率也比RS485低,其中150多位只能传8个字节,多出的位就是为了实现多主、仲裁、错误处理提高可靠性的,所以有一些速度要求高的地方用RS422比CAN快,RS485/RS422一个字节数据只需要增加一个启动位,一个停止位、一个校验位,其他8位全是数据,从这一点上讲数据传输效率比CAN高很多,因为“”浪费的“”位少哈。

 

RS422简单理解就是收和发分开的RS485,可以全双工通信,其他跟RS485类似。CANFD是改进了CAN2.0发展而来的,它改进了数据效率低的缺点把数据域速率提高到5M然后把每帧最高字节数提高到64字节,然后保留了CAN2.0的多主、可靠性的那些东西。CANFD的数据效率已经提升很多了,应用也很简单,不过目前来讲,CANFD的芯片还是相对来说没有那么多和那么普及,首先支持CANFD的单片机少(不是没有哈,只是比较新,大部分都是20年以后的新片子),如果你想老单片机带CAN的升级成CANFD,外置个CANFD控制器是个可行方案但是,这类芯片也比较少比较难买(外置CANFD控制器比带CANFD的单片机更难买),我感觉可能还需要2年以上的时间CANFD才能达到CAN2.0的普及程度,毕竟CAN2.0对于很多人来说已经够用了。

 

再提一嘴RS232,RS232是收发全双工的,另外RS232是一对一的,你想1对多,可以搜索一个叫串口服务器的东西。RS232的数据速率和通信距离也不是很有优势。

 

二、关于以太网Ethernet

数据速度要求高、数据量大、数据实时性要求高的场合,实际上更适用的是Ethernet。因为CAN和485的传输介质的原因,其传输距离和速度和节点数三者总是那么矛盾,要把速度做高距离同时做快节点数做多同时误码率又做低总是很难(这是一个信号完整性问题没有经验的很难做)。而Ethernet轻轻松松在长距离可以做到几十M的速度,真的是轻轻松松。但是Ethernet不是2线制总线式的,需要路由器/交换机等中心设备做数据的中转,加上以太网的接口、硬件、线缆等比RS485和CAN的简单的两根线复杂,复杂意味着贵,所以以太网的实施成本要高一点。不过随着近些年工业设备的数据量越来越大、实时性要求越来越高、以及百兆以太网的器件成本的下降,以太网也成为趋势了。以太网的基于连接的TCP通信方式也能很好的保证数据的完整性(UDP可能容易错失数据)。

EtherCat你可以简单认为是以太网的变种,他是面向工业高速实时性要求而进行改进的。采用的接口跟以太网都是类似的水晶头那种,但是控制器大不相同,它采用了回环设计,每个节点都是一进一出,进来后把自己的数据插进去,然后再发出去,每一帧都是包含每个节点的数据的大帧,还有很多高级特性。其实施的复杂度和难度要高于普通的以太网,成本也高一些。

以太网的实施对于单片机系统来说有个问题就是它的复杂性比RS485/CAN要复杂,尤其TCP协议要基于嵌入式OS(例如FreeRTOS之类)进行移植,这就要求单片机菜鸟们懂点RTOS(这可让很多小白知难而退了)学习RTOS再移植LWIP怎么说也得有一个月吧(其实大部分都不做不到)。当然了也有采用SPI接口的以太网控制器W5500之类就不需要做OS了,但是你去看它文档也是上百页,新手摸索一星期可能才能行,复杂度比RS485要大多了。

但是呢,又来但是了,哈哈。还是建议大家学习RTOS,只会单片机,还是有很多事总是很尴尬。会了OS,不光是RTOS,其他可利用的轮子就多了去了,你会发现不一样的世界。艺多不压身哈。

 

三、应用场合推荐

最低成本+多节点:RS485。

最低成本+速度要求一般+多节点+要求可靠性:CAN

低成本+1对1:RS232

相对低成本+速度和数据量有要求+多节点+可靠性:CANFD

速度和数据量有要求+低成本+多节点:RS422(可用于系统内部多节点高速低成本数据通信)

速度要求+可靠性+传输距离+大数据量:Ethernet。

高速高可靠高高实时性:EtherCat。

此帖出自单片机论坛

最新回复

补充一下,多主、仲裁 方面,485 也是可以支持的:https://bbs.eeworld.com.cn/thread-1267965-1-1.html   详情 回复 发表于 2024-5-22 09:52

回复
举报

899

帖子

1

TA的资源

纯净的硅(高级)

此帖出自单片机论坛

回复

1万

帖子

2854

TA的资源

管理员

谢谢分享~对想要学习了解这块的小伙伴很有帮助~

此帖出自单片机论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!


回复

6039

帖子

4

TA的资源

版主

这些都搞懂了,用熟了。  再提自己是菜鸟就谦虚了。

此帖出自单片机论坛

点评

活到老   菜到老  哈哈哈  详情 回复 发表于 2022-10-20 11:11

回复

95

帖子

5

TA的资源

一粒金砂(中级)

点赞!干货!真正用过了,了解特性了才能写出此文

此帖出自单片机论坛
个人签名尽吾志也而不能至者,可以无悔矣。——王安石

回复

1749

帖子

0

TA的资源

纯净的硅(初级)

此帖出自单片机论坛
个人签名浪拓电子-----专业的GDT、TSS、TVS产品及服务提供商

回复

1513

帖子

0

TA的资源

五彩晶圆(初级)

总结得不错,谢谢分享

此帖出自单片机论坛

回复

202

帖子

1

TA的资源

一粒金砂(中级)

速度要求+可靠性+传输距离+大数据量+实时性:光纤

此帖出自单片机论坛

点评

很好的补充,以上各种方式都是从软件层面进行讨论,利用各种软件方法使距离变远、可靠性变强。而光纤这种物理介质把他们的命革了,这种物理介质可以使纵使如ttl等基本电平变得又快又远,就是成本高一些,硬件实施麻  详情 回复 发表于 2022-10-20 11:15
光纤只能算是物理通道  详情 回复 发表于 2022-10-14 14:08

回复

6763

帖子

9

TA的资源

版主

CAN除了速度有限制,其传输效率也比RS485低,其中150多位只能传8个字节,多出的位就是为了实现多主、仲裁、错误处理提高可靠性的,所以有一些速度要求高的地方用RS422比CAN快,RS485/RS422一个字节数据只需要增加一个启动位,一个停止位、一个校验位,其他8位全是数据,从这一点上讲数据传输效率比CAN高很多,因为“”浪费的“”位少哈

楼主的讲解非常到位。

此帖出自单片机论坛

回复

1

帖子

0

TA的资源

一粒金砂(初级)

此帖出自单片机论坛

回复

2849

帖子

4

TA的资源

五彩晶圆(中级)

Ethernet和EtherCAN最大的区别是,一个是非实时的传输,一个是实时的传输。Ethernet即使速度很快也不是实时传输。

此帖出自单片机论坛

点评

实时不一定是快,快也不一定实时。在确定的时间完成了特定的事,就是实时,哈哈。  详情 回复 发表于 2022-10-20 11:17

回复

4

帖子

0

TA的资源

一粒金砂(初级)

简单明了……

此帖出自单片机论坛

回复

5979

帖子

8

TA的资源

版主

landeng1986 发表于 2022-10-12 18:56 速度要求+可靠性+传输距离+大数据量+实时性:光纤

光纤只能算是物理通道

此帖出自单片机论坛
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复

1

帖子

0

TA的资源

一粒金砂(初级)

谢谢楼主!学习了
此帖出自单片机论坛

回复

537

帖子

1

TA的资源

纯净的硅(中级)

学习了,其实对于这些传输协议本质上不是很清楚,还是得在实际操作中实践。

此帖出自单片机论坛

点评

看个差不多就得了,直接上手最好!光看不练,成了空头理论家!那不是工程师,那是教师。哈哈哈  详情 回复 发表于 2022-10-20 11:18

回复

18

帖子

0

TA的资源

一粒金砂(中级)

看到评论中有人写的是EtherCan而不是EtherCat,没查哪个是正确的。不过从描述上看,似乎是各节点共享帧,这样只能定义每个节点使用帧中哪个位置的信息,从而形成多个节点的信息传输。由于没深入去了解,还有很多问题需要说明,只是一个重要的问题就是当一个节点出现故障,是否会导致总线无法正常工作,因为每个节点都会对帧信息做重组,然后再发出去。

此帖出自单片机论坛

点评

不做多臂机器人等强实时高速响应的东西可以先不用了解太深,这是个天坑  详情 回复 发表于 2022-10-20 11:12

回复

3

帖子

0

TA的资源

一粒金砂(中级)

CAN除了速度有限制,其传输效率也比RS485低,其中150多位只能传8个字节,多出的位就是为了实现多主、仲裁、错误处理提高可靠性的,所以有一些速度要求高的地方用RS422比CAN快,RS485/RS422一个字节数据只需要增加一个启动位,一个停止位、一个校验位,其他8位全是数据,从这一点上讲数据传输效率比CAN高很多,因为“”浪费的“”位少哈

楼主的讲解非常到位。

此帖出自单片机论坛

回复

87

帖子

0

TA的资源

一粒金砂(中级)

damiaa 发表于 2022-10-12 12:02 这些都搞懂了,用熟了。  再提自己是菜鸟就谦虚了。

活到老   菜到老  哈哈哈

此帖出自单片机论坛

回复

87

帖子

0

TA的资源

一粒金砂(中级)

fetchstar 发表于 2022-10-15 10:47 看到评论中有人写的是EtherCan而不是EtherCat,没查哪个是正确的。不过从描述上看,似乎是各节点共享帧,这 ...

不做多臂机器人等强实时高速响应的东西可以先不用了解太深,这是个天坑

此帖出自单片机论坛

回复

87

帖子

0

TA的资源

一粒金砂(中级)

landeng1986 发表于 2022-10-12 18:56 速度要求+可靠性+传输距离+大数据量+实时性:光纤

很好的补充,以上各种方式都是从软件层面进行讨论,利用各种软件方法使距离变远、可靠性变强。而光纤这种物理介质把他们的命革了,这种物理介质可以使纵使如ttl等基本电平变得又快又远,就是成本高一些,硬件实施麻烦一点,还有,光纤线怕折,制作相对麻烦】哈哈,相对网线娇贵一些。

此帖出自单片机论坛

回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表