串口协议说明

文章目录

  • 关系
  • 波特率
    • 概念
    • 波特率相对误差
    • 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位或者两位
  • 根据协议,一个或者多个字符可以组成一帧
    在这里插入图片描述

奇偶校验

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iPhone手机UDID获取方法

UDID:iOS设备的唯一识别码,每台iOS设备都有一个独一无二的编码,这个编码,就称为识别码,也叫做UDID(Unique Device Identifier) 一、通过Xcode查看 手机连接电脑打开Xcode,选择wind…

初探 transformer

大部分QA的问题都可以使用seq2seq来实现。或者说大多数的NLP问题都可以使用seq2seq模型来解决。 但是呢最好的办法还是对具体的问题作出特定的模型训练。 概述 Transformer就是一种seq2seq模型。 我们先看一下seq2seq这个模型的大体框架(其实就是一个编码器和一个解码器)&a…

Vue中如何进行表单图片裁剪与预览

Vue中如何进行表单图片裁剪与预览 在前端开发中,表单提交是一个常见的操作。有时候,我们需要上传图片,但是上传的图片可能会非常大,这会增加服务器的负担,同时也会降低用户的体验。因此,我们通常需要对上传…

选择合适的采购系统,实现企业数字化转型

随着数字化技术的飞速发展,企业数字化转型已经成为了当今市场的必然趋势。而采购系统作为企业数字化转型的重要组成部分,选择合适的采购系统对于企业来说至关重要。本文将围绕选择合适的采购系统,实现企业数字化转型展开讨论。 一、企业数字化…

OpenCV项目开发实战-- 的单应性(Homography)实例Python/C++代码实现

文末附基于Python和C++两种方式实现的测试代码下载链接 什么是单应性(Homography)? 考虑图 1 中所示的平面(书的顶部)的两个图像。红点表示两个图像中的相同物理点。在计算机视觉术语中,我们称这些为对应点。图 1. 显示了四种不同颜色的四个对应点——红色、绿色、黄色和…

YUM源安装,在线YUM,本地YUM

YUM源 一、定义 YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,**可以自动处理依赖性关系&…

【八大排序(五)】快排进阶篇-挖坑法+前后指针法

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:八大排序专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习排序知识   🔝🔝 快排进阶篇 1. 前情回顾2. 思路回顾3. 单…

java方法

文章目录 一、java方法总结 一、java方法 在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢? println() 是一个方法。 System 是系统类。 out 是标准输出对象。这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 pr…

docker部署prometheus+grafana视图监控

效果 一、grafana可视化平台部署 docker run -d \--namegrafana \--restartalways \-p 3000:3000 \grafana/grafanagrafana我也是部署在170.110服务器上,192.168.170.110:3000访问grafana 默认账号密码都是admin 二、部署exportor采集信息 针对各类数据库平台系统…

ch8_1_CPU的结构和功能

1. cpu的结构 1.1CPU 的功能 控制器的功能 控制器的功能具体作用取指令指令控制分析指令操作控制执行指令, 发出各种操作命令控制程序输入与结果的输出时间控制总线管理处理中断处理异常情况和特殊请求数据加工 运算器的功能 实现算术运算 和 逻辑运算&#x…

我的256创作纪念日

机缘 挺开心的,想到自己未曾写过一些非技术类的博客,恰巧今天刚好也是我的256创作纪念日,就乘着这个日子,写一点自己过去的收获、内心的想法和对未来的展望吧。 本人不才,只就读于一所民办本科之中,我挺不想…

【linux】探索Linux命令行中强大的网络工具:netstat

文章目录 前言一、netstat是什么?二、使用方法1.常用参数2.实例演示3.更多功能 总结 前言 在Linux命令行中,有许多实用的工具可帮助我们管理和监控网络连接。其中一个最重要的工具就是netstat,它提供了丰富的网络连接和统计信息,…

在windos中同时使用gitee与github

1.为什么这样做? 原因非常简单,我们遇到自己喜欢的git仓库后,通常会将他们克隆到我们本地电脑上,但这个时候会有一个问题,就是我们喜欢的仓库有可能是gitee仓库,也有可能是github仓库,这个时候…

web性能检测工具lighthouse

About Automated auditing, performance metrics, and best practices for the web. Lighthouse 可以自动检查Web页面的性能。 你可以以多种方式使用它。 浏览器插件 作为浏览器插件,访问chrome网上商店 搜索Lighthouse 插件安装。以两种方式使用。 方式一 安装…

命名管道:FIFO

至此,我们还只能在相关的程序之间传递数据,即这些程序是由一个共同的祖先进程启动的。但如果我们想在不相关的进程之间交换数据,这还不是很方便。 我们可以用FIFO文件来完成这项工作,它通常也被称为命名管道(named pip…

分布式重试服务平台 Easy-Retry

文章目录 [toc] 1.简介1.1[爱组搭官网](http://aizuda.com/)1.2介绍1.3 相关地址 2.架构2.1系统架构图2.2 客户端与服务端数据交互图 3.业内成熟重试组件对比4.快速开始4.1 服务端项目部署4.1.0 初始化脚本4.1.1 源码部署4.1.2 Docker部署 4.2 客户端集成配置4.2.1 添加依赖4.2…

青岛科技大学|物联网工程|物联网定位技术(第三讲)|15:40

目录 物联网定位技术(第三讲) 1. 试简述C/A码的作用、构成 请画出C/A码生成电路简图并给予原理性的说明 2. 试简述 P码的作用、构成 请画出P码生成电路简图,并给予原理性的说明 3. GPS信号是如何进行伪码扩频与解扩 请画图给予说明 4…

被抄袭声明

我(受害者)的博客主页: ChuckieZhu的博客_CSDN博客-MATLAB,Python,Django领域博主 抄袭者(施害者)博客主页: 洋洋菜鸟的博客_CSDN博客-python实例,数学建模,python基础领域博主 问题说明: …

vue结合elementui表格el-table实现弹窗checkbox自定义列显示隐藏,刷新保持上次勾选不丢失,附完整代码

el-table实现自定义列显示隐藏 有时候表格太多列,要是默认全都显示就会很拥挤,又不能固定只显示某些列,这时候我们可以让用户自定义要显示隐藏哪些列。 网上很多教程都是用的v-if,但是v-if非常麻烦,每一列都要写判断条…

Volo.Abp升级小记(二)创建全新微服务模块

文章目录 创建模块领域层应用层数据库和仓储控制器配置微服务 测试微服务微服务注册添加资源配置配置网关 运行项目 假设有一个按照 官方sample搭建的微服务项目,并安装好了abp-cli。 需要创建一个名为GDMK.CAH.Common的模块,并在模块中创建标签管理功能…