打印
[新唐博主]

让通信经得起考验—由RS485升级到CAN bus

[复制链接]
2020|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
作者:新唐科技股份有限公司 微控制器行销应用处 邱达进技术副经理

       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)。


沙发
幸福小强| | 2018-8-22 15:25 | 只看该作者
CAN用的越来越多了。

使用特权

评论回复
板凳
幸福小强| | 2018-8-22 15:25 | 只看该作者
485早晚要淘汰。

使用特权

评论回复
地板
yiyigirl2014| | 2018-8-22 15:54 | 只看该作者
工业设备控制,用这个很合适。

使用特权

评论回复
5
huangcunxiake| | 2018-8-22 16:58 | 只看该作者
CAN的传输距离谁知道

使用特权

评论回复
6
huangcunxiake| | 2018-8-22 16:59 | 只看该作者
通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M)

使用特权

评论回复
7
huangcunxiake| | 2018-8-22 16:59 | 只看该作者
原来如此,比485厉害。

使用特权

评论回复
8
antusheng| | 2018-8-23 10:29 | 只看该作者
现在电梯也越来越多用CAN了。稳定可靠。

使用特权

评论回复
9
515192147| | 2018-8-23 11:46 | 只看该作者
本帖最后由 515192147 于 2018-11-9 11:12 编辑

CAN编程比 485 编程 复杂,一般CAN编程 都是 基于CAN的高层协议编程的


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

使用特权

评论回复
10
gnaijnaoul| | 2018-8-24 18:31 | 只看该作者
本帖最后由 gnaijnaoul 于 2018-8-24 18:32 编辑

CAN的使用要比485简单多了吧。485需要自己做数据链路层的控制,让数据成帧,还要自己判断是不是自己要的数据。CAN直接就把这两个问题解决了,不用MCU干预。在实时性要求不高的场合,通过CAN一个MCU里的变量可以看成是和其它MCU实时共享的。

使用特权

评论回复
11
yjgna| | 2018-8-24 21:34 | 只看该作者
从物理层和链路层机制来看,CAN比485更安全、实时性更好、传输效率更高(485是有主从之分,所有通信都是由主机发起的)
对于软件开发,只要熟悉都好做。但对于熟悉CAN高层协议的人来说,使用CAN协议更简单 灵活,更加方便进行网络管理。
在我看来 485最大的优势在于成本吧。集成CAN控制器的MCU要贵一些,并且CAN收发器也比485芯片贵

使用特权

评论回复
12
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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1104

主题

7317

帖子

149

粉丝