串口通信知识点总结

2023-12-17

  • 串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。
  • 串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。
  • 串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。

按通信方式分类

同步通信
  • 带时钟同步信号传输。比如:SPI,IIC通信接口

  • 在同步通讯中,收发设备上方会使用一根信号线传输信号,在时钟信号的驱动下双方进行协调,同步数据。例如,通讯中通常双方会统一规定在时钟信号的上升沿或者下降沿对数据线进行采样。

异步通信
  • 不带时钟同步信号。比如:UART(通用异步收发器),单总线
  • 在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些用于同步的信号位,或者将主题数据进行打包,以数据帧的格式传输数据。通讯中还需要双方规约好数据的传输速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。
异步通信数据格式

异步通信规定传输的数据格式由起始位(start bit)、数据位(data bit)、奇偶校验位(parity bit)和停止位(stop bit)组成。

  • 起始位:起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。

  • 数据位:数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定,一般可以是5位、7位或8位,标准的ASCII码是0 127(7位),扩展的ASCII码是0 255(8位)。传输数据时先传送字符的低位,后传送字符的高位。

  • 奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

举例来说,假设传输的数据位为01001100,如果是奇校验,则奇校验位为0(要确保总共有奇数个1),如果是偶校验,则偶校验位为1(要确保总共有偶数个1)。
由此可见,奇偶校验位仅是对数据进行简单的置逻辑高位或逻辑低位,不会对数据进行实质的判断,这样做的好处是接收设备能够知道一个位的状态,有可能判断是否有噪声干扰了通信以及传输的数据是否同步。

  • 停止位:停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

  • 空闲位:空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。

异步通信的数据发送过程
  • (1)初始化后或者没有数据需要发送时,发送端输出逻辑1,可以有任意数量的空闲位。

  • (2)当需要发送数据时,发送端首先输出逻辑0,作为起始位。

  • (3)接着就可以开始输出数据位了,发送端首先输出数据的最低位D0,然后是D1,最后是数据的最高位。

  • (4)如果设有奇偶检验位,发送端输出检验位。

  • (5)最后,发送端输出停止位(逻辑1)。

  • (6)如果没有信息需要发送,发送端输出逻辑1(空闲位),如果有信息需要发送,则转入步骤(2)。

异步通信的数据接收过程

在异步通信中,接收端以接收时钟和波特率因子决定每一位的时间长度。下面以波特率因子等于16(接收时钟每16个时钟周期使接收移位寄存器移位一次)为例来说明。

  • (1)开始通信,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对接收时钟计数。

  • (2)当计到8个时钟的时候,对输入信号进行检测,若仍然为低电平,则确认这是起始位,而不是干扰信号。

  • (3)接收端检测到起始位后,隔16个接收时钟对输入信号检测一次,把对应的值作为D0位数据。

  • (4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据,直到全部数据位都输入。

  • (5)检验奇偶检验位。

  • (6)接收到规定的数据位个数和校验位之后,通信接口电路希望收到停止位(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志;若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中取出送至数据输入寄存器,若校验错,在状态寄存器中置“奇偶错”标志。

  • (7)本帧信息全部接收完,把线路上出现的高电平作为空闲位。

  • (8)当信号再次变为低时,开始进入下一帧的检测。

区别
  • 在同步通讯中,数据信号所传输的内容绝大部分是有效数据,而异步通讯中会则会包含数据帧的各种标识符,所以同步通讯效率高。
  • 同步通讯双方的时钟允许误差小,稍稍时钟出错就可能导致数据错乱,异步通讯双方的时钟允许误差较大。

按照数据传输方向分类

  • 单工:数据传输只支持数据在一个方向上传输,如图a所示
  • 半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口,如图b所示
  • 全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端,如图c所示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

串口通信知识点总结 的相关文章

  • 【计算机毕设文章】模拟考试小程序

    摘 要 随着我国经济迅速发展 人们对手机的需求越来越大 各种手机软件也都在被广泛应用 但是对于手机进行数据信息管理 对于手机的各种软件也是备受用户的喜爱 模拟考试被用户普遍使用 为方便用户能够可以随时进行模拟考试的数据信息管理 特开发了基于
  • 【计算机毕设文章】微信阅读小程序的设计与实现

    毕 业 设 计 论 文 题目 微信阅读小程序的设计与实现 摘 要 由于APP软件在开发以及运营上面所需成本较高 而用户手机需要安装各种APP软件 因此占用用户过多的手机存储空间 导致用户手机运行缓慢 体验度比较差 进而导致用户会卸载非必要的
  • 双非本科进不了大厂?阿里技术四面+交叉面+HR面,成功拿到offer

    前言 前两天 我收到了阿里巴巴的实习offer 从学长内推开始面试到拿到最后offer经历了4面技术 一面交叉面和一面HR面 经过了漫长的等待和几次几乎折磨的面试之后 终于拿到了实习offer 自我介绍 本人来自西南某双非本科学校 该校学的
  • 这应该是最全的大模型训练与微调关键技术梳理

    作为算法工程师的你是否对如何应用大型语言模型构建医学问答系统充满好奇 是否希望深入探索LLaMA ChatGLM等模型的微调技术 进一步优化参数和使用不同微调方式 现在我带大家领略大模型训练与微调进阶之路 拓展您的技术边界 通过阅读文章 你

随机推荐

  • 【计算机毕设文章】微信点餐小程序

    微信点餐小程序 摘 要 随着社会的发展 社会的方方面面都在利用信息化时代的优势 互联网的优势和普及使得各种系统的开发成为必需 本文以实际运用为开发背景 运用软件工程原理和开发方法 它主要是采用java语言技术和mysql数据库来完成对系统的
  • 第三章 Linux的目录结构

    第三章 Linux的目录结构 学习目标 1 熟悉Linux目录的组织习惯 2 熟悉一些Linux的常见目录及作用 第一节 Linux中的常见目录 Linux常见的目录结构 不同版本的Linux目录结构可能略有不同 Centos7的文件目录结
  • 毕业设计 江科大STM32的智能温室控制蓝牙声光报警APP系统设计

    基于STM32的智能温室控制蓝牙声光报警APP系统设计 1 项目简介 1 1 系统构成 1 2 系统功能 2 部分电路设计 2 1 stm32f103c8t6单片机最小系统电路设计 2 2 LCD1602液晶显示电路设计 2 2 风
  • Tor网络原理详解

    引入 匿名通信是一种通过采用数据转发 内容加密 流量混淆等措施来隐藏通信内容及关系的隐私保护技术 为了提高通信的匿名性 这些数据转发链路通常由多跳加密代理服务节点构成 而所有这些节点即构成了匿名通信系统 或称匿名通信网络 匿名通信系统本质上
  • 数据恢复及U盘、硬盘的性能检测

    前言 本文论述了如何查看磁盘是否为扩容盘 问题盘 坏盘 以及如何恢复磁盘删除的数据 如何避免黑客恢复数据 原文 原创作者 冷墨寒 博客 网安冷墨寒 定期分享网安技术教程以及网络资源 https www ink0 cn 因为最近需要买个移动机
  • 基于鲸鱼算法优化长短期记忆神经网络WOA-LSTM的故障诊断附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 代码获取 论文复现及科研仿真合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab完整代码及仿真定制内容点击 智能优化算法 神经网络预测 雷达通信
  • 【最新版】PyCharm实用插件

    文章目录 一 安装插件 捆绑的插件 二 实用插件 1 Chinese Simplified Language Pack 中文语言包 概览 2 Rainbow Brackets
  • 设计模式详解---策略模式

    1 策略模式简介 策略模式 Strategy Pattern 是一种行为型设计模式 用于在运行时根据不同的情境选择不同的算法或策略 该模式将算法封装成独立的类 使得它们可以相互替换 而且可以独立于客户端使用它们的方式 1 1 主要角色 上下
  • TypeScript

    TS类型
  • markdown怎么隐藏文字

    2023年12月16日 周六下午 在Markdown中 可以使用以下格式来隐藏文字 在渲染Markdown文档时 被注释的部分将不会显示在最终的输出中 请注意 这种方法只是在渲染时隐藏文字 而不是在Markdown源文件中隐藏
  • 【LEACH协议】 SEP 一种适用于集群百分比异构无线传感器网络的稳定选举协议附Matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 代码获取 论文复现及科研仿真合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab完整代码及仿真定制内容点击 智能优化算法 神经网络预测 雷达通信
  • 旁边的同事突然晋升阿里P7,只因偷偷学习了这份JVM笔记?

    大家都是有经验的Java开发人员 想想为何要学习JVM 面试 调优 装逼 不管出于何种原因 总之你得先学好 那怎么学好呢 每个人对于JVM的了解可能不一样 这就要考虑到怎么切入 既然大家都学习过Java 那不妨就从Java开始聊起 同时也是
  • 卸载NotePad++/SublimeText吧:VSCode才是史上最优秀的IDE编辑器

    开源免费 免费 这应该是所有人都所希望的 而且居然是微软开源免费的 你敢信吗 vscode使用的是MIT Lisense 可随意下载 分发 商用等 下载地址 https code visualstudio com 此外 VSCode还开源
  • 阿里P8架构师带你“一窥”大型网站架构的主要技术挑战和解决方案

    写在前面 传统的企业应用系统主要面对的技术挑战是处理复杂凌乱 千变万化的所谓业务逻辑 而大型网站主要面对的技术挑战是处理超大量的用户访问和海量的数据处理 前者的挑战来自功能性需求 后者的挑战来自非功能性需求 功能性需求也许还有 人月神话 聊
  • WOA-LSTM多元分类预测 | Matlab鲸鱼算法优化长短期记忆神经网络的故障诊断附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 代码获取 论文复现及科研仿真合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab完整代码及仿真定制内容点击 智能优化算法 神经网络预测 雷达通信
  • 「Verilog学习笔记」 Johnson Counter

    专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点 刷题网站用的是牛客网 timescale 1ns 1ns module JC counter input clk input rst n output reg 3 0
  • 【计算机毕设文章】个人行政复议在线预约系统微信小程序

    摘 要 随着我国经济迅速发展 人们对手机的需求越来越大 各种手机软件也都在被广泛应用 但是对于手机进行数据信息管理 对于手机的各种软件也是备受用户的喜爱 微信APP被用户普遍使用 为方便用户能够可以随时进行个人行政复议在线预约系统微信小程序
  • 【英/中,前端】Form <input> elements must have labels每一个元素应当都有一个标签

    原文如下 Form elements must have labels Axe Rules Deque University Deque Systems 编程式的关联标签和窗体控件 下面以推荐程度从高到低依次排列 使用label元素 gt
  • 阿里P8写出的《深入理解Java虚拟机3》轻松学会JVM底层

    添加图片注释 不超过 140 字 可选 前言 Java是目前用户最多 使用范围最广的软件开发技术 Java的技术体系主要由支撑Java程序运行的虚拟机 提供各开发领域接口支持的Java类库 Java编程语言及许许多多的第三E方Java框架
  • 串口通信知识点总结

    串口是串行接口 serial port 的简称 也称为串行通信接口或COM接口 串口通信是指采用串行通信协议 serial communication 在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式 串口按电气标准及协议来划分