精华内容
下载资源
问答
  • 2021-07-28 00:21:26

    ffd6ac8b64ae3ad2c6d02f2b36d5143f.png

    anchuidie

    新兵答主

    07-27

    TA获得超过6672个赞

    区别:UART是将要传输的资料在串行通信与并行通信之间加以转换,通常被集成于其他通讯接口的 连结上。串口 是指数据一位一位地顺序传送且通信线路简单,适用于远距离通信。

    拓展:

    1、UART功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的 串行数据转换为字节,供计算机内部并行数据的器件使用。在输出的串行数据流中 加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启 停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键 盘和鼠标也是串行设备)。

    2、UART基本结构:⑴输出缓冲寄存器,它接收CPU从数据总线上送来的并行数据,并加以保存。

    ⑵输出移位寄存器,它接收从输出缓冲器送来的并行数据,以发送时钟的速率 把数据逐位移出,即将并行数据转换为串行数据输出。

    ⑶输入移位寄存器,它以接收时钟的速率把出现在串行数据输入线上的数据逐 位移入,当数据装满后,并行送往输入缓冲寄存器,即将串行数据转换成并 行数据。

    ⑷ 输入缓冲寄存器,它从输入移位寄存器中接收并行数据,然后由CPU取走。

    ⑸控制寄存器,它接收CPU送来的控制字,由控制字的内容,决定通信时的传 输方式以及数据格式等。例如采用异步方式还是同步方式,数据字符的位数, 有无奇偶校验,是奇校验还是偶校验,停止位的位数等参数。

    ⑹状态寄存器。状态寄存器中存放着接口的各种状态信息,例如输出缓冲区是否 空,输入字符是否准备好等。在通信过程中,当符合某种状态时,接口中的状 态检测逻辑将状态寄存器的相应位置“1”,以便让CPU查询。

    3、 串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对 传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适 用于远距离通信,但传送速度较慢。一条信息的各位数据被逐位按顺序传送的通讯方式称为串行 通讯。串行通讯的特点是:数据位的传送,按位顺序进行,最少只需一根传输线即可完成;成本 低但传送速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进 一步分为单工、半双工和全双工三种。

    4、串口形容一下就是一条车道,而并口就是有8个车道同一时刻能传送8位(一个字节)数据。但是 并不是说并口快,由于8位通道之间的互相干扰(串扰),传输时速度就受到了限制,传输容易 出错。串口没有互相干扰。并口同时发送的数据量大,但要比串口慢。

    更多相关内容
  • 数据通信的基本方式可分为并行通信串行通信:  并行通信:是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求通讯速率较高的应用场合。  串行通信:是指...
  • 串行通信三种方式

    千次阅读 2019-10-06 19:27:38
    基本的通讯方式有并行通讯和串行通讯两. 一条信息的各位数据被同时传送的通讯方式称为并行通讯.并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但多少数据位就需多少根数据线,因此传送成本高,且只适用...

    串行通讯的基本概念:与外界的信息交换称为通讯.基本的通讯方式有并行通讯和串行通讯两种.

    一条信息的各位数据被同时传送的通讯方式称为并行通讯.并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯.

    一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯.串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢.串行通讯的距离可以从几米到几千米.

    根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种.信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工.

    串行通讯又分为异步通讯和同步通讯两种方式.在单片机中,主要使用异步通讯方式.

    MCS_51单片机有一个全双工串行口.全双工的串行通讯只需要一根输出线和一根输入线.数据的输出又称发送数据(TXD),数据的输入又称接收数据(RXD).串行通讯中主要有两个技术问题,一个是数据传送、另一个是数据转换.数据传送主要解决传送中的标准、格式及工作方式等问题.数据转换是指数据的串并行转换.具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据.

    1. 单工/半双工和全双工的定义

    如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工.

    如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输.

    如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工.

    电话线就是二线全双工信道. 由于采用了回波抵消技术,双向的传输信号不致混淆不清.双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输.

    -------->

    <-------->

    -------->

    A---------B

    A----------B

    A---------B

     

     

    <--------

    单工

    半双工

    全双工

    2. 串口通讯—全双工和半双工方式

    在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工.但单工目前已很少采用,下面仅介绍前两种方式.

    • 全双工方式(full duplex)

    当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工制,如图1所示.在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送.全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利.这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号.(可能还需要控制线和状态线,以及地线).

    图1

    比如,计算机主机用串行接口连接显示终端,而显示终端带有键盘.这样,一方面键盘上输入的字符送到主机内存;另一方面,主机内存的信息可以送到屏幕显示.通常,往键盘上打入1个字符以后,先不显示,计算机主机收到字符后,立即回送到终端,然后终端再把这个字符显示出来.这样,前一个字符的回送过程和后一个字符的输入过程是同时进行的,即工作于全双工方式.

    • 半双工方式(half duplex)

    若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制,如图2所示.采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟.收/发开关实际上是由软件控制的电子开关.

    图2

     

    当计算机主机用串行接口连接显示终端时,在半双工方式中,输入过程和输出过程使用同一通路.有些计算机和显示终端之间采用半双工方式工作,这时,从键盘打入的字符在发送到主机的同时就被送到终端上显示出来,而不是用回送的办法,所以避免了接收过程和发送过程同时进行的情况.

    目前多数终端和串行接口都为半双工方式提供了换向能力,也为全双工方式提供了两条独立的引脚.在实际使用时,一般并不需要通信双方同时既发送又接收,像打印机这类的单向传送设备,半双工甚至单工就能胜任,也无需倒向.

    本文转自:http://cs.nju.edu.cn/yangxc/dcc2003.files/jszc-sub/comif-03.htm

    转载于:https://www.cnblogs.com/FREMONT/p/9830656.html

    展开全文
  • 本文介绍了三种方法,并对各自的优缺点进行了详细的讨论。  过去PC用户在接入新设备时还需要安装相应的驱动程序,对于非专业用户来讲不仅麻烦而且容易出错,他们一直希望在连接新外设时能减少这些让人困惑的...
  • 主要讲述西门子PLC串行通讯的几常用方法,供大家学习参考。
  • 随着简单易用的USB接口日益流行,在嵌入式系统中添加... 基于Linux的USB设备与USB主机一般以下三种通信方式:1.一些功能最完备结构也最复杂的设备采用用户定制内核模块来实现在标准USB总线上运行复杂的高级协议,而
  • 串行通信技术,是指通信双方按位进行,遵守时序的一种通信方式串行通信中,将数据按位依次传输, 每位数据占据固定的时间长度,即可使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、...
  • 本文给大家分享了串行通信中断方式子程序。
  • C#串口通信、发送、监听串口数据,可以使用windows api或者C#自带serialPort通信。
  • STM32串口通信入门介绍

    目录

    一、通讯的基本概念

    1.数据的传送方式

    2.数据的通讯方向

    3.数据的同步方式

    4.数据的传输速率

    5.电平信号标准

    二、串口通信

    1.串口通信介绍

    2.STM32上的USART

    3.USART库函数初始化

    (1)USART初始化结构体​

    (2)USART时钟初始化结构体


    一、通讯的基本概念

    1.数据的传送方式

    数据传送方式分为并行和串行两种方式。

    并行传输方式一次能通过8、16、32、64根数据线同时传输多位数据,传输速率高,一般用于特殊场合,比如芯片内部的总线。

    串行传输方式一次只能传输一位数据,传输速度慢,但节省数据线成本,可以满足长距离传输数据的要求。

    2.数据的通讯方向

    按信道方向区分,数据通讯方向可分为以下三类:

    全双工:双方可同时收发数据;

    半双工:双方可分时收发数据,不能同时发数据;

    单工:单方向收发数据。

    3.数据的同步方式

    根据通讯过程中是否使用到时钟信号可分为两种方式:

    同步:收发设备双方会使用一根信号线表示时钟信号,在时钟信号的驱动下双方进行协调,同步数据。该种方式传送的数据皆为有效数据,传输效率高,但对通讯双方时钟允许误差要求较高。

    例如SPI,I2C

    异步:不使用时钟信号进行数据同步,直接把主体数据进行打包,以数据帧的格式传输数据。该种方式传输的数据包含有数据帧的标识符,传输效率无同步高,但对时间允许误差大。

    例如UART通用异步收发器

    4.数据的传输速率

    这是一个衡量通讯性能的重要参数,单位为比特率(Bitrate),定义如下

    比特率:每秒钟传输的二进制位数,单位为比特每秒 (bit/s)

    容易混淆的是,在串口通信中,描述串口通信速率的是波特率(Baudrate),定义如下

    波特率:每秒钟传输的码元,单位为bps。

    常见的通讯传输中,比如TTL电平标准,用 0V 表示数字 0, 5V 表示数字 1,那么一个码元可以表示两种状态 0 和1,所以此时一个码元等于一个二进制比特位,故此时波特率的大小与比特率一致;如果在通讯传输中,有0V、 2V、 4V 以及 6V 分别表示二进制数 00、01、 10、 11,那么每个码元可以表示四种状态,即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的一半。不过我们经常用到的是一个码元等于一个二进制比特位的情况,所以常会将波特率和比特率混为一谈。

    **补充**:在通信线路上表示0和1有两种方式,一种是电平信号,另一种是差分信号。电平信号的传输线中有一个参考电平线(一般是GND),然后信号线上的信号值是由信号线电平和参考电平线的电压差决定。差分信号的传输线中没有参考电平线,所有都是信号线,然后1和0的表达靠信号线之间的电压差。电平信号的2根通信线之间的电平差异容易受到干扰,传输容易失败;差分信号不容易受到干扰,因此传输质量比较稳定。

    5.电平信号标准

    串口常用的电平标准有如下三种,在进行串口通信时,必须要统一标准。

    TTL电平:+5V表示10V表示0

    RS232电平:-3~-15V表示1+3~+15V表示0

    RS485电平:两线压差+2~+6V表示1-2~-6V表示0(差分信号)

    电子电路中常使用TTL标准,老式计算机和路由与调制调解器会使用到RS232标准,因为它抗干扰能力更强。

    二、串口通信

    1.串口通信介绍

    根据上面的划分,串口通信属于串行、异步、全双工/单工、使用电平信号中的TTL电平和RS232电平的通信方式。

    由于是异步通信,没有用到时钟信号,故两台通讯设备需要使用统一的波特率,常设置的波特率为 4800、 9600、 115200 等。

    现在的串口通信已经简化到只需要三根信号线:RXD、TXD、GND,当只使用GND和另外其中一根时实现单工通信。

    串口通讯的数据传输以帧(数据包)的形式由发送设备通过自身的 TXD 接口传输到接收设备的 RXD接口。在串口通讯的协议层中,规定了数据包的内容(如图),它由起始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。

    图中用虚线分开的每一格代表一个码元或一个二进制数。(波特率:每秒钟传输的码元。)

    数据包(帧)的起始信号由一个逻辑 0 的数据位表示;在数据包的起始位之后紧接着的就是要传输的主体数据内容,也称为有效数据,有效数据的长度常被约定为 5、 6、 7 或 8 位长;数据包的停止信号可由 0.5、 1、 1.5 或 2 个逻辑 1 的数据位表示,只要双方约定一致即可。

    在有效数据之后,有一个可选的数据校验位。由于数据通信相对更容易受到外部干扰导致传输数据出现偏差,可以在传输过程加上校验位来解决这个问题。校验方法有奇校验 (odd)、偶校验(even)、 0 校验 (space)、 1 校验 (mark) 以及无校验 (noparity)。
    奇校验要求有效数据和校验位中“1”的个数为奇数,比如一个 8 位长的有效数据为: 01101001,
    此时总共有 4 个“1”,为达到奇校验效果,校验位为“1”,最后传输的数据将是 8 位的有效数据
    加上 1 位的校验位总共 9 位。
    偶校验与奇校验要求刚好相反,要求帧数据和校验位中“1”的个数为偶数,比如数据帧: 11001010,此时数据帧“1”的个数为 4 个,所以偶校验位为“0”。
    0 校验是不管有效数据中的内容是什么,校验位总为“0”, 1 校验是校验位总为“1”。


    2.STM32上的USART

    STM32中实现串口通信的设备是通用同步异步收发器 (Universal Synchronous Asynchronous Receiver and Transmitter),USART。可以通过时钟进行同步串口通信,但我们一般只使用其中的异步功能,不使用时钟输出,即通用异步收发器UART(Universal Asynchronous Receiver and Transmitter)。

    以STM32F103RCT6为例,说明USART用到的引脚及功能:
    STM32F103RCT6 系统控制器有三个 USART 和两个 UART,其中 USART1 和时钟来源于 APB2 总线时钟,其最大频率为 72MHz,其他四个的时钟来源于 APB1 总线时钟,其最大频率为 36MHz,速率可达4.5Mbps。UART 只是异步传输功能,所以没有 SCLK、 nCTS 和 nRTS 功能引脚。

    我们需要重点关注的是发送数据引脚TX,和接收数据引脚RX

    USART 有专门控制发送的发送器、控制接收的接收器,还有唤醒单元、中断控制等等。

    一个字符帧发送需要三个部分:起始位 + 数据帧 + 停止位。起始位是一个位周期的低电平,位周期就是每一位占用的时间;数据帧就是我们要发送的 8 位或 9 位数据,数据是从最低位开始传输的;停止位是一定时间周期的高电平。

    当选择 8 位字长,使用 1 个停止位时,具体发送字符时序图见图字符发送时序图:

    数据接收时只需更改相关寄存器的值,原理和上述差不多。

    这里说明波特率在寄存器中如何设置,下面先给出计算公式:

    fck为 USART 时钟(72MHz或36MHz),需要我们设置的 USARTDIV 是一个存放在波特率寄存器 (USART_BRR) 的一个无符号定点数。其中 DIV_Mantissa[11:0] 位定义 USARTDIV 的整数部分, DIV_Fraction[3:0] 位定USARTDIV 的小数部分。

    例如USART1使用APB2(72MHz)的时钟,为得到115200bps的波特率,代入公式可以算的USARTDIV = 39.0625,则DIV_Fraction = 0.0625*16 = 0x01,DIV_Mantissa = 39 = 0x27,最终USART_BRR = 0x271.

    3.USART库函数初始化

    (1)USART初始化结构体

    1) USART_BaudRate:波特率设置。一般设置为 2400、 9600、 19200、 115200。标准库函数会根据设定值计算得到 USARTDIV 值,从而设置 USART_BRR 寄存器值。
    2) USART_WordLength:数据帧字长,可选 8 位或 9 位。它设定 USART_CR1 寄存器的 M 位的值。如果没有使能奇偶校验控制,一般使用 8 数据位;如果使能了奇偶校验则一般设置为 9 数据位。
    3) USART_StopBits:停止位设置,可选 0.5 个、 1 个、 1.5 个和 2 个停止位,它设定USART_CR2寄存器的 STOP[1:0] 位的值,一般我们选择 1 个停止位。
    4) USART_Parity:奇偶校验控制选择,可选 USART_Parity_No(无校验)、 USART_Parity_Even(偶校验) 以及 USART_Parity_Odd(奇校验),它设定 USART_CR1 寄存器的 PCE 位和 PS 位的值。
    5) USART_Mode: USART 模式选择,有 USART_Mode_Rx 和 USART_Mode_Tx,允许使用逻辑或运算选择两个,它设定 USART_CR1 寄存器的 RE 位和 TE 位。
    6) USART_HardwareFlowControl:硬件流控制选择,只有在硬件流控制模式才有效,可选有使能 RTS、 使能 CTS、 同时使能 RTS 和 CTS、 不使能硬件流。

    当使用同步模式时需要配置 SCLK 引脚输出脉冲的属性,标准库使用一个时钟初始化结构体USART_ClockInitTypeDef 来设置,该结构体内容也只有在同步模式才需要设置。

    (2)USART时钟初始化结构体

    异步 无需设置。

    1) USART_Clock:同步模式下 SCLK 引脚上时钟输出使能控制,可选禁止时钟输出(USART_Clock_Disable) 或开启时钟输出 (USART_Clock_Enable);如果使用同步模式发送,一般都需要开启时钟。它设定 USART_CR2 寄存器的 CLKEN 位的值。
    2) USART_CPOL:同步模式下 SCLK 引脚上输出时钟极性设置,可设置在空闲时 SCLK 引脚为低电平 (USART_CPOL_Low) 或高电平 (USART_CPOL_High)。它设定 USART_CR2 寄存器的 CPOL位的值。
    3) USART_CPHA:同步模式下 SCLK 引脚上输出时钟相位设置,可设置在时钟第一个变化沿捕
    获数据 (USART_CPHA_1Edge) 或在时钟第二个变化沿捕获数据。它设定 USART_CR2 寄存器的
    CPHA 位的值。 USART_CPHA 与 USART_CPOL 配合使用可以获得多种模式时钟关系。
    4) USART_LastBit:选择在发送最后一个数据位的时候时钟脉冲是否在 SCLK 引脚输出,可以是
    不输出脉冲 (USART_LastBit_Disable)、输出脉冲 (USART_LastBit_Enable)。它设定 USART_CR2 寄存器的 LBCL 位的值。

    下一篇写实验案例。


    参考资料:

    1.串口通信详解

    2.野火《STM32库开发指南》

    如需了解具体使用到的寄存器,可以参考官方文档,其他博客或书籍。

    展开全文
  • [通讯方式] 串口通信

    千次阅读 2022-03-07 16:02:49
    串口通信的重要概念 一. 前言 1、什么是通信? 发送方按照信息编码方式对有效信息进行编码(编成可以在通信线路上传输的信号形态); 编码后的信息在传输介质上进行传输,输送给接收方; 接收...
    • 📢博客主页:https://blog.csdn.net/weixin_43197380
    • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
    • 📢本文由 Loewen丶原创,首发于 CSDN,转载注明出处🙉
    • 📢现在的付出,都会是一种沉淀,只为让你成为更好的人✨

    一. 前言

    1、什么是通信?

    1. 发送方按照信息编码方式对有效信息进行编码(编成可以在通信线路上传输的信号形态);
    2. 编码后的信息在传输介质上进行传输,输送给接收方;
    3. 接收方接到编码信息后进行解码,解码后得到可以理解的有效信息

    可以理解为收发快递:卖家打包快递(编码)—— 快递小哥+运输车(传输介质)将打包好的快递给到买家手中 —— 买家拆开快递(解码),最终得到物品(有效信息)。

    2、同步通信和异步通信

    同步还是异步就看发送方和接收方的时钟频率是否一致:

    • [√] 同步通信:接收端发送端时钟信号频率一致,其发送端发送连续的比特流
    • [×] 异步通信:以字符为单位进行传输,接收端发送端时钟频率不要求同步,字符之间没有固定的时间间隔要求,但接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。

    在这里插入图片描述
    举个例子:大耳朵图图去牛爷爷家

    胡英俊对图图说:

    ①你自己去牛爷爷家吧,我去上班了,到牛爷爷家了给我打一个电话(异步通信)。

    ②胡英俊先送图图去牛爷爷家,确认送到牛爷爷家了之后,再去上班(同步通信)。

    3、电平信号和差分信号

    电平信号和差分信号是用来描述通信线路传输方式的。也就是说如何在通信线路上表示1和0。

    电平信号的传输线中有一个参考电平线(一般是GND),然后信号线上的信号值是由信号线电平和参考电平线的电压差决定。电平信号的2根通信线之间的电平差异容易受到干扰,传输容易失败;

    差分信号的传输线中没有参考电平线,所有都是信号线,然后1和0的表达靠信号线之间的电压差。差分信号不容易受到干扰,因此传输质量比较稳定。现代通信一般都使用差分信号,电平信号几乎没有了。

    在电平信号下,”1根参考电平线+1根信号线“可以传递1位二进制;”1根参考电平线+2根信号线“可以同时发送2位二进制;如果想同时发送8位二进制就需要9根线。
    在差分信号下,2根线(彼此差分)可以同时发送1位二进制;如果需要同时发送8位二进制就需要16根线。

    总结: 在相同根数的通信线下, 表面上电平信号要比差分信号快;但是实际还是差分信号快,因为差分信号抗干扰能力强, 因此1个发送周期的时间耗时更少.

    4、串行接口和并行接口

    串行端口被描述为通道,而并行端口则表示有8条通道可同时传输8位(一个字节)的数据。

    在这里插入图片描述

    串行接口:
    串行接口,简称串口,也就是COM接口,是采用串行通信协议的扩展接口,数据传输率是115kbps~230kbps。

    串行接口是指数据是一位位地顺序传送出去的,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线。降低成本,适用于远距离通信,但传送速度慢

    并行接口:
    并行接口,简称并口,也就是LPT接口,是采用并行通信协议的扩展接口。并口的数据传输率比串口快8倍,标准并口的数据传输率为1Mbps。

    并行接口是指数据通过多条数据线同时传输出去,其特点是传输速度快(1Mbps),但当传输距离远、位数又多时,导致通信线路复杂且成本提高

    速度差异:
    ​通俗点讲,串口就像只有一条车道,而并口就是有8个车道,同一时刻能传送8位(一个字节数据)。但是并不是并口快,由于8位通道之间的互相干扰。传输速度就受到了限制。而且传输出错时,要同时重新传送8个位的数据。串口没有干扰,传输出错后重发以为就可以了。所以串口比并口快。串口硬盘就是这样被重视的,没有谁希望自己的机箱里出现一根胳膊粗的线束。

    历史上,工程师们确实是先做了串口,速度不够没办法只好含泪加电线上并口,直到他们发现了三大法宝(差分信号,时钟-数据恢复,和信道均一化)来提速,并口的动力就不那么强劲了。摘自:知乎:为什么串口比并口快?

    总结: 经过这么多年的发展,最终胜出的是: 异步、差分、串行, 譬如USB和网络通信。


    二. 串口通信的基本概念

    1、串口通信特点(异步、差分、串行通信)

    (1)异步

    串口通信的发送方和接收方之间没有统一的时钟信号,在异步通信中,收发双方取得同步是通过在字符格式中设置起始位和停止位的方法来实现,具体来说就是,在一个有效字符正式发送之前,发送器先发送一个起始位,然后在发送有效字符位,在字符结束时在发送一个停止位。

    (2)差分信号

    串口通信出现的时间较早、速率较低、传输的距离较近,所有干扰不太明显,因此当时使用了电平信号传输。后期出现的传输协议都改成了差分信号传输了。

    (3)串行通信

    将数据按位(bit)依次传输, 每位数据占据固定的时间长度,即可使用少数几条通信线路就可以完成系统间交换信息

    ps:注意区分串行通信和串口通信:

    • 串行通信是通信双方按位(bit)进行,遵守时序的一种通讯方式;
    • 串口通信是一种通信手段,对标于以太网方式、红外方式、蓝牙方式等通信手段而言。

    常用的串口接头有两种,一种是9针串口(简称DB-9),一种是25针串口(简称DB-25)。每种接头都有公头和母头之分,其中带针状的接头是公头,而带孔状的接头是母头。9针串口的外观如图2所示。

    在这里插入图片描述
    在9针串口接头中,公头和母头的管脚定义顺序是不一样,这一点需要特别注意。那么,这些管脚都有什么作用呢?9针串口和25针串口常用管脚的功能说明如图所示:
    在这里插入图片描述

    典型的串口通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,所以端口能够在一根线上发送数据同时在另一根线上接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶的校验。对于两个需要进行串口通信的端口,这些参数必须匹配,这也是能够实现串口通讯的前提。

    2、波特率

    波特率指的是串口通信的速率,也就是串口通信时每秒钟可以传输的数据位数(多少个二进制位 / 秒),譬如,每秒钟可以传输9600个二进制位(传输一个二进制位需要的时间是1/9600秒,也就是104us),波特率就是9600。

    波特率不能随意指定,主要是因为:通信双方必须事先设定相同的波特率才能成功通信,如果发送方和接收方按照不同的波特率通信则根本收不到,因此波特率最好是大家熟知的而不是随意指定的;常用的波特率经过长久发展,就形成了共识,大家常用的就是9600或者115200。

    可以将波特率比喻为两个特工的联络暗号,只有联络暗号正确,才能进行后续信息的传送。


    3、起始位、数据位、奇偶校验位、停止位

    串口通信时,收发是一个周期一个周期进行的,每个周期传输n个二进制位。这一个周期就叫做一个通信单元,一个通信单元由:起始位+数据位+奇偶校验位+停止位组成的。

    在这里插入图片描述
    起始位: 就是数据开始的标志,由0开始,即低电平开始。

    数据位: 是一个通信单元中发送的有效信息位,是本次通信真正要发送的有效数据,串口通信一次发送多少位有效数据是可以设定的(可以是5,7,8位三种,通常选择8位数据位,因为一般通过串口发送的文字信息都是ASCII码编码,而ASCII码中一个字符刚好编码为8位)。

    奇偶校验位: 是用来校验数据传输过程中的数据位,以防止数据位出错的。

    停止位: 是发送方用来表示本通信单元结束标志的,停止位的定义是串口通信标准事先指定的,是由通信线上的电平变化来反映的。常见的有1位停止位、1.5位停止位、2位停止位等,一般使用的是1位停止位。

    总结:

    串口通信时因为是异步通信,所以通信双方必须事先约定好通信参数,这些通信参数包括:波特率、数据位、校验位、停止位(串口通信中起始位定义是唯一的,所以一般不用选择)。

    4、单工、半双工和全双工

    在通信中,相信大家也经常听说单工模式和双工模式,这是不同的通讯方式:

    • 单工模式:单方向收发数据,固定一方为发送端,一方为接收端。譬如,只能“A发送数据,B接收数据”。

    • 半双工模式(RS485):双方分时收发数据,譬如,“A发送数据,B接收数据”或者“A接收数据,B发送数据”,两个方向不能同时进行。

    • 全双功模式(RS232):双方同时收发数据,譬如,“A发送数据,B接收数据”同时“A接收数据,B发送数据”,两个方向同时进行。

    总结:

    半单工模式(RS485) 既可以使用一根数据线,又可以使用两根数据线,但是在切换数据传输方向时传输会有一些延时,故信息传输效率慢一些。全双工是两个单工通信的结合,参数一样的情况下,传输速度要比半双工高一些

    展开全文
  • 一、串行通信中波特率是如何进行设置的?...二、串行通信 4 种方式有何区别? 1、方式0:同步移位寄存器输入/输出方式,常用于扩展I/O口。波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD位的影响。 2..
  • 可以同时接收数据和发送数据
  • 由于光纤并不能够象电线一样简单地... 一、简单的一对一串口光纤通信方式  最简单的光纤通信就是一对一的通信。两头的接口可以是RS-232、RS-485,也可以是USB、以太网等。  波士电子的RS-232
  • AT89S52单片机的串行有方式0、方式1、方式2、方式3四工作方式方式0主要用于扩展并行输入输出口,方式1、2、3用于串行通信
  • 单片机串行通讯口的工作方式:1.数据缓冲器SBUF;2.串行口控制/状态寄存器SCON(98H);3.节电控制寄存器PCON。 SM0,SM1选择四工作方式...(2) 方式1:8位数据异步通讯方式。(3) 方式2和方式3:9位数据异步通讯方式
  • [131]VC串口通讯方式,VC编程实现串口通信软件.zip上位机开发VC串口学习资料源码下载[131]VC串口通讯方式,VC编程实现串口通信软件.zip上位机开发VC串口学习资料源码下载[131]VC串口通讯方式,VC编程实现串口通信...
  • 本文主要介绍了一下关于STM32的几种串口通信协议,希望对你的学习有所帮助。
  • 原标题:plc通讯方式有三种?plc常见的三种通讯方式PLC = Programmable Logic Controller,可编程逻辑控制器,一数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储...
  • 单片机两种方式实现串口通信

    千次阅读 2020-03-16 11:18:43
    今天分享一下52单片机串口通信的一些知识吧~ 二:预备知识 1、RXD(P3^0)串行输入口,TXD(P3 ^ 1)串行输出口,SBUF接收和发送寄存器。 2、RI串行接收中断请求标志,TI串行发送中断请求标志。 3、串行口发送过程:发送...
  • 上讲介绍并应用了单片机...串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。  与之前一样,首先我们来了解单片机串口相关
  • I2C总线是一同步、半双工双向的两线式串口总线。它由两条总线组成:串行时钟线SCL和串行数据线SDA。 SCL线——负责产生同步时钟脉冲。 SDA线——负责在设备间传输串行数据。 SPI 引脚定义为:SCLK、MOSI、MISO、...
  • 串口通信通信方式简介

    千次阅读 2021-03-18 23:09:42
    串口通信串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。 串口通信协议是指规定了数据包的内容,内容包含了起始位...
  • 串口通信三种方式

    万次阅读 2012-11-02 21:40:41
    PC机串口定义如下图: 一般的单片机串口应用只需3根信号线:3脚TXD(发送数据)、2脚RXD(接收数据)、5脚SG(信号地)。其中单片机的TXD对应连接PC机的RXD,单片机RXD连接PC的TXD。即两者是交叉连接。需要...
  • 在嵌入式设备中,常涉及到低功耗下的串口通信,本文以STM32L4作为硬件平台,讲解3低功耗下的串口通信,希望对做低功耗的嵌入式开发者有所启发或帮助。笔者才疏学浅,难免错误或遗漏之处,望读者能不吝指正。 ...
  • 串行通信基本通信方式,异步通信和同步通信。 异步通信不需要传输时钟信号,通信双方的时钟是各自独立的,但双方必须是相同的通信速率和数据格式,即相同的通信协议。其帧格式一般为:起始位+数据位
  • 1 引言  个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。... 在通信领域内,数据通信方式:并行通信和串行通信。随着
  • )要求使用单片机的串口方式3,波特率9600bps,系统晶振频率11.0592MHz,完成多机通信(1主2从)。 功能要求: 1、主机设置两个按键KEY1、KEY2为发送键,每按1次,主机向对应从机顺序发送1位0~F间的字符,发送...
  • 要求使用单片机的串口方式2,波特率自定,晶振频率:11.0592MHz,完成双机点对点通信。 功能要求: 1、1号单片机循环发送0-15的数据给2号单片机,同时发送奇偶校验位,然后接收2号单片机返回的数据, 如果接收...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 158,441
精华内容 63,376
关键字:

串行通信方式有三种