UART、Modbus、RS485关系

liuxuefei1212 2019-05-24 03:15:26
UART和RS485的关系: 通讯问题,和交通是一样的。串口通信,我们这里可以用公交来类比。 “公交运行”这个事可以简单分成两个部分:1、车站;2、公路。 其中车站决定了车上装什么(人),怎么发送(班次)等。 当汽车跑在路上,就要遵守公路交通的规则,过桥有过桥的规则,高速有高速的规则,和车站没有关系了。 回到串口通讯,其实,UART就相当于车站,而RS485则对应于公路的规则。 从某种意义上,可以说,线路上存在的仅仅是电流,RS485规定了这些电流在什么样的线路上流动和流动的样式;在UART那里,电流才被解释和组装成数据,并变成CPU可直接读写的形式。 UART可以这样理解:每个SOC芯片,内部都会有UART控制器,也就是上面的“车站”。但是通常说的UART指的是,一种串行通信协议。规定了数据帧格式,波特率等。 RS485:是规定了数据通信的电气特性。是物理层的概念,对应的物理器件有RS485驱动芯片,将CPU经过UART传送过来的电压信号驱动成RS485电平逻辑。 UART,是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),既然是“器”,显然,它就是个设备而已,要完成一个特定的功能的硬件,它本身并不是协议。那么它要完成什么功能呢?它的最基本功能,是串行数据和并行数据之间的转换。 协议分为硬件协议和软件协议。 而通讯协议属于软件协议,它包含报头包围的格式,MODBUS是应用层的通讯协议,主要用于传送和接收文件包的格式。而RS232,RS485是物理层的串行接口,它可以支持几十种通讯协议,MODBUS只是其中的一种。 例,一个人从香港去澳门,从香港去澳门可以走水路,水路是RS485。交通工具船和可以分别看成应用层的MODBUSRTU. Modbus是一种协议,必须要有硬件为实现平台,而不同的硬件平台具有不同的电气特性和连接方式,比如RS232,RS485;可以把Modbus比作英语,RS232比作印度人,RS485比作美国人,印度人之间讲英语时,理解为基于RS232的modbus通信,美国人之间讲英语时,理解为基于RS485的modbus通信。 总结:modbus是一个应用层的协议,他是构建在串口,网线等底层传输基础上的。uart只是串口协议而已。 一句话:3个的对象不一样。都是协议,就是一种规则。但是三个只所以有关系,是因为都应在数据传输。 看看他们的历史就明白了。
...全文
1584 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧