串口协议说明

news2024/11/15 2:13:46

文章目录

  • 关系
  • 波特率
    • 概念
    • 波特率相对误差
    • UART误差保证
  • 协议
    • 常见的串行接口
    • 协议之间的比较
      • USB 转串口PL2303
      • USB 转串口CP2102
      • USB转232
      • 终端电阻
    • 串口电平
      • TTL电平
      • 485电平
      • 奇偶校验

关系

两个半双工,一发一收,就是Uart
在这里插入图片描述
在一根线的基础上,多加一根时钟线,理论上就打破了UART一帧只能传输8位的尴尬了。
在这里插入图片描述
此时我们规定高电平时采样,低电平时才能变化数据,如果高电平时数据变化就是帧头,帧尾,这就是IIC

将IIC从半双工扩展到全双工就是我们的SPI的雏形
在这里插入图片描述
如果要选择多个设备,就加一条CS
在这里插入图片描述
这就是我们标准的四线制SPI

以上的协议都是基于板级的。传输距离比较短。

长距离传输开始时使用的是同轴线缆,但是会有干扰问题。使用双绞线的差分信号就可以解决这个问题,因此引出485和232、CAN的问题。

由于双绞线的加持,通讯距离和能力上升了一个很大的台阶。

但此时考虑到双绞线成本问题,我们考虑把时钟线去掉。此时CAN和IIC就有点像了,是单数据线实现的半双工。但是由于没有时钟线,CAN的帧格式和协议就贼复杂了。

再想要提高距离就涉及到光纤了。

波特率

概念

波特率的概念请点我

波特率相对误差

波特率的相对误差要小于4%或者5%。不会影响数据的正常接收。
公式:(实际波特率-理论波特率)/理论波特率为误差。
通过计算每位传输的时间,1S传输的位可以得到允许波特率波动的范围。

UART误差保证

UART有开始位,停止位,每10bit数据发完,都会重新从开始位、停止位、来重新检测边沿信号。再确定开始点,从而保证数据的准确性。
如果波特率为115200bit/s,则发送 一位的时间为1/115200s/bit,就是1/0.1152us/bit,也就是发送一位的时间为8.680556us左右。当偏差为±4%时,发送时间应符合8.680556*(1±0.05)。

协议

常见的串行接口

串口是一个泛称,UART、TTL、RS232、RS485都遵循类似的通信时序协议,因此都被通称为串口。
通信使用3根线完成:(1)地线,(2)发送,(3)接收。
在这里插入图片描述

协议之间的比较

串口、UART口、COM口、USB口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。

  • 串口
    • 一种点对点的通信
    • 通信距离短,板间通信
  • IIC
    • 多主机的通信

至于其它口:

  • COM口:特指台式计算机或一些电子设备上的D-SUB外形(一种连接器结构,VGA接口的连接器也是D-SUB)的串行通信口,应用了串口通信时序和RS232的逻辑电平。
    COM口介绍
  • USB口:通用串行总线,和串口完全是两个概念。虽然也是串行方式通信,但由于USB的通信时序和信号电平都和串口完全不同,因此和串口没有任何关系。USB是高速的通信接口,用于PC连接各种外设,U盘、键鼠、移动硬盘、当然也包括“USB转串口”的模块。(USB转串口模块,就是USB接口的UART模块)

USB 转串口PL2303

下图是个USB转TTL串口的小板,可以用USB扩展出一个串口。芯片为PL2303HX。是可以给STC单片机下载程序的。
在这里插入图片描述

USB 转串口CP2102

另一种,CP2102芯片的,也是USB转TTL串口。据说比PL2303的好,实际使用中没感觉出来。这个小板就多了+3.3V电源端,以适应不同的目标电路。
在这里插入图片描述

USB转232

下图为USB转RS-232串口
在这里插入图片描述

终端电阻

在这里插入图片描述光在进入一个介质的时候会同时发生折射与反射,差分信号在传输时会在不同阻抗介质的交界处产生反射波,从而对正常信号产生干扰,终端电阻就是为了消除总线的阻抗不匹配产生的反射。

串口电平

  • 一帧以低电平开始,以高电平结束
  • 空闲状态为高电平

TTL电平

串口使用的TTL电平,TTL电平介绍

  • TTL指双极型三极管逻辑电路,市面上很多“USB转TTL”模块,实际上是“USB转TTL电平的串口”模块。这种信号0对应0V,1对应3.3V或者5V。
  • 一般认为串口通讯的高电平是5V,低电平是0V。
  • 它的抗干扰能力很弱,干扰很可能让低电平瞬间拉高,所以通信距离很短,一般都是板间通信。

485电平

具体232和485电平

  • 一个字节是8个bit
    • 8bit可以表示256种组合,就是2的8次方
    • 一个字符的数据位也可以是7位或者5位,是一种约定
  • 8bit数据位加上起始位和停止位就是一个字符
    • 停止位可以是一位,也可以是1.5位或者两位
  • 根据协议,一个或者多个字符可以组成一帧
    在这里插入图片描述

奇偶校验

在这里插入图片描述

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

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

相关文章

【Git原理与使用】

🎉实战项目:Git原理与使用 博主主页:桑榆非晚ᴷ 博主能力有限,如果有出错的地方希望大家不吝赐教 给自己打气:成功没有快车道,幸福没有高速路。所有的成功,都来自不倦地努力和奔跑&#xff0c…

人机交互学习-10 评估的基础知识

评估的基础知识 背景评估目标和原则评估目标评估的优点评估的目标 评估原则 评估范型和技术“范型”与“技术”评估范型快速评估可用性测试实地研究预测性评估评估范型比较 评估技术评估范型和技术的关系 评估方法的选择区分评估技术的因素评估技术的分类评估方法组合 评估步骤…

CTFshow-pwn入门-Test_your_nc

pwn0 靶场环境启动开,显示ssh连接。 直接打开ctfshow的pwn专用虚拟机来使用ssh连接。密码是123456。 连接之后,他会出现这样的一大堆的介绍性文字,不用管他,然他输出完就行。 中间还用各种语言说了一下“消灭人类暴政&#xff…

Python+Qt桌面端与网页端人工客服沟通工具

程序示例精选 PythonQt桌面端与网页端人工客服沟通工具 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonQt桌面端与网页端人工客服沟通工具>>编写代码&#xff0c;代码整洁…

java swing 购物系统 简要文档 idea eclipse双版本

java swing 购物系统 简要文档 idea eclipse双版本 安装包等资源项目源码项目安装包部署教程 图片演示添加商品类别界面添加商品界面查询商品界面未登录主界面管理员登录界面注册会员界面购买商品界面商品类别管理界面 核心代码CustomerAddInterFrm.javaMainFrm.javaManagerLog…

单片机基于 Linux 环境下的Makefile 工程管理和工具链配置

一、开发环境 开发板&#xff1a;stm32f407 编译环境&#xff1a;18.04.6 LTS 工具链&#xff1a;gcc-arm-none-eabi, gcc-arm-none-objcopy 二、工具链下载和安装 下载地址&#xff1a;&#xff08;下载64位linux版&#xff09; https://launchpad.net/gcc-arm-embedded/downl…

从零开始Vue项目中使用MapboxGL开发三维地图教程(五)加载点、线、面图层以及三维面图层(白模)

目录 1、加载点图层2、加载线和面图层3、加载三维面图层&#xff08;白模&#xff09; 1、加载点图层 开发地图应用时&#xff0c;加载POI等点状数据&#xff0c;显示文字或者图标信息&#xff0c;mapbox-gl对应使用的是符号图层&#xff08;symbol&#xff09;&#xff0c;下面…

Modbus通信介绍 网络高级工具使用

目录 Modbus简介 ModbusTCP协议格式 》1.报文头&#xff08;共7字节&#xff09; 》2.功能码 》3.数据 练习&#xff1a;读传感器数据&#xff0c;读1个寄存器数据&#xff0c;写出主从数据收发协议。 练习&#xff1a;写出控制IO设备开关的协议数据&#xff0c;操作1个…

ansible学习

在物理机查看环境&#xff0c;[kioskfoundation0 ~]$ cat /etc/rht 先清空当前环境&#xff0c;[kioskfoundation0 ~]$ rht-clearcourse 0 再切换rh294环境&#xff0c;[kioskfoundation0 ~]$ rht-setcourse rh294 验证环境是否切换成功&#xff0c;[kioskfoundation0 ~]$ cat…

230617已安装SqlServer2017Express,再安装一个SqlServer2017ExpressAdvanced试试

再安装一个 MsSqlServer 试试 再安装一个 MsSqlServer 试试, 这次用高级版 之前已经安装了 一个 MsSqlServer2017Express一个MsSqlServer2017LocalDB 现在再安装一个 MsSqlServer2017ExpressAdvanced 直接下一步 等待 下个页面列出了已经安装的MsSqlServer实例 之前已…

【群智能算法改进】一种改进的白鲸优化算法 改进白鲸优化算法 改进后的EBWO[2]算法【Matlab代码#42】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始BWO算法2. 改进后的EBWO算法2.1 准反向学习QOBL策略2.2 旋风觅食策略 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始BWO算法 白鲸优化算法 (BWO&#xff…

STM32pwm 时钟 配置 周期 频率 关系配置原理

一 概念 PWM&#xff08;脉冲宽度调制&#xff09;是一种常用的电子信号调制技术&#xff0c;用于控制电子设备中的电平和电流。它通过调整脉冲的宽度来控制信号的平均功率。 在PWM信号中&#xff0c;一个周期由一个固定的频率确定&#xff0c;称为PWM频率。每个周期内&#…

分布式锁服务关键技术和常见解决方案

前言 锁&#xff0c;核心是协调各个使用方对公共资源使用的一种机制。当存在多个使用方互斥地使用某一个公共资源时&#xff0c;为了避免并行使用导致的修改结果不可控&#xff0c;需要在某个地方记录一个标记&#xff0c;这个标记能够被所有使用方看到&#xff0c;当标记不存在…

Matter.js 插件:matter-wrap(世界是圆的)

theme: smartblue 本文简介 点赞 关注 收藏 学会了 记得以前看爆笑校园里有一集讲到&#xff0c;一个人对着前面开了一枪&#xff0c;过了一阵子弹打中他自己的后脑勺。作者想通过这个冷笑话告诉大家一件事&#xff1a;地球是圆的。 在 Matter.js 世界里&#xff0c;默认是没…

stable-diffusion-webui远程访问、插件在线安装

本篇文章可以解决以下问题&#xff1a;stable-diffusion-webui 安装插件报错、没有用户登录安全认证、云主机安装后无法远程访问。 成功安装stable-diffusion-webui后&#xff0c;可以通过命令 bash webui.sh 启动。启动后可以通过 http://127.0.0.1:7860访问。但无法进行远程…

QML快速上手1 - 预备知识

目录 前言QtQuick 预备知识二维坐标系textimagemousearea组件定位元件布局项输入元素 前言 此笔记及后续所有笔记均基于如下环境 Qt Quick 2.12Qt 5.12 参考文献&#xff1a; qmlbook 以下所有笔记均从上述qmlbook中选取精华得来&#xff0c;如果嫌英文太多或者原文太长&am…

【论文系列解读】MiniGPT-4: 增强视觉语言理解与先进的大型语言模型

Minigpt4 MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models MiniGPT-4: 增强视觉语言理解与先进的大型语言模型 (0) 总结&实测 minigpt是先提出来的&#xff0c;将视觉编码器和LLM对齐&#xff0c;blip2和它还是有蛮大区别的。…

Python中对基本文件操作

1.文件的作用 保存数据放在磁盘中 2.打开文件 fopen(‘文件’,‘w’)或者fopen(‘文件’,‘r’) 3.文件操作 3.1 写数据(write) 如果文件不存在那么创建&#xff0c;如果存在那么就先清空&#xff0c;然后写入数据 对象open(“文件”,w) 对象.write&#xff08;“写入数…

论文浅尝 | 用于推荐的知识自适应对比学习

笔记整理&#xff1a;俞洪涛&#xff0c;浙江大学硕士&#xff0c;研究方向为知识图谱表示学习 链接&#xff1a;https://dl.acm.org/doi/10.1145/3539597.3570483 动机 在基于知识图谱的推荐系统中&#xff0c;用户和项目的交互信息通常会在模型中占主导地位&#xff0c;而KG中…

OPA Gatekeeper对Kubernetes资源操作限制

OPA介绍 Open Policy Agent&#xff08;OPA&#xff0c;发音为“oh-pa”&#xff09;是一个开源的通用策略引擎&#xff0c;它统一了堆栈中的策略执行。OPA 提供了一种高级声明性语言&#xff0c;可让您将策略指定为代码和简单的 API&#xff0c;以从您的软件中卸载策略决策制…