51单片机-串口通信

作者:Whappy

目的:手撕51

时间:2024.9.3

前提一定要认识接口电平

部分原文可参考

串原文链接:https://blog.csdn.net/shouchen1/article/details/131988165口通讯接口类型:TTL、RS232和RS485


在串口通信中,常用的接口类型包括TTL、RS-232和RS-485,TTL、RS-232、RS422、RS-485是指的电平标准(电信号)。

通信协议规定了数据传输的规则和格式,包括数据的起始位、停止位、数据位数、校验位等。通信协议还定义了通信双方之间的通信方式,如主从模式、同步或异步传输等。

电平标准则规定了信号的电压范围和传输方式。不同的电平标准使用不同的电压表示逻辑高低,如TTL中使用0V和3.3V或5V,RS-232中使用正负电平,RS-422和RS-485中使用差分信号等。电平标准还定义了信号线的连接方式和传输速率等。

通信协议和电平标准之间的关系在于,通信协议需要根据电平标准来解析和处理信号,确保正确的数据传输和通信的可靠性。通信协议需要了解和遵守所使用的电平标准,以正确地解析接收到的信号和生成发送的信号。同时,电平标准也需要与通信协议相匹配,以确保信号的正确传输和解析。

串口通信

在进行串口通信时,首先要约定好帧格式和波特率,

这是一帧,我们常见的帧格式:一共有10位,它的第一位时起始位,都是以低电平开始,中间的8个是数据位,数据位的内容由用户定义的,正好是一个字节,通过中间这8个数据位不同的排列组合就能代表256种不同的信息,第10位是停止位,都是以高电平结束。当然还有其它的帧格式,比如数据位只有7位或者5位,约定好帧格式,就需要对波特率进行设定了,串口通信常用的波特率为9600、19200、38400、115200.

9600:代表在一秒之内,串口可以传输9600个高低电平,那串口通信的高低电压范围是多少呢?

串口了通讯采用的是TTL逻辑,

其中TTL,即晶体管-晶体管逻辑电平。TTL电平信号规定

电压范围小,这就导致了抗干扰能力差,传输距离短,只在同一板卡内通信。

一般都是在一块电路板上两块芯片之间的通讯,或者芯片和电脑通讯,距离一般都要在一米之内:

为了提升抗干扰能力和通信距离,1970年美国电子工业协会(EIA)定制并发布了RS-232标准,RS-232标准接口(又称EIARS-232)是常用的串行通信接口标准之一。RS-232可用于许多用途

同时也可以接工业仪器仪表


和串口通讯保持一致,串口通讯使用的也是这三根线,串口通讯时全双工通讯,也就是它可以同时进行收发工作。

我们只需要在原来串口通讯的基础上加一个电平转换芯片,例如MAX232,这样它就能把TTL电平转换为RS232电平了

比如我们单片机给MAX232发送的是5V,则它输出12V。


RS232只是改变了电平大小,传输的还是原来的串口的那些0或者1的数据,而且RS232也是全双工通讯,还是我们最开始那一帧串口数据,以下为转换成232之后的样子,它最大的好处就是抗干扰能力增强了,因为它的高低电平相差了近20V。

这样即使某一个信号受到干扰,它的高低电平还有很大的改变余量,所以它的抗干扰能力增强了很多.


就能实现简单的全双工通信。RS232采用负逻辑传送

选用该电气标准的目的在于提高抗干扰能力,增大通信距离。由于接口使用一根信号线和一根共地传输线而构成共地的传输形式,所以抗共模干扰能力差

那为了应对更为严峻的工业环境和更远的距离需求,于是人们制定了RS485标准。RS-485是一种工业控制环境中常用的通讯协议,在1983年由电子工业协会定义。RS485采取了与RS-232完全不同的传输形式,即差分平衡传输。

通讯是在串口通讯的基础上加了一个电平转换芯片,转换芯片可以把输入的串口信号转化成差分信号


差分信号只需要两根线,不需要地线.


比如当信号A大于信号B时,表示逻辑0.反之,逻辑1.

芯片既可以把串口TTL信号转化成差分信号,也可以把差分信号转化单片机能识别的TTL信号.差分信号最大的优势就是抗干扰能力强.


差分平衡传输利用两根信号线(即A和B)的差值来表示逻辑0和逻辑1。

而且它的两跟线采用双绞线形式缠绕在了一起.当突然遇到闪电干扰时,会同时抬高两根信号线的对地电压,但是不会改变两根信号线的压差,因此具有很好的抑制共模干扰功能

因为接收和发送是共用两根信号线,

所以不能够同时收和发,只能半双工通信。RS-485是点对多通信,即只能有一个主设备,其余为从设备

总线上可接到32个设备.
而TTL和RS-232只能进行点对点的简单通讯


                        

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值