0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

串口通信理论知识

撞上电子 2023-07-31 17:41 次阅读

通用异步收发传输器(通常称作UART)是一种串行异步收发协议,应用十分广泛。UART工作原理是将数据的二进制位一位一位的进行传输。在UART通讯协议中信号线上的状态位高电平代表’1’低电平代表’0’。当然两个设备使用UART串口通讯时,必须先约定好传输速率和一些数据位。


第一节 硬件连接

硬件连接比较简单,仅需要3条线,注意连接时两个设备UART电平,如电平范围不一致请做电平转换后再连接,如下图所示:

5bb79e08-2f86-11ee-bbcf-dac502259ad0.png

TX:发送数据端,要接对面设备的RX

RX:接收数据端,要接对面设备的TX

GND:保证两设备共地,有统一的参考平面


第二节 软件通信协议

UART作为异步串口通信协议的一种,工作原理是将数据的字节一位接一位地传输。协议如下:

5bd5f39e-2f86-11ee-bbcf-dac502259ad0.png


A.空闲位:

UART协议规定,当总线处于空闲状态时信号线的状态为‘1’即高电平。

B.起始位:

开始进行数据传输时发送方要先发出一个低电平’0’来表示传输字符的开始。因为空闲位一直是高电平所以开始第一次通讯时先发送一个明显区别于空闲状态的信号即为低电平。

C.数据位:

起始位之后就是要传输的数据,数据可以是5,6,7,8,9位,构成一个字符,一般都是8位。先发送最低位最后发送最高位。

D.奇偶校验位:

数据位传送完成后,要进行奇偶校验,校验位其实是调整个数,串口校验分几种方式:

D.1.无校验(no parity)

D.2.奇校验(odd parity):如果数据位中’1’的数目是偶数,则校验位为’1’,如果’1’的数目是奇数,校验位为’0’。

D.3.偶校验(even parity):如果数据为中’1’的数目是偶数,则校验位为’0’,如果为奇数,校验位为’1’。

D.4.mark parity:校验位始终为1。

D.5.space parity:校验位始终为0。

E.停止位:

数据结束标志,可以是1位,1.5位,2位的高电平。

F.波特率:

数据传输速率使用波特率来表示,单位bps(bits per second),常见的波特率9600bps,115200bps等等,其他标准的波特率是1200,2400,4800,19200,38400,57600。举个例子,如果串口波特率设置为9600bps,那么传输一个比特需要的时间是1/9600≈104.2us。

5befceae-2f86-11ee-bbcf-dac502259ad0.png

以9600 8N1(9600波特率,8个数据位,没有校验位,1位停止位)为例,这是目前最常用的串口配置,现在我们传输’O’'K’两个ASCII值,'O’的ASCII为79,对应的二进制数据为01001111 ,'K’对应的二进制数据为01001011 ,传输的格式数据如下图所示:

5c145f6c-2f86-11ee-bbcf-dac502259ad0.png

串口波特率为9600,1bit传输时间大约为104us,传送一个数据实际是10个比特(开始位,8个数据位,停止位),一个bytes传输速率实际为9600*8/10=7680bps。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    6029

    浏览量

    135956
  • 传输器
    +关注

    关注

    0

    文章

    39

    浏览量

    12936
  • 串口
    +关注

    关注

    14

    文章

    1551

    浏览量

    76446
收藏 人收藏

    评论

    相关推荐

    串口通信的开发环境配置

    串口通信的开发环境配置涉及多个方面,包括选择编程语言、安装必要的库或驱动程序、配置串口参数等。以下是一个基于Python的串口通信开发环境配
    的头像 发表于 11-22 09:21 250次阅读

    使用Python进行串口通信的案例

    当然!以下是一个使用Python进行串口通信的简单示例。这个示例展示了如何配置串口、发送数据以及接收数据。我们将使用 pyserial 库,这是一个非常流行的用于串口
    的头像 发表于 11-22 09:11 181次阅读

    串口通信与并口通信的区别

    在计算机和电子设备的数据传输领域,串口通信(Serial Communication)和并口通信(Parallel Communication)是两种基本的通信方式。它们各自有着独特的
    的头像 发表于 11-22 09:04 550次阅读

    串口通信协议解析 串口通信应用实例

    串口通信协议解析 串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。以下是
    的头像 发表于 11-21 17:03 489次阅读

    串口屏如何与主控制器进行通信

    一、串口通信基础 串口通信是一种通过串行数据传输的方式进行通信的方法。在串口
    的头像 发表于 11-20 09:32 174次阅读
    <b class='flag-5'>串口</b>屏如何与主控制器进行<b class='flag-5'>通信</b>?

    接口测试理论、疑问收录与扩展相关知识

    本文章使用王者荣耀游戏接口、企业微信接口的展示结合理论知识,讲解什么是接口测试、接口测试理论、疑问收录与扩展相关知识点的知识学院,快来一起看看吧~
    的头像 发表于 11-15 09:12 308次阅读
    接口测试<b class='flag-5'>理论</b>、疑问收录与扩展相关<b class='flag-5'>知识</b>点

    为什么通信要使用虚拟串口串口助手?

    串口助手和虚拟串口是什么?串口助手和虚拟串口串口通信中很常见。
    的头像 发表于 11-15 01:04 876次阅读
    为什么<b class='flag-5'>通信</b>要使用虚拟<b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

    了解蓝牙模块串口通讯基础知识

    许多嵌入式系统和物联网(IoT)设备中广泛应用。以下是蓝牙串口UART的一些基础知识:一、UART基本概念接口又称串口,又称串行通信接口,一般也称COM口,这是一个
    的头像 发表于 09-02 16:16 1729次阅读
    了解蓝牙模块<b class='flag-5'>串口</b>通讯基础<b class='flag-5'>知识</b>

    串口通信的基本概念

    串口通信(Serial Communications)的基本概念可以归纳为以下几个方面:
    的头像 发表于 06-12 09:28 610次阅读
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>的基本概念

    学习串口屏需要了解哪些方面的知识

    学习串口屏需要掌握的知识主要包括以下几个方面
    的头像 发表于 06-05 09:41 426次阅读
    学习<b class='flag-5'>串口</b>屏需要了解哪些方面的<b class='flag-5'>知识</b>

    什么是串口通信?它有哪些特点和应用?

    在现代电子通信和计算机领域中,串口通信(Serial Communications)扮演着至关重要的角色。它是一种按位(bit)发送和接收字节的通信方式,能够实现数据的远距离传输和高效
    的头像 发表于 05-23 16:23 2412次阅读

    常见串口通信的几个问题请教?

    有关常见串口通信的几个问题请教论坛里的专家? 1、常见串口通信CAN,DP,PN,ETHER IP/TCP,ETHERCAT等,这些串口协议
    发表于 04-04 16:30

    UART串口通信协议是什么?

    UART (Universal Asynchronous Receiver/Transmitter) 是一种通信接口协议,用于实现串口通信。它是一种简单的、可靠的、广泛应用的串口
    的头像 发表于 03-19 17:26 1367次阅读

    QT串口通信的简单使用

    QT串口通信是上位机和下位机通信常用的通信方式, 也是学习QT必须学会的基础知识, 这篇就简单介绍一下QT
    的头像 发表于 01-15 09:27 1985次阅读
    QT<b class='flag-5'>串口</b><b class='flag-5'>通信</b>的简单使用

    WiFi理论知识与射频调试经验分享

    802.11a/g在20MHz模式下有48个可用子载波,速度可达54Mbps
    的头像 发表于 01-09 09:44 2219次阅读
    WiFi<b class='flag-5'>理论知识</b>与射频调试经验分享