计算机串行通信接口技术
- 格式:ppt
- 大小:1.63 MB
- 文档页数:108
全功能串口串口是一种用于将计算机与外部设备进行数据传输的通信接口。
它是将计算机内部的串行数据与外部设备的并行数据进行转换的工具。
串口具有传输速度稳定、线路简单、可靠性高等特点,在各个领域都有广泛应用。
首先,串口具有全双工通信功能。
全双工通信是指在传输过程中,数据可以同时双向传输,在同一时间内既可以发送数据,又可以接收数据。
这种功能使得串口能够在计算机与外部设备之间实现双向数据传输,提高了数据传输的效率。
其次,串口还具有多设备接入功能。
串口接口可以通过串口扩展器实现多个外部设备的连接,使得计算机可以同时与多个设备进行数据传输。
这对于需要同时与多个设备进行数据交互的应用场景非常有用,比如工业自动化控制系统中需要同时与多个传感器进行数据采集。
此外,串口还支持多种通信协议。
串口接口可以通过不同的协议实现与外部设备的通信,如RS-232、RS-485等。
不同的通信协议有不同的特点和适用范围,可以根据具体的需求选择合适的协议进行数据传输。
这使得串口具有更广泛的应用范围,可以适用于各种不同类型的外部设备。
另外,串口还具有低功耗的特点。
串口传输是一种使用较低功率的通信方式,相比于其他通信方式,串口传输不需要大量的能量供应。
这使得串口在一些功耗敏感的应用领域具有明显的优势,比如手机、平板电脑等移动设备。
最后,串口还具备较高的稳定性和可靠性。
串口传输相对于其他通信方式来说,传输速度相对较慢,但是传输过程中不容易出现数据丢失或传输错误的情况。
这使得串口可以在一些对数据可靠性要求较高的应用场景中使用,如工业控制系统中的数据采集和监控。
综上所述,串口具有全双工通信、多设备接入、多种通信协议、低功耗、稳定可靠等全功能特点。
这使得串口在各个领域都有广泛应用,如工业自动化、通信设备、电子游戏、移动设备等。
随着技术的发展,串口可能会逐渐被更快速、更强大的通信接口所替代,但是在很长一段时间内,串口仍然是一种非常重要的数据传输工具。
计算机io通信计算机IO通信是指计算机与外部设备之间的信息交流过程。
在计算机系统中,输入/输出(Input/Output,I/O)是指计算机与外部设备之间进行数据交换的过程。
计算机通过I/O接口与外部设备进行通信,实现数据的输入和输出操作。
计算机IO通信的方式多种多样,包括串行通信、并行通信、网络通信等。
其中,串行通信是一种逐位传输数据的方式,它通过一条线路传输数据,速度相对较慢。
并行通信则是通过多条线路同时传输多个数据位,速度较快。
网络通信是指通过计算机网络进行数据传输,可以实现远程访问和数据交换。
在计算机IO通信中,常见的设备有键盘、鼠标、显示器、打印机、扫描仪、摄像头等。
这些设备通过不同的接口与计算机连接,进行数据的输入和输出操作。
例如,键盘通过PS/2接口或USB接口与计算机连接,将按键信息传输给计算机;显示器通过VGA接口或HDMI接口与计算机连接,将图像信号传输给显示器进行显示。
计算机IO通信的过程中,需要进行数据的编码和解码。
编码是将数据转换为计算机可识别的信号的过程,解码则是将计算机接收到的信号转换为数据的过程。
常见的编码方式有ASCII码、Unicode码等,它们将字符映射为二进制数值。
在数据传输过程中,还需要进行数据的校验,以确保数据的完整性和准确性。
计算机IO通信的速度和性能对计算机系统的整体性能有重要影响。
高速的IO通信可以提高计算机的响应速度和数据处理能力。
为了提高IO通信的速度,可以采用缓存技术、DMA技术等。
缓存技术可以减少对主存的访问次数,提高数据的访问速度;DMA技术可以实现数据的直接传输,减少CPU的参与,提高数据传输效率。
除了传统的IO通信方式,现代计算机还引入了更高级的通信方式,如DMA(Direct Memory Access,直接内存访问)和中断(Interrupt)机制。
DMA技术可以使外部设备直接与内存进行数据交换,减少CPU的负担,提高数据传输速度。
通用串行接口(USB),USB的工作原理是什么?由于多媒体技术的发展对外设与主机之间的数据传输率有了更高的需求,因此,USB总线技术应运而生。
USB(Universal Serial Bus),翻译为中文就是通用串行总线,是由Conpaq,DEC,IBM,Inter,Microsoft,NEC和N orthen Telecom等公司为简化PC与外设之间的互连而共同研究开发的一种免费的标准化连接器,它支持各种PC与外设之间的连接,还可实现数字多媒体集成。
USB接口的主要特点是:即插即用,可热插拔。
USB连接器将各种各样的外设I/O端口合而为一,使之可热插拔,具有自动配置能力,用户只要简单地将外设插入到PC以外的总线中,PC就能自动识别和配置USB设备。
而且带宽更大,增加外设时无需在PC内添加接口卡,多个USB集线器可相互传送数据,使P C可以用全新的方式控制外设。
USB可以自动检测和安装外设,实现真正的即插即用。
而USB的另一个显著特点是支持“热”插拔,即不需要关机断电,也可以在正运行的电脑上插入或拔除一个USB设备。
随着时间的推移,USB将成为PC的标准配置。
基于USB的外设将逐渐增多,现在满足USB要求的外设有:调制解调器,键盘,鼠标,光驱,游戏手柄,软驱,扫描仪等,而非独立性I/ O连接的外设将逐渐减少。
即主机控制式外设减少,智能控制控制外设增多。
U SB总线标准由1.1版升级到2.0版后,传输率由12Mbps增加到了240Mbp s,更换介质后连接距离由原来的5米增加到近百米。
基于这点,USB也可以做生产ISDN以及基于视频的产品。
如数据手套的数字化仪提供数据接口。
USB 总线结构简单,信号定义仅由2条电源线,2条信号线组成。
基本特性B的硬件结构USB采用四线电缆,其中两根是用来传送数据的串行通道,另两根为下游(Do wnstream)设备提供电源,对于高速且需要高带宽的外设,USB以全速12Mb ps的传输数据;对于低速外设,USB则以1.5Mbps的传输速率来传输数据。
几种流行的串行通信协议串行通信协议是计算机和其他设备之间进行数据传输的一种方式。
它规定了在传输过程中数据的格式、传输速率、控制信号等细节。
在计算机网络和嵌入式系统中,有多种流行的串行通信协议被广泛应用。
本文将介绍几种常见的串行通信协议。
一、RS-232RS-232(Recommended Standard 232)是一种常见的串行通信协议,用于连接计算机和外部设备,例如调制解调器、终端和打印机等。
RS-232协议定义了数据的位数、校验位、波特率等参数,同时还规定了数据的传输方式和连接线路的信号。
RS-232协议使用点对点连接,即一对一的方式进行通信。
在RS-232中,数据被编码为电压的变化,负电压表示逻辑1,正电压表示逻辑0。
尽管RS-232在现代计算机领域逐渐被USB取代,但在某些设备中仍然广泛应用。
二、UARTUART(Universal Asynchronous Receiver/Transmitter)是一种常见的串行通信接口,常用于将并行数据传输转换为串行数据传输。
UART主要用于连接计算机和外部设备,例如单片机和传感器等。
UART通过波特率来控制数据传输的速率,通过使用起始位、数据位、校验位和停止位来定义数据的格式。
UART通信是全双工的,意味着可以同时进行发送和接收。
与RS-232不同,UART没有规定电压的变化表示逻辑高低,而是通过逻辑电平的升降沿来表示数据的传输。
三、SPISPI(Serial Peripheral Interface)是一种同步的串行通信协议,常用于连接主控制器和外围设备之间的通信。
SPI通信以主从模式进行,主设备通过控制时钟信号来同步外围设备的数据传输。
SPI使用四根信号线进行通信,包括时钟信号、主机输出/从机输入、主机输入/从机输出和片选信号。
SPI通信具有高速率和灵活性的特点,因此被广泛应用于存储器、传感器、显示器等外围设备的控制。
四、I2CI2C(Inter-Integrated Circuit)是一种串行通信协议,常用于连接微控制器和外围设备之间的通信。
lRS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。
采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。
传输距离短的另一原因是RS-2 32属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
RS-232C规定了自己的电气标准,由于它是在TTL电路之前研制的,所以它的电平不是+5 V和地,而是采用负逻辑,即逻辑“0”:+5 V~+15 V;逻辑“1”:-5 V~-15 V。
【TTL电平:逻辑“0:<0.4V;逻辑“1”:+3 V~+5 V 】因此,RS-232C不能和TTL电平直接相连,使用时必须进行电平转换,否则将使TTL电路烧坏,实际应用时必须注意!一种常用的电平转换电路是使用MAX232还可以使用如下电路:RS-232C虽然应用广泛,但因为推出较早,在现代通信系统中存在以下缺点:数据传输速率慢,传输距离短,未规定标准的连接器,接口处各信号间易产生串扰。
鉴于此,EIA制定了新的标准RS-485总线:在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。
RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。
加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。
RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
RS-485用于多点互连时非常方便,可以省掉许多信号线。
应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。
RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
本文详细介绍了串行通信的基本原理,以及在Windows NT、Win98环境下用MFC 实现串口(COM)通信的方法:使用ActiveX控件或Win API.并给出用Visual C++6.0编写的相应MFC32位应用程序。
关键词:串行通信、VC++6.0、ActiveX控件、Win API、MFC32位应用程序、事件驱动、非阻塞通信、多线程.在Windows应用程序的开发中,我们常常需要面临与外围数据源设备通信的问题。
计算机和单片机(如MCS-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。
实际工作中利用串口完成通信任务的时候非常之多。
已有一些文章介绍串口编程的文章在计算机杂志上发表。
但总的感觉说来不太全面,特别是介绍32位下编程的更少,且很不详细。
笔者在实际工作中积累了较多经验,结合硬件、软件,重点提及比较新的技术,及需要注意的要点作一番探讨。
希望对各位需要编写串口通信程序的朋友有一些帮助。
一.串行通信的基本原理串行端口的本质功能是作为CPU和串行设备间的编码转换器。
当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。
在接收数据时,串行的位被转换为字节数据。
在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。
应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
串口通信程序的流程如下图:二.串口信号线的接法一个完整的RS-232C接口有22根线,采用标准的25芯插头座(或者9芯插头座)。
25芯和9芯的主要信号线相同。
以下的介绍是以25芯的RS-232C为例。
①主要信号线定义:2脚:发送数据TXD; 3脚:接收数据RXD; 4脚:请求发送RTS; 5脚:清除发送CTS;6脚:数据设备就绪DSR;20脚:数据终端就绪DTR; 8脚:数据载波检测DCD;1脚:保护地; 7脚:信号地。
串⼝通讯TTL详解分析lRS-232-C是美国电⼦⼯业协会EIA(Electronic Industry Association)制定的⼀种串⾏物理接⼝标准。
采⽤150pF/m的通信电缆时,最⼤通信距离为15m;若每⽶电缆的电容量减⼩,通信距离可以增加。
传输距离短的另⼀原因是RS-2 32属单端信号传送,存在共地噪声和不能抑制共模⼲扰等问题,因此⼀般⽤于20m以内的通信。
RS-232C规定了⾃⼰的电⽓标准,由于它是在TTL电路之前研制的,所以它的电平不是+5 V和地,⽽是采⽤负逻辑,即逻辑“0”:+5 V~+15 V;逻辑“1”:-5 V~-15 V。
【TTL电平:逻辑“0:<0.4V;逻辑“1”:+3 V~+5 V 】因此,RS-232C不能和TTL电平直接相连,使⽤时必须进⾏电平转换,否则将使TTL电路烧坏,实际应⽤时必须注意!⼀种常⽤的电平转换电路是使⽤MAX232还可以使⽤如下电路:RS-232C虽然应⽤⼴泛,但因为推出较早,在现代通信系统中存在以下缺点:数据传输速率慢,传输距离短,未规定标准的连接器,接⼝处各信号间易产⽣串扰。
鉴于此,EIA制定了新的标准RS-485总线:在要求通信距离为⼏⼗⽶到上千⽶时,⼴泛采⽤RS-485 串⾏总线标准。
RS-485采⽤平衡发送和差分接收,因此具有抑制共模⼲扰的能⼒。
加上总线收发器具有⾼灵敏度,能检测低⾄200mV的电压,故传输信号能在千⽶以外得到恢复。
RS-485采⽤半双⼯⼯作⽅式,任何时候只能有⼀点处于发送状态,因此,发送电路须由使能信号加以控制。
RS-485⽤于多点互连时⾮常⽅便,可以省掉许多信号线。
应⽤RS-485 可以联⽹构成分布式系统,其允许最多并联32台驱动器和32台接收器。
RS232接⼝是1970年由美国电⼦⼯业协会(EIA)联合贝尔系统、调制解调器⼚家及计算机终端⽣产⼚家共同制定的⽤于串⾏通讯的标准。
它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串⾏⼆进制数据交换接⼝技术标准”该标准规定采⽤⼀个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
第八章串行通信技术§8。
1串行通信的概述及RS-232C总线教学方法:讲授法教学目的:1、了解单片机串行通信的基本方法。
2、掌握单片机串行通信的相关概念。
3、了解RS-232C总线。
4、了解RS-232C总线电平及计算机信号电平教学重点:串行通信的方式教学难点:波特率的理解和信号电平的理解教学过程:组织教学:授课课时:(2课时)扳书课题:§8。
1串行通信的概述及RS-232C总线引入新课:一、串行通信概述1、什么叫串行通信?并行、串行举生活中的例子(排横队行走,排纵队行走)说明;引出并行通信,串行通信的概念。
P00P01 外设1P02P0389C51RXD外设2TXD串行通信就是使计算机中的数据一位一位地按先后顺序在一根传输线上传送。
通常有两种基本的通信方式:异步通信和同步通信。
2、异步通信和同步通信回顾在数字电路中所学的移位寄存器工作原理。
可提问学生。
异步通信:异步——发送时钟不一定等于接收时钟。
如下图:数据传送是帧的形式传送,每一帧数据包括起始位、数据位、奇偶校验位、停止位四部分。
其中数据位可以是5位、6位、7位、8位。
在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。
用这种格式表示字符,则字符可以一个接一个地传送。
特点:不同速度的外设可相互传送,但传送数据比实际数据位数多(加起始位、停止位等),占用CPU时间,传送速度较慢。
同步通信同步——发送设备时钟等于接收设备时钟。
在同步通信中,每个字符要用起始位和停止位作为字符开始和结束的标志,占用了时间;所以在数据块传递时,为了提高速度,常去掉这些标志,采用同步传送。
由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。
发送方和接收方时钟完全一样,只要双方同时准备好(同步),可直接传送数据,无需附加多余的控制位,传送数据效率高,但设备要求高。
PLC通信主要采用串行异步通信,其常用的串行通信接口标准有RS-232C、RS-422A和RS-485等。
RS-232C
RS-232C是美国电子工业协会EIA于1969年公布的通信协议,它的全称是“数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。
RS-232C接口标准是目前计算机和PLC中最常用的一种串行通信接口。
RS-232C采用负逻辑,用-5~-15V表示逻辑“l”,用+5~+15V表示逻辑“0”。
噪声容限为2V,即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“1”。
RS-232C只能进行一对一的通信,RS-232C可使用9针或25针的D型连接器,表7-1列出了RS-232C接口各引脚信号的定义以及9针与25针引脚的对应关系。
PLC一般使用9针的连接器
表7-1 RS-232C接口引脚信号的定义
如图7-6a所示为两台计算机都使用RS-232C直接进行连接的典型连接;如图7-6b所示为通信距离较近时只需3根连接线。
图7-6 两个RS-232C数据终端设备的连接
如图7-7所示RS-232-C的电气接口采用单端驱动、单端接收的电路,容易受到公共地线上的电位差和外部引入的干扰信号的影响,同时还存在以下不足之处:
图7-7 单端驱动单端接收的电路
1)传输速率较低,最高传输速度速率为20kbps。
2)传输距离短,最大通信距离为15m。
3)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。
电脑串口是如何定义的PC/AT 机上的串口是 9 针公插座(DB9公头),引脚定义为:下图为DB9 母头引脚顺序管脚描述Carrier DetectReceive DataTransmit DataData Terminal ReadySystem GroundData Set ReadyRequest to SendClear to SendRing Indicator串口叫做串行接口,也称串行通信接口,按电气标准及协议来分包括RS-232-C、RS-422、RS485、USB等。
RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。
USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。
RS-232-C:也称标准串口,是目前最常用的一种串行通讯接口。
它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。
传统的RS-232-C接口标准有22根线,采用标准25芯D型插头座。
后来的PC上使用简化了的9芯D型插座。
现在应用中25芯插头座已很少采用。
现在的电脑一般有两个串行口:COM1和COM2,你到计算机后面能看到9针D形接口就是了。
现在有很多手机数据线或者物流接收器都采用COM口与计算机相连。
RS-422:为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。
RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。
RS-485:为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
MCS-51单⽚机的串⾏⼝及串⾏通信技术数据通信的基本概念串⾏通信有单⼯通信、半双⼯通信和全双⼯通信3种⽅式。
单⼯通信:数据只能单⽅向地从⼀端向另⼀端传送。
例如,⽬前的有线电视节⽬,只能单⽅向传送。
半双⼯通信:数据可以双向传送,但任⼀时刻只能向⼀个⽅向传送。
也就是说,半双⼯通信可以分时双向传送数据。
例如,⽬前的某些对讲机,任⼀时刻只能⼀⽅讲,另⼀⽅听。
全双⼯通信:数据可同时向两个⽅向传送。
全双⼯通信效率最⾼,适⽤于计算机之间的通信。
此外,通信双⽅要正确地进⾏数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。
实现数据同步,通常有两种⽅式,⼀种是异步通信,另⼀种是同步通信。
异步通信在异步通信中,数据⼀帧⼀帧地传送。
每⼀帧由⼀个字符代码组成,⼀个字符代码由起始位、数据位、奇偶校验位和停⽌位4部分组成。
每⼀帧的数据格式如图7-1所⽰。
⼀个串⾏帧的开始是⼀个起始位“0”,然后是5〜8位数据(规定低位数据在前,⾼位数据在后),接着是奇偶校验位(此位可省略),最后是停⽌位“1”。
起始位起始位"0”占⽤⼀位,⽤来通知接收设备,开始接收字符。
通信线在不传送字符时,⼀直保持为“1”。
接收端不断检测线路状态,当测到⼀个“0”电平时,就知道发来⼀个新字符,马上进⾏接收。
起始位还被⽤作同步接收端的时钟,以保证以后的接收能正确进⾏。
数据位数据位是要传送的数据,可以是5位、6位或更多。
当数据位是5位时,数据位为D0〜D4;当数据位是6位时,数据位为D0〜D5;当数据位是8位时,数据位为D0〜D7。
奇偶校验位奇偶校验位只占⼀位,其数据位为D8。
当传送数据不进⾏奇偶校验时,可以省略此位。
此位也可⽤于确定该帧字符所代表的信息类型,“1"表明传送的是地址帧,“0”表明传送的是数据帧。
停⽌位停⽌位⽤来表⽰字符的结束,停⽌位可以是1位、1.5位或2位。
停⽌位必须是⾼电平。
接收端接收到停⽌位后,就知道此字符传送完毕。
1.SPI串行外围设备接口(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。
Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。
SPI总线是一种三线同步总线,因其硬件功能很强,所以与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。
2.SCI串行通信接口(serial communication interface)也是由Motorola公司推出的。
司推出的。
它是一种通用异步通信接口UART,与MCS‐51的异步通信功能基,本相同。
说白一点一个是同步串行、一个是同步串行、再白一点——同步的需要多出一条时钟线、异步的只需要接收、发送两条线同步的需要多出一条时钟线SCI模块用于串行通讯,如RS422、RS485、RS232;SPI模块用于扩展外设,如AD、DA、FRAM、DSP等。
SCI模块和SPI模块是两个外设的扩展模块!SCI是异步通信SPI是同步通信SCI是异步串行通信接口,spi是同步,spi分主从机,通信速率上spi高于sci。
SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。
SPI总线可以实现多个SPI设备互相连接。
sci是单片机的串口通信,spi是单片机的I2C通信一个是同步时钟,一个是同步时钟SCI是异步通信串口,只有两根线就可一完成通信。
SPI是同步通信串口,需要的线比SCI多。
SPI和I2C的区别I2C的数据输入输出用的是一根线,SPI则分为dataIN和dataOUT。
由于这个原因,采用I2C时CPU的端口占用少,SPI多一根。
但是由于I2C的数据线是双向的,所以隔离比较复杂,SPI则比较容易。
所以系统内部通信可用I2C,若要与外部通信则最好用SPI带隔离(可以提高抗干扰能力)。
但是I2C和SPI都不适合长距离传输。
长距离时就要用485了。