1. 硬件层协议

通讯协议主要是实现两个设备之间的数据交换功能,通讯协议分硬件层协议和软件层协议。硬件层协议决定数据如何传输问题,比如要在设备1向设备2发送0x63,0x63的二进制数为0110 0011,这8个二进制数从设备1传输到设备2,涉及到1怎么传,0怎么传的问题,这就是硬件层要解决的问题。
硬件层协议目前比较多见的有RS-232、RS-485、SPI、IIC等。RS-232规定,线上的电压为x伏都表示传输的是0,y伏传输的则是1。再者,比如要选择多少条线传输数据,选择什么材质的线传输输入,这些也属于硬件层协议约束的。

2. RS-485通讯协议

MCU管脚输出TTL电平,TTL电平的意思是,当MCU管脚输出0电平时,一般情况下电压是0V,当MCU管脚输出1电平时,电压是5V。因TTL电平的是由一条信号线,一条地线产生,信号线上的干扰信号会跟随有效信号传送到接收端,使得有效信号受到干扰,485通讯实际上是把MCU出来的TTL电平通过硬件层的一个转换器芯片进行转换:

把MCU出来的一条的TTL信号经过芯片转换为两根线(线A、线B)上的信号。当MCU给转换器输入低TTL电平时,转换器会使得B的电压比A的电压高,反之,A的电压比B的电压高。
485协议规约两条电平线上差值为多少表示0或者1,电压是通过仪表可以测量得到的,所以说RS-485是硬件层协议。
485协议的接收端可能是另一个MCU,MCU管脚也只接受TTL电平,转换芯片过来的是两条线的电压,所以需要对此两条线差分电压转换为TTL电平。

把TTL转为485,实质是一个集成芯片,其间无任何程序代码,纯粹硬件逻辑。同理,将485电平转为TTL也是如此。现在很多芯片把接收和转换都集成到一块IC,注意,转换器和接收器依旧是没有同时工作的,常见的转换芯片是MAX485。
可以这样理解,硬件层协议是公路,路的目的是为了让车辆能够过去。

3. 半双工通讯

首先了解什么是单工通讯,单工通讯是指数据只能朝着一个方向传输的通讯方式。而半双工通讯则是指对于通讯两端,不能同时相对方法发送数据,必须错开时间段发送。
RS-485的通讯线只有2条,且这两条通讯线在一次传输中都需要用到,因此485只可实现半双工通讯。485实现半双工通讯,会遇到一个问题,MCU1向MCU2发数据时,并不知道线上是否正传来MCU2数据,因为没有其他线可用来判断对方的收发状态,那么可能也会导致数据冲突。因此,RS-485要实现半双工通讯,就需要上层的软件协议加以规约,也就是做到”不能你想发数据就发数据”。可以理解,软件层协议就好像交通规则,它能让数据有序传输。

RS-485通讯协议相关推荐

  1. 西门子1200plc485轮询读写28个测试仪表,包括plc程序和触摸屏程序,仪表485通讯协议说明书

    西门子1200plc485轮询读写28个测试仪表,包括plc程序和触摸屏程序,仪表485通讯协议说明书,是学习西门子1200modbus通讯非常好的借鉴程序,此程序为工作实际运用项目 YID:1715 ...

  2. 485通讯协议在java中的应用

    485通讯协议在java中的应用(一) 前言 之前我博客中有提到,在javaWeb应用系统中进行串口通讯的实现. 博客地址:java串口通讯,可实现javaWeb页面同时控制多个串口,有demo 很多 ...

  3. 温湿度传感器485通讯协议

    485通信温度和湿度传感器的主要参数和技术参数 KX-WS-100温度和湿度传感器采用了国际通用的 modbus数字通讯协议,可以与任何组态软件进行连接.采用RS-232.485串口和微机构成多点温度 ...

  4. 485通讯协议_HART协议和RS485协议有什么区别?

    HART协议和RS485协议的区别如下: 1.概念不同 HART协议是采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯: ...

  5. 51单片机c语言485通讯案例,485通讯协议程序怎么写(51单片机的485通信程序案例)...

    RS-485总线接口是一种常用的串口,具有网络连接方便.抗干扰性能好.传输距离远等优点.RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检测到低达20 ...

  6. 485通讯与MODBUS的区别与联系

    最近做智能检测的项目,设备.串口之间的通讯比较多,一会儿485,一会儿modbus RTU,有点晕了,这里重新梳理一下RS485.485通讯协议.ModBus通讯协议.Modbus Rtu通讯这几个点 ...

  7. MODBUS通讯协议详解(基于485)

    参考:灵育科技Modbus课程总结 作者:Naunyang 时间:2020-11-23 13:51:58 网址:https://blog.csdn.net/Naunyang/article/detai ...

  8. 485通讯线是几芯的_RS485协议 电脑与stm32单片机通信 keil编程 在485的硬件错误中徘徊...

    学习于:野火stm32视频教程 CAN是用在汽车总线中,RS485是用在工业现场环境中.特定是传输距离远,抗干扰能力强. 485由232协议改进而来,协议层不变,只是改进了物理层,因此保留了串口通讯协 ...

  9. 常见的通讯协议总结(USART、IIC、SPI、485、CAN)

    目录 一.通讯的基本概念 1.串行通讯 2.并行通讯 3.串行通讯与并行通讯对比 4.传输模式(单工.半双工.全双工) 二.USART-串口通讯 1.物理层 2.协议层 (1)波特率 (2)起始和停止 ...

  10. 485之modbus通讯协议学习笔记

    485之modbus通讯协议学习笔记 这里主要探讨两个寄存器 03 读保持寄存器 04读输入寄存器 输入寄存器其中的温度值和湿度值分别各占两个字节,一个字节八位使用十六进制00 01表示两个字节的寄存 ...

最新文章

  1. python中语法错误-python中的语法错误是指什么
  2. 【数字信号处理】线性时不变系统 LTI “ 输入 “ 与 “ 输出 “ 之间的关系 ( LTI 系统单位脉冲响应 | 卷积 | 卷积推导过程 )
  3. c监控进程发现未启动就启动进程_非常有用的16个Linux 服务器监控命令
  4. hdu3072 Intelligence System (最小树形图?)
  5. .NET Core中使用结果过滤器ResultFilter统一结果返回封装
  6. php与JAVA的RSA加密互通
  7. javascript学习系列(11):数组中的findIndex方法
  8. 图片操作案例:python 批量更改图像尺寸到统一大小的方法
  9. python提高——类(私有化,封装、继承、多态)
  10. 大道至简——软件工程实践者的思想 读后感3
  11. Android Service(二)Service的两种启动方式
  12. MongoDB几个完整的库表设计实例
  13. 戴尔服务器硬件查看信息工具omreport
  14. 学习微机原理与接口这一篇就够了
  15. Win10分辨率不能调怎么办
  16. json数据快速格式化
  17. Maximo学习:创建表和应用程序
  18. Kafka深入浅出(一)
  19. 【2018年的最佳固态硬盘】最好的固态硬盘可以增强你的电脑
  20. js正则去掉头尾空白符

热门文章

  1. 夏普Sharp AR-163N 一体机驱动
  2. 第四周 特殊应用:人脸识别和神经风格转换(Special applications: Face recognition Neural style transfer)
  3. CefSharp入门-winform
  4. php 时间转换时间戳_php时间戳转换日期方法总结
  5. C语言基础期末复习题(带详解答案)
  6. 2023年CFA一级notesbook1+quicksheet(高清)
  7. 扫一扫二维码隐私权政策
  8. 摩尔庄园一直显示服务器,《摩尔庄园手游》一直显示获取远端资源号介绍 进不去怎么办...
  9. 老男孩python课后作业_老男孩python基础知识练习题(一)上
  10. C语言数码管是共阴共阳程序,C语言实现共阴极数码管操作