串口的初识

目录

关于电器标准和协议:

关于串口的电平:

关于串口的通信:

串口编程要素:

编程:


串行接口简称串口,也称 串行通信接口或 串行通讯接口(通常指 式的扩展接口。串行 COM接口),是采用串行通信方 接口(Serial Interface)是指数据一位一位地顺序传送。其特点是 通信线路简 单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成 本,特别适用于远距离通信,但传送速度较慢。

1.是设备间接线通信的一种方式

2.数据一位一位地顺序传送

3.双向通信,全双工

  • 半双工通信允许数据在两个方向上传输,但同一时刻只能在一个方向上传输。也就是说,通信双方不能同时进行发送和接收,必须分时分段进行。
  • 全双工通信允许数据在通信链路的两个方向上同时进行传输,即A到B的同时可以B到A。

4.传送速度相对较慢

关于电器标准和协议:

串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422与RS-485 标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。

  1. RS-232
    • 定义:RS-232是美国电子工业协会(EIA)制定的一种串行物理接口标准。
    • 接口形式:通常以9个引脚(DB-9)或25个引脚(DB-25)的形式出现。
    • 电气特性
      • 逻辑“1”为-15V~-5V。
      • 逻辑“0”为+5V~+15V。
      • 噪声容限为2V,即接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”。
    • 应用:个人计算机上常见,但由于接口信号电平值较高,易损坏接口电路芯片,且与TTL电平不兼容,需使用电平转换电路与TTL电路连接。

也称标准串口,最常用的一种[串行通讯接口,比如我们的电脑主机的9针串口 ,最高速率为20kb/s RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其传送距离最大为约15米。所以RS-232适 合本地设备之间的通信

  1. RS-422 特点:
    • 全双工通信:RS-422支持全双工通信,即允许同时发送和接收数据。
    • 差分传输:采用差分信号传输方式,通过两个相互互补的信号线(TxD+和TxD-用于发送,RxD+和RxD-用于接收)进行数据传输,有效抑制噪声和干扰。
    • 多点连接:允许多个接收设备连接在同一条总线上,但只允许一个发送设备。
    • 信号电平:逻辑高电平通常为+5V至+15V,逻辑低电平为-5V至-15V。

    • 驱动能力:具有较高的驱动能力,可以驱动较长的传输线路和多个接收器。
    • 传输速率:最大传输速率可达10Mbps,但实际传输速率与传输距离和电缆质量有关。
    • 传输距离:最大传输距离为4000英尺(约1219米),但在实际应用中,由于信号衰减和噪声干扰,可能无法达到这一距离。
    • RS-422通常使用DB-9或DB-25连接器,其中包含发送和接收的差分信号线对(TxD+、TxD-、RxD+、RxD-),以及可能的控制信号线。

由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接 收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Slave),从设备之间不能通 信,所以RS-422支持点对多的双向通信。 RS-422的最大传输距离为1219米,最大传输速率为10Mb/s。平衡双绞线的长度与传输速率成反比

  1. RS-485:无论四线还是二线连接方式总线上可多接到32个设备。
    • 定义:RS-485是RS-232的改进型,用于多点通信。
    • 电气特性
      • 半双工通信。
      • 两线压差为-2~-6V表示0。
      • 两线压差为+2~+6V表示1。
    • 优势:通信距离远、传输速率快、抗干扰性强。

关于串口的电平:

UART(Universal Asynchronous Receiver/Transmitter)本身不是串口电平,而是一种通用的异步串行通信协议。然而,UART通信中确实涉及到了串口电平的概念,因为在实际的数据传输中,UART信号需要遵循一定的电平标准。

以下是关于UART和串口电平的一些关键点:

  1. UART通信协议
    • UART是一种异步串行通信协议,它使用异步串行数据传输方式,通过两条线(TXD和RXD)进行数据传输。
    • UART通信不需要严格的同步时钟,数据传输是异步的。
  2. 串口电平
    • 串口电平是指用于UART通信的信号电平标准。这些电平标准定义了逻辑1和逻辑0的电平范围。
    • 常见的UART电平标准包括TTL电平和RS-232电平。
  3. TTL电平标准
    • TTL电平标准是数字逻辑信号标准,通常用于短距离的通信和低速设备连接。
    • TTL电平标准为:逻辑1通常为3.3V或5V,逻辑0通常为0V至1.8V(或0V)。
    • TTL是Transistor-Transistor Logic,即晶体管-晶体管逻辑的简称,它是计算机处理器控制的设备 内部各部分之间通信的标准技术。TTL电平信号应用广泛,是因为其数据表示采用二进制规定, +5V等价于逻辑”1”,0V等价于逻辑”0”。
    • 数字电路中,由TTL电子元器件组成电路的电平是个电压范围,规定:                 

输出电平

  • 输出高电平(OH):大于或等于2.4V。这意味着当TTL电路输出逻辑“1”时,其电压应至少为2.4V。在某些特定条件下或不同型号的TTL芯片中,输出高电平的典型值可能为3.4V。
  • 输出低电平(OL):小于或等于0.4V。这表示当TTL电路输出逻辑“0”时,其电压应不超过0.4V。在某些情况下,输出低电平的典型值可能更低,如0.2V或0.25V。

输入电平

  • 输入高电平(IH):大于或等于2.0V。这表示当TTL电路接收逻辑“1”的输入时,其输入电压应至少为2.0V。
  • 输入低电平(IL):小于或等于0.8V。这表示当TTL电路接收逻辑“0”的输入时,其输入电压应不超过0.8V。

RS-232电平标准

  • RS-232是一种标准化的串行通信协议,定义了数据传输的电压和电流标准。
  • RS-232电平标准使用负逻辑,即逻辑1表示为-5V至-12V(或-15V至-3V),逻辑0表示为+5V至+12V(或+3V至+15V)。

电平转换器

  • 转换器的作用是实现不同电平标准之间的兼容性,使得不同设备之间能够进行可靠的串行通信。
  • 在UART通信中,电平转换器可用于将TTL电平转换为RS-232电平,或者将RS-232电平转换为TTL电平。

归纳起来,UART是一种通信协议,而串口电平是用于UART通信的信号电平标准。UART通信中常用的电平标准包括TTL电平和RS-232电平,它们分别定义了逻辑1和逻辑0的电平范围。在实际应用中,需要根据具体需求和设备接口选择合适的电平标准,并使用电平转换器(如果需要)来实现不同电平标准之间的兼容性。

关于串口的通信:

串口通信(Serial Communications)是一种按照位(bit)进行发送和接收字节的通信方式。以下是对串口通信的清晰归纳:

一、基本概念:

串口通信是指数据一位一位地顺序传送,其特点是通信线路简单,只需一根传输线即可实现双向通信(可以同时发送和接收数据),从而大大简化了通信线路的结构,特别适用于远距离通信。

二、硬件原理:

  1. 串行接口芯片(UART):UART是串口通信的核心,负责将并行数据转换为串行数据,并通过串行线路进行传输。UART包含一个发送缓冲区和一个接收缓冲区,通过发送和接收缓冲区(SBUF)实现数据的传输。
  2. 串口线路:串口通信通过串行线路实现数据的传输,常见的串口线路有三根信号线:发送线(Tx)、接收线(Rx)和地线(GND)。发送线用于将数据从UART发送到外部设备,接收线则用于将外部设备发送的数据传输到UART。
  3. 器件选择和电平转换:根据具体设备的电平标准选择对应的器件。如果两个设备的电平标准不一致,还需要进行电平转换,以保证数据的正确传输。

三、通信类型:

串口通信按照基本类型可以分为并行通信和串行通信。并行通信的各个数据位同时传送,但占用资源多,成本高;而串行通信的数据位是由低位到高位一位一位发送的。常用的通信从传输方向上可以分为单工通信、半双工通信、全双工通信三类。

串口接线方式:

RXD:数据输入引脚,数据接受;STC89系列对应P3.0口;

TXD:数据发送引脚,数据发送;STC89系列对应P3.1口;

串口编程要素:

在8051系列微控制器(以及类似的单片机)中,串行通信接口(通常称为UART,虽然8051本身可能并不直接称之为UART)确实使用了一个叫做SBUF(Serial Buffer)的寄存器来同时处理接收和发送的数据。然而,尽管它们共享相同的地址(通常是99H0x99),但在硬件层面上它们是两个独立的缓冲器。

在编程时,你不需要(也不能)直接区分这两个缓冲器,因为硬件会自动处理。当你从SBUF读取数据时,你实际上是从接收缓冲器中读取数据;当你向SBUF写入数据时,你实际上是将数据写入发送缓冲器。

输入/输出数据缓冲器都叫做SBUF, 都用99H地址码,但是是两个独立的8位寄存器

代码体现为: 想要接收数据 char data = SBUF 想要发送数据 SBUF = data

UART是异步串行接口,通信双方使用时钟不同,因为双方硬件配置不同,但是需要约定通信 速度,叫做波特率。

单片机的波特率配置需要我们写代码

编程:

串口波特率9600 每隔一秒,单片机向PC发送一个字符串:

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值