串行通讯的基本概念:与外界的信息交换称为通讯。基本的通讯方式有并行通讯和串行通讯两种。
一条信息的各位数据被同时传送的通讯方式称为并行通讯。并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。
一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。
根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。
串行通讯又分为异步通讯和同步通讯两种方式。在单片机中,主要使用异步通讯方式。
MCS_51单片机有一个全双工串行口。全双工的串行通讯只需要一根输出线和一根输入线。
数据的输出又称发送数据(TXD),数据的输入又称接收数据(RXD)。串行通讯中主要有两个技术问题,一个是数据传送、另一个是数据转换。数据传送主要解决传送中的标准、格式及工作方式等问题。数据转换是指数据的串并行转换。具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据。
单工、半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。 如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。 电话线就是二线全双工信道。 由于采用了回波抵消技术,双向的传输信号不致混淆不清。双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。 |
| |||||||||||||||
串口通讯—全双工和半双工方式
在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。但单工目前已很少采用,下面仅介绍前两种方式。
1、全双工方式(full duplex)
当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工制,如图1所示。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号。(可能还需要控制线和状态线,以及地线)。
比如,计算机主机用串行接口连接显示终端,而显示终端带有键盘。这样,一方面键盘上输入的字符送到主机内存;另一方面,主机内存的信息可以送到屏幕显示。通常,往键盘上打
入1个字符以后,先不显示,计算机主机收到字符后,立即回送到终端,然后终端再把这个字符显示出来。这样,前一个字符的回送过程和后一个字符的输入过程是同时进行的,即工作于全双工方式。
2、半双式方式(half duplex)
若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制,如图2所示。采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。收/发开关实际上是由软件控制的电子开关。
当计算机主机用串行接口连接显示终端时,在半双工方式中,输入过程和输出过程使用同一通路。有些计算机和显示终端之间采用半双工方式工作,这时,从键盘打入的字符在发送到主机的同时就被送到终端上显示出来,而不是用回送的办法,所以避免了接收过程和发送过程同时进行的情况。
目前多数终端和串行接口都为半双工方式提供了换向能力,也为全双工方式提供了两条独立
的引脚。在实际使用时,一般并不需要通信双方同时既发送又接收,像打印机这类的单向传送设备,半双工甚至单工就能胜任,也无需倒向。
简单来说,串行通讯就是不管多少个终端设备,这些终端设备的信号接收和发射都只需要一根或者两跟线来完成传输过程。而并行的设备则需要对每一个设备单独设置一条通讯线路。
我们这里以OTIS电梯为例:串行设备中的所有终端(在OTIS电梯中被称为远程站,就是RS4或者RS5这些设备),都接在两根串行通讯线中,这个通讯线又连接到电梯的控制板中。大家可以看到的就是那些蓝白相绞的双绞线,(使用双绞线是为了减少干扰,是串行通讯必须的),(大家还会看到两根线,是这些终端设备的电源线)。由于这些终端设备都是一样的,并且都是连接到这两根串行通讯线的,所以电脑是不能够判断哪个设备是哪个的,这就必须给每个设备编上号码,这就是我们看到的地址码,(在RS5上,有一排开关,可以设定RS5的地址),由于每一个设备都有一个唯一的编码,这样系统就可以区别哪个设备是哪个了。
同步通信和异步通信的区别工作起来的原理可以这样理解:当1楼按钮按下的时候,按钮给1楼的RS5发一个信息,RS5将通过串行通讯线给电脑一个信号,这个信号就是1楼的RS5的地址编码,这样系统就知道
了是1楼的设备有信号要传来,然后系统就接收1楼RS5传来的信号,(这个信号是经过编码的,有一套通讯协议)这样系统就能判断出1楼的按钮被按下,然后系统将发送一楼按钮的灯信息,这个信息将发给所有串行线上的终端设备(RS5)接收,然而由于这个信息也同时载有地址编码,所以只有1楼的设备才对该信息进行解释,这样就完成了串行通讯的信息传送。
当然也可能同时有两个以上的按钮被按下,但由于计算机的运行速度非常的快,串行线上的所有设备检测一圈也用不了一秒的时间,所以对于我们来说,基本是同时完成的,感觉不到时间的差异了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论