玳瑁的嵌入式日记---0928(ARM--UART) - 指南

news/2025/10/3 19:53:38/文章来源:https://www.cnblogs.com/ljbguanli/p/19124924

玳瑁的嵌入式日记---0928(ARM--UART) - 指南

一、通信双工模式(数据传输方向)

根据通信过程中数据传输的方向和同时性,可分为单工、半双工、全双工三种模式,三者的核心差异体现在信道利用方式与冲突风险上。

1. 单工通信

  • 定义:数据只能搭建单向传输,即从 “发送端” 向 “接收端” 传递数据,接收端无法向发送端反馈信息,整个通信链路是单向不可逆的。
  • 核心特点:仅有一条单向信道,无需考虑 “冲突” 问题(因为接收端不会发送数据);发送端和接收端的角色固定不变,发送端只负责数据发送,接收端只负责数据接收;硬件结构容易,成本较低。
  • 典型应用:广播信号传输、电视信号传输、红外遥控器与设备的通信。

2. 半双工通信

  • 定义:数据能够实现双向传输,但无法在同一时间内双向进行 —— 同一时刻,通信链路仅允许一个方向的数据流动,发送端和接收端需要 “交替” 工作,即 “发送数据时不能接收,接收数据时不能发送”。
  • 核心特点:共享一条信道(或一组信道),凭借 “分时复用” 的方式实现双向通信,也就是 “轮流占用信道”;存在 “冲突风险”,若通信双方同时发送数据,会导致信号叠加、数据丢失,因此应该额外的冲突避免机制(如 “载波监听”);发送端和接收端的角色可以根据需求切换。
  • 典型应用:对讲机通信、早期以太网通信、RS-485 通信(默认模式)。

3. 全双工通信

  • 定义:内容能够在同一时刻搭建双向传输,发送端和接收端行 “同时” 发送和接收数据,相当于存在 “两条独立的单向信道”(一条用于从 A 到 B 传输,一条用于从 B 到 A 传输),通信链路是 “双向同步” 的。
  • 核心特点:拥有两条独立信道(或一条信道划分成两个子信道),无需 “分时复用”,数据发送和接收可并行进行;不存在 “冲突风险”(缘于双向数据经过不同信道传输),通信效率在三种模式中最高;能够支持实时交互场景。
  • 典型应用:手机通话、现代以太网通信、RS-422 通信、串口通信。

二、通信传输方式(数据位传输方式)

根据数据位的并行传输程度,可分为串行通信和并行通信,二者的核心差异集中在传输线路数量、传输速率和抗干扰能力上。

1. 串行通信

  • 定义:通过一条传输线路(或一对线路,包含地线)逐位传输数据,例如一个 8 位的数据字节,需要分成 8 次,按照一定顺序(如先传最高位,再传次高位,末了传最低位)一位一位地发送,接收端再将接收到的各位信息逐位拼接,还原成完整的信息。
  • 核心特点
    • 线路数量少:仅需要 1 条(或 2 条,含地线)传输线,硬件成本低,布线轻松,适合复杂环境下的布线需求。
    • 依赖时序同步:数据位按时间顺序依次发送,需要严格的 “时序同步”—— 发送端和接收端需提前约定好传输速率,确保每一位数据都能准确对齐。
    • 抗干扰能力强:由于线路数量少,在长距离传输时,不同线路之间信号的 “串扰”(信号互相干扰)风险低,适合远距离通信场景。
    • 速率存在限制:理论上单次只能传输 1 位材料,传输速率受限于单条线路的信号频率,但现代技术可通过提高单路线路的信号频率来弥补这一不足(如高速串行接口)。
  • 典型应用:串口通信(RS-232、RS-485)、USB 通信、现代以太网通信。

2. 并行通信

  • 定义:通过多条独立的传输线路同时传输数据,例如一个 8 位的材料字节,可以凭借 8 条线路同时发送,一次就能完成整个字节的传输。
  • 核心特点
    • 线路数量多:需要与数据位数相同(或更多)的线路,如 8 位素材必须 8 条数据线,通常还需额外配备时钟线、地线,硬件成本高,布线复杂。
    • 速率有优势:多个数据位(如 8 位、16 位)可同时发送,理论上传输速度是相同频率下串行通信的 N 倍(N 为线路数量),单次传输的数据量较大。
    • 抗干扰能力弱:线路密集时,不同线路之间的信号 “串扰” 问题严重(尤其在高频传输场景下);且在长距离传输过程中,不同线路的信号延迟存在差异,会导致 “数据错位”(同步困难),因此仅适合短距离通信。
    • 速率上限有限:虽然单次传输的数据量多,但受限于串扰和同步问题,实际传输速率难以无限提升,在高频场景下,反而不如优化后的串行通信。
  • 典型应用:计算机内部总线(如 PCI 总线)、早期打印机并行接口、芯片内部通信。

三、通信同步方式(收发节奏协调)

通信同步方式重要解决 “收发双方如何对齐内容节奏” 的问题,可分为异步通信和同步通信,核心差异在于是否共享时钟信号。

1. 异步通信

  • 定义:发送端和接收端不需要共享时钟信号,双方允许使用各自独立的时钟(只要时钟频率在允许范围内接近即可)。资料以 “离散的帧(Frame)” 为单位传输,每个素材帧的开头和结尾会分别添加 “起始位” 和 “停止位” 作为标记,用于告诉接收端 “信息开始了” 和 “信息结束了”。
  • 核心特点
    • 无需共享时钟:双方的时钟可独立运行(允许一定误差,通常在 ±5% 以内),硬件搭建简单,无需额外布置时钟线。
    • 帧格式固定:每个数据帧(如一个字节)的结构固定,例如常见的 “1 位起始位(低电平)+8 位数据位 + 1 位停止位(高电平)”,接收端通过这些固定的标记来识别资料的边界。
    • 传输存在间隔:数据帧与资料帧之间可以有任意时长的空闲时间,接收端只需等待下一个数据帧的起始位即可,无需连续传输数据。
    • 容错性较强:即使发送端和接收端的时钟存在微小偏差,由于每帧材料的长度较短(通常为 10-11 位),偏差不会累积到导致资料错误的程度,适合长距离、中低速率的通信场景。
  • 典型应用:串口通信、Modem 通信、网络通信。

2. 同步通信

  • 定义:发送端和接收端使用同一个时钟信号(或严格同步的时钟)来协调数据传输节奏,双方在 “统一的时间节拍” 下收发信息。数据以 “连续的数据流” 形式传输,无需额外添加标记来分隔单个数据单元(如字节),接收端通过时钟信号的节拍来判断每一位数据的开始和结束。
  • 核心特点
    • 需共享时钟:发送端和接收端必须保持时钟同步,同步方式允许是发送端提供时钟信号,也能够是双方通过锁相环等技术搭建时钟对齐,硬件复杂度较高。
    • 数据连续传输:资料像 “流水” 一样连续发送,除传输结束外,没有额外的间隔或标记,通信效率高。
    • 有效数据)。就是无额外标记:不需要用 “起始位 / 停止位” 等标记来分隔信息,素材密度更高(每一位都
    • 对同步要求极高:若时钟出现微小偏差,随着传输时间的累积,偏差会逐渐增大,可能导致数据错位(比如把 “101” 错读成 “110”),因此适合短距离、高速率的通信场景。
  • 典型应用:芯片内部通信、高速数据采集系统、SD 卡通信。

四、串口通信的归类与电气规范

1. 串口通信的核心归类

典型的就是串口通信异步、全双工、串行通信,融合了三种模式的核心特点:通过串行方式逐位传输数据,支持全双工同时收发数据,借助异步通信的帧标记实现数据节奏对齐。

2. 串口通信的电气规范(电气层面完成)

其在电气层面的实现标准,涵盖信号电平定义、传输方式(单端 / 差分)、接口形式、抗干扰能力等核心特性。不同的电气规范决定了串口通信的传输距离、稳定性和适用场景,主流规范包括 RS-232、RS-485、RS-422 和 TTL 串口。就是串口通信的 “电气规范”,本质

(1)RS-232(EIA RS-232):短距离单端传输标准

RS-232 是最早普及的串口电气标准,主要用于设备间短距离点对点通信(如早期电脑与调制解调器、打印机的连接),核心特点是 “单端传输”(信号相对于地电平定义)。

  • 信号电平定义:与 “逻辑电平” 反向,逻辑 “1” 对应的电平为 - 3V~-15V(负电平),逻辑 “0” 对应的电平为 + 3V~+15V(正电平);需注意,电压范围需超出 ±3V 才被视为实用信号,±3V 之间为 “不确定区域”,可避免噪声导致的误判。
  • 传输方式:单端传输,即信号凭借一根线传输,参考 “地(GND)” 电平。
  • 传输距离与速率:在标准速率下(≤20kbps),最大传输距离约为 15 米;传输速率越高,传输距离越短,如速率为 115.2kbps 时,传输距离通常小于 5 米。
  • 抗干扰能力:弱,单端传输方式容易受到共模干扰(如电源线噪声、地线波动)的影响。
  • 接口形式:经典接口为 DB9 接口(9 针公头 / 母头),部分设备曾使用 DB25 接口(25 针,目前已极少使用)。
  • 典型引脚(DB9) 2 脚(RXD,接收数据)、3 脚(TXD,发送数据)、5 脚(GND,公共地线)。就是:仅需 3 根核心线即可实现通信(其他为控制信号,非必需),分别
  • 适用场景:短距离点对点设备连接,如电脑与调试模块、老式串口打印机的通信。
(2)RS-485(EIA RS-485):工业级差分传输标准

RS-485 是为处理 RS-232“传输距离近、抗干扰能力弱” 的问题而设计的工业级标准,核心特点是 “差分传输”(通过两根线的电压差定义信号),支持多节点组网(一台主机连接多台从机)。

  • 信号电平定义:基于差分电压,逻辑 “1” 的判定条件是 B 线电压 - A 线电压 > +200mV(即 B>A),逻辑 “0” 的判定条件是 B 线电压 - A 线电压 < -200mV(即 A>B);无需参考地电平,仅依赖 A、B 线的压差,抗共模干扰能力极强。
  • 传输方式:差分传输,依据两根双绞线实现,分别为 A 线(DATA-)、B 线(DATA+)。
  • 传输距离与速率:在低速传输下(≤100kbps),最大传输距离可达 1200 米;在高速传输下(10Mbps),传输距离缩短至 15 米,整体呈现 “速率与距离成反比” 的特点。
  • 抗干扰能力:强,差分传输方式可抵消共模噪声,适合工业现场复杂的电磁环境。
  • 节点数:最多支持 32 个节点,通过中继器可将节点数量扩展至更多。
  • 双工模式:默认半双工,需通过 “收发控制引脚(DE/RE)” 切换发送 / 接收状态,部分芯片支持全双工(需额外增加一对差分线)。
  • 接口形式:无固定接口,工业场景中常用端子台(方便连接双绞线),或兼容 DB9 接口。
  • 典型引脚:A(DATA-)、B(DATA+)、GND(可选,连接后可增强通信稳定性)。
  • 适用场景:工业现场组网(如传感器、PLC、变频器之间的通信)、长距离资料采集(如楼宇自控、智能电表抄表)。
(3)RS-422(EIA RS-422):全双工差分传输标准

RS-422 与 RS-485 同属差分传输标准,但核心差异是支持全双工通信(无需切换收发状态),主要用于 “点对点或一点对多点(仅接收)” 场景。

  • 信号电平定义:与 RS-485 完全一致,依赖 A、B 线的差分电压,以 ±200mV 为判定阈值。
  • 传输方式:差分传输,但需配备两对差分线,分别用于发送和接收,即发送端的 TX+(B1)、TX-(A1),接收端的 RX+(B2)、RX-(A2)。
  • 传输距离与速率:与 RS-485 接近,低速传输时可达 1200 米,高速传输时为 15 米。
  • 抗干扰能力:强,与 RS-485 采用相同的差分传输机制,可有效抵御干扰。
  • 节点数:仅支持 “1 个发送端 + 最多 10 个接收端”,不支持多节点发送,无法实现繁琐组网,仅适用于点对点或 “一主多从接收” 场景。
  • 双工模式:全双工,发送和接收通道相互独立,可同时进行数据传输。
  • 适用场景:需要实时双向通信的短距离工业场景,如 PLC 与伺服驱动器、高精度传感器的高速数据交互。
(4)TTL 串口:芯片级短距离通信标准

TTL 串口并非 “正式工业标准”,而是芯片内部或电路板之间短距离串行通信的电气规范(如单片机、FPGA、模块间的通信),核心特点是 “低电压单端传输”。

  • 信号电平定义:与 “逻辑电平” 一致,分为 5V 和 3.3V 两种类型。5V TTL 中,逻辑 “1” 对应的电平为 4.0V~5.0V,逻辑 “0” 对应的电平为 0V~0.8V;3.3V TTL 中,逻辑 “1” 对应的电平为 2.4V~3.3V,逻辑 “0” 对应的电平为 0V~0.4V。
  • 传输方式:单端传输,依赖 GND 作为参考电平。
  • 传输距离与速率:当传输速率≤115.2kbps 时,最大传输距离仅为 1~3 米(属于超短距离);传输速率越高,传输距离越短,如速率为 1Mbps 时,传输距离小于 1 米。
  • 抗干扰能力:极弱,低电压信号容易受到噪声影响,仅适合电路板内部或相邻电路板之间的通信。
  • 接口形式:无固定接口,通常为 “杜邦线引脚”(如 Arduino 的 TX/RX 引脚、模块的排针)。
  • 典型引脚:TX(发送数据)、RX(接收数据)、GND(地)。
  • 注意事项:TTL 电平与 RS-232 电平不兼容(前者为低电压,后者为正负高压),若需实现二者互通,需通过 “电平转换芯片”(如 MAX232)进行转换。
  • 适用场景:芯片级通信,如单片机与 GPS 模块、蓝牙模块的板间连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发需要那些技能电子商务平台中搜索词拆解时

产生原因:因为项目最近设计到了一个Quartz相关的模块,前端需要传递时间参数到后台, 然后后台设置一个新的定时任务, 所以后台需要一个可以实现Date与cron之间的相互转换(因为Quartz需要的Cron格式的数据),所以就借助java的SimpleDateFormat的格式化,然后…

解决Visual Studio中无法使用scanf和C++万能头的问题

解决Visual Studio中无法使用scanf和C++万能头的问题Visual Studio中无法使用scanf和C++万能头? 来吧,跟我一起操作! 1.在桌面上创建万能头文件, 并命名为stdc++.h: 记得把文件后缀名给打开哟! 2.用记事本打开std…

太仓专业网站建设我想创个网站

目录 项目背景 项目技术栈 项目介绍 项目亮点 项目启动 1.创建SSM(省略) 2.配置项目信息 3.将前端页面加入到项目中 4.初始化数据库 5.创建标准分层的目录 6.创建和编写项目中的公共代码以及常用配置 7.创建和编写业务的Entity、Mapper、…

网页站点不安全静海网站开发

虚拟机是软件 对于第一次听说虚拟机(Virtual Machine,VM)的人来说,可能以为还要再花钱买一台计算机,这恐怕是他们最担心的。所谓虚拟机,就是在你的计算机上再虚拟出另一台计算机来。这台虚拟出来的计算机&…

技术培训学校机构做360手机网站优化

1.1. Socket简介 套接字&#xff08;socket&#xff09;是一种通信机制&#xff0c;凭借这种机制&#xff0c; 客户端<->服务器 模型的通信方式既可以在本地设备上进行&#xff0c;也可以跨网络进行。 Socket英文原意是“孔”或者“插座”的意思&#xff0c;在网络编程…

北京正规制作网站公司网页无法访问qq可以登陆

默认情况下&#xff0c;所有的新邮箱数据都是启用Exchange搜索&#xff0c;仅当多个邮箱迁移到该Exchange Server时&#xff0c;才禁用搜索索引。 获取数据库的Exchange搜索索引 使用Get-MailboxDatabase 来获取数据库的搜索索引 Get-MailboxDatabase | Select-Object Name,…

做爰全过程免费网站的视频教程网站资讯创作

本文将介绍以下内容&#xff1a; • 面向对象基本概念 • 类和结构体简介 • 引用类型和值类型区别 1. 引言 提起class和struct&#xff0c;我们首先的感觉是语法几乎相同&#xff0c;待遇却翻天复地。历史将接力棒由面向过程编程传到面向对象编程&#xff0c;class和stru…

学校网站管理与建设办法怎样建立自己购物网站

主流开发语言 Java 简介&#xff1a;Java 是一种广泛使用的面向对象的编程语言&#xff0c;由Sun Microsystems公司于1995年发布&#xff0c;后由Oracle公司接手。Java具有“一次编写&#xff0c;到处运行”的特性&#xff0c;它的跨平台能力得益于Java虚拟机&#xff08;JVM&a…

东莞网站设计公司排名企业网站建设感想

在 Oracle 数据库中&#xff0c;你可以使用 ALTER TABLE 语句来添加字段&#xff0c;并使用 COMMENT ON COLUMN 语句来添加字段注释。以下是一个示例&#xff1a; 假设你有一个名为 employees 的表&#xff0c;你想要添加一个名为 email 的字段&#xff0c;并为其添加注释。 …

最新企业网站开发和设计软件个人域名可以做公司网站么

简介&#xff1a; 淘宝搜索推荐、视频搜索的背后使用了什么样的检索技术&#xff1f;非结构化数据检索&#xff0c;向量检索&#xff0c;以及多模态检索&#xff0c;它们到底解决了什么问题&#xff1f;今天由阿里巴巴达摩院的科学家从业务问题出发&#xff0c;抽丝剥茧&#x…

前端如何优雅地生成唯一标识?——一份跨环境 UUID 设备函数的封装与实战

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

广州网站建设外包公司网站建设情况自查报告

1、syntax"proto3":表明使用的是proto3格式&#xff0c;如果不指定则为proto22、package test:定义包名为test&#xff0c;生成类时&#xff0c;会产生一个目录为test3、message Person:消息主体内容&#xff0c;里面为各个字段的定义二、生成对应的PHP类定义好Perso…

解码红黑树

红黑树全面解析:从设计逻辑到代码落地 红黑树是自平衡二叉搜索树(Self-Balanced BST) 的经典实现,核心解决了普通 BST 失衡、AVL 树过度平衡的问题。它通过 “颜色约束” 实现 “大致平衡”,兼顾查找性能与插入 /…

苹果首款折叠屏iPhone全爆料汇总:明年9月发布、1.3万元起步

苹果首款折叠屏iPhone全爆料汇总:明年9月发布、1.3万元起步Posted on 2025-10-03 19:30 lzhdim 阅读(0) 评论(0) 收藏 举报从多方权威爆料基本可以确定,苹果将会在明年9月发布首款可折叠iPhone,与iPhone 18 Pr…

英文笔记

column 列 float 浮动 margin 边距 font 字体 border 边框 radius 圆角 background 背景 color 颜色 padding 填充

苹果最强平板!M5版iPad Pro开箱上手提前泄露:升级12GB内存 GPU性能大涨

苹果最强平板!M5版iPad Pro开箱上手提前泄露:升级12GB内存 GPU性能大涨Posted on 2025-10-03 19:30 lzhdim 阅读(0) 评论(0) 收藏 举报日前,俄罗斯博主Wylsacom提前发布M5芯片版iPad Pro开箱视频,甚至还在Gee…

深入解析:深入MySQL、JVM与Maven核心原理​

深入解析:深入MySQL、JVM与Maven核心原理​2025-10-03 19:32 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bl…

创世网站建设 优帮云山西省住房和城乡建设厅门户网官方网站

上一次我们讲了使用Azure DevOps Pipeline实现.Net Core程序的CI。这次我们来演示下如何使用Azure DevOps实现.Net Core程序的CD。实现本次目标我们除了Azure DevOps外还需要&#xff1a;一台安装了Docker的主机一个 Docker Hub 账号上一次我们的CI实现了&#xff1a;发布>编…

网站域名备案后公示南宁做网站比较好的公司

目录 1.动态内存分配的原因 2.动态内存函数的介绍 2.1malloc和free函数 2.2calloc函数 2.3realloc函数 3. 常见的动态内存错误 3.1 对NULL指针的解引用操作 3.2 对动态开辟空间的越界访问 3.3 对非动态开辟内存使用free释放 3.4 使用free释放一块动态开辟内存的一部…

10/3

今日下起了大雨,我在家背诵了单词