[技术问答] 让通信经得起考验—由RS485升级到CAN bus

[复制链接]
2566|11
 楼主| 21ic小喇叭 发表于 2018-8-22 14:30 | 显示全部楼层 |阅读模式
作者:新唐科技股份有限公司 微控制器行销应用处 邱达进技术副经理

       RS485及CAN bus (Controller Area Network,控制器局域网络) 在硬件设计上有许多相似之处,如电气特性规定为2线差动信号、半双工双向数据传输、使用平衡传输线及多点通信的标准等,两者都很适合在长距离及需要抗噪声的应用环境中使用。
但在软件开发的过程中,即可明显地看出两者的复杂度差异,为了通信的稳定性,CAN bus比RS485多定义“数据链路层”,包含通信的数据格式、错误侦测、错误通知、错误恢复与排除及数据重传流程。当CAN bus有例外事件发生时,系统必须自动修正错误,或者是回报问题,以维持通信的正确性及稳定度,避免产生数据错误及数据遗失等问题;其通信设计在汽车产业使用超过20年,经得起汽车产业的考验。相对而言,RS485就没有统一的标准,多数使用者必须要自行开发数据链路层,定义出正常及例外事件的处理步骤,往往在验证通信的正确性及稳定度就占据大部分开发的时间。
       新唐的CAN解决方案,CAN控制器包含数据链路层,提供通信的正确性及稳定度,让客户在开发程序过程中,更专注于应用的规画及设计。同时在传送接收数据时,硬件提供32组信息的设定,减少信息判断步骤,提升数据处理的效率。此方案也广泛地用应用在工厂自动化(Factory Automation)、电梯系统(Elevator)、车用监控系统(Recorder with car information)及车用诊断系统(OBDII)。

355645b7d02e1094e3.png

幸福小强 发表于 2018-8-22 15:25 | 显示全部楼层
CAN用的越来越多了。
幸福小强 发表于 2018-8-22 15:25 | 显示全部楼层
485早晚要淘汰。
yiyigirl2014 发表于 2018-8-22 15:54 | 显示全部楼层
工业设备控制,用这个很合适。
huangcunxiake 发表于 2018-8-22 16:58 | 显示全部楼层
CAN的传输距离谁知道
huangcunxiake 发表于 2018-8-22 16:59 | 显示全部楼层
通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M)
huangcunxiake 发表于 2018-8-22 16:59 | 显示全部楼层
原来如此,比485厉害。
antusheng 发表于 2018-8-23 10:29 | 显示全部楼层
现在电梯也越来越多用CAN了。稳定可靠。
515192147 发表于 2018-8-23 11:46 | 显示全部楼层
本帖最后由 515192147 于 2018-11-9 11:12 编辑

CAN编程比 485 编程 复杂,一般CAN编程 都是 基于CAN的高层协议编程的
TB2QOikpXXXXXXjXFXXXXXXXXXX_!!188078469.jpg

我们 提供 485 快速简易升级到 CAN的方案,详细见:
https://bbs.21ic.com/icview-1945634-1-1.html

gnaijnaoul 发表于 2018-8-24 18:31 来自手机 | 显示全部楼层
本帖最后由 gnaijnaoul 于 2018-8-24 18:32 编辑

CAN的使用要比485简单多了吧。485需要自己做数据链路层的控制,让数据成帧,还要自己判断是不是自己要的数据。CAN直接就把这两个问题解决了,不用MCU干预。在实时性要求不高的场合,通过CAN一个MCU里的变量可以看成是和其它MCU实时共享的。
yjgna 发表于 2018-8-24 21:34 | 显示全部楼层
从物理层和链路层机制来看,CAN比485更安全、实时性更好、传输效率更高(485是有主从之分,所有通信都是由主机发起的)
对于软件开发,只要熟悉都好做。但对于熟悉CAN高层协议的人来说,使用CAN协议更简单 灵活,更加方便进行网络管理。
在我看来 485最大的优势在于成本吧。集成CAN控制器的MCU要贵一些,并且CAN收发器也比485芯片贵
515192147 发表于 2018-11-29 22:51 | 显示全部楼层
本帖最后由 515192147 于 2018-11-29 22:52 编辑
yjgna 发表于 2018-8-24 21:34
从物理层和链路层机制来看,CAN比485更安全、实时性更好、传输效率更高(485是有主从之分,所有通信都是由 ...

CAN接口成本低(PCA82C251_3元一个),和增加一个RS485接口(MAX13485_3元一个)成本一样;
带CAN接口的芯片价格也非常实惠:LPC11C14_5元一个,STM32F103C8T6_5元一个,
                         STM32F103RCT6_6元一个,双CAN的STM32F105RBT6芯片仅8元左右!
有时间 看下 我们的 CAN开发板:
https://bbs.21ic.com/icview-1945634-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1118

主题

7331

帖子

154

粉丝
快速回复 在线客服 返回列表 返回顶部