【Iot】什么是串口?什么是串口通信?串口通信(串口通讯)原理,常见的串口通信方式有哪些?

news2024/9/22 15:29:55

串口通信原理

    • 1. 串口
    • 2. 串口通信
    • 4. 波特率与比特率
    • 5. 帧格式
    • 3. 串口通讯的通讯协议
      • 3.1. RS232
      • 3.2. RS485
    • 总结

1. 串口

串行接口简称串口,也称串行通信接口串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。
串口可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。

2. 串口通信

串口通信(Serial Communications)是串口按位(bit)发送和接收字节的通信方式,它是嵌入式物联网领域中常用的通讯方式。
典型的串口通信使用3根线完成,分别是发送、接收、地线。
由于串口通信是异步的,所以端口能够在一根线上发送数据,同时在另一根线上接收数据。
异步通信和同步通信都要进行发送方和接收方的“同步”。其中异步通信按字符进行传输,利用每一帧的起始位和停止位实现同步;而同步通信采用共同外部时钟来进行同步。
在这里插入图片描述

  • TX(Transmit Exchange)数据发送脚
  • RX(Receive Exchange)数据接收脚
  • GND(Ground)底线

在这里插入图片描述
A设备的Tx数据发送脚要连接B设备的Rx数据接收脚;
同理,B设备的Tx数据发送脚要连接A设备的Rx数据接收脚;
GND脚两设备需要直接连接以保持共地,消除电路中的干扰。

4. 波特率与比特率

波特率表示单位时间内传送的码元(Symbol)符号的个数,它是对符号传输速率的一种度量,它用单位时间内载波调制状态改变的次数来表示,波特率即指一个单位时间内传输符号的个数。
简言之,波特率一秒传输高低电平的数量。
当每个码元只代表一个比特信息时,例如在简单的异步串行通信中,波特率和比特率是相等的。但当采用更复杂的调制方式使得一个码元能够携带多个比特时,比特率会大于波特率。此时,比特率 = 波特率 × 每个码元所含的比特数。比特率单位是bit/s(位/秒),常用bps表示。

码元是串行数据传输中的基本信号单元。一个码元通常对应于一个二进制位,即“0”或“1”。在这种情况下,码元就是最简单的电平信号,比如低电压表示数字0,高电压表示数字1。

常用的波特率有9600、19200、38400、115200。
比如波特率为9600表示:每秒中传输9600bit,也就是相当于每一秒中划分成了9600等份。因此,那么每1bit的时间就是1/9600秒=104.1666…us。约0.1ms。既然是9600等份,即每1bit紧接着下一个比特,不存在额外的间隔。
两台设备要想实现串口通讯,接收与发送端设置的波特率必须相同,否则是没办法实现通讯。

5. 帧格式

帧格式表示串口通信发送数据帧的格式。例如在波特率为9600bps的串口通信中一帧的波形数据如下:
帧格式
每1/9600秒(0.1ms)产生一个电平,10个电平组成一个有效数据帧,这样的组合格式就叫做帧格式。
数据帧从左往右总是以地电平开始,高电平结束,在高低电平之间的为n个二进制数据。其中n代表二进制的数量,数量不同所表示的帧格式也不同,常见的有8位二进制,7位二进制,5位二进制的数据位。在上图中的就是8位二进制的数据位。
二进制数据位,高电平表示1,低电平表示0,如上图表示:01000001,转换为十进制为1+64=65,对应ASCII表中的字母A
在这里插入图片描述

注意:窗口通信发送端与接收端的帧格式与波特率都要相同,否则会出现乱码问题

3. 串口通讯的通讯协议

串口通信时首先要约定好帧格式与波特率,并且串口通信采用TTL逻辑(Transistor-Transistor Logic) 是指晶体管-晶体管逻辑。
TTL
TTL逻辑门的标准输出状态是:

  • 高电平(逻辑“1”或HIGH):典型值为+2.4V至+5V(对于标准5V电源供电的TTL),代表有效信号。
  • 低电平(逻辑“0”或LOW):典型值接近于地电压(0V至+0.4V),代表无效信号。

这种通信方式抗干扰能力弱,例如下图中,静电让某一个低电平变高,就会导致通信距离很短,越1米。
在这里插入图片描述

所以为了提示通信的稳定性与距离,产生了由美国制订的推荐标准RS232RS485,都是在基础串口通信的基础上加了特定的电平转换芯片改变电压传输值。

3.1. RS232

RS232只改变了电平大小,提升了抗干扰能力与通讯距离(15米),其传输频率为2兆。

  • 高电平:3V至15V
  • 低电平:-3V至-15V

RS232是负逻辑,比如说232芯片收到的电压是5V,它输出-12V;收到0V,它输出+12V。

RS232是全双工通讯:能同时接收和发送,即允许数据同时在两个方向上传输。特点是只能进行点对点的简单通讯。

RS232

3.2. RS485

RS485实现了TTL信号与差分信号互相转换,提升了抗干扰能力,采用双绞线,通讯距离可达1200米,其传输频率为50兆。
差分信号利用两根线的电压差值表示0与1。
差分信号

半双工通讯:既能接收又能发送,但在同一时刻只允许数据在一个方向上传输。半双工可以实现一主多从的通讯。

总结

在这里插入图片描述

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

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

相关文章

浅谈安科瑞消防产品在酒店行业的应用-安科瑞 蒋静

摘要:进入 21 世纪以来,随着网络技术的发展,世界经济呈现全球化趋势,作为消费者衣食住行的重要组成部分,酒店行业也是生活服务市场重要的组成部分。在经济发展的环境下,在旅游业兴起的趋势下,酒…

Multisim14.0仿真(四十七)基于74LS161计数器设计

一、74LS161简介: 74LS161是4位二进制同步计数器,该计数器能同步并行预置数据,具有清零置数、计数和保持功能,具有进位输出端。可串接计数器使用。 二、74LS161引脚定义及说明: CLR:为异步清零控制端。 LOAD:为同步置数控制端 ENP,ENT:为计数控制端 D , C , B , A :为…

如何提高销售线索的质量和数量?这篇文章教会您

提高销售线索质量和数量的方法有:一、优化网站和营销内容;二、利用社交媒体和网络营销;三、提供优质的客户服务和体验;四、定期的市场调研和数据分析;五、建立合作关系和联盟;六、持续学习和创新。通过这些…

多名汇友爆料:在Primemax平台怎么也提不了现!

近期,有多名汇友向我站爆料,称其交易的Primemax平台怎么也出不了金。多名用户在Primemax平台无法出金 据一汇友描述,骗子最初是通过Line加了她好友,聊天中,对方俨然一副阳光帅气的精英人士形象,然后套近乎获…

C++初阶:适合新手的手撕string类(模拟实现string类)

上次讲了常用的接口:C初阶:初识STL、String类接口详细讲解(万字解析) 今天就来进行模拟实现啦 文章目录 1.基本结构与文件规划2.构造函数(constructor)2.1构造函数2.1.1无参有参分开2.1.2利用缺省参数合起来 2.2拷贝构…

Vue 学习随笔系列九 -- 表格中插入图片、背景、自定义表头

表格中插入图片和icon 文章目录 表格中插入图片和icon一、如何插入图片1、代码2、效果 二、文字添加背景1、代码2、效果 三、表头悬浮提示语四、表头添加图标 一、如何插入图片 1、代码 <template><div><el-tablesize"small"borderv-loading"l…

WordPress每天发布60s插件

源码名称:WordPress每天发布60s插件 适用平台:WordPress Wordpress还是比较适合个人博客网站&#xff0c;这个60秒插件适合一些喜欢自动发新闻早报晚报人员 喜欢的赶紧下手。找 万能工具箱合集 小程序即可找到资源

乐鑫与 Elektor 杂志合作推出特刊,聚焦 AIoT 创新

在新一年的起始之际&#xff0c;我们很荣幸地与 Elektor 合作推出由乐鑫领衔编辑的杂志特刊。欢迎点此阅读电子版本。 Elektor 杂志作为国际电子工程和科技创新的重要平台&#xff0c;自 20 世纪 60 年代起&#xff0c;就引领着电子制造的发展潮流。如今&#xff0c;它已经发展…

【Java程序设计】【C00190】基于SSM的餐厅点餐管理系统(论文+PPT)

基于SSM的餐厅点餐管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的餐厅点餐系统 本系统分为前台用户和后台管理员2个功能模块。 前台用户&#xff1a;当游客打开系统的网址后&#xff0c;首先看到的就是首页界…

Spark 依赖包加载方式

1 Spark 依赖包来源 我们知道Spark application运行加载依赖有三个地方&#xff1a; systemClasspath&#xff1a;Spark安装时候提供的依赖包&#xff0c;${SPARK_HOME}/jars下的包。spark-submit --jars 提交的依赖包spark-submit --config "spark.{driver/executor}.e…

如何恢复删除的文件?五个步骤搞定文件恢复

在数字洪流汇聚的今日&#xff0c;我们的信息大多以电子的形态保存。这些电子文件&#xff0c;无论是职场上的重要文书&#xff0c;还是个人生活中的照片与视频&#xff0c;一旦消失&#xff0c;就可能带来无法弥补的遗憾。所幸的是&#xff0c;随着科技的马不停蹄&#xff0c;…

vue3学习——自定义插件,注册组件(引入vue文件报红线)

在src/components文件夹目录下创建一个index.ts文件 import { App, Component } from Vue import SvgIcon from /components/SvgIcon/index.vue import Pagination from /components/Pagination/index.vue const globalComponents: { [name: string]: Component } { SvgIcon,…

Stable Code 3B:轻量级编程助手,无GPU本地运行

引言 Stability AI近期发布了Stable Code 3B&#xff0c;这是一个集中了多项创新技术的轻量级编程辅助模型。它在保持轻量的同时&#xff0c;展现出了与大型模型如CodeLLaMA 7B相媲美的性能&#xff0c;这一特性使其在没有GPU的环境中也能运行&#xff0c;极大地拓宽了其应用范…

面试经典150题——验证回文串

​"Challenges are what make life interesting and overcoming them is what makes life meaningful." - Joshua J. Marine 1. 题目描述 2. 题目分析与解析 在解决这个问题之前我们先想一下普通的回文串是如何判断的。 方法1&#xff1a;通过将字符串反转&#xff…

UnityShader(十四)纹理

目录 前言&#xff1a; 单张纹理实现效果&#xff1a; 效果&#xff1a; 前言&#xff1a; 纹理最初的目的是用一张图片来控制模型的外观。使用纹理映射技术我们可以把一张图“贴”在模型表面&#xff0c;逐纹素&#xff08;文素的名字是为了和像素进行区分&#xff09;控制…

2024 Google Chrome 浏览器回退安装旧版本

2024 Google Chrome 浏览器回退安装旧版本 查看当前谷歌版本备份浏览器数据卸载浏览器双击重新安装旧版本浏览器 查看当前谷歌版本 详细参考&#xff1a;参考 笔记&#xff1a;最近谷歌浏览器更新后&#xff0c;用着总感觉别扭&#xff1a;不习惯 备份浏览器数据 &#xff…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之MenuItem组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之MenuItem组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、MenuItem组件 TextClock组件通过文本将当前系统时间显示在设备上。支持不同时…

假期2.3

第二章 引用内联重载 一&#xff0e;选择题-* 1、适宜采用inline定义函数情况是&#xff08;C&#xff09; A. 函数体含有循环语句 B. 函数体含有递归语句‘、考科一 ’ C. 函数代码少、频繁调用 D. 函数代码多、不常调用 2、假定一个函数为A(int i4, int j0) {;}, 则执行“A …

09. BI - 数据可视化,如何进行基本图形绘制

本文为 「茶桁的 AI 秘籍 - BI 篇 第 09 篇」 文章目录 EDA 作用可视化视图Python 进行可视化subplot Hi&#xff0c;你好。我是茶桁。 今天想给大家讲的是关于数据的可视化。在工作中很多时候我们不光要计算结果&#xff0c;还要把结果呈现出来&#xff0c;最好是一种图形化的…

MATLAB知识点:矩阵的加法

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章 3.4.2 算术运算 首先是矩阵的加法。在线性代数中…