第八章可编程接口芯片及其应用.doc5.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,那么时钟频率为多少?解答发送时钟与接收时钟的频率与位传输率的比称为波特率因子,而位传输率称为波特率。
时钟频率为76800HZ5.11 标准波特率系列指什么?解答标准波特率系列为110,300,600,1200,1800,2400,9600,192005.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.15 8251A内部有哪些功能模块?其中读/写控制逻辑电路的主要功能是什么?解答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.18 8251A和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个信号和读/写操作之间的关系如图8251A只有两个连续的端口地址,数据输入端口和数据输出端口合用一个偶地址,而状态端口和控制端口合用一个奇地址。
当C/D为低电平时,正好选中了偶地址端口,再与RD或WR配合,便实现了数据的读/写,当A1为高电平时,正好选中了奇地址端口,再与RD或WR配合,便实现了状态信息的读取和控制信息的写入。
5.19 8086/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.20 8251A和外设之间有哪些连接信号?解答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个信号起联络作用的。