可编程接口芯片及其应用.docx

上传人:b****5 文档编号:11572771 上传时间:2023-03-19 格式:DOCX 页数:18 大小:64.78KB
下载 相关 举报
可编程接口芯片及其应用.docx_第1页
第1页 / 共18页
可编程接口芯片及其应用.docx_第2页
第2页 / 共18页
可编程接口芯片及其应用.docx_第3页
第3页 / 共18页
可编程接口芯片及其应用.docx_第4页
第4页 / 共18页
可编程接口芯片及其应用.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

可编程接口芯片及其应用.docx

《可编程接口芯片及其应用.docx》由会员分享,可在线阅读,更多相关《可编程接口芯片及其应用.docx(18页珍藏版)》请在冰豆网上搜索。

可编程接口芯片及其应用.docx

可编程接口芯片及其应用

第八章 可编程接口芯片及其应用.doc

5.1接口部件为什么需要有寻址功能?

设计一个用74LS138构成的译码电路,输入为A3、A4、A5、A8,输出8个信号以对8个接口部件进行选择。

想一想如果要进一步对接口中的寄存器进行寻址,应该怎样实现?

解答首先,接口要对选择存储器和I/O的信号能够做出解释;此外,要对送来的片选信号进行识别,以便判断当前接口是否被访问,如果受到访问,还要决定是接口中哪个寄存器受到访问。

用A3-5译码可以选择访问8个接口部件,用A8和读、写信号配合可进一步寻址接口中的寄存器。

 

5.2接口部件的输入/输出操作具体对应哪些功能,举例说明。

解答输入对应初始化和数据进入接口,输出对应将数据送到总线上。

 

5.3从广义上说接口部件有哪些功能?

解答从广义的角度概括出来的接口的功能如下:

①寻址功能;②输入/输出功能;③数据转换功能;④联络功能;⑤中断管理功能;⑥复位功能;⑦可编程功能;⑧错误检测功能。

 

5.4怎样进行奇/偶校验?

如果用偶校验,现在所传输的数据中1的个数为奇数,那么,校验位应是多少?

解答一般传输信息时,接口采用奇/偶校验位对传输错误进行检测.传输时,如果用奇校验,那么使信息中1的数目(包括校验位)为奇数.也就是说,所传输的数据中如果1的个数为奇数时,则校验位为0,所传输的数据中如果1的个数为偶数,则校验位为1,这样,在传输一个数据时,1的总数目总是为奇数.同样的道理,如果用偶校验,那么,信息中1的数目(包括校验位)为偶数。

 

5.8在数据通信系统中,什么情况下可以采用全双工方式,什么情况下可用半双工方式?

解答如果一个数据通信系统中,对数据的两个传输方向采用不同的路这样的系统就可以工作在全双工方式。

对于只进行单方向数据传输的外部设备时,故用半双工就能满足。

 

5.9什么叫同步通信方式?

什么叫异步通信方式?

它们各有什么优缺点?

解答同步通信,即交许多字符组成一个信息组,字符一个接一个地传输,每组信息的开始要加上同步字符,没有信息传输出时,要填上空字符,同步通信不允许有间隙。

异步通信,两个字符之间的传输间隔是任意的,每个字符的前后都要用一些数位来作为分隔位。

比较起来,在传输率相同时,同步通信方式下的住处有效率要比比方式下的高,因为同步方式下的的非数据信息比例要较小。

但是,在同步方式下,要求进行信息传输双方必须用同一个时间进行协调,在传输数据的同时,还必须传输时钟信号。

而在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样。

 

5.10什么叫波特率因子?

什么叫波特率?

设波特率因子为64,波特率为1200,那么时钟频率为多少?

解答发送时钟与接收时钟的频率与位传输率的比称为波特率因子,而位传输率称为波特率。

时钟频率为76800HZ

 

5.11标准波特率系列指什么?

解答标准波特率系列为110,300,600,1200,1800,2400,9600,19200

 

5.12设异步传输时,每个字符对应1个超始位、7个信息位、1个奇/偶校验位和1个停止位,如果波特率为9600,刚每秒能传输的最大字符数为多少个?

解答即9600/10=960个

 

5.13在RS-232-C标准中,信号电平与TTL电平不兼容,问RS-232-C标准的1和0分别对应什么电平?

RS-232-C的电平和TTL电平之间通常用什么器件进行转换?

解答RS-232-C将-5V—-15V规定为“1”,将+5V—+15V规定为“0”。

将TTL电平转换成RS-232-C电平时,中间要用到MC1488器件,反过来,用MC1489器件,将RS232-C电平转换成TTL电平。

 

5.14从8251A的编程结构中,可以看到8251A有几个寄存器和外部电路有关?

一共要几个端口地址?

为什么

解答总共有9个寄存器与外部电路有关,一共要三个端口地址。

 

5.158251A内部有哪些功能模块?

其中读/写控制逻辑电路的主要功能是什么?

解答8251A有一个数据输入缓冲寄存器和一个数据输出缓冲寄存器,一个发送移位寄存器和一个接受移位寄存器,一个控制寄存器和一个状态寄存器,一个模式寄存器和两个同步字符寄存器等功能模块。

读/写控制逻辑电路用来配合数据总线缓冲器中工作。

其主要功能有:

1)接受写信号WR,并将来自数据总线的数据和控制字写入8251A;2)接受读信号RD,并将数据或状态字从8251A送往数据总线;3)接受控制/数据信号C/D,将此信号和读/写信号合起来通知8251A,当前读/写的是数据还是控制字、状态字;4)接受时钟信号CLK,完成8251A的内部定时;5)接受复位信号RESET,使8251A处于空闲状态。

 

5.16什么叫异步工作方式?

画出异步工作方式时8251A的TxD和RxD线上的数据格式。

解答串行工作方式分为两种类型,一种叫同步方式,另一种叫异步方式。

异步工作方式时,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数位来作为分隔位。

在采用异步工作方式时,非数据信息比例比较大,而且,信息有效率比同步方式低,在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样,而只要比较像近,即不超过一定的允许范围就行了。

异步方式时的数据格式图

 

5.17什么叫同步工作方式?

什么叫双同步字符方式?

外同步和内同步有什么区别?

画出双同步工作时8251A的TxD线和RxD线上的数据格式。

解答串行工作方式分为两种类型,一种叫同步方式,另一种叫异步方式。

同步方式时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。

在同步方式下,非数据信息比例比较小,要求进行信息传输的双方必须用同一个时钟进行协调,正是这个时钟确定了同步串行传输过程中每1位的位置,而且,在传输数据的同时,还必须传输时钟信号。

双同步方式,就是要在测得输入移位寄存器的内容和第一个同步字符寄存器的内容相同后,再继续检测此后的输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同,如果不容同,则重新比较输入移位寄存器和第一个同步字符寄存器的内容,如果相同,则认为同步已经实现。

外同步和内同步的区别:

在外同步情况下,和内同步过程有所不同,因为这时是通过在同步输入端SYNDET加一个高电位爱实现同步的,SYNDET端一出现高电平,8251A就会立刻脱离对同步字符的搜索过程,只要此高电位维持一个接收时钟周期,8251A便认为已经完成同步。

同步方式时的数据格式图

 

5.188251A和CPU之间有哪些连接信号?

其中C/D和RD、WR如何结合起来完成对命令、数据的写入和状态、数据的读出?

解答8251A和CPU之间的连接信号可以分为4类:

     1)片选信号:

CS——片选信号CS是CPU的地址信号通过译码后得到的。

     2)数据信号:

D7-D0——8251A有8根数据线D7-D0,通过它们,8251A与系统的数据总线相连。

     3)读/写控制信号:

RD——读信号RD为低电平时,用来通知8251A,CPU当前正在从8251A读取数据或则状态信息;

                   WR——写信号WR为低电平时,用来通知8251A,CPU当前正在往8251A写入数据或则控制信息;

             C/D——控制/数据信号C/D也是CPU送往8251A的信号,用来区分当前读/写的是数据还是控制信息或状态信息。

     4)收发联络信号:

TxRDY——发送器准备好信号TxRDY用来告诉CPU,8251A已经准备好一个字符。

TxE——发送器空信号TxE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,它实际上指示一个发送动作的完成。

RxRDY——接受器准备好信号RxRDY用来表示当前8251A已经从外部设备或调制解调器接受到一个字符,正等待CPU取走

SYNDET——同步检测信号SYNDET只用于同步方式。

其中C/D和RD、WR结合起来完成对命令、数据的写入和状态、数据的读出:

C/D,WR,RD这3个信号和读/写操作之间的关系如图

C/D,WR,RD的编码和对应的操作

C/D

RD

WR

具体的操作

0

0

1

CPU从8251A输入数据

0

1

0

CPU从8251A输出数据

1

0

1

CPU读取8251A的状态

1

1

0

CPU往8251A写入控制命令

8251A只有两个连续的端口地址,数据输入端口和数据输出端口合用一个偶地址,而状态端口和控制端口合用一个奇地址。

当C/D为低电平时,正好选中了偶地址端口,再与RD或WR配合,便实现了数据的读/写,当A1为高电平时,正好选中了奇地址端口,再与RD或WR配合,便实现了状态信息的读取和控制信息的写入。

 

5.198086/8088系统中,8251A的C/D端应当和哪个信号相连,以便实现状态端口、数据端口、控制端口的读/写?

解答在8086/808系统中,8251A的C/D端应与地址线A1相连接。

在086/808系统中,利用地址线A1来区分奇地址端口和偶地址端口,于是,当A1为低电平时,C/D端也是低电平,正好选中了偶地址端口,再与RD或WR配合,便实现了数据的读/写,当A1为高电平时,C/D端也是高电平,正好选中了奇地址端口,再与RD或WR配合,便实现了状态信息的读取和控制信息的写入,这样,地址线A1的电平变化正好符合了8251A对C/D端的信号要求。

 

5.208251A和外设之间有哪些连接信号?

解答8251A与外部设备之间的连接信号分为两类,具体如下:

    

(1)收发联络信号:

DTR--数据终端准备好信号是由DTR8251A送往外设的,CPU通过命令可以使DTR变为低电平即有效电平,从而通知外部设备,CPU当前已经准备就绪;DSR--数据终端准备好信号DTR是外设送往8251A的,低电平时有效,它用来表示当前外设已经准备好。

当DSR端出现低电平时,会在8251A的状态寄存器第7位上反映出来,所以,CPU通过对状态寄存器的读取操作,便可以实现对DSR线号的检测。

RTS--请求发送信号RTS是8251A送往外设的,低电平有效,CPU可以通过编程命令使RTS变为有效电平,以表示CPU已经准备好发送。

CTS--清除请求发送信号CTS是对RTS的响应信号,它是由外设送往8251A的,当CTS为低电平时,8251A才能执行发送操作。

(2)数据信号:

TxD--发送器数据信号端TxD用来输出数据。

CPU送往8251A的并行数据被转变为串行数据后,通过TxD送往外设。

RxD--接收器数据信号端RxD用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。

 

5.21为什么8251A要提供DTR,DSR,RTS,CTS四个信号作为和外设的联络信号?

平常使用时是否可以只用其中两个或者全部不用?

要特别注意什么?

说明CTS端的连接方法。

解答实际上,这4个信号是提供给cpu外设联络用的。

我们知道,cpu和外设不能直接相连的,cpu对外设的控制信号和外设给cpu的状态信号都不能在cpu和外设间直接传输,只能通过接口传递,8251A正是通过这4个信号起联络作用的。

其中DTR和RTS是CPU通过8251A送给外设的,CPU通过软件对控制寄存器中的DTR和RTS位置1就可以使8251A的DTR引腿和DTS引腿输出有效电平,所以,DTR和DTS是对外设的控制信号,DSR和CTS是外设通过8251A传递给的状态信号,当外设和端相连时,往此引脚上送一个低电平,就会影响状态寄存器的DSR位,而可通过软件对DSR位检测,CTS端的低电平为低还是为高则会影响端的电平,而正是8250A送给CPI的一个状态信号,所以,CTS也起到将外设状态通知的联络作用。

平时使用时,可以只用其中两个或全部都不用。

当外设不要求有联络信号时,只要将CTS接地即可;当外设只要一对联络信号时,可以选其中任一组,既可是DTR和DSR,也可用RTS和CTS,不过仍要满足使CTS在某个时候得到低电平;只有当某个外设要求的联络信号比较多时,才有必要将4个信号都用上。

特别要注意的是CTS必须为低电平,其他三给信号的引腿可以悬空起来不用。

这就是说,即使和外设间不需要任何传递信号,也要将CTS端接地使它处于有效电平。

原因很简单,因为只有CTS当为低电平时,TRDY才能使为高电平,而只有当TRDY为高电平时,才能往8251A发送数据。

 

5.228086系统中采取什么措施来实现8位接口芯片和低8位数据线的连接且满足对奇/偶端口地址的读/写?

这样做的道理是什么?

解答将地址总线的最低位A0不连接到8251A这样的接口芯片上,而是将地址次地位A1做为地址最低位来用就行了。

在这种情况下,如果CPU这边给出连续的两个偶地址,到8251A这边,由于地址次地位作为地址最低位来用,相当与将CPU给出的地址除以2,而两个连续的偶地址中,必定有一个能被4整除,另一个不能被4整除,于是,两个偶地址分别除以2后,就边成了一奇一偶两个地址。

这样一来,从CPU这边来说,端口地址都是偶地址,所以,传递信息时,信息总是出现在低8位数据线上;而从端口这边来说,端口地址中既有奇地址,也有偶地址,而且是连续的,这正好满足许多接口芯片对端口地址的要求。

 

5.23对8251A进行编程时,必须遵守哪些约定?

解答对8251A进行编程时,必须遵守的约定主要有3个:

1.芯片复位以后,第一次使用奇地址端口写入的操作为模式字进入模式寄存器。

2.如果模式字中规定了8251A工作的同步模式,那么,CPU接着往奇地址端口输入一个或两个字节就是同步字符,同步字符被写入同步积存器。

如果有两个同步字符,则会按先后分别写入第一个同步积存器和第二个同步积存器。

3.这之后,只要不是复位命令,不管是同步模式还是异步模式,由CPU用奇地址端口写入的值将作为控制字送控制积存器,而用偶地址端口写入的将作为数据送到数据输出缓冲积存器。

 

5.248251A的模式字格式如何?

参照教材上给定格式编写如下模式字:

异步方式,1个停止位,偶校验,7个数据位,波特率因子为16。

解答对8251A进行初始化时,模式字是按照模式寄存器的格式来设置的,8251A工作在同步模式和异步模式两种情况下。

当模式寄存器的最低两位为0时,8251A便进入同步模式,此时,最高位决定了同步字符的数目;如果模式寄存器的两个最低位不全为0,则8251A就进入异步模式。

模式寄存器的格式如1-a,1-b图所示:

按题意编写的模式字为:

01111010

 

5.258251A控制字的格式如何?

参照教材上列出的格式给出如下控制字:

发送允许,接收允许,DTR端输出低电平,TxD端发送空白字符,RTS端输出低电平,内部不复位,出错标志复位。

解答对8251A进行初始化时,控制字是按照控制寄存器的格式写入的。

控制寄存器的格式如P147图5.13所示。

按题意编写的控制字为:

00111111

 

5.268251A状态字格式如何?

哪几位和引腿信号有关?

状态位TxRDY和引腿信号TxRDY有何区别?

它们在系统设计中有什么用处?

解答状态字是放在状态寄存器中的,状态寄存器的格式如P147图5.14所示:

状态寄存器的1、2、6位分别与8251A引脚RxRDY,TxE,SYNDET上的信号有关。

状态位TxRDY和引脚信号TxRDY上的信号不同,状态位TxRDY不受输出信号CTS和控制位TxEN的影响。

而引脚TxRDY必须在数据缓冲区为空,CTS为低电平且TxEN为高电平时,才为1,即TxRDY为1的条件:

数据缓冲区空*CTS*TxEN=1。

状态位RxRDY为1指出接口中已经接受到一个字符,当前正准备好输入到CPU。

不管是TxRDY还是RxRDY状态位,都可以在程序设计时加以使用,来实现对8251A数据发送过程和接受过程的测试。

当然,也可以对引脚TxRDY和RxRDY上的信号加以利用,实际使用中,这两个信号常常作为外设对CPU的中断请求信号。

当CPU往8251A输出一个字符以后,状态位TxRDY会自动清零,与此类似的,当CPU从8251A输入一个字符时,状态位RxRDY会自动清零。

5.27参考初始化流程,用程序段对8251A进行同步模式设置。

奇地址端口地址为66H,规定用内同步方式,同步字符为2个,用奇校验,7个数据位。

解答INIT:

XORAX,AX

MOVCX,0003

MOVDX,66H

OUT1:

CALLKKK

LOOPOUT1

MOVAL,40H

CALLKKK

MOVAL,18H;命令方式字 00011000B=18H

CALLKKK

MOVAL,27H

CALLKKK 

……

KKK:

OUTDX,AL

PUSHCX

MOVCX,0002

ABC:

LOOPABC

POPCX

RET

 

5.28设计一个采用异步通信方式输出字符的程序段,规定波特率因子为64,7个数据位,1个停止位,用偶校验,端口地址为40H、42H,缓冲区首址为2000H:

3000H。

解答STATE:

MOVAL,7BH;命令方式字01111011B=7BH

OUTDX,AL

MOVCX,2DH

MOVSI,3000H

MOVDX,40H

CHAROUT:

MOVDX,42H

INSL,DX

TESTAL,01

JZCHAROUT

MOVAL,[SI]

OUTDX,AL

INCSI

DECCX

JNZCHAROUT

MOVAX,4COOH

INT21H 

 

5.29并行通信和串行通信各有什么优缺点?

解答并行通信就是把一个字符的各数位用几条线同时进行传输。

优点:

与串行通信相比,在同样的传输率下,并行通信的信息实际传输速度快,信息率高。

缺点:

并行通信的高速度是以通信线路复杂且成本高为代价,当通信距离较远,位数又多时更是如此。

串行通信就是指通信的发送方和接收方之间的数据在单根通信线上逐位顺序传送。

优点:

线路简单(只需一对传输线),特别是可以利用已有的电话网,在任何两点通电话的设备之间配置适当的通信接口便可实现计算机之间的远程通信。

缺点:

传输速度比并行通信慢得多。

 

5.30在输入过程和输出过程中,并行接口分别起什么作用?

解答在输入过程中,外设将数据送给接口,并且使状态线"数据输入准备好"成为高电平。

接口在把数据接收到输入缓冲寄存器中的同时,使"数据输入回答"线变为高电平,作为对外设的响应。

外设接到这个回答信号后,就撤除数据和"数据输入准备好"信号。

数据到达接口中后,接口会在状态寄存器中设置"输入准备好"状态位,以便CPU对其进行查询,接口也可以在此时向CPU发一个中断请求。

所以,CPU既可以用软件查询的方式,也可以用中断方式来设法读取接口中的数据。

CPU从并行接口中读取数据后,接口会自动清除状态寄存器中的"输入准备好"状态位,并且使数据总线高阻状态。

此后,又可以开始下一个输入过程。

  在输出过程中,每当外设从接口取走一个数据之后,接口就会将状态寄存器中的"输出准备好"状态位置"1",以表示CPU当前可以往接口中输出数据,这个状态位可供CPU进行查询。

此时,接口也可以向CPU发送一个中断请求。

所以,CPU即可以用软件查询的方式,也可以用中断方式设法往接口中输出一个数据。

当CPU输出的数据到达接口的输出缓冲寄存器中后,借口会自动清除"输出准备好"状态位,并且将数据送往外设,与此同时,借口望外设发送一个"数据输出回答"信号。

接口收到此信号后,会将寄存器中的"输出准备好"状态位重新置"1",以便CPU输出下一个数据。

 

5.318255A的3个端口在使用时有什么差别?

解答(1)端口A对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓冲器。

所以,用端口A作为输入或输出时,数据均受到锁存。

(2)端口B对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。

(3)端口C对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。

这样,当端口C作为输入端口时,对数据不做锁存,而作为输出端口是,对数据进行锁存。

在使用中,端口A和端口B常常作为独立的输入端口或输出端口,端口C则配合端口A和端口B的工作。

具体的讲,端口C常常通过控制命令被分成2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来位端口A和端口B提供控制信号和状态信号。

 

5.32当数据从8255A的端口C往数据总路线上读出时,8255A的几个控制信号CS、A1、A0、RD、WR分别是什么?

解答CS0、A11、A00、RD1、WR0。

5.338255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来区分的?

解答当8255A接收到写入控制口的控制字时,就会对最高位即标志位进行测试。

如为1,则将此字节作为方式选择控制字写入控制寄存器;如为0,则此字节作为对端口C的置1/置0控制来处理。

 

5.348255A有哪几中工作方式?

对这些工作方式有什么规定?

解答8255A有三种工作方式:

它们分别是:

方式0,方式1,方式2;1、方式0的工作特点为:

(1)任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的联系。

(2)各个端口的输入输出,可以有16种不同的组合,所以可以适用于多种使用场合。

对方式0工作方式的规定如下:

只能在同步传输和查询式传输中使用。

2、方式1的工作特点:

(1)端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或输出口。

(2)如果8225A的端口A和端口B中只有一个端口工作在方式1,那么,端口C中就有3位被规定为配合方式1工作信号,此时,另一个端口可以工作在方式0,端口C中其他数位也可以工作在方式0,即作为输入或输出。

对方式1的规定如下:

在方式1下,规定一个端口作为输入口或者输出口的同时,自动规定了有关的控制信号和状态信号,尤其是规定了相应的中断请求信号。

这样在许多采用中断方式进行输入/输出的场合,如果外部设备能为8255A提供选通信号或者数据接收应答信号,那么,常常使8255A的端口工作于方式1情况。

3、方式2的工作特点:

(1)方式2只适用于端口A。

(2)端口A工作于方式2时,端口C用5个数位自动配合端口A提供控制信号和状态信号。

对方式2的规定如下:

方式2是一种双向工作方式,如果一个并行外部设备即可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使它工作在方式2,就会非常合适。

 

5.35对8255A设置工作方式,8255A的控制口地址为00C6H。

要求端口A工作在方式1,输入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。

解答 

MovAL,B1H

MOVDX,00C6H

OUTDX,AL

 

5.36设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置0/置1方式对PC6置1,对PC4置0。

解答MOVAL,00H  ;对PC6置1的控制字

      MOVDX,00CCH;控制地址DX

      OUTDX,AL   ;对PC6置1操作

      MOVAL,08H  ;对PC4置0的控制字

   

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1