第九章I-O接口
- 格式:doc
- 大小:916.00 KB
- 文档页数:14
I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成.它是CPU和I/O设备之间交换信息的媒介和桥梁.CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。
存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。
编辑本段基本功能· 进行端口地址译码设备选择· 向CPU提供I/O设备的状态信息和进行命令译码· 进行定时和相应时序控制。
· 对传送数据提供缓冲,以消除计算机与外设在“定时”或数据处理速度上的差异。
· 提供计算机与外设间有关信息格式的相容性变换。
提供有关电气的适配· 还可以中断方式实现CPU与外设之间信息的交换编辑本段接口组成包括硬件电路和软件编程两部分硬件电路包括基本逻辑电路,端口译码电路和供选电路等。
软件编程包括初始化程序段,传送方式处理程序段,主控程序段程序终止与退出程序段及辅助程序段等.编辑本段接口分类I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:(1)I/O接口芯片这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。
(2)I/O接口控制卡有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。
按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。
编辑本段接口功能由于计算机的外围设备品种繁多,几乎都采用了机电传动设备,因此,CPU在与I/O设备进行数据交换时存在以下问题:速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。
第九章复习思考题1. 计算机系统中为什么要设置输入输出接口输入/输出接口电路是CPU与外设进行数据传输的桥梁。
外设输入给CPU的数据,首先由外设传递到输入接口电路,再由CPU从接口获取;而CPU输出到外设的数据,先由CPU 输出到接口电路,然后与接口相接的外设获得数据。
CPU与外设之间的信息交换,实际上是与I/O接口电路之间的信息交换。
2. 简述输入输出接口的作用。
I/O接口电路的作用主要体现在以下几个方面:(1)实现单片机与外设之间的速度匹配;(2)实现输出数据锁存;(3)实现输入数据三态缓冲;(4)实现数据格式转换。
3. 在计算机系统中,CPU与输入输出接口之间传输数据的控制方式有哪几种各有什么特点在计算机系统中,CPU与I/O接口之间传输数据有3种控制方式:无条件方式,条件方式,中断方式,直接存储器存取方式。
在无条件方式下,只要CPU执行输入/输出指令,I/O接口就已经为数据交换做好了准备,也就是在输入数据时,外设传输的数据已经传送至输入接口,数据已经在输入接口端准备好;输出数据时,外设已经把上一次输出的数据取走,输出接口已经准备好接收新的数据。
条件控制方式也称为查询方式。
CPU进行数据传输时,先读接口的状态信息,根据状态信息判断接口是否准备好,如果没有准备就绪,CPU将继续查询接口状态,直到其准备好后才进行数据传输。
在中断控制方式下,当接口准备好数据传输时向CPU提出中断请求,如果满足中断响应条件,CPU则响应,这时CPU才暂时停止执行正在执行的程序,转去执行中断处理程序进行数据传输。
传输完数据后,返回原来的程序继续执行。
直接存储器存取方式即DMA方式,它由硬件完成数据交换,不需要CPU的介入,由DMA 控制器控制,使数据在存储器与外设之间直接传送。
4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口,设外设8个按钮开关和8个LED,每个按钮控制1个LED,设计接口电路并编制检测控制程序。
单片机原理与应用设计第一章单片机概述在一块半导体硅片上集成了中央处理单元(CPU)、存储器(RAM/ROM)、和各种I/O接口的集成电路芯片由于其具有一台微型计算机的属性,因而被称为单片微型计算机,简称单片机。
单片机主要应用于测试和控制领域。
单片机的发展历史分为四个阶段。
1974—1976年是单片机初级阶段,1976—1978年是低性能单片机阶段,1978—1983年是高性能单片机阶段,期间各公司的8位单片机迅速发展。
1983至现在是8位单片机巩固发展及16位、32位单片机推出阶段。
单片机的发展趋势将向大容量、高性能、外围电路内装化等方面发展。
单片机的发展非常迅速,其中MCS-51系列单片机应用非常广泛,而在众多的MCS-51单片机及其各种增强型、扩展型的兼容机中,AT89C5x系列,尤其是AT89C51单片机成为8位单片机的主流芯片之一。
第二章89C51单片机的硬件结构89C51单片机的功能部件组成如下:8位微处理器,128B数据存储器片外最多可外扩64KB,4KB程序存储器,中断系统包括5个中断源,片内2个16位定时器计数器且具有4种工作方式。
1个全双工串行口,具有四种工作方式。
4个8位并行I/O口及特殊功能寄存器。
89C51单片机的引脚分为电源及时钟引脚、控制引脚及I/O口。
电源为5V 供电,P0口为8位漏极开路双向I/O口,字节地址80H,位地址80H—87H。
可作为地址/数据复用口,用作与外部存储器的连接,输出低8位地址和输出/输入8位数据,也可作为通用I/O口,需外接上拉电阻。
P1、P2、P3为8位准双向I/O 口,具有内部上拉,字节地址分别为90H,A0H,B0H。
其中P0、P2口可作为系统的地址总线和数据总线口,P2口作为地址输出线使用时可输出外部存储器的的高8位地址,与P0口输出的低8位地址一起构成16位地址线。
P1是供用户使用的普通I/O口,P3口是双向功能端口,第二功能很重要。
第九章复习思考题1. 计算机系统中为什么要设置输入输出接口?输入/输出接口电路是CPU与外设进行数据传输的桥梁。
外设输入给CPU的数据,首先由外设传递到输入接口电路,再由CPU从接口获取;而CPU输出到外设的数据,先由CPU 输出到接口电路,然后与接口相接的外设获得数据。
CPU与外设之间的信息交换,实际上是与I/O接口电路之间的信息交换。
2. 简述输入输出接口的作用。
I/O接口电路的作用主要表达在以下几个方面:〔1〕实现单片机与外设之间的速度匹配;〔2〕实现输出数据锁存;〔3〕实现输入数据三态缓冲;〔4〕实现数据格式转换。
3. 在计算机系统中,CPU与输入输出接口之间传输数据的控制方式有哪几种?各有什么特点?在计算机系统中,CPU与I/O接口之间传输数据有3种控制方式:无条件方式,条件方式,中断方式,直接存储器存取方式。
在无条件方式下,只要CPU执行输入/输出指令,I/O接口就已经为数据交换做好了准备,也就是在输入数据时,外设传输的数据已经传送至输入接口,数据已经在输入接口端准备好;输出数据时,外设已经把上一次输出的数据取走,输出接口已经准备好接收新的数据。
条件控制方式也称为查询方式。
CPU进行数据传输时,先读接口的状态信息,根据状态信息判断接口是否准备好,如果没有准备就绪,CPU将继续查询接口状态,直到其准备好后才进行数据传输。
在中断控制方式下,当接口准备好数据传输时向CPU提出中断请求,如果满足中断响应条件,CPU那么响应,这时CPU才暂时停止执行正在执行的程序,转去执行中断处理程序进行数据传输。
传输完数据后,返回原来的程序继续执行。
直接存储器存取方式即DMA方式,它由硬件完成数据交换,不需要CPU的介入,由DMA 控制器控制,使数据在存储器与外设之间直接传送。
4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口,设外设8个按钮开关和8个LED,每个按钮控制1个LED,设计接口电路并编制检测控制程序。
第九章I/O接口输入输出端口简介串行端口异步的串口是作为计算机到计算机的通信端口来设计的。
异步意味着不存在同步的时钟信号,所以能够以任意时间间隔来发送字符。
串行是指发送一个字节字符的八位二进制位时是按顺序一位一位的发送了,而接收也是一位一位地接收,而不是八位同时传送。
更形象地说,串行是数据通过一条单独的导线传送,并且当发送数据位时,每个数据位都按顺序被串接起来。
串行传输的典型例子是我们日常生活中所用的电话系统,它在每个方向都提供了一条传送数据的导线。
串口的典型位置计算机系统一般都有一个或两个串行端口,通常位于系统的后部。
这些内置的串口可以通过主板上的Super I/O芯片控制,或通过South Bridge芯片控制。
如果系统提供的串口数目不能满足需要,用户可以购买单口或多口串口卡。
串口可以连接多种设备,例如调制解调器、绘图仪、打印机、其他计算机、条形码阅读器、标尺(scale)和设备控制电路。
AT结构的9针串口连接器的规范说明官方规范所建议的最大电缆长度为50英尺。
其限制因素是电缆及接口输入电路的总负荷电容。
最大电容值被指定为2500pF。
有些特殊的低电容电缆实际上可以极大地增加电缆的最大长度,使之达到500英尺或更多。
此外,线路驱动程序(放大器/中继器)还可以将电缆的长度扩展到更长。
表9-1、表9-2和表9-3中给出的是9针(AT结构)、25针、9转25针串行连接器引脚引出线的说明。
表9-1 9针(AT)串口连接器引脚信号说明I/O1 CD 载波检测输入2 RD 接收数据输入3 TD 发送数据输出4 DTR 数据终端就绪输出5 SG 信号地-6 DSR 数据准备好输入7 RTS 发送请求输出8 CTS 消除发送输入9 RI 振铃指示输入表9-2 25针(PC、XT及PS/2)串口连接器引脚信号说明I/O1 - 机架接地-2 TD 发送数据输出3 RD 接收数据输入4 RTS 发送请求输出5 CTS 消除发送输入6 DSR 数据准备好输入7 SG 信号地-8 CD 载波检测输入9 - +发送当前循环返回输出11 - -发送当前循环数据输出18 - +接收当前循环数据输入20 DTR 数据终端就绪输出22 RI 振铃指示输入25 - -接收当前循环返回输入标准25针串口连接器的规范说明表9-3 9转25针串行电缆适配器连接9针25针信号说明1 8 CD 载波检测2 3 RD 接收数据3 2 TD 发送数据4 20 DTR 数据终端就绪5 7 SG 信号地6 6 DSR 数据准备好7 4 RTS 发送请求8 5 CTS 消除发送9 22 RI 振铃指示串口的配置当在系统中安装串口时,必须为这些串口设置其所使用的具体I/O地址(称为端口)和中断(对于中断请求来说被称为中断请求线)。
第九章I/O接口输入输出端口简介串行端口异步的串口是作为计算机到计算机的通信端口来设计的。
异步意味着不存在同步的时钟信号,所以能够以任意时间间隔来发送字符。
串行是指发送一个字节字符的八位二进制位时是按顺序一位一位的发送了,而接收也是一位一位地接收,而不是八位同时传送。
更形象地说,串行是数据通过一条单独的导线传送,并且当发送数据位时,每个数据位都按顺序被串接起来。
串行传输的典型例子是我们日常生活中所用的电话系统,它在每个方向都提供了一条传送数据的导线。
串口的典型位置计算机系统一般都有一个或两个串行端口,通常位于系统的后部。
这些内置的串口可以通过主板上的Super I/O芯片控制,或通过South Bridge芯片控制。
如果系统提供的串口数目不能满足需要,用户可以购买单口或多口串口卡。
串口可以连接多种设备,例如调制解调器、绘图仪、打印机、其他计算机、条形码阅读器、标尺(scale)和设备控制电路。
AT结构的9针串口连接器的规范说明官方规范所建议的最大电缆长度为50英尺。
其限制因素是电缆及接口输入电路的总负荷电容。
最大电容值被指定为2500pF。
有些特殊的低电容电缆实际上可以极大地增加电缆的最大长度,使之达到500英尺或更多。
此外,线路驱动程序(放大器/中继器)还可以将电缆的长度扩展到更长。
表9-1、表9-2和表9-3中给出的是9针(AT结构)、25针、9转25针串行连接器引脚引出线的说明。
表9-1 9针(AT)串口连接器引脚信号说明I/O1 CD 载波检测输入2 RD 接收数据输入3 TD 发送数据输出4 DTR 数据终端就绪输出5 SG 信号地-6 DSR 数据准备好输入7 RTS 发送请求输出8 CTS 消除发送输入9 RI 振铃指示输入表9-2 25针(PC、XT及PS/2)串口连接器引脚信号说明I/O1 - 机架接地-2 TD 发送数据输出3 RD 接收数据输入4 RTS 发送请求输出5 CTS 消除发送输入6 DSR 数据准备好输入7 SG 信号地-8 CD 载波检测输入9 - +发送当前循环返回输出11 - -发送当前循环数据输出18 - +接收当前循环数据输入20 DTR 数据终端就绪输出22 RI 振铃指示输入25 - -接收当前循环返回输入标准25针串口连接器的规范说明表9-3 9转25针串行电缆适配器连接9针25针信号说明1 8 CD 载波检测2 3 RD 接收数据3 2 TD 发送数据4 20 DTR 数据终端就绪5 7 SG 信号地6 6 DSR 数据准备好7 4 RTS 发送请求8 5 CTS 消除发送9 22 RI 振铃指示串口的配置当在系统中安装串口时,必须为这些串口设置其所使用的具体I/O地址(称为端口)和中断(对于中断请求来说被称为中断请求线)。
关于设置这些设备的最好方法是采用现有的标准。
对于设置串口,可以使用表9-4中列出的地址和中断号。
表9-4 标准串行I/O端口的地址和中断COMx I/O端口IRQCOM1 3F8-3FFh IRQ4COM2 2F8-2FFh IRQ3COM3 3E8-3EFh IRQ4①COM4 2E8-2EFh IRQ3①①注意,虽然许多串口可以被设置为与COM1和COM2共享IRQ3和IRQ4,但是并不推荐这种方法。
如果可能的话,最好的方法是将COM3设置为IRQ10,将COM4设置为IRQ11。
如果需要使用COM3以上的串口,那么最好购买一块专用的多串口卡最好是支持IRQ共享而不发生冲突PCI卡。
注意,BIOS生产商从来没有将支持COM3和COM4的信息写入BIOS。
因此,由于DOS是从BIOS中读取I/O信息,所以DOS不能对COM2以上的串口进行操作。
在POST(加电自检)期间,BIOS将找出系统中所安装的元件及其所在位置。
POST将仅仅检验所安装的前两个端口。
因为Windows 9x/Me/2000和Windows XP都内置有对串口的支持,并且最多可以支持128个串口,所以在Windows环境下,并不存在该类问题。
由于Windows中可以支持多达128个串口,所以在Windows系统中可以方便地使用多串口卡。
多串口卡可以使得系统仅仅通过使用一个插槽和一个中断就能够从多个设备采集数据,或者与多个设备共享数据。
在COM端口(或一切设备)之间共用中断有时可以正常工作,但是其他情况则不允许。
因此建议最好不要在串口之间共用中断。
串口的测试可以对串口和并口进行多种方式的测试。
最常见的两种测试类型是:纯软件测试、既涉及硬件加软件的测试。
纯软件测试是通过使用诊断程序进行的,例如Microsoft的MSD或Windows 9x/Me/2000自带的Modem诊断工具。
反之,同时涉及软件和硬件的测试则要通过使用短路环(wrap plug)及测试程序来回送测试。
Microsoft系统诊断程序微软系统诊断程序(MSD)是在MS-DOS 6.X、Windows 3.x和Windows 9x/Me/2000中附带的一个测试程序。
请注意,在Windows 95的软件包中,可以在CD-ROM的\other\msd目录下找到该程序,而在Windows 98/Me/2000的软件包中,则可以在CD-ROM的\tools\oldmsdos目录下找到它。
在安装操作系统时,并不会自动安装MSD。
如果要使用该程序,那么必须直接从CD-ROM运行,或者将该程序从CD-ROM复制到硬盘上。
如果要得到最正确的结果,那么最好在纯DOS环境下运行这些测试程序,例如MSD。
鉴于这个原因,在使用这些程序之前,需要在DOS模式下重新启动机器。
MSD至少可以用于帮助判断串口是否有响应。
如果MSD不能确定端口的存在,那么它给出的报告中不会表示存在有该端口。
Windows中的I/O端口故障诊断Windows中通过设备管理器可以采取下列步骤来判断一个特殊串口的I/O地址和IRQ设置是否正确:1)用右键点击桌面上“我的电脑”图标,选择“属性”或者双击“控制面板”中的“系统”图标并选择“属性”。
点击“设备管理器”标签,接着点击“端口”并选择一个特定端口(例如COM1)。
2)点击“属性”按钮,然后点击“资源”标签则将显示端口的当前资源设置情况。
3)检查“冲突设备列表”以查看端口是否正在使用与其他设备相冲突的资源。
如果端口与其他设备发生冲突,那么可以点击“更改设置”按钮,然后再选择一种不会引起资源冲突的设置。
可能要通过对这些设置进行实验才能找出正确的参数。
4)如果不能更改资源设置,那么这些参数极有可能是要通过BIOS设置进行修改。
这样只有关机并重新起动系统,接着进入BIOS设置,在此修改端口设置。
当串行鼠标或其他设备使用了COM1口时,如果在COM3口使用调制解调器,那么将会有错误发生。
在一般情况下,COM1口和COM3口使用的是相同的IRQ,这就意味着不能同时使用这两个端口。
如果可能的话,可以将COM3口或者COM4口的IRQ设置修改为不与COM1口或COM2口相冲突。
同时还要注意,有些显示适配器自动设置的地址与COM4相冲突。
使用短路环测试的高级诊断将一个专门的短路环接在被测试的端口上进行外部的回送测试是一种实用、有效的测试方法。
当进行测试时,测试程序控制测试端口的发送引角(TD)向短路环发送数据,短路环将数据再送回端口的接收引脚(RD),使得端口同时进行发送和接收。
短路环就是一段被对折了的电缆。
联想标配的工具中带有串口短路环,进行回送测试的软件可以用AMIDAIG。
使用短路环的一个好处是,可以将这些插头插在测试所涉及的电缆的末端。
这样可以保证电缆和接口均工作正常。
并行端口并口之所以被称为并口,是因为它有8条数据线,可以通过这8条数据线同时发送包含了数据的一个字节的所有数据位。
该接口的传输率快,传统上被用于打印机。
然而,因为并口一次可以传送4个数据位,所以在这方面,并口的性能要优于一次只能传送1位的串口,所以在系统间传送数据的程序总是将并口作为传送数据的一种选择。
并口通信所面临的惟一问题是,如果没有放大信号,就不能将并口电缆进行较大的延长,否则所传输的数据将出错。
表9-5说明了标准PC并口的引脚引出线。
IEEE 1284并口标准IEEE 1284标准(被称为“个人计算机双向并行外围接口的标准信号发送方法”)的最终版本于1994年3月被批准。
该标准定义了并口的物理特性,包括数据传送模式和物理及电气规范。
IEEE 1284定义了多模式并口到PC的电气信号状态,该并口可以支持多达4个数据位模式的操作。
1284规范并不要求并口支持所有的这些模式,该标准还为支持一些额外的模式作了准备。
IEEE 1284规范被用于标准化PC和附加设备间的行为,尤其是附加的打印机。
然而,外围设备(可移动介质驱动器、扫描仪等等)的提供商对该规范颇感兴趣。
IEEE 1284只是硬件和控制线路的标准,并没有定义软件与端口进行对话的方式。
由原始1284规范所衍生的一个条约则定义了软件接口。
已经成立的IEEE 1284.3委员会负责研究一种软件标准,与IEEE 1284规范兼容的硬件都将使用该标准。
该标准的研究主要是为了规范并口芯片厂商之间的差异,它包含借助于PC的系统BIOS来支持EPP(Enhanced Parallel Port,增强的并行端口)模式的规范。
IEEE 1284支持在计算机与打印机之间或两台计算机之间以更高的吞吐量进行连接。
其结果是所使用的打印机电缆不再是标准的打印机电缆。
IEEE 1284规范中的打印机电缆使用了双绞线技术,这样使得连接更加可靠而且无差错。
IEEE 1284标准还定义了并口连接器,其中包括两种现有的类型(称为A型和B型)和一种被称为C型的高密度连接器。
A型指的是标准的DB25连接器,它被用于大多数PC系统并口的连接中,而B型指的是大多数打印机中标准36针Centronics模式的连接器。
C型是一种新的高密度36针的连接器,市场上新出现的一些打印机使用的就是该类型的连接器,例如惠普公司的产品。
这三种连接器如下图所示。
IEEE 1284并口标准定义了五种不同的端口操作模式,其中着重强调了具有更高传输率的EPP和ECP模式。
有些模式仅仅用于输入,而其他模式仅仅用于输出。
将这5种模式进行组合,总共可以得到4种不同的端口类型,这些端口类型如表9-6所示。
IEEE 1284定义的并口模式如表9-7所示,表中还列出了近似的传输率。
IEEE 1284规范中三种不同类型的并口连接器表9-6 IEEE-1284端口类型并口类型输入模式输出模式注释SPP(标准并口)半字节兼容4位输入,8位输出双向并口字节兼容8位 I/OEPP(增强型并口)EPP EPP 8位 I/OECP(扩充能力端口)ECP ECP 8位 I/O,使用DMA表9-7 IEEE-1284并口模式并口模式方向传输率半字节(4位)只输入50KB/秒字节(8位)只输入150KB/秒兼容只输出150KB/秒EPP(增强型并口)输入/输出500KB-2MB/秒ECP(扩充能力端口)输入/输出500KB-2MB/秒高速并口(例如,EPP和ECP类型的并口)经常被用来支持诸如ZIP驱动器、CD-ROM驱动器、扫描仪、磁带机,甚至硬盘等外设。