STM32-串口通信

本文详细介绍了STM32的串口通信协议,包括RS-232、RS-422和RS-485的区别,以及电平标准的解析。通过USB/TTL模块(如CH340)进行串口转换,实现实验中的LED闪烁和串口发送数据,通过逻辑分析仪观察波形,理解串口通信的时序状态。
摘要由CSDN通过智能技术生成

一、了解串口协议

01 串口协议

串口协议又指串口通信,串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。

02 RS-232

RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。

03 RS-422

RS-422(EIA RS-422-AStandard)是Apple的Macintosh计算机的串口连接标准。RS-422使用差分信号,RS-232使用非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比RS-232,它能更好的抗噪声和有更远的传输距离。在工业环境中更好的抗噪性和更远的传输距离是一个很大的优点。

04 RS-485

RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。有了多个设备的能力,你可以使用一个单个RS-485口建立设备网络。出色抗噪和多设备能力,在工业应用中建立连向PC机的分布式设备网络、其他数据收集控制器、HMI或者其他操作时,串行连接会选择RS-485。RS-485是RS-422的超集,因此所有的RS-422设备可以被RS-485控制。RS-485可以用超过4000英尺的线进行串行通行

二、区别电平标准

RS232 RS485 TTL同属于异步串行通信,这三种通信方式本质上是电平逻辑的区别

01 RS232电平

RS232多用于电脑的串口,目前使用最广泛的就DB9接口,即九线接口,目前一般的电脑主机后面都会有这样的接口.
在这里插入图片描述
RS232电平采用负逻辑,

-15V ~ -3V  代表逻辑1
+3V  ~ +15V 代表逻辑0
-3V  ~ +3V  无意义

在早期还有DB25线的接口,后来IBM将标准改成9线接口。
这种信号传输方式决定了一根数据线即可实现数据传输,所以两根信号线(TX RX)即可实现全双工地数据传输,上图中的其他信号脚类似于RTS/CTS等都是用于差错控制,在较简单的应用中只需要GND RX TX即可。

RS232电平传输方式有一些明显的缺点

  • 接口的信号电平值相对太高,容易损坏接口电路的芯片。
  • 传输速率比较低,在异步传输时,波特率只有20Kbps。
  • 接口使用一根信号线和一根信号返回线回路构成共地的传输模式,很容易产生共模干扰,所以抗噪声比较弱。
  • 由于抗干扰能力弱,易产生共模干扰,所以传输距离并不远。

针对RS232在这些方面的不足,于是不断出现了一些新的标准,其中RS485是使用比较广泛的标准。

02 RS485电平

RS485多用于长距离传输的应用场景,大多数是在工业场景中,RS485电平逻辑采用差分电平,即传输数据至少需要两根信号线,根据两根信号线电压的差值来确定电平逻辑,发送端电平:

+2V ~ +6V  代表逻辑1
-2V ~ -6V  代表逻辑0
  其他        无意义
接收端电平:
 > +200mv  代表逻辑1
 < -200mv  代表逻辑0
  其他        无意义

由于在传输数据时需要两根信号线同时工作,所以RS485只能做到半双工通信,在RS232上依然有以下优化

  • 差分信号抗干扰能力强
  • 传输距离大大加长,可以达到KM级别的传输
  • 相对应RS232而言可以支持多点传输甚至联网构成分布式系统。
  • 传输速率可达到10M/bps。

03 TTL电平

目前我们熟知的单片机基本上都是使用的TTL电平的信号系统,这是计算机处理器控制的设备内部各部分之间通信的通信标准。
TTL集成电路的全名是晶体管-晶体管逻辑集成电路(Transistor-Transistor Logic)。在传统的单片机系统中,VCC(供电电压)为5V,电平标准为:

输出:
小于0.8V  代表逻辑0
大于2.4V  代表逻辑1
输入:
小于1.2V  代表逻辑0
大于2.0V  代表逻辑1
其他      无意义

  • TTL电平输入脚悬空时是内部认为是高电平。要下拉的话应用1k以下电阻下拉。
  • TTL电平无法进行长距离传输,抗干扰能力弱,信号衰减较大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值