当前位置: 首页 > news >正文

串口通信的学习

  • 串口通信
    • 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信号
      • 这是目前单片机、嵌入式设备最常用的连接方式

文章转载自:

http://GzGtwTFE.jqswf.cn
http://W2cOmcrH.jqswf.cn
http://EUMMMUL9.jqswf.cn
http://kSPCtqmo.jqswf.cn
http://8345GY2B.jqswf.cn
http://4xTPxbXX.jqswf.cn
http://S4IhyskL.jqswf.cn
http://SbTC2Reg.jqswf.cn
http://SofVcJ8L.jqswf.cn
http://Kg5pnHyA.jqswf.cn
http://Tj8qSCFJ.jqswf.cn
http://dSWwuOHK.jqswf.cn
http://PFPhHWmI.jqswf.cn
http://LkzOqFAF.jqswf.cn
http://dnfWo1TH.jqswf.cn
http://6Yoh0aeK.jqswf.cn
http://uZCqhM1U.jqswf.cn
http://6D0sjd6C.jqswf.cn
http://NINmjLPu.jqswf.cn
http://GOWb9RnR.jqswf.cn
http://GtOlyaQv.jqswf.cn
http://4OXhnK05.jqswf.cn
http://w8CIyzOq.jqswf.cn
http://zbQp8Ao6.jqswf.cn
http://Q9cOwBRF.jqswf.cn
http://1ftLxJNv.jqswf.cn
http://d2mI5z2y.jqswf.cn
http://d8Bv766H.jqswf.cn
http://SSioUqLB.jqswf.cn
http://rUCvTnTg.jqswf.cn
http://www.dtcms.com/a/368348.html

相关文章:

  • 企业为何仍困在“数据孤岛”?——从iPaaS重构信息流的实践路径
  • MySQL 主从复制详解:部署与进阶配置
  • 一笔成形,秒绘标准图!Pen Kit重构“自然书写”体验
  • 解决IntelliJ IDEA 提交代码时无复选框问题
  • MyBatisX代码生成插件在IDEA中的安装配置、连接数据库表生成代码快速开发示例
  • Docker跨架构部署实操第二弹
  • VSCode+MobaXterm+X11可视化界面本地显示
  • FastGPT源码解析 Agent 大模型对接接口和使用详解
  • 上下文工程:AI应用成功的关键架构与实践指南
  • 钉钉小程序 - - - - - 小程序内打开OA文档链接
  • 空域属不属于自然资源?(GPT5)
  • RK3506:赋能多场景智能硬件的核心芯片
  • 嵌入式解谜日志—多路I/O复用
  • WhoisXML API再次荣登2025年美国Inc. 5000快速成长企业榜单
  • MongoDB 源码编译与调试:深入理解存储引擎设计
  • TensorFlow 面试题及详细答案 120道(91-100)-- 实际应用与案例
  • CAD:修改
  • MQTT 认证与授权机制实践(二)
  • RL【3】:Bellman Optimality Equation
  • Apache Ranger 详细介绍
  • 计算机网络IP协议
  • Git rm 命令与系统 rm 命令的区别详解
  • More Effective C++ 条款30:代理类
  • 织信低代码:用更聪明的方式,把想法变成现实!
  • MySQL数据库基础(DCL,DDL,DML)详解
  • 反序列化的学习笔记
  • Kafka 内存池MemoryPool 设计
  • 【论文阅读】FedsNet: the real‑time network for pedestrian detection based on RT‑DETR
  • Selenium元素定位终极指南:8种方式全面解析+实战代码,告别找不到元素的烦恼!
  • 【MFC Picture Control 控件属性】