单片机的串口通信是什么?它有哪些设计方案?
串口通信是单片机一个重要的部分,单片机和PC,单片机和单片机之间的通信大都用串口。单片机的串口是全双工异步串口通信方式。通过TXD(P3.1)发送,RXD(P3.0)引脚接收输入。
更多
单片机的串口通信是一种在微控制器(单片机)和外部设备之间传输数据的常用、简单且成本低廉的方法。它使用串行传输的方式,即数据位一位接一位地在单根线或一对线上传输(对比并行通信需要多根数据线)。
核心概念
- 异步通信: 通信双方没有共享的时钟信号。它们依靠约定好的波特率来同步时序。发送端在数据前添加起始位(通常是低电平),在数据后添加停止位(通常是高电平),接收端根据起始位判断数据位的开始,并在约定的时间点采样。
- 全双工/半双工:
- 全双工: 最常见的配置。需要两根数据线:TXD(Transmit Data - 发送数据) 和 RXD(Receive Data - 接收数据)。可以同时发送和接收数据。
- 半双工: 通常只使用一根数据线(TX/RX)。在同一时刻只能发送或接收数据,不能同时进行(需要收发控制信号配合切换方向)。
- 关键参数: 通信双方必须设置一致,否则无法正确通信。
- 波特率: 传输速率,表示每秒传输的符号数(1 Symbol = 1 位)。常见波特率如 9600, 19200, 38400, 57600, 115200 bps。波特率越高,传输越快,但对时序误差容忍度越低。
- 数据位长度: 实际数据的位数。通常是8位(1个字节),也可以是5、6、7、9位。
- 停止位: 表示一个字节结束的标志。通常是1位,也可能是1.5或2位(用于早期低速设备或弥补波特率误差)。
- 奇偶校验位: 一个可选的位,用于简单的错误检测(检错能力有限,不能纠错)。
- None/No Parity: 无校验。
- Odd Parity: 奇校验。数据位 + 校验位中,“1”的数量为奇数。
- Even Parity: 偶校验。数据位 + 校验位中,“1”的数量为偶数。
- 流控:
- 无流控: 不控制数据流。如果接收方来不及处理,数据会丢失。仅适合低速或简单通信。
- 硬件流控: 使用额外的信号线(RTS (Request To Send - 请求发送) 和 CTS (Clear To Send - 清除发送))控制数据流的暂停与继续。有效防止数据丢失。
- 软件流控: 使用特殊的控制字符(XON/XOFF)嵌入数据流中来通知对方暂停或继续发送。开销大,效率较低,现代较少使用。
常用设计方案
实现单片机串口通信的方案有多种,主要区别在于硬件接口、通信距离、抗干扰能力和协议复杂度上:
-
TTL/CMOS 电平直连:
- 原理: 直接使用单片机UART模块的原始TTL/CMOS电平(通常是0V表示逻辑0,3.3V或5V表示逻辑1)。
- 特点:
- 距离: 非常短(通常几厘米到1米以内)。
- 抗干扰: 极差,极易受噪声影响。
- 应用:
- 同一块PCB上两个单片机之间的通信。
- 单片机与板上串口外设(如ESP8266/32 WiFi模组、蓝牙模组、某些GPS模组)的通信。
- 通过USB转TTL串口模块连接到电脑进行调试(电脑USB接口模拟出一个TTL串口)。
- 硬件: TXD、RXD(、GND)三根线直接连接即可。可选是否接GND。
-
RS-232:
- 原理: 使用RS-232电平标准(通常负电压 -3V ~ -15V 表示逻辑1,正电压 +3V ~ +15V 表示逻辑0)。
- 特点:
- 距离: 相对较长(理论几十米,实际15米左右较为可靠)。
- 抗干扰: 好于TTL直连(利用较高电压和正负电压差)。
- 应用: 连接老式设备(如工控设备、旧式调制解调器)、部分仪表设备。曾是PC的标准配置(9针D型串口)。
- 硬件:
- 单片机端需要集成RS-232收发器芯片(如MAX232, SP3232)进行电平转换(TTL ↔ RS-232)。
- 连接到RS-232设备(如PC的COM口)需要DB9接头和电缆(通常是交叉线:单片机的TXD连接对方的RXD)。
-
RS-485:
- 原理: 使用差分信号传输。两根线A+和B-。当A+的电压比B-的电压高时表示逻辑1,反之表示逻辑0。
- 特点:
- 距离: 长(理论1200米以上,实际可达数百米至千米)。
- 抗干扰: 极强(差分信号能有效抑制共模噪声)。
- 拓扑: 多节点总线结构(最多可连接32个节点)。
- 方向: 半双工(同一时刻只有一台设备在发送,由主机控制切换方向)。
- 应用: 工业自动化、楼宇控制、仪器仪表网络。需要长距离、多设备联网、抗强干扰的场合。常用协议如Modbus-RTU基于RS-485实现。
- 硬件:
- 单片机端需要集成RS-485收发器芯片(如MAX485, SN75176)进行电平转换和方向控制(TTL ↔ RS-485 差分信号)。
- 需要额外的一个GPIO引脚控制收发方向(RE/DE引脚)。
- 所有设备连接在两根双绞线上(A+和B-),并在总线两端接终端电阻(120Ω)。
-
USB模拟串口:
- 原理: 利用单片机的USB外设接口(OTG或Device),通过特定的USB类协议(CDC - Communication Device Class)在电脑端模拟出一个虚拟COM口。
- 特点:
- 距离: 由USB标准限制(USB2.0为5米,使用Hub可延长)。
- 便利性: 现代主流方式,无需额外转换器,直接使用标准USB线。
- 速度: 可以达到USB总线允许的高速(远超传统串口)。
- 应用: 现代单片机连接PC调试、更新固件的首选方式。
- 硬件: 单片机必须集成USB外设控制器。软件上需要实现USB CDC协议栈。
-
无线传输扩展:
- 原理: 将上述有线串口(通常是TTL电平)连接到无线传输模块(如基于Wi-Fi、蓝牙、Zigbee、LoRa、GPRS/4G/5G等的模块)。
- 特点: 串口通信本身不受影响(仍然是异步串行),只是物理传输介质变成了无线。
- 应用: 物联网设备、无线传感器网络、遥控设备等。
- 硬件: 单片机TTL串口引脚连接到无线模块的相应串口引脚(需要查阅模块手册)。
总结
单片机串口通信的核心在于通过UART实现的异步串行数据传输。选择哪种设计方案取决于具体应用的需求:
- 极短距离、简单调试: TTL直连(配合USB转TTL模块连PC)。
- 中等距离、普通抗扰(老旧设备): RS-232(需电平转换)。
- 长距离、多节点、强抗扰(工业): RS-485(需转换和收发控制)。
- 现代设备连接PC: USB CDC(首选)。
- 无线应用: TTL串口 + 无线模块。
理解波特率、数据格式和流控等基本概念,并合理选择硬件转换方案,是成功实现单片机串口通信的关键。在软件编程上,通常需要配置UART寄存器、编写数据发送和接收函数(使用轮询或中断方式)。
详解单片机的串口通信
在使用计算机的大多数时间中,我们需要通过一定的物理接口,达到与外界通信的目的,单片机本质上也是计算机,麻雀虽小,五脏俱全,不同于USB这样的庞然大物,绝大多数
2022-09-13 10:39:39
基于STM32单片机的蓝牙智能小车设计方案是什么
录前言一、最简单DIY基于STM32单片机的蓝牙智能小车设计方案是什么?二、使用步骤1.准备硬件2.准备一个串口
2021-11-25 08:53:47
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 芯片的工作原理是什么?
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- dtmb信号覆盖城市查询
- 怎样挑选路由器?
- 华为芯片为什么受制于美国?
- 元宇宙概念股龙头一览
- type-c四根线接法图解
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- BLDC电机技术分析
- 复位电路的原理及作用
- dsp是什么意思?有什么作用?
- iphone13promax电池容量是多少毫安
- 苹果无线充电器怎么使用?
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 传感器常见类型有哪些?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机