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

串口通信原理

    • 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.mzph.cn/news/665485.shtml

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

相关文章

jstack命令解析

前言 如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症,是死锁综合征,还是死循环等其他病症,本文我们一起来学习jstack命令~ jstack 的功…

深度学习入门笔记(六)线性回归模型

本节,我们用线性回归为例子,回顾一些基本概念 6.1 相关性 相关性的取值范围是-1 到 1,越接近 1 或者-1 代表越相关,越接近 0 则越不相关。相关系数大于 0 称为正相关,小于 0 称为负相关。 假如 A 与 B 正相关&#…

[UI5 常用控件] 05.FlexBox, VBox,HBox,HorizontalLayout,VerticalLayout

文章目录 前言1. FlexBox布局控件1.1 alignItems 对齐模式1.2 justifyContent 对齐模式1.3 Direction1.4 Sort1.5 Render Type1.6 嵌套使用1.7 组件等高显示 2. HBox,VBox3. HorizontalLayout,VerticalLayout 前言 本章节记录常用控件FlexBox,VBox,HBox,Horizontal…

快速理解复杂系统组成学习内容整合

目录 一、复杂系统组成 二、接入系统 (Access System) 三、应用系统 (Application System) 四、基础平台 (Foundation Platform) 五、中间件 (Abundant External Middleware) 六、支撑系统 (Supporting System) 参考文章 一、复杂系统组成 复杂系统是由多个相互关联、相…

比瓴科技入围软件供应链安全赛道!为关键信息基础设施安全建设注入新动力

1月20日,中关村华安关键信息基础设施安全保护联盟会员大会暨关键信息基础设施安全保护论坛在北京成功举办,比瓴科技作为会员单位受邀出席。 本次论坛发布了《关键信息基础设施安全保护支撑能力白皮书(2023)》,比瓴科技…

【开源】SpringBoot框架开发大学计算机课程管理平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2.3 学生实验模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 实验课程档案表3.2.2 实验资源表3.2.3 学生实验表 四、系统展示五、核心代码5.1 一键生成实验5.2 提交实验5.3 批阅实…

获取真实 IP 地址(二):绕过 CDN(附链接)

一、DNS历史解析记录 DNS 历史解析记录指的是一个域名在过去的某个时间点上的DNS解析信息记录。这些记录包含了该域名过去使用的IP地址、MX记录(邮件服务器)、CNAME记录(别名记录)等 DNS 信息。DNS 历史记录对于网络管理员、安全研…

怪物联萌小游戏

欢迎来到程序小院 怪物联萌 玩法:将怪物连体,怪物只能直线上下左右移动,躲过障碍物,共16关卡, 不同关卡不同界面,遇到金币记得吃掉金币哦,会获得更高分数,快去闯关吧^^。开始游戏ht…

纯血鸿蒙来了,鸿蒙App开发该如何提速

“全世界做产品挣钱的公司很多,但有能力打造操作系统的公司没有几家,最后世界上的操作系统就只有三套:鸿蒙、iOS和安卓。” --- 360集团创始人、董事长周鸿祎 “HarmonyOS实现了AI框架、大模型、设计系统、编程框架、编程语言、编译器等全栈…

git的分支操作

目录 简介: 操作:查看 操作:创建 操作:切换​编辑 操作:本地分支推送到远程 操作:git merge [name]合并分支​编辑 简介: 在Git中,可以通过分支来管理和处理不同的版本和功能。分…

一文读懂C++的类和对象以及多态的原理

现实生活中,关于类和对象最好的例子是自然界的动物类,本文将以此为场景逐步引入C的概念,达到学习的目的。因为C这门语言本身有很多繁杂的内容,而网上的资源也是参差不齐,有的人见山谈山遇水聊水,有多人故弄…

已解决!AttributeError: ‘Sequential‘ object has no attribute ‘session‘ 问题

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

EtherCAT转ModbusTCP网关

一、功能概述 1.1设备简介 本产品是EtherCAT和Modbus TCP网关,使用数据映射方式工作。 本产品在EtherCAT侧作为EtherCAT从站,接TwinCAT、CodeSYS、PLC等;在ModbusTCP侧做为ModbusTCP主站(Client)或从站(…

c语言---操作符(详解)

目录 一、操作符的分类二、算术操作符三、 移位操作符3.1<<左移操作符3.1.1移位规则3.1.2直接上代码以及解释 3.2>> 右移操作符3.2.1移位规则3.2.2画图解释 3.3注意 四、位操作符&#xff1a;&、|、^、~4.1&按位与4.1.1按位与的计算逻辑4.1.2代码4.1.3运行…

2024程序员就业咋办?

国际研究机构Gartner会在每年10月份左右发布下一年度的战略发展趋势预测&#xff0c;并在次年3月左右发布和网络安全相关的趋势预测。绿盟科技通过将近3年的趋势预测进行分组对比分析后发现&#xff0c;除了众人皆知的AI技术应用外&#xff0c;数据模块化、身份优先安全、行业云…

阿里云OSS对象存储

一、前言 阿里云对象存储OSS作用&#xff1a;用于存储图片、视屏、文件等数据。 参考阿里云文档地址&#xff1a;阿里云对象存储教程 二、总体思路 说明&#xff1a;客户端给服务端发送请求&#xff0c;获取policy和signature等数据&#xff08;服务端提供&#xff09;&#…

VS打包.exe文件步骤

1.借助vs自带扩展工具 2.1打开扩展栏 2.2搜索栏填入 " installer " 2.3下载安装 下载完成后&#xff0c;推出vs自动弹出安装。 2.生成安装包 2.1新建一个项目 2.2输入"setup" 直接下一步 2.3输入项目名称和存储位置、点击创建 出现该栏 2.4选择 主文件…

Pandas--数据结构 - DataFrame(4)

DataFrame 是一个表格型的数据结构&#xff0c;它含有一组有序的列&#xff0c;每列可以是不同的值类型&#xff08;数值、字符串、布尔型值&#xff09;。DataFrame 既有行索引也有列索引&#xff0c;它可以被看做由 Series 组成的字典&#xff08;共同用一个索引&#xff09;…

python求解中位数

首先将数组nums进行排序&#xff0c;然后找到中间位置的数值 如果数组长度n为奇数&#xff0c;则(n1)/2处对应值为中位数&#xff0c;如果数组下标从0开始&#xff0c;还需要减去1 如果数组长度n为偶数&#xff0c;则n/2,n/21两个位置数的平均值为中位数 假设中位数为x&#x…

ManageEngine推出云原生身份平台以解决劳动力IAM挑战

ManageEngine推出云原生身份平台以解决企业员工身份与访问管理&#xff08;IAM&#xff09;面临的挑战。该公司还为其本地身份治理和管理&#xff08;IGA&#xff09;解决方案添加了先进的安全功能。 IAM 内置通用目录可在企业应用程序之间集中管理用户身份&#xff0c;使用身…