串口通信


在这里插入图片描述

0 背景知识回顾

0.1 总线

  • 地址总线
    (1)CPU是通过地址总线来指定存储单元的。
    (2)地址总线决定了cpu所能访问的最大内存空间的大小。
    (3)地址总线是地址线数量之和。

  • 数据总线
    (1) 是CPU与内存或其他器件之间的数据传送的通道。
    (2)数据总线的宽度决定了CPU和外界的数据传送速度。
    (3)数据总线是数据线数量之和。

  • 控制总线
    (1)CPU通过控制总线对外部器件进行控制。
    (2)控制总线的宽度决定了CPU对外部器件的控制能力。
    (3)控制总线是控制线数量之和。

0.2 总线通信分类

按传输方向分类

  • 单工:信息只能单向传送;就像广播电视,FM电台。
  • 半双工:信息能双向传送,但同一时刻,只允许数据在一个方向上传输;想象一下对讲机
  • 全双工:信息能够同时双向传送。因此,全双工通信是两个单工通信方式的结合。想象一下微信视频通话。

按通信方式分类

可以分为 串行通信并行通信。我们主要讲串行通信,因为并行一般只是MCU内部,而串行才是设备与设备,CPU与pc,或者cpu与功能模块间的通信形式。

  • 并行通讯
    通常可以一次传送8bit、16bit、32bit甚至更高的位数,相应地就需要8根、16根、32根信号线,同时需要加入更多的信号地线。传输速度快,距离近;

  • 串行通讯
    数据线比较少,这样一条信息的各位数据被逐位按顺序传送。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢

1 串行通信

在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8次,由低位到高位按顺序一位一位的进行传送。
串行通信的数据是逐位传输的,发送方发送的每一位都具有固定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。不仅如此,接收方还必须能够确定一个信息组的开始和结束。

常用的两种基本串行通信方式包括同步通信和异步通信。

  • 同步通信 : 带有时钟同步信号传输(SPI、IIC)。
  • 异步通信 :不带时钟同步信号 (USART),单总线。

1.1 串行同步通信

同步通信(SYNC:synchronous data communication)是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这样就保证了通信双方在发送和接收数据时具有完全一致的定时关系。

同步通信把许多字符组成一个信息组(信息帧),每帧的开始用同步字符来指示,一次通信只传送一帧信息。在传输数据的同时还需要传输时钟信号,以便接收方可以用时针信号来确定每个信息位。

优点

传送信息的位数几乎不受限制,一次通信传输的数据有几十到几千个字节,通信效率较高。

缺点

要求在通信中始终保持精确的同步时钟,即发送时钟和接收时钟要严格的同步(常用的做法是两个设备使用同一个时钟源)。

1.2 串行异步通信

异步通信(ASYNC:asynchronous data communication),又称为起止式异步通信,用起始位和停止位来标识每个字符的开始和结束,是以字符为单位进行传输的,字符之间没有固定的时间间隔要求,而每个字符中的各位则以固定的时间传送。
通讯双方采用不同的时钟,采用异步通信时,发送端和接收端可以由各自的时钟来控制数据的发送和接收,但是通讯前约定使用相同的传输率。(即波特率)
在异步通信中,收发双方取得同步是通过在字符格式中设置起始位和停止位的方法来实现的。具体来说就是,在一个有效字符正式发送之前,发送器先发送一个起始位,然后发送有效字符位,在字符结束时再发送一个停止位,起始位至停止位构成一帧。停止位至下一个起始位之间是不定长的空闲位,并且规定起始位为低电平(逻辑值为0),停止位和空闲位都是高电平(逻辑值为1),这样就保证了起始位开始处一定会有一个下跳沿,由此就可以标志一个字符传输的起始。而根据起始位和停止位也就很容易的实现了字符的界定和同步。

异步通讯常用格式帧:一个字符帧

异步通讯的双方需要两项约定:
1、字符格式(帧)(规定:数据位、校验位、起始位和停止位)
2、波特率(位/秒)对传送速率的规定(波特率就是每秒钟传输的数据位数。)

1.2.1 异步通信的数据格式

异步通信规定传输的数据格式由起始位(start bit)、数据位(data bit)、奇偶校验位(parity bit)和停止位(stop bit)组成,如图(该图中未画出奇偶校验位,因为奇偶检验位不是必须有的,如果有奇偶检验位,则奇偶检验位应该在数据位之后,停止位之前)。

在这里插入图片描述

(1)起始位:起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。

(2)数据位:数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定,一般可以是5位、7位或8位,传输数据时先传送字符的低位,后传送字符的高位。

(3)奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

(4)停止位:停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

(5)空闲位:空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。

1.2.3 通用异步收发器UART

UART(Universal Asynchronous Receiver and Transmitter)通用异步收发器(异步串行通信口),是一种通用的数据通信协议,它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范,它们的主要区别在于其各自的电平范围不相同。即UART是异步串行通信口的总称。也就是嵌入式中所说的串口。

  • TTL电平 :+5V表示1 ,0V表示0,一般用于芯片与芯片之间的通信
  • RS232电平:逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,介于-3~+3V之间的电压无意义;RS232采用了正负逻辑电平,提高线路的抗干扰性最远可以达到15米左右
  • RS485电平:它使用两线制的差分信号传输,最远可至1200米;一般用于工业领域。
  • MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL;

1.2.4 DB9

RS232在台式机上的物理接口一般是DB9,分为公头和母头,但是笔记本上没有DB9的接口,那个是VGA,不是DB9.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下面对这些信号线做个简单的介绍。

(1)数据装置准备好(DSR),有效状态(ON)表示数据通信设备处于可以使用状态。

(2)数据终端准备好(DTR),有效状态(ON)表示数据终端设备处于可以使用状态。

(3)请求发送(RTS),用来表示数据终端设备(DTE)请求数据通信设备(DCE)发送数据。

(4)允许发送(CTS),用来表示数据通信设备(DCE)已经准备好了数据,可以向数据终端设备(DTE)发送数据,是对请求发送信号RTS的响应。

(5)数据载波检出(DCD),用于表示数据通信设备(DCE)已接通通信链路,告知数据终端设备(DTE)准备接收数据。

(6)振铃指示(RI),当数据通信设备收到交换台送来的振铃呼叫信号时,使该信号有效(ON),通知终端,已被呼叫。

(7)发送数据(TXD),数据终端设备(DTE)通过该信号线将串行数据发送到数据通信设备(DCE)。

(8)接收信号(RXD),数据终端设备(DTE)通过该信号线接收从数据通信设备(DCE)发来的串行数据。

(9)地线(SG、PG),分别表示信号地和保护地信号线。
串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。

一帮情况下,我们只需要三根线就可以使用uart了

在这里插入图片描述
笔记本没有串口,我们可以买usb转rs232的线,max232转换芯片一般就在大头里

在这里插入图片描述

也可以买usb转ttl线。
在这里插入图片描述

SPI和I2C另外博客讲解。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值