串行通信及串行扩展技术
- 格式:ppt
- 大小:5.80 MB
- 文档页数:27


串行接口
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。
中文名
串行接口
外文名
Serial Interface
简 称
串 口
别 称
通常指COM接口
串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点
串行接口
是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位的传送,按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
2由来
串口的出现是在1980年前后,数据传输率是115kbps~230kbps。串口出现的初期
串行接口连接器(4张)
是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标和外置Modem以及老式摄像头和写字板等设备。串口也可以应用于两台计算机(或设备)之间的互联及数据传输。由于串口(COM)不支持热插拔及传输速率较低,目前部分新主板和大部分便携电脑已开始取消该接口。目前串口多用于工控和测量设备以及部分通信设备中。
3接口划分标准
总述
串口通信的两种最基本的方式:同步串行通信方式和异步串行通信方式。 同步串行是指SPI(Serial Peripheral interface)的缩写,顾名思义就是串行外围设备接口。SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息,TRM450是SPI接口。
异步串行是指UART(Universal Asynchronous
Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片,通常集成在主板上。UART包含TTL电平的串口和RS232电平的串口。 TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平,MDS2710、MDS SD4、EL805等是RS232接口,EL806有TTL接口。
串行通信技术基础
在串行通信中,参与通信的两台或多台设备通常共享一条物理通路。发送者依次逐位发送一串数
据信号,按一定的约定规则为接收者所接收。由于串行端口通常只是定义了物理层的接口规范,所以
为确保每次传送的数据报文能准确到达目的地,使每一个接收者能够接收到所有发向它的数据,必须
在通信连接上采取相应的措施。
由于借助串行通信端口所连接的设备在功能、型号上往往互不相同,其中大多数设备出了等待接
收数据之外还会有其他的任务,例如,一个数据采集单元需要周期性地收集和存储数据;一个控制器
需要负责控制计算机或向其他设备发送报文;一台设备可能会在接收方正在进行其他任务时向它发送
信息。因此,必须有能应对多种不同工作状态的一系列规则来保证通信的有效性。这里所讲的保证串
行通信的有效性的方法包括:使用轮询或者中断来检测、接收信息;设置通信帧的起始、停止位;建
立连接握手;实行对接收数据的确认、数据缓存以及错误检查等。 一、串行通信基本概念
1、连接握手
通信帧的起始位可以引起接收方的注意,但发送方并不知道,也不能确定接收方是否已经做好了
接收数据的准备。利用连接握手可以使收发双方确认已经建立了连接关系,接收方已经做好准备,可
以进入数据收发状态。
连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,
表明要发送数据,接收者则通过握手信号回应发送者,说明它已经做好了接收数据的准备。
连接握手可以通过软件,也可以通过硬件来实现。在软件连接握手中,发送者通过发送一个字节
表明它想要发送数据;接收者看到这个字节的时候,也发送一个编码来声明自己可以接收数据;当发
送者看到这个信息时,便知道它可以发送数据了。接收者还可以通过另一个编码来告诉发送者停止发
送。
在普通的硬件握手中,接收者在准备好了接收数据的时候将相应的握手信号线变为高电平,然后
开始全神贯注地监视它的串行输入端口的允许发送端。这个允许发送端与接收者已准备好接收数据的
串行通信概念
所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图1-1所示。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。
由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。典型的串行接口的结构如1-2所示。
在数据输入过程中,数据1位1位地从外设进入接口的“接收移位寄存器”,当“接收移位寄存器”中已接收完1个字符的各位后,数据就从“接收移位寄存器”进入 “数据输入寄存器”。CPU从“数据输入寄存器”中读取接收到的字符。(并行读取,即D7~D0同时被读至累加器中)。“接收移位寄存器”的移位速度由“ 接收时钟”确定。
在数据输出过程中,CPU把要输出的字符(并行地)送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位,把数据1位1位地送到外设。“发送移位寄存器”的移位速度由“发送时钟”确定。
接口中的“控制寄存器”用来容纳CPU送给此接口的各种控制信息,这些控制信息决定接口的工作方式。
“状态寄存器”的各位称为“状态位”,每一个状态位都可以用来指示数据传输过程中的状态或某种错误。例如,用状态寄存器的D5位为“1”表示“数据输出寄存器”空,用D0位表示“数据输入寄存器满”,用D2位表示“奇偶检验错”等。
能够完成上述“串<- ->并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251,16550.
******
SPI:高速同步串行口。3~4线接口,收发独立、可同步进行
几种流行的串行通信协议
串行通信协议是计算机和其他设备之间进行数据传输的一种方式。它规定了在传输过程中数据的格式、传输速率、控制信号等细节。在计算机网络和嵌入式系统中,有多种流行的串行通信协议被广泛应用。本文将介绍几种常见的串行通信协议。
一、RS-232
RS-232(Recommended Standard 232)是一种常见的串行通信协议,用于连接计算机和外部设备,例如调制解调器、终端和打印机等。RS-232协议定义了数据的位数、校验位、波特率等参数,同时还规定了数据的传输方式和连接线路的信号。RS-232协议使用点对点连接,即一对一的方式进行通信。在RS-232中,数据被编码为电压的变化,负电压表示逻辑1,正电压表示逻辑0。尽管RS-232在现代计算机领域逐渐被USB取代,但在某些设备中仍然广泛应用。
二、UART
UART(Universal Asynchronous Receiver/Transmitter)是一种常见的串行通信接口,常用于将并行数据传输转换为串行数据传输。UART主要用于连接计算机和外部设备,例如单片机和传感器等。UART通过波特率来控制数据传输的速率,通过使用起始位、数据位、校验位和停止位来定义数据的格式。UART通信是全双工的,意味着可以同时进行发送和接收。与RS-232不同,UART没有规定电压的变化表示逻辑高低,而是通过逻辑电平的升降沿来表示数据的传输。 三、SPI
SPI(Serial Peripheral Interface)是一种同步的串行通信协议,常用于连接主控制器和外围设备之间的通信。SPI通信以主从模式进行,主设备通过控制时钟信号来同步外围设备的数据传输。SPI使用四根信号线进行通信,包括时钟信号、主机输出/从机输入、主机输入/从机输出和片选信号。SPI通信具有高速率和灵活性的特点,因此被广泛应用于存储器、传感器、显示器等外围设备的控制。
四、I2C