实用指南:串口通信的学习
2025-09-14 13:39 tlnshuju 阅读(61) 评论(0) 收藏 举报- 串口通信 - UART在硬件中通常以一个独立的集成电路(IC)或作为更大芯片(如MCU、SoC)中的一个内部外设模块的形式存在。它的核心特性是进行并转串和串转并的转换,并处理通信协议
 
- 串行/并行通信 - 通过虽然并行一次能传更多资料,但随着速度提升,多条线之间的信号同步和相互干扰(串扰)变得极其难以处理。而串行通信虽然一次只传一位,但能够借助大幅提高时钟频率来轻松超越并行通信,且布线简便,成本低。现代高速总线(如USB,PCI-E,SATA)都是串行通信
 
- 通信模式 - 单工模式(Simplex Communication):主机间通信时如果一方固定为发送端另外一方固定为接收端,凭借一根总线实现数据通信。这种通信方式就像是你只能听别人说话,但无法回答他们一样,只能单向传递信息。
 - 通过半双工通信(Half-Duplex Communication):是一种通信方式,其中数据传输可以在两个方向之间交替进行,但不能同时进行。换句话说,通信双方可能既发送数据又接收数据,但不能同时进行这两种操作。比方说,就像你能够和别人交替说话和倾听对方说话一样。当你在说话时,对方在听你说:当对方在说话时,你在倾听对方。这种方式允许双方之间在发送和接收数据之间切换,但不能同时进行。半双工通信常用于对话式交流和一些简单的通信场景中。
 - 通过全双工通信(Full-Duplex Communication):是一种通信方式,其中数据传输可以同时在两个方向进行,允许通信双方同时发送和接收数据,达成双向通信。就像打电话一样,你可以同时说话也可以听对方说话,双方能够同时进行数据传输,实现双向沟通
 
- 串口通信 - 异步串口通信- 特点:不需要时钟信号线。发送和接收双方依靠预先约定好的波特率(BaudRate)来同步时序
 - 要求:双方必须严格运用相同的波特率、数据位、停止位、校验位等参数
 - 优点:节省一根时钟线,实现简单
 - 缺点:由于时钟不可能完全一致,长时间传输可能会有微小误差积累,因此不适合极高速和超长数据包传输
 - 代表:UART、RS-232
 
 - 同步串口通信- 特点:有一根专用的时钟信号线(CLK)。发送方在传输数据的同时,会发送一个时钟信号。接收方利用这个时钟边沿来采样数据线,同步精度极高
 - 优点:速度可以非常高,数据包可能很长。
 - 缺点:需要多一根线
 - 代表:SPI,I2C
 
 
- 异步串口通信
- 串口通信的核心参数- 配备串口通信时,必须确保通信双方利用相同的参数,否则材料会乱码。这些参数构成了我们常说的"内容帧格式"
 - 作为常用的串行通信方式,以TTL为例,串口通信在不同主机之间的数据格式为: - 空闲时数据线为高电平;
 - 发送发发送一个低电平表示起始位;
 - 发送的第一个比特是最低为(最右边);
 - 校验位分为奇校验,偶校验和无校验。奇校验是指确保数据位加上校验位中"1",1的总数为奇数;偶校验是指确保数据位加上校验位中"1",1的总数为偶数;
 - 为保证下一个字节发送前的起始位能够表现出来,校验位之后发送一个停止位1
 
 - 波特率(Baud Rate):- 表示每秒传输的符号个数,可粗略理解为传输速率(比特率,bps)
 - 常见值:9600,19200,38400,115200等。
 - 115200的波特率意味着每位数据宽度大约为1/115200
 - 数据位(Data Bits):
 - 每个帧中实际数据位的长度。许可是5,6,7,8位
 - 最常见的是8位,对应一个字节
 
 - 奇偶校验位(Parity Bit):- 一种简单的错误检查机制
 - 可选值: - None:无校验位
 - Even:偶校验,数据位+校验位中"1"的个数为偶数
 - Odd:奇校验,数据位+校验位中"1"的个数为奇数
 
 
 - 停止位(Stop Bits):- 用于标志一个数据帧的结束。总是逻辑高电平(1)
 - 可以是1位、1.5位或2位。最常见的是1位
 
 - 常用安装缩写:8N1(8位数据位,无校验,1位停止位),这是最常用的配置
 
- 物理接口 - UART本身是TTL电平(OV表示0,3.3V/5V表示1),传输距离很短(通常不超过一米)。为了进行远距离、抗干扰的串口通信,人们定义了各种物理层标准
 - RS-232:- 经典的老式"串口"或"COM口"。应用负逻辑(-3V~-15V表示1,+3V~+15V表示0)使用DB9或DB25接口
 - 传输距离可达15米左右
 
 - RS-485:- 采用差分信号传输(用两条线AB之间的电压差表示0和1),抗共模干扰能力极强
 - 传输距离可达千米以上,并支持多点总线(一个主机可带多个从机)
 
 - USB转串口(USB to UART TTL):- 现代计算机没有原生串口,通常使用USB转串口芯片(如CH340,CP2102,FT232)来模拟一个串口,输出的是TTL电平的UART信号
 - 这是目前单片机、嵌入式设备最常用的连接方式
 
 
 
                    
                     
                    
                 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号