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

硬件开发—IMX6ULL裸机—UART通信

1.串口通信相关基础概念

1.单工通信(Simplex Communication)
  • 核心定义:通信双方的角色完全固定,一方仅作为 “发送端”(只能向外发送数据),另一方仅作为 “接收端”(只能接收数据),数据只能沿单一方向传输,无法反向交互。

  • 硬件特点:仅需 1 根数据线(负责单向数据传输)+ 1 根接地线(提供电平参考),硬件结构最简。

  • 工作过程:发送端持续或按需输出数据,接收端始终处于 “监听” 状态,无需反馈任何信息(也无法反馈)

  • 典型例子

    • 传统广播(电台向听众发送音频信号,听众无法向电台回传信息)

    • 红外遥控器(遥控器向电视发送控制指令,电视不向遥控器反馈)

2.半双工通信(Half-Duplex Communication)
  • 核心定义:通信双方均可作为发送端和接收端(角色可切换),但同一时间只能有一个方向传输数据(即 “发送时不能接收,接收时不能发送”),需通过协议或硬件机制控制角色切换。

  • 硬件特点:通常仅需 1 根数据线(分时复用,既传发送数据也传接收数据)+ 1 根接地线

  • 工作过程

    1. 初始状态下,双方默认处于 “接收模式”,监听数据线;

    2. 当 A 端需要发送数据时,通过控制信号切换为 “发送模式”,向 B 端传输数据,此时 B 端保持 “接收模式”;

    3. A 端发送完成后,切换回 “接收模式”;若 B 端需要回传数据,再切换为 “发送模式”,A 端转为 “接收模式”。

  • 典型例子

    • 对讲机(按下 “说话键” 时为发送端,松开后为接收端,双方不能同时说话)

3.全双工通信(Full-Duplex Communication)
  • 核心定义:通信双方可同时进行双向数据传输(即 A 端发送数据的同时,B 端也能向 A 端回传数据),无需切换角色,实现 “双向同步交互”

  • 硬件特点:至少需要 2 根数据线(1 根专门用于 A→B 发送,1 根专门用于 B→A 接收)+ 1 根接地线;数据线独立工作,互不干扰

  • 工作过程:双方的发送端和接收端始终处于激活状态,发送数据和接收数据在不同的数据线中并行进行,无需等待对方完成发送

  • 典型例子

    • 打电话(双方可同时说话和倾听,声音信号在两条独立的线路中传输)

4.串行通信与并行通信(按数据传输方式分类)

两种模式的核心差异在于一次传输的比特数硬件资源占用,具体如下:

1.串行通信(Serial Communication)
  • 核心定义:将待传输的数据(通常为字节,8 位)拆分为单个比特,按 “先低后高” 或 “先高后低” 的固定次序,在一根或两根数据线上逐位传输(全双工用两根,半双工 / 单工用一根)

  • 硬件特点

    • 数据线数量少(1~2 根),占用芯片引脚和 PCB 布线资源少,硬件成本低

  • 工作过程(以先传低位为例)

    1. 发送端将字节 拆分为 8 个比特

    2. 按次序在数据线上逐位发送

    3. 接收端按相同次序逐位接收

  • 优势与局限

    • 优势:资源占用少、结构简单、抗干扰能力较强、适合长距离传输

    • 局限:传输速率相对较低(一次仅传 1 位),不适合超高速场景(如 GB 级数据传输)

  • 典型例子:TTL 串口、RS232、RS485、UART、SPI(同步串行)、IIC(同步串行)

2.并行通信(Parallel Communication)
  • 核心定义:将待传输的数据(通常为字节、半字或字)的多个比特同时传输,每个比特对应一根独立的数据线,配合一根 “时钟线”(同步)或 “握手信号线”(异步)确保数据同步。

  • 硬件特点

    • 数据线数量多(如 8 位并行需 8 根数据线,32 位并行需 32 根数据线),占用大量芯片引脚和 PCB 布线资源,硬件成本高;

    • 要求所有数据线的 “传输延迟一致”(否则会出现 “码间串扰”),对线路设计要求严格(如 PCB 需等长布线)。

  • 工作过程

    1. 发送端将字节 8 个比特(bit0~bit7)分别加载到 8 根数据线上

    2. 通知接收端 “数据已准备好”

    3. 接收端同时读取 8 根数据线上的比特,直接获得完整字节

  • 优势与局限

    • 优势:传输速率高(一次传 n 位,速率是同时钟下串行的 n 倍),适合短距离高速传输

    • 局限:资源占用多、成本高、抗干扰能力弱、传输距离短

5.异步通信与同步通信(按数据同步方式分类)

两种模式的核心差异在于是否依赖专用时钟线以及 “同步机制”,具体如下:

1.异步通信(Asynchronous Communication)
  • 定义:收发双方无专用时钟线,通过 “约定波特率” 和 “数据帧结构” 实现同步,即双方预先约定好 “每比特的传输时间”(由波特率决定),并通过帧中的 “起始位” 和 “停止位” 标记数据的开始和结束。

  • 关键前提

    • 收发双方的波特率必须一致;

    • 数据帧结构固定(起始位、数据位、校验位、停止位的位数需预先约定)。

  • 数据帧结构(以 “8N1” 为例,即 8 位数据、无校验、1 位停止位)

    1. 空闲状态:数据线保持高电平(表示无数据传输);

    2. 起始位:发送端输出 1 个低电平(打破空闲状态,通知接收端 “数据即将到来”);

    3. 数据位:按 “先低后高” 次序传输 8 个比特;

    4. 校验位(可选):无校验时省略,有校验时传输 1 个比特(奇校验确保 “数据位 + 校验位” 中 1 的总数为奇数,偶校验为偶数);

    5. 停止位:输出 1 个高电平,标记一次数据结束,同时恢复空闲状态,为下一次做准备。

  • 工作过程

    1. 接收端持续监听数据线,当检测到 “高电平→低电平” 的跳变(起始位)时,启动内部定时器;

    2. 定时器按波特率计算的 “每比特时间的中间时刻” 采样数据位;

    3. 采样完所有数据位(和校验位)后,检测到停止位(高电平),确认一次数据接收完成,重组数据。

2.同步通信(Synchronous Communication)
  • 核心定义:收发双方通过专用时钟线 实现同步,发送端控制时钟线的电平变化(如上升沿或下降沿),每一个时钟周期传输 1 个比特数据,接收端严格按照时钟信号的节奏采样数据,无需起始位和停止位。

  • 关键前提

    • 时钟线由 “主设备”(通常是 CPU 或控制器)控制,“从设备”(如传感器、存储芯片)被动跟随时钟;

    • 数据传输特点

      • 无额外的起始 / 停止位,数据连续传输(一帧可包含多个字节),传输效率高;

串口通信属于异步串行通信

2.UART通信

:设置比特率相关参数

要设置的波特率位115200,寄存器频率为80MHz,经计算,带入公式的比值为43.402

比值一定,故可以设置UBIR+1为1000,JBIR = 43.402 *1000 -1 =43401

最终得UBIR=999,UBMR=43401


文章转载自:

http://5eIPsjTD.wfjyn.cn
http://dGuOviAE.wfjyn.cn
http://gtFxplyC.wfjyn.cn
http://HyAgSDiW.wfjyn.cn
http://LeMgz5r2.wfjyn.cn
http://kxmBlNwc.wfjyn.cn
http://FiavxggM.wfjyn.cn
http://Oeel6No8.wfjyn.cn
http://FaVL6EkD.wfjyn.cn
http://FOXPPAL2.wfjyn.cn
http://9reFuaJK.wfjyn.cn
http://xRBXr3SE.wfjyn.cn
http://z3cRs1To.wfjyn.cn
http://djQ3YOTG.wfjyn.cn
http://hdqYtrv5.wfjyn.cn
http://3kAaQ9cl.wfjyn.cn
http://D7QN8L8v.wfjyn.cn
http://BQYjotGi.wfjyn.cn
http://02bkMKls.wfjyn.cn
http://x7Rvo6vT.wfjyn.cn
http://bBLDW8s0.wfjyn.cn
http://aCj1LHQ3.wfjyn.cn
http://SQeCOmZz.wfjyn.cn
http://OmdUBFKT.wfjyn.cn
http://U6H1pbVx.wfjyn.cn
http://6BPVOB8M.wfjyn.cn
http://hJnCOUBw.wfjyn.cn
http://XKSO9gtT.wfjyn.cn
http://LmM2o1gl.wfjyn.cn
http://2zif1UAB.wfjyn.cn
http://www.dtcms.com/a/385672.html

相关文章:

  • 蓝牙上位机开发指南
  • 【课堂笔记】复变函数-1
  • 谈谈人大金仓数据库
  • C#调用钉钉API发送通知教程
  • 电子电气架构 --- 产线EOL为何需要智能升级?
  • 无人机姿态控制系统详解与实现
  • 7.Redis 主从复制(重在理解)
  • 从零搭建RAG应用:跳过LangChain,掌握文本分块、向量检索、指代消解等核心技术实现
  • 从0开始做一个完整项目 -- 软件跨平台编译打包全流程
  • comfyUI实战——使用openArt的工作流
  • linux 之 struct attribute
  • 强化学习PPO-分类任务
  • 决策树模型全解析:从分类到回归(基于鸢尾花数据集)
  • shell脚本部署lamp
  • c语言6:static 关键字控制变量/函数的 “生命周期” 与 “可见性”
  • MySQL 数据库对象与视图:从概念到实战,掌握虚拟表的核心价值
  • 【VPX361】基于3U VPX总线架构的XCZU47DR射频收发子模块
  • 消火栓设备工程量计算 -【图形识别】秒计量
  • 基于LangGraph的深度研究智能体技术解析
  • 【哈希表】1512. 好数对的数目|2506. 统计相似字符串对的数目
  • Java--多线程基础知识(2)
  • 活泼解析pthread_join函数:多线程世界的等待仪式
  • 机器视觉的智能手表后盖激光打标应用
  • 第七章 来日方长(2025.8学习总结)
  • 卡方检验公式中分母 (a+b)(c+d)(a+c)(b+d)的本质
  • IT基础知识——数据库
  • 电子衍射模拟:基于GPU加速的MATLAB/Julia实现
  • yum只安装指定软件库中的包
  • CentOS网卡接口配置文件详细指南
  • 计算机视觉 - 对比学习(上)MoCo + SimCLR + SWaV