串并行通信和接口技术.ppt_第1页
串并行通信和接口技术.ppt_第2页
串并行通信和接口技术.ppt_第3页
串并行通信和接口技术.ppt_第4页
串并行通信和接口技术.ppt_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

1,第六章串并行通信和接口技术,6.1概述,6.3可编程串行通信接口8251A,6.4并行通信和并行接口,6.5可编程并行通信接口8255A,6.2串行接口和串行通信,2,第六章串并行通信和接口技术,本章重点:1、计算机与外设的通信方式2、8251A的编程结构和功能结构3、8251A的初始化和应用4、8255A的编程结构5、8255A的工作方式6、8255A的初始化和应用,3,计算机与外设的通信方式,1、并行方式,2、串行方式,用的传输线多,用的传输线少,速率高,速率低,适于近距离传输,适于远距离传输,目录,6.1概述,4,6.2串行接口和串行通信,一、串行接口,1、适用场合:外设和计算机按串行方式进行通信。,目录,可编程串行接口的典型结构,保存传输状态,CPU给接口的控制信息,保存CPU送外设的数据,保存外设送CPU的数据,6,二、串行通信数据传送方式,(1)单工方式,只允许数据按一个固定方向传输。,1、按数据传输时发送过程和接收过程的关系划分,7,二、串行通信数据传送方式,(2)半双工方式,输入输出使用同一通路,需分时传输。,8,二、串行通信数据传送方式,(3)全双工方式,接收和发送采用不同的通路,A、B可同时发送和接收,两方资源完全独立。,9,(1)同步通信,1)概念:将要传输的数据组成一信息块(帧),每信息块开头加上同步字符,在约定的波特率下,使数据一个接一个的从发送端到接收端。,2、按时钟对通信过程的定时方式划分,二、串行通信数据传送方式,2)基本特点,(2)数据流中字符与字符间和字符内的各位间都同步;,(3)发送端和接收端须用同一时钟信号同步。,3)优点,4)缺点:硬件电路复杂。,(2)适于传大量的数据,同步要求每个数据内各位都按预定频率传送,数据间不允许有间隙,若有用同步字符填充,收发时钟严格同步。,12,(2)异步通信,1)概念将要传输的数据分成小段,发送端在约定的波特率下发送数据,接收端按约定的波特率接收,不需发同步信号。,2)基本特点,(2)串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议。,(1)字符之间异步,字符内各位基本同步。,二、串行通信数据传送方式,13,标准(起止式)异步通信协议格式,起始位每个字符开始传送的标志,起始位采用逻辑0电平。,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送。,校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位。,停止位表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位。,空闲位传送字符之间的逻辑1电平,表示没有进行传送。,标识态,3)优点,4)缺点,对时钟同步要求不严格。接收到起始位后,只要在一个字符传输时间内收发器保持同步就能正确接收。,传送效率低。控制信息至少占总信息的20。,注:通信时,收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题。,15,三、串行通信的传输率,1、概念,1)传输率:每秒钟传输的二进制数据的位数,又称波特率。,2)发送时钟:异步方式通信时,发送端需用时钟决定每一位对应的时间长度,该时钟称发送时钟。,国际上规定的标准波特率:110、300、600、1200、1800、2400、4800、9600、19200。,4)波特率因子:接收时钟或发送时钟频率与位传输率的比。,注:接收时钟或发送时钟频率可以是位传输率的16、32或64倍。,3)接收时钟:异步方式通信时,接收端需用时钟测定每一位的时间长度,该时钟称接收时钟。,例1、在一串行通信系统中,传送速率为960字符每秒,每个字符是10位,则波特率为多少?,960109600bit/s(bps),2、例,例2、异步传输过程:设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为多少个?,1200/(1711)120个。,例3、同步传输:设每个字符包含7个信息位,波特率为1200bps,用4个同步字符作为信息帧头部,但不用奇偶校验,每个信息帧包含100个字符,每秒钟能传输的字符数最大可达到多少个?,传输100个字符所用的时间:7(100+4)/12000.6067s。则每秒钟能传输的字符数可达到:100/0.6067165个。,结论:在同样的传输率下,同步传输时实际字符传输率要比异步传输时高。,18,四、串行接口标准RS-232C,RS-232C标准(协议)是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000bits范围内的通信。现在的台式PC机一般有两个RS-232串行口COM1和COM2,通常COM1使用的是9针D形连接器,而COM2使用的是25针连接器。,19,1、RS-232C的电气特性,注:负逻辑规定电平,信号电平标准,20,2、RS-232C标准与TTL标准之间的转换,标准TTL电平,目录,21,6.3可编程串行通信接口8251A,一、8251A的基本性能,1、通过编程,可工作于同步方式和异步方式。,同步方式,目录,22,一、8251A的基本性能,异步方式,23,一、8251A的基本性能,2、完全双工工作,具有双缓冲的发送器和接收器。,4、输入输出电路为TTL电平。,3、具有奇偶校验、溢出和帧错误检测等功能电路。,注:8251A接口电平与EIARS-232-C所要求的电平不同,所以互相连接时,必须增加驱动级和接收电路。,24,二、8251A的基本原理,1、8251A编程结构,25,2、8251A的功能结构,双向三态的8位数据缓冲器。与系统数据总线相连。,配合数据总线缓冲器工作,接收来自系统控制总线的信号。,1):片选信号。2):控制/数据信号。3):写控制信号。4):读控制信号。5)CLK:内部定时信号。6)RESET:复位信号。,提供了一组通用控制信号,使8251可直接与调制解调器连接。,接收串行数据,并进行串并转换。,配合接收缓冲器工作,管理有关接收的所有功能。1)异步方式,芯片复位后,先检查输入信号中有效的“1”,检测到后,搜索有效的低电平来确定起始位;2)消除假启动干扰;3)对接收到的信号奇偶校验,根据校验结果设置状态位;4)异步方式下,检测停止位,根据检测结果设置状态位。,把并行数据加上相应的控制信息,转换成串行数据输出。,配合发送缓冲器工作,控制和管理所有和发送有关的功能。(1)异步方式下,为数据加上起始位、校验位和停止位;(2)同步方式下,插入同步字符,在数据中插入校验位。,31,3、8251A的发送和接收,(1)检测起始位,1)异步接收方式,设数据接收时钟频率是数据传输频率的16倍。,起始检测,确定已检测到起始位,采样数据,每隔一字符传输时间,对RxD进行一次采样,数据送移位寄存器移位,并进行奇偶校验和去掉停止位,得到并行数据。,(2)8251A进行常规采样并进行字符装配,(3)通知CPU接收数据并行数据经过内部数据总线送接收数据缓冲器,并置RxRDY有效,通知CPU已收到一个数据,可以取用。,33,8251A异步接收数据传输格式,注:对于少于8位的数据,8251A将高位补0。,34,2)8251A异步发送方式,(2)8251A由TxD线把串行数据送出。8251A从CPU接收到一个数据,移位形成串行数据,再加上起始位、奇偶校验位以及停止位,由TxD把数据送出。,注:数据及起始位、校验位、停止位总是在发送时钟TxC的下降沿从8251A发出,数据传输的波特率为发送时钟频率的1、1/16或者1/64,具体决定于编程时给出的波特率因子。,35,8251A异步发送数据传输格式,注:对于少于8位的数据,8251A将高位补0。,36,3)8251A的同步接收方式,(1)搜索同步字符,双同步字符检测到第一个同步字符后,再继续检测此后输入的移位寄存器的内容是否与第二个同步字符寄存器的内容相同,不同重新比较第一个同步字符;相同,则认为同步已经实现。,(b)外同步,通过在同步输入端SYNDET加一高电位实现同步。当SYNDET端出现一个高电平,并且维持一时钟接收周期,8251A认为已经完成同步。,(2)数据的同步传输,接收器利用时钟信号对RxD采样,把收到的数据送移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器的内容送输入缓冲寄存器,且发出RxRDY信号,表示收到一数据。,38,8251A同步接收数据传输格式,39,4)8251A的同步发送方式,(2)发送同步字符根据编程要求,发送器先发送一个或两个同步字符。,注:如发送数据时,CPU来不及提供新数据,8251A发送器会自动插入同步字符,由TxD送出。,(3)发送数据块发送数据块时,发送器根据要求对数据块中的数据加上奇偶校验位或不加。,40,8251A同步发送数据传输格式,41,三、8251A的对外连接信号,8251A对外连接信号,8251A与CPU之间的信号,8251A与外设之间的信号。,42,1、8251A与CPU之间的信号,1)数据信号D7D0:双向数据线,与系统总线相连,传输数据、编程命令及状态信息。,43,1、8251A与CPU之间的信号,3)读/写控制信号,44,1、8251A与CPU之间的信号,4)收发联络信号,(1)TxRDY:发送器准备好。,45,(2)TxE:发送器空信号。,8251A无字符发送时,TxE为高,实际上指示了一次发送动作的结束。当8251A收到CPU发来的字符时,TxE变为低。注:在同步发送时,如CPU没及时往8251A送字符,TxE会变成高电平,发送器在输出线上插入同步字符,以填补空隙。,1、8251A与CPU之间的信号,46,(3)RxRDY:接收器准备好。,表示8251A已经从外设接收到一个数据,等待CPU来读取。CPU从8251A读取数据后,RxRDY变为低电平。可作为中断请求信号,也可作为查询方式的联络信号。,1、8251A与CPU之间的信号,(4)SYNDET:同步检测信号,仅用于同步方式。,8251A内同步:输出信号。单同步字符:检测到同步字符,变为高电平;双同步字符:检测到第二个同步字符的最后一位后,在该位的中间变为高电平,表示已达到同步。,8251A外同步:输入信号。如果从SYNDET端输入一个正跳变的信号,并且维持一时钟接收周期,8251A认为已经完成同步,8251A在RXC的下一个下降沿开始装配字符。,注:复位:SYNDET变为低电平;内同步:CPU执行一次读操作后,变为低电平;外同步:其电平状况决定于外部信号。,48,2、8251A与外设之间的信号,1)数据信号,(1)TxD:发送器数据信号端。,CPU送往8251A的并行数据被转化为串行数据后,通过TxD端发送给外设。,(2)RxD:接收器数据信号端。,接收外设送来的串行数据,经转换为并行数据后由CPU接收。,49,2)收发联络信号,2、8251A与外设之间的信号,50,2、8251A与外设之间的信号,51,3、其它信号,1)时钟信号,(1)CLK:产生8251A内部定时信号。,(2)TxC:发送时钟。,控制发送字符的速率。同步传送时,TxC频率等于字符传输的波特率;异步传送时,TxC频率是字符波特率的1、16或64倍。,(3)RxC:接收时钟。,控制接收字符的速率。同步传送时,RxC频率等于字符传输的波特率;异步传送时,RxC频率是字符波特率的1、16或64倍。,52,3、其它信号,2)电源信号,(1)Vcc:5V,(2)GND:地线。,53,四、8251A的编程,1、8位接口芯片和16位数据总线的连接问题,解决方法,54,2、8251A的初始化,1)8251A初始化的约定,(1)芯片复位后,第一次用奇地址端口写入的值作为方式字进入方式寄存器;(2)如果方式字中规定8251A工作在同步方式,CPU接着往奇地址输出的1或2个字节就是同步字符,写入同步寄存器。(3)随后,只要不是复位命令,不管同步还是异步,CPU用奇地址端口写入的值作为控制字送控制寄存器,用偶地址端口写入的值作为数据送数据输出缓冲寄存器。,2)8251A,的初始化流程,56,3、8251A模式寄存器格式,1)异步方式下模式寄存器格式,时钟频率波特率波特率因子,例如:方式指令D1D011,接收数据的波特率为1200bps。接收时钟RxC的频率?,RxC的频率12006476.8KHz,2)同步方式下模式寄存器格式,同步方式波特率时钟频率,58,4、控制寄存器格式,注:D71,在内同步方式中,8251A开始搜索同步字符。,发送允许。0:禁止1:允许,接收允许。0:禁止1:允许,复位错误标志。1:使PE、OE、FE复位(清除出错指示位),内部复位。1:使8251A复位,返回方式指令,发送空白字符。1:强迫TxD为0,发送空白字符,请求发送。1:强迫RTS为0,数据终端准备好。1:强迫DTR为0,搜索同步字符。1:启动搜索,TxEN,DTR,RxE,SBPK,ER,RTS,IR,EH,D0,D1,D2,D3,D4,D5,D6,D7,5、状态寄存器格式,2)D11,接口中已收到一个数据,可由CPU来读取。当CPU读走一个字符后,该位自动清0。,3)D21,表示发送器刚发送一个字符,现为空,等待CPU发下一个。,60,五、8251A应用举例,例1、异步方式下初始化编程,编写8251A的初始化程序,使之工作于异步模式,1个偶校验位,2个停止位,数据位7位,波特率因子16;清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。8251A端口地址:50H,52H,10,10,11,11,解:1)确定8251A的模式字异步模式,1个偶校验位,2个停止位,数据位7位,波特率因子16。,2)确定8251A的控制字:清除出错标志,请求信号有效,使发送、接收启动,CPU准备就绪。,发送允许。0:禁止1:允许,接收允许。0:禁止1:允许,复位错误标志。1:使PE、OE、FE复位(清除出错指示位),内部复位。1:使8251复位,返回方式指令,发送空白字符1:强迫TxD为0,发送空白字符,请求发送。1:强迫RTS为0,数据终端准备好。1:强迫DTR为0,搜索同步字符1:启动搜索,TxEN,DTR,RxE,SBPK,ER,RTS,IR,EH,D0,D1,D2,D3,D4,D5,D6,D7,0,0,1,1,0,1,1,1,63,MOVAL,0FAH;11111010BOUT52H,AL;设置模式字MOVAL,37H;00110111BOUT52H,AL;设置控制字,64,例2、同步方式下初始化编程,编写8251A的初始化程序,使之工作于同步方式,同步字符1个,内同步,数据位7位,偶校验。一个同步字符为2AH。搜索同步字符,复位出错标志,启动接收器和发送器,CPU准备好发送,请求信号有效。8251A端口地址:50H,52H。,MOVAL,0B8H;10111000BOUT52H,AL;写方式字MOVAL,2AHOUT52H,AL;写同步字符MOVAL,0B7H;10110111BOUT52H,AL;写控制字,65,例3、通过检测状态字实现数据接收功能,编程实现CPU接收80个字符,字符输入后放在BUFFER所指的内存缓冲区。8251A工作于异步方式,波特率因子为16,7个数据位,偶校验,2个停止位。8251A端口地址:50H,52H。,MOVAL,0FAH;11111010BOUT52H,AL;设置模式字MOVAL,35H;00110101BOUT52H,AL;设置控制字MOVDI,0;变址寄存器初始化MOVCX,80;计数器初始化,BEGIN:INAL,52HTESTAL,02HJZBEGIN;读状态字并测试,RXRDY=0转INAL,50H;读取字符MOVBX,OFFSETBUFFERMOVBX+DI,AL;传输字符INCDI;修改缓冲区指针INAL,52H;读取状态字TESTAL,38H;测试有无错误JNZERRORLOOPBEGIN;如没有错,则接收下1个字符JMPEXIT;如满80个字符,则结束ERROR:CALLERR_OUT;调用出错处理程序EXIT:,67,例4、8251A作为CRT接口的例子,8251A工作于异步模式,波特率因子为16,8位数据,1位停止位,无校验位。8253计数器2输出方波信号作为8251A的接收时钟TxC和发送时钟RxC,编程实现往CRT输出一个字符,要输出的字符事先放在堆栈中。8251A端口地址:00D8H,00DAH。,8251A的初始化程序段:,INIT:MOVAL,00H;AL清零MOVCX,0003OUT1:MOVDX,00DAHOUTDX,ALLOOPOUT1;往控制端口送3个0MOVAL,40HOUTDX,AL;送40H复位MOVAL,4EH;01001110OUTDX,AL;设模式字MOVAL,27H;00100111BOUTDX,AL;设命令字启动.,注:8251A的复位约定:往奇地址端口先送3个00H,再送一个40H。,往CRT输出一个字符的程序段:,CHAROUT:MOVDX,00DAHSTATE:INAL,DX;输入状态字TESTAL,01JZSTATE;不断测试状态位,TXRDY=0转MOVDX,00D8H;数据端口地址送DXPOPAX;AX中为要输出的字符OUTDX,AL;往端口中输出一个字符,8251A的初始化程序段:,INIT:XORAX,AX;AX清零MOVCX,0003MOVDX,00DAHOUT1:CALLKKKLOOPOUT1;往控制端口送3个0MOVAL,40HCALLKKK;送40H复位MOVAL,4EH;01001110CALLKKK;设模式字MOVAL,27H;00100111BCALLKKK;设命令字启动.KKK:OUTDX,AL;数据输出PUSHCXMOVCX,0002ABC:LOOPABC;等待输出动作完成POPCXRET,72,

温馨提示

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

评论

0/150

提交评论