《典型可编程接口芯片及应用.ppt》由会员分享,可在线阅读,更多相关《典型可编程接口芯片及应用.ppt(59页珍藏版)》请在三一办公上搜索。
1、通信方式,高速、高效 通信距离短,并行通信,串行通信,距离远、简单 速度慢,7.4 可编程串行接口芯片8251,7.4.1 基本概念,一、并行通信和串行通信,将数据的各位同时在多根并行传输线上进行传输,适于短距离、高速通信,将数据的各位按时间顺序依次在一根传输线上传输,适于长距离、中低速通信,0 1 1 0 1 0 1 0,异步通信以一个字符为传输单位,通信中两个字符间的时间间隔是 不固定 的,然而在同一个字符中的两个相邻位代码间的时间间隔是 固定 的,通信协议(通信规程):是通信双方约定的一些规则。,二、异步通信和同步通信,1、异步通信及其协议,异步通信传输的数据格式:1位起始位(0),58
2、位数据位,1位奇偶校验位和1位(1.5位或2位)停止位(1)。,奇偶校验 加上这个校验位后,使所发送的字符中“1”的个数始终为奇数(奇校验),或偶数(偶校验)。接收时,检查所接收的字符连同这个奇偶校验位,其为“1”的个数是否符合规定,若不符合规定就置出错标志。供CPU查询及处理。,波特率(bps或bit/s)波特率是指每秒钟能传送的二进制位数。常用的波特率为110,300,600,1200,2400,4800,9600,19200,例:已知波特率为1200 bps,异步传输:每个字符包括1个起始位,7个数据位,1个校验位,1个停止位。则 每秒钟能传送的最大字符数=1200/10=120个,同步
3、通信以一个帧为传输单位,每个帧中包含有多个字符。在通信过程中,每个字符间的时间间隔是 相等 的,而且每个字符中各相邻位代码间的时间间隔也是 固定 的。,2、同步通信,同步方式要求对传送数据的每一位都必须在收、发两端严格保持同步,即所谓“位同步”。因此,在同步方式中,收、发两端需用同一个时钟源作为时钟信号。,例:已知波特率为1200 bps,异步传输:每个字符包括1个起始位,7个数据位,1个校验位,1个停止位。则 每秒钟能传送的最大字符数=1200/10=120个若为同步传输:用4个同步字符,每个字符7个数据位。则 每秒钟能传送的最大字符数 X=167个(X+4)7=1200),三、数据传送方式
4、,(a)单工方式 只允许数据按照一个固定的方向传送,单工通信类似无线电广播,电台发送信号,收音机接收信号。收音机永远不能发送信号。,(b)半双工工作方式 半双工通信工方式类似对讲机,某时刻A方发送B方接收,另一时刻B方发送A方接收,双方不能同时进行发送和接收。,(c)全双工方式 全双工通信工方式类似电话机,双方可以同时进行发送和接收。,发送器,接收器,发送器/接收器,发送器/接收器,发送器/接收器,发送器/接收器,单工方式:,半双工方式:,全双工方式:,A站,B站,四、信号传输方式,在传输线路上 直接传输不加调制的二进制信号,它要求传送线的频带较宽(电话线只能传送3003000hz的音频信号)
5、,传输的数字信号是 矩形波(该矩形波经过传输后会发生畸变、延迟等从而导致传输错误,频率越高、距离越远则畸变现象越严重)。,基带传输方式仅适宜于近距离和速度较低的通信。,1、基带传输方式,频带传输方式则是指将数字信号调制成模拟信号之后在进行传输的方式。,2、频带传输方式,实现调制和解调任务的装置称为 调制解调器(MODEM)。采用频带传输时,通信双方各接一个调制解调器,将数字信号寄载在模拟信号(载波)上加以传输。因此,这种传输方式也称为载波传输方式。这时的通信线路可以是电话交换网,也可以是专用线。,常用的调制方式有三种:调幅、调频和调相,,五、串行接口标准,串行接口标准指的是计算机或终端(数据终
6、端设备 DTE)的 串行接口电路 与 调制解调器 MODEM 等(数据通信设备 DCE)之间的 连接标准。常见的有:RS-232C,RS-423A等。,RS-232C 标准,RS-232C 是一种标准接口,D 型插座,采用 25 芯引脚或 9 芯引脚的连接器,,RS-232C标准,外形为25针或9针的D型连接器通信速率:波特率Baud(bit/s)100、300、600、1200、2400、4800 9600、19.2K、33.6K、56K 信号电平:逻辑“1”:-3V-15V逻辑“0”:+3V+15VTTL电平与RS-232C电平转换:TTLRS-232C:MC1488RS-232CTTL:
7、MC1489,主要引脚的功能,信号时序(接收),设备握手DTR:PCM(保持,表示PC已可以工作)DSR:PCM(保持,表示M已可以工作)监视载波信号DCD:PCM载波(表示数据链已建立)接收数据RD:PCM数据调制信号结束通信DCD消失、PC撤除DTR、Modem撤除DSR,信号时序(发送),设备握手DTR:PCM(保持)DSR:PCM(保持)请求发送RTS:PCM(保持),M载波,在对方产生DCDCTS:PCM(保持)发送数据TD:PCM数据调制信号结束通信PC撤除RTS/DTRModem撤除CTS/DSR,停止发送载波,RS-232C接口连接方式,例:若RS-232C的TXD端发送的波形
8、如下:,时钟,+12V,-12V,若其中每个字符含7位数据位、1位偶校验位、1位停止位,则该字符的ASCII码为。,(A)4EH(B)46H(C)31H(D)39H,7.4.2 可编程串行接口芯片8251A,(1)可进行同步传送和异步传送(5-8bit/字符)。同步方式下8251A内部能自动检测 同步字符,从而实现同步。异步方式下能自动产生起始位并能根据编程为每个数据增加 1 个、1.5 个或 2 个停止位。可以检查假启动位,自动检测和处理终止字符。(2)全双工的工作方式(3)提供出错检测:具有奇偶、溢出和帧错误等检测电路。(4)全部输入/输出与TTL电平兼容,单一的+5V电源,单相TTL电平
9、时钟,28脚双列直插式封装。,一、8251A的基本性能,二、8251A的内部结构和外部引脚,8251A由7个模块组成:接收缓冲器接收控制电路发送缓冲器发送控制电路数据总线缓冲器读/写控制逻辑电路调制/解调控制电路。,接收缓冲器对外的引脚为RXD,它的功能就是从RXD引脚接收串行数据并按照相应的格式将串行数据转变成并行数据。可见,从功能上看,它对应于编程结构图中的接收移位寄存器。,接收控制电路是配合接收缓冲器工作的,它管理有关接收的所有功能。如消除假启动干扰;对接收到的信息进行奇偶校验,并根据校验的结果建立相应的状态位。,发送缓冲器把来自CPU的并行数据加上相应的控制信息,然后转变成串行数据从T
10、XD引脚发出。,发送控制电路和发送缓冲器配合工作,它控制和管理所有与串行发送有关的功能。即在异步方式下,为数据加上起始位、校验位和停止位;在同步方式下,插入同步字符,在数据中插入校验位。,数据总线缓冲器是 CPU 与 8251A 之间的数据接口。包含 3 个 8 位的缓冲寄存器:两个寄存器分别用来存放 CPU 向 8251A 读取的数据或状态信息。一个寄存器用来存放 CPU 向 8251A 写入的数据或控制。,读/写控制逻辑电路用来配合数据总线缓冲器工作。即:接收写信号,并将来自数据总线的数据和控制字写入8251A;接收读信号,并将数据和状态字从8251A送往数据总线;接收控制/数据信号,将此
11、信号和读/写信号结合起来通知8251A,当前读/写的是数据还是控制字、状态字;接收时钟信号CLK,完成8251A的内部定时;接收复位信号RESET,使8251A处于空闲状态。,调制解调控制电路用来简化8251A和调制解调器的连接。在进行远程通信时,要用调制器将串行接口送出的数字信号变为模拟信号,再发送出去,接收端则要用解调器将摸拟信号变为数字信号,再由串行接口送往计算机主机。在全双工通信情况下,每个收发站都要连接调制解调器。有了调制调制解调器电路,就提供了一组通用的控制信号,使得8251A可以直接和调制解调器连接。,三、8251A的外部引脚,8251A的对外信号分为两组:一组是8251A和CP
12、U之间的信号一组是8251A和外部设备(或调制解调器)之间的信号。,(1)8251A和CPU之间的连接信号 D7D0:双向、三态的数据总线。与系统的数据总线相连,数据线上不只传输一般的数据,也传输CPU对8251A的编程命令和8251A送往CPU的状态信息。,读/写控制信号:片选信号:读信号:写信号 控制/数据信号,用来区分当前读/写的是数据还是控制信息/状态信息。,8251A读写操作表,注意:8251A只有两个连续的端口地址:数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合用同一个奇地址。在8086/8088系统中,利用地址线A1来区分奇地址端口和偶地址端口。于是A1为低电
13、平时正好选中了偶地址端口,再与读写信号配合,便实现数据的读/写;A1为高电平时正好选中了奇地址端口,再与读写信号配合,便实现了状态信息的读取和控制信息的写入。,收发联络信号 TXRDY(Transmitter Ready):发送器准备好信号,高电平有效。TXRDY用来告诉CPU,8251A已经准备好发送一个信号字符。TXRDY可作为中断请求信号或查询信号。当8251A从CPU得到一个字符后,TXRDY便变成低电平。TxE(Transmitter Empty):发送器空信号。高电平有效,用来表示此时8251A发送器中并行到串转换器空,它实际上指示了一个发送动作的完成。当8251A从CPU得到一个
14、字符时TXE便成为低电平。,RXRDY(Receiver Ready):接收器准备好信号,RXRDY用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,正等待CPU取走。因此,在中断方式时,RXRDY可用来作为中断请求信号;在查询方式时,RXRDY可用来作为联络信号。当CPU从8251A读取一个字符后,RXRDY便变为低电平,等到下一次接收到一个新的字符后,又升为高电平,SYNDET(Synchronous Detect):同步检测信号SYNDET只用于同步方式。SYNDET引脚既可以工作在输入状态,也可以工作在输出状态。在内同步情况下,SYNDET作为输出端,会在CPU执行一次读
15、操作后,变为低电平;在外同步情况下,SYNDET作为输入端,它的电平状况决定于外部信号。,收发联络信号(Data Terminal Ready):数据终端准备好信号,是由8251A送往外设的,CPU通过命令可以使其变为低电平即有效电平,从而通知外部设备,CPU当前已经准备就绪。(Data Set Ready):数据设备准备好信号,是外设送往8251A的,低电平时有效,它用来表示当前外设已经准备好。当出现低电平时,会在8251A的状态寄存器第7位上反映出来,所以,CPU通过对状态寄存器的读取操作,便可以实现对信号的检测。,(2)8251A与外部设备之间的连接信号,(Request Set Rea
16、dy):请求发送信号,是8251A送往外设的,低电平时有效,CPU可以通过编程命令使其变为有效电平,以表示CPU已经准备好发送。(Clear To Send):允许发送信号,是对 的响应信号,它是由外设送往8251A的,当为低电平时,8251A才能执行发送操作。使用时,这些信号中只有 必须为低电平,其他3个信号引脚可以悬空起来不用。这就是说,即使CPU和外设之间不需要传递任何信号(比如无条件传递),也将使 端接地使它处于有效电平。,数据信号RXD(Receiving Data):接收器数据信号。RXD用来接收外设送来的串行数据,数据进入8251A后被转变为并行数据。TXD(Transmitti
17、ng Data):发送器数据信号端。TXD用来输出数据。CPU送往8251A的并行数据被转变为串行数据后,通过TXD送往外设。,8251A除了与CPU及外设的连接信号外,还有电源端、地端和3个时钟端。其中,时钟CLK用来产生8251A器件的内部时序,要求CLK的频率在同步方式下大于接收数据或发送数据的波特率的30倍,在异步方式下则要大于数据波特率的4.5倍;发送器时钟TXC控制发送字符的速度,在同步方式下,TXC的频率等于字符传输的波特率,在异步方式下,TXC的频率可以为字符传输波特率的1倍、16倍或者64倍,具体倍数决定于8251A编程时指定的波特率因子;接收时钟TXC控制接收字符的速度,和
18、TXC一样,在同步方式下,RXC的频率等于字符传输的波特率,在异步方式下,则可为波特率的1倍、16倍或者64倍。在实际使用时,RXC和TXC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。,A,A,四、8251A的编程,8251A有两组CPU可访问的内部寄存器:数据寄存器:包括数据输入寄存器和数据输出寄存器。控制及状态寄存器:包括方式选择寄存器、操作命令寄存器和状态寄存器。,1、8251A的控制字和状态字,8251A有两种控制字:方式选择控制字(方式字):写入方式选择寄存器的内容 操作命令控制字(命令字):写入操作命令寄存器的内容,(1)方式选择控制字,例如,要
19、求8251A芯片作为异步通信,波特率为64,字符长度8位,奇校验,2个停止位,则方式选择字应为十六进制的DFH(11011111BDFH)。,SCS,ESD,EP,PEN,L2,L1,0,0,同步方式,L1,方式选择控制字,(2)操作命令控制字,CPU可在8251A工作过程中利用输入指令(IN指令)读取当前8251A的状态字,从而可以检测接口和数据传输的工作状态。,(3)状态字,例:若要采用查询方式从8251A接收器读入数据,设控制口地址和数据口地址分别为FFF2H、FFF0H。,MOV DX,0FFF2HL:IN AL,DXTEST AL,02HJZ LTEST AL,38HJNZ ERRM
20、OV DX,0FFF0HIN AL,DXERR:,读控制口,取出状态字,检查状态字查数据是否准备好,检查状态字查数据是否有错,无错则从数据口读入数据,有错,则转出错程序处理,2、8251A的编程步骤,8251A编程包括两部分:规定工作方式:用来设定8251A的一般工作特性(如异步方式或同步方式、字符格式、传输率等等),它是通过CPU向8251A输出“方式选择控制字”来实现的;发出操作命令。操作命令即是用来指定8251A的具体操作(如发送器允许、接收器允许、请求发送等),它是通过CPU向8251A输出“操作命令字”来实现的。,3、8251A的编程举例,异步方式下的初始化编程举例方式选择控制字的设
21、定例如,设定8251A工作于异步方式,波特率因子为64,每字符7个数据位,偶校验,2位停止位,则方式选择控制字为:11111011B操作命令控制字的设定例如,使8251A的发送器允许,接收器允许,使状态寄存器中的3个错误标志位复位,使数据终端准备好信号输出低电平(有效),则操作命令控制字为:00010111B,“方式选择控制字”和“操作命令控制字”应使用同一个端口地址(即控制口地址)按先后次序写入8251A之中。若将8251A的输入端接地址总线的A0位,则CPU需用奇地址访问控制口(A0=1),用偶地址访向数据口(A0=0)。现假定8251A的控制口地址为51H,数据口地址为50H,则本例的初
22、始化程序如下:MOV AL,0FBHOUT 51H,AL MOV AL,17H OUT 51H,AL,同步方式下的初始编程举例 8251A工作于同步方式下的初始化编程应为:首先输出方式选择字(同步方式),然后紧接着输出一个同步字符(单同步)或两个同步字符(双同步),最后输出操作命令字。,MOV AL,38H OUT 51H,AL MOVAL,16H OUT 51H,AL OUT 51H,ALMOV AL,97H OUT 51H,AL,8251A同步方式下的初始化编程举例,;输出方式选择字,使8251A工作于同步方式,双同步字符,内同步方式,偶校验,每字符7个数据位,;连续输出两个同步字符,同步
23、字符为16H。,;输出操作命令字,使发送器允许,接收器允许,使错误标志位复位,开始搜索同步字符,并输出DTR有效信号。,微机系统中的串行接口及其应用,1、利用8251A实现与终端的串行通信,2、利用8251A实现双机通信 利用8251A实现相距较近(不超过15米)的两台微机相互通信,使硬件连接图如图所示,由于是近距离通信,因此不需要使用Modem,两台微机直接通过RS-232C电缆相连即可,且通信双方均作为DTE(数据终端设备);由于采用EIA RS-232接口标准,所以需要EAI/TTL电平转换电路;另外,通信时均认为对方准备就绪,因此可不使用DTR、DSR、RTS、CTS联络信号,仅使8251A的CTS接地即可。需要注意的是,在远程通信中必须使用调制解调器(Modem)。,习题与思考:1、串行通信和并行通信有什么异同?它们各自的优缺点是什么?画出异步串行通信的字符编码格式。2、调制解调器的功能是什么?如何利用 Modem 的控制信号进行通信的联络控制?3、8251 A内部有哪几个端口?它们的作用分别是什么?4、已知 8251A 发送的数据格式为:数据位 7 位、偶校验、1 个停止位、波特率因子 64。设 8251 A控制寄存器的地址码是 3FBH,发送/接收寄存器的地址码是 3F8H。试编写用查询法收发数据的通信程序。,