我们常用的串口究竟是同步还是异步?蓝牙模块、WiFi模块用的又是什么方式?今天,我们就来一探究竟,讲清楚串口通信的同步与异步的区别。 1.同步串口同步串口就像合唱团需要指挥打拍子,同步串口必须共用一根时钟线CLK。发送方和接收方严格按节奏同步来传输,适合高速数据传输,但是需要多接一根线。 优点 高速传输:SPI可达100Mbps+。 无帧开销:数据流连续传输,无需起止位,效率近100%。 精准同步:专用时钟线(SCLK)确保收发时序严格对齐。 多设备扩展:SPI支持主从设备链式连接。 I²C通过地址寻址支持多从机。 缺点 布线复杂:SPI需4根线(SCLK, MOSI, MISO, CS)。I²C需2根线(SCL, SDA),但需上拉电阻。 抗干扰弱:时钟信号受干扰会导致整段数据出错。 距离短:通常≤1米(高速信号衰减限制)。 应用场景 当你需要高速传输或连接多个设备的时候,就会遇到同步串口: SPI:驱动OLED屏幕、FLASH存储器,需要CLK时钟线 I²C:连接温湿度传感器、RTC时钟芯片,通过SCL、SDA两条线 比如I²C读取温度传感器: 2.异步串口异步串口更像是两个人在对话,不需要指挥,也就是时钟线,双方提前约定好说话速度,就是用波特率来同步数据,这种常见在各种模块的通信接口。 优点 布线简单:仅需两根线(TX发送、RX接收),成本低。 抗干扰强:每帧数据独立(起始位+停止位),单帧错误不影响后续传输。 跨平台兼容:标准协议(如RS-232、TTL电平),广泛用于MCU、PC、传感器。 长距离传输:配合RS-485可扩展至1200米。 缺点 效率低:每帧需附加起止位,有效数据率低于同步。 依赖波特率:通信双方必须严格匹配波特率,时钟偏差会导致误码。 速率受限:通常波特率≤115.2kbps。 应用场景 我们常用的串口(如电脑上的 COM 口、RS-232、RS-485,或通过 USB 转串口芯片实现的 USB-TTL 串口)通常是 异步串口。 蓝牙、WiFi、GPS常用的也是异步串口。你在开发板上看到标着TX、RX的两个引脚,这就是典型的异步串口UART。 这类模块选择异步串口有三大原因: ①.接线简单:只需要两根线RX、TX,节省硬件资源; ②.协议简单:不需要复杂的时钟同步,适合新手快速上手; ③.通用性强:所有单片机都支持UART,兼容性好; 3.如何选择串口类型?选异步(UART) 需要长距离通信(工业现场)。 布线受限(如四轴飞行器飞控连接GPS)。 对速率要求不高(调试日志、传感器上报)。 选同步(SPI/I²C) 需要高速传输(显示屏刷新、摄像头数据)。 系统内多芯片协同(主控+外设芯片)。 空间紧凑(I²C仅需2线支持多设备)。
|