同一种总线(比如RS485)上可以跑多种协议(如莫迪康的MODBUS,松下的MEWTOCOL,西门子的profibus/DP)。反之,baiMODBUS协议可以跑在各种总线上(除了RS485外,还常用在以太网上)。
实际上,不同的总线一般涉及到不同的物理层(硬件)技术,而所谓“协议”顾名思义就是一种相互传递信息规则的约定。
比如,说话、写字都是信息传递的手段,可以看作不同的总线。而汉语、英语则是信息表达方式的不同约定,可以看作不同的协议。那么你说是否可以交叉配合使用?
当然,有些高级协议的实现对总线技术是有依赖的,比如can总线实现对等协议(谁都可以主动发言)很容易,而RS485总线实现对等就很难(通信效率会大幅降低)。就好比"哑语"这种总线就比“说话”这种总线不利,交换信息的能力更受限。
至于HDLC嘛,他是一种在同步链路上设计的协议,这种协议一样可以在can上跑,但由于can属于异步总线(没有时钟信号),严格来说是有一点点不同,你可以把它命名为HDLC-can,大家都能理解,就是变种。很多协议都有变种,比如MODBUS-ASCII和MODBUS-RTU,但不影响他们都是MODBUS协议。其实,HDLC自身就有很多变种。
通信总线和通信协议的区别?
最新推荐文章于 2023-09-18 19:54:42 发布