串行接口及可编程接口芯片_第1页
串行接口及可编程接口芯片_第2页
串行接口及可编程接口芯片_第3页
串行接口及可编程接口芯片_第4页
串行接口及可编程接口芯片_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(优选)串行接口及可编程接口芯片目前一页\总数四十二页\编于十八点

10.1串行传输的基本概念10.1.1串行通信的基本概念

在计算机数据通信中,有两种基本的数据传送方式:串行通信与并行通信。

串行通信:计算机之间以及计算机与一些常用的外部设备之间的数据交换,往往需要采用串行通信的方式。在计算机远程通信中,串行通信更是一种不可缺少的通信方式。串行通信中只需要一条数据传输线,所以串行通信可以节省传送线。在位数较多、传输距离较长的情况下,这个优点更为突出,但串行通信的速度比并行通信的的速度要低的多。目前二页\总数四十二页\编于十八点串行通信的特点:

数据一位一位地顺序传送,只占用一条传输线,它可由两种方式来实现:一种是依靠软件来实现串行数据传送(如图10-1所示中的D0-D7中的某一位,按一定的时间间隔来把数据转变成序列脉冲的形式);另一种是通过专用的通信接口,将并行数据转换为串行数据。并行通信的特点:

数据有多少位就要有多少传输线,所以数据线较多。目前三页\总数四十二页\编于十八点D0D0D1D1D6D6D7D7RDYSTB8位数据线发送方接收方并行传送方式1100101001010110发送方接收方图10-1串行传送方式在并行通信与串行通信之间的对比关系目前四页\总数四十二页\编于十八点2.串行数据传送方式

图10-2串行通信中数据的传送模式(a)单工通信模式(b)半双工通信模式(c)全双工通信模式目前五页\总数四十二页\编于十八点

(1)单工(Simplex)通信模式:该模式仅能进行一个方向的数据传送,数据只能从发送器A发送到接收器B。

(2)半双工(HalfDuplex)通信模式:该模式能够在设备A和设备B之间交替地进行双向数据传送。即数据可以在一个时刻从设备A传送到设备B,而另一时刻可以从设备B传送到设备A,但不能同时进行。

(3)全双工(FullDuplex)通信模式:该模式下设备A或B均能在发送的同时接收数据。

目前六页\总数四十二页\编于十八点3.数据传输率数据传输率是指每秒钟传送的二进制位数。设计算机数据传送的速率是120字符/s,而每个字符假设有10个比特(bit)位(包括1个起始位、7个数据位、1个奇偶校验位和1个停止位),则其波特率为:120字符/s10bit/字符=1200bit/s=1200波特每个数据位的传送时间Td为波特率的倒数:

Td=1/1200=0.000833s=0.833ms

最常用的波特率有110、300、600、1200、1800、2400、4800、9600和19200。通常用选定的波特率除以10来估计每秒钟可以传送的字符数。4.发送/接收时钟用时钟来检测每一位数据的位宽度。5.波特率因子K:每BIT占用的时钟周期数。

K=接接收或发送时钟频率/比特率, 可取1,16,32,64目前七页\总数四十二页\编于十八点例1:一个异步串行发送器,发送具有8位数据位的字符,在系统中使用一个奇偶校验位和两个停止位。若每秒发送100个字符,则其波特率为多少?100*(1+8+1+2)=1200bps例2:一个异步串行发送器,发送具有7位数据位的字符,传送波特率为1800,字符格式为:1个奇偶校验位,1个停止位,问,十秒钟内传送了多少个字符?

10*1800/(1+7+1+1)=180000/10/10/111起始位数据位校验位停止位一个字符格式目前八页\总数四十二页\编于十八点数据通信传输的是数字信号,要求传送线的频带很宽,若传输带宽很窄,直接传输数字信号,信号就要发生畸变。

因此,需用调制器将数字信号转换成模拟信号,经传输后再用解调器将其转换成数字信号。信号的调制与解调根据载波Asin(t+)的三个参数:幅度、频率、相位,常用的调制技术:幅度调制Amplitude-Modulating(AM)频移键控法Frequency-ShiftKeying(FSK)目前九页\总数四十二页\编于十八点用调幅正弦波表示数字1和0用两种不同频率正弦波表示数字1和0目前十页\总数四十二页\编于十八点5.串行通信的格式在数据通信中为使收、发信息准确,收发两端的动作必须相互协调配合。这种协调收发之间动作的措施称为“同步”。在串行通信中数据传送的“同步”方式有异步传送和同步传送两种。(1)异步通信异步传送,是指发送设备和接收设备在约定的波特率(每秒钟传送的位数)下,不需要严格的同步,允许有相对的延迟。即两端的频率差别在1/10以内,就能正确地实现通信。在进行异步传送时必须确定字符格式及波特率。目前十一页\总数四十二页\编于十八点1)字符格式:在异步通信中,两个计算机之间如正确的实现数据的传输必须满足下面的两个规定:

(1)字符格式:字符格式即字符的编码形式及规定。如规定每个传送的数据字符由四个部分组成:1个起始位、5~8个数据位、1个奇偶校验位以及1~2个停止位。图10-3示出了这种串行字符编码格式。起始位后面,紧跟着要传送字符的最低位,每个字符的结束,是一个高电平的停止位。起始位至停止位构成一帧。目前十二页\总数四十二页\编于十八点

异步通信的字符格式:字符格式即字符的编码形式及规定图10-3A异步传送数据格式(a)有空闲位;(b)无空闲位目前十三页\总数四十二页\编于十八点图10-3C起始位至两个停止位构成一帧的异步传送格式目前十四页\总数四十二页\编于十八点字符格式中个位的意义:起始位:每个字符的开始必须是持续一个比特(一位)时间的逻辑“0”电平,标志着一个字符的开始。数据位:有58位,紧跟起始位之后,是字符中的有效数据位。传送字符时,先送低位,后送高位。奇偶校验位:仅占一位。可根据需要设置为奇校验或偶校验,也可以不设校验位。停止位:可设置为1位、1.5位或2位,并规定为逻辑“1”状态。

目前十五页\总数四十二页\编于十八点异步传送数据格式下传送的过程:

每个字符传送前,其传输线上必须处于高电平“1”状态,这样,当传输线由“1”变为“0”状态,并持续1比特时间时,就表明是字符的起始位,下面传送的位信息必然是有效数据位信息。当一个字符传送完后,立即传送下一个字符,下一个字符的起始位紧挨前一个字符的停止位(即无空闲位),如图10-3(b)所示。如后续数据跟不上,则在停止位后加高电平的空闲位等待下一个字符的到来,如图10-2(A)(B)所示。目前十六页\总数四十二页\编于十八点(2)同步通信同步传送是指去掉异步传送时每个字符的起始位和停止位,仅在数据块开始处用12个同步字符来表示数据块传送的开始,然后串行的数据块信息以连续的形式发送,每个发送时钟周期发送一位信息,故同步传送中要求对传送信息的每一位都必须在收、发两端严格保持同步,实现“位同步”。同步传送时一次通信传送信息的位数几乎不受限制,通常一次通信传送的数据可达几十到几百个字节。这种通信的发送器和接收器比较复杂,成本较高。用于同步通信的数据格式有很多种,图11-4给出了常见的几种。图中,除数据场的字节数不受限制外,其他均为8位。

目前十七页\总数四十二页\编于十八点图10-4同步传送数据格式(a)单同步数据格式;(b)双同步数据格式图(a)为单同步数据格式,传送一帧数据仅使用一个同步字。当接收端检测到一个完整的同步字后,就连续接收数据。一帧数据结束,便进行16位的循环冗余校验(CyclicRedundancyCheck)——CRC校验,以校验所传送的数据中是否出现错误。图(b)为双同步数据格式,这时利用两个同步字进行同步。目前十八页\总数四十二页\编于十八点10.2可编程串行接口芯片8251A一、8251A的基本性能8251A是可编程的串行通信接口芯片,基本性能:1.两种工作方式:同步方式,异步方式。同步方式下,波特率为0~64K,异步方式下,波特率为0~19.2K。2.同步方式下的格式每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。3.异步方式下的格式每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加1个、1.5个或2个停止位。可以检查假启动位,自动检测和处理终止字符。4.全双工的工作方式其内部提供具有双缓冲器的发送器和接收器。5.提供出错检测具有奇偶、溢出和帧错误三种校验电路。目前十九页\总数四十二页\编于十八点二、内部结构发送缓冲器数据总线缓冲器调制解调控制电路DB读/写逻辑RESETCLKRDWRC/DCSDSRDTRCTSRTS发送控制电路接收缓冲器接收控制电路RxDTxDTxRDYTxETxCRxRDYRxCSYNDET状态缓冲器、接收数据缓冲器、发送数据/命令缓冲器目前二十页\总数四十二页\编于十八点1、发送器发送器由发送缓冲器和发送控制电路两部分组成。

采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线TXD逐位串行输出。采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位串行输出数据。如果CPU与8251A之间采用中断方式交换信息,那么TxRDY可作为向CPU发出的中断请求信号。当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TxE有效信号,表示发送器中移位寄存器已空。目前二十一页\总数四十二页\编于十八点2.接收器接收器由接收缓冲器和接收控制电路两部分组成。接收移位寄存器从RxD引腿上接收串行数据转换成并行数据后存入接收缓冲器。异步方式:在RxD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RxRDY信号送CPU,表示已经收到一个可用的数据。同步方式:首先搜索同步字符。8251A监测RxD线,每当RxD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。目前二十二页\总数四十二页\编于十八点采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。如果相同,则认为同步已经实现。实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用时钟信号对RxD线进行采样,并把收到的数据位送到移位寄存器中。在RxRDY引脚上发出一个信号,表示收到了一个字符。3.数据总线缓冲器数据总线缓冲器是CPU与8251A之间的数据接口。包含3个8位的缓冲寄存器:两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。一个寄存器用来存放CPU向8251A写入的数据或控制。目前二十三页\总数四十二页\编于十八点4.读/写控制电路读/写控制电路用来配合数据总线缓冲器的工作。功能如下:(1)接收写信号,并将来自数据总线的数据和控制字写入8251A;(2)接收读信号,并将数据或状态字从8251A送往数据总线;(3)接收控制/数据信号C/D*,高电平时为控制字或状态字;低电平时为数据。(4)接收时钟信号CLK完成8251A的内部定时;(5)接收复位信号RESET,使8251A处于空闲状态。5.调制解调控制电路调制解调控制电路用来简化8251A和调制解调器的连接。目前二十四页\总数四十二页\编于十八点三.8251A的引脚功能1、8251A和CPU之间的连接信号目前二十五页\总数四十二页\编于十八点8251A和CPU之间的连接信号可以分为四类:

片选信号

•CS*:片选信号,它由CPU的地址信号通过译码后得到。数据信号D0-D7:8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。读/写控制信号•RD*:读信号,低电平时,CPU当前正在从8251A读取数据或者状态信息。•WR*:写信号,低电乎时,CPU当前正在往8251A写入数据或者控制信息。•C/D*:控制/数据信号,用来区分当前读/写的是数据还是控制信息或状态信息。该信号也可看作是8251A数据口/控制口的选择信号。P332表10.18251A的操作信号目前二十六页\总数四十二页\编于十八点收发联络信号TxRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。TxEMPTY:发送器空信号,TxEMPTY为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。RxRDY:接收器准备好信号,用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。因此,在中断方式时,RxRDY可用来作为中断请求信号;在查询方式时,RxRDY可用来作为查询信号。SYNDET:同步检测信号,只用于同步方式。

目前二十七页\总数四十二页\编于十八点8251A与外部设备之间的连接信号分为两类:(1)收发联络信号

•DTR*:数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。•DSR*:数据设备准备好信号,表示当前外设已经准备好。•RTS*:请求发送信号,表示CPU已经准备好发送。•CTS*:允许发送信号,是对的响应,由外设送往8251A。实际使用时,这4个信号中通常只有必须为低电平,其它3个信号可以悬空。(2)数据信号•TxD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,通过TxD送往外设。•RxD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。目前二十八页\总数四十二页\编于十八点四.8251A的编程编程的内容包括两大方面:⑴是由CPU发出的控制字,即方式选择控制字和操作命令控制字;⑵是由8251A向CPU送出的状态字。1.方式选择控制字(模式字)方式选择控制字的格式如图所示。目前二十九页\总数四十二页\编于十八点1.方式选择控制字(设定8251的工作方式)目前三十页\总数四十二页\编于十八点2.操作命令控制字(控制字)操作命令控制字的格式如下:自动搜索同步字符使得端口TxD=08251的方式字和命令控制字写入同一个端口,为了区别它们,在复位后写入的是方式控制字,此后写入的是命令控制字,且在对芯片复位以前,写入的都是命令控制字。目前三十一页\总数四十二页\编于十八点3、状态字(CPU读取8251的工作情况)目前三十二页\总数四十二页\编于十八点【例1】若要查询8251A接收器是否准备好,则可用下列程序段完成:MOVDX,0FFF2H;状态口L:INAL,DX;读状态口ANDAL,02H;查D1=1?即接收器准备好了吗?JZL;未准备好,则等待MOVDX,OFFF0H;数据口INAL,DX;已准备好则输入数据目前三十三页\总数四十二页\编于十八点4.8251A的初始化芯片复位以后,第一次用奇地址端口写入的值作为方式字进入方式寄存器。如果方式字中规定了8251A工作在同步模式,由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。流程图如下:目前三十四页\总数四十二页\编于十八点1.异步模式下的初始化程序举例设8251A工作在异步模式,波特率系数(因子)为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,设端口地址为00E2H和00E4H。完成初始化程序。【分析】根据题目要求,可以确定模式字为:11111010B即FAH而控制字为:00110111B即37H则初始化程序如下:目前三十五页\总数四十二页\编于十八点MOVAL,0FAH;送模式字MOVDX,00E2HOUTDX,AL;异步方式,7位/字符,;偶校验,2个停止位MOVAL,37H;设置控制字,使发送、接收允许,;清出错标志,使RTS*、DTR*有效;OUTDX,AL

目前三十六页\总数四十二页\编于十八点2.同步模式下初始化程序举例设端口地址为52H,采用内同步方式,2个同步字符(设同步字符为16H),偶校验,7位数据位/字符。【分析】根据题目要求,可以确定模式字为:00111000B即38H而控制字为:10010111B即97H。它使8251A对同步字符进行检索;同时使状态寄存器中的3个出错标志复位;此外,使8251A的发送器启动,接收器也启动;控制字还通知8251A,CPU当前已经准备好进行数据传输。目前三十七页\总数四十二页\编于十八点具体程序段如下:

MOVAL,38H;设置模式字,同步模式,用2个同步字符,OUT52H,AL;7个数据位,偶校验MOVAL,16HOUT52H,AL;送同步字符16HOUT52H,ALMOVAL,97H;设置控制字,使发送器和接收器启动OUT52H,AL目前三十八页\总数四十二页\编于十八点3、两台微型计算机通过8251A相互通信的举例

通过8251A实现相距较远的两台微型计算机相互通信的系统连接简化框图如下。这时,利用两片8251A通过标准串行接口RS-232C实现两台8086微机之问的串行通信,可采用异步或同步工作方式。目前三十九页\总数四十二页\编于十八点【分析】

设系统采用查询方式控制传输过程,异步传送。初始化程序由两部分组成:⑴是将一方定义为发送器。发送端CPU每查询到TXRDY有效,则向8251A并行输出一个字节数据;⑵是将对方定义为接收器。接收端CPU每查询到RXRDY有效,则从8251A输入一个字节数据,一直进行到全部数据传送完毕为止。发送端初始化程序与发送控制程序如下所示:STT:MOVDX,8251A控制端口MOVAL,7FH

OUTDX,AL;将825lA定义为异步方式,8位数据,1位停止位MOVAL,11H;偶校验,取波特率系数为64,允许发送。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论