作者: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只能进行点对点的简单通讯