第七章接口与通信设备计算机硬件技术基础7.1计算机接口原理7.2串行接口7.3并行接口7.4USB接口7.5IEEE1394接口7.6红外线接口7.7蓝牙接口7.8远程通信设备7.9网络通信设备第7章接口与通信设备计算机硬件技术基础7.1计算机接口原理接口——用于完成计算机主机系统与外部设备之间的信息交换。接口由接口硬件(接口电路、连接器、连接电缆等)和接口软件(程序)组成。主机系统(CPU系统)总线接口电路连接电缆外部设备接口的指标•传输速度、传输距离、传输媒介类型;•可靠性(差错控制)、安全性(保密);•资源占用(包括CPU时间、中断、DMA等);•使用方便性和高层协议功能。接口软件:运行在主机系统计算机硬件技术基础7.1计算机接口原理——接口的功能接口的基本功能数据传送:CPU执行输入/输出指令与外部设备交换数据。数据缓冲:用于实现输入输出过程中的暂存。接口电路中存储机制可以是寄存器(1~2个字节)、FIFO存储器(数十到数百字节)、或是普通数据存储器。信号变换:完成计算机数字信号与I/O设备信号(如模拟信号、开关信号、计数脉冲等)的相互转换。中断:接口电路一般有中断功能,以提高接口程序的效率。接口的高级功能差错控制:实现检错或纠错。高层通信协议:实现呼叫、数据加密、流量控制等。即插即用、电源管理、动态配置等。计算机硬件技术基础接口软件与硬件接口软件、I/O总线、接口电路和连接的外部设备的关系ICH外部设备1接口电路1I/O总线接口电路2外部设备2I/O接口连接器产生特定地址的I/O总线信号特定的总线地址信号对特定的接口电路有效计算机主机系统接口软件INAL,07OUT08,AL…计算机硬件技术基础接口的基本构成接口电路的构成(例)总线双向缓冲数据总线发送数据缓冲存储接收数据缓冲存储接口控制电路控制寄存器信号变换地址译码地址总线状态寄存器中断读写控制接口信号线完成CPU对特定的地址的I/O读写的识别。实现对接口的内部时序控制,实现中断,管理缓存,写状态寄存器等。记录接口的状态、错误。外设的情况等。CPU通过读状态寄存器了解接口的情况。软件将对接口的控制信息写入控制寄存器,完成对接口的控制。完成接口的电平变换、数据格式变换。实现数据I/O缓冲,实现异步的CPU传送和接口传送,减少CPU的开销。受控于接口控制电路,完成双向传送。计算机硬件技术基础控制和状态寄存器接口电路的构成——控制和状态寄存器由地址译码器确定控制和状态寄存器地址,不同的接口电路占用不同的I/O端口地址。在Windows下,通过设备管理器可以看到一些接口的I/O地址。如串行接口COM1的I/O地址:计算机硬件技术基础控制和状态寄存器寄存器名寄存器类型I/O地址寄存器功能接收保持寄存器数据3F8接收数据缓存发送保持寄存器数据3F8发送数据缓存中断允许寄存器控制3F9设置哪些中断可以发生中断状态寄存器状态3FA产生中断的具体中断源FIFO控制寄存器控制3FA实现FIFO和DMA控制线路控制寄存器控制3FB实现数据位数、校验等设置线路状态寄存器状态3FD指示接收、发送和错误状态…………线路状态寄存器位定义位含义0接收到数据1接收超时错误2接收奇偶错误3接收帧错误4接收间隔错误5发送寄存器缓存空6发送缓存空7发送FIFO错误接口电路的构成——控制和状态寄存器(续)例如:串行接口COM1的I/O地址范围3F8~3FF共8个地址。部分定义如下:计算机硬件技术基础缓冲存储机制接口电路的构成——数据缓冲存储接口电路在发送和接收过程中,都有缓冲存储机制。多数缓存机制为FIFO方式。例如:某接口电路具有16字节的发送和接收FIFO:16字节发送FIFO16字节接收FIFO接口软件写入接口电路发送接口电路接收接口软件读取已写入未发出数据已收到未读取数据计算机硬件技术基础数据变换-5V5V010V5V0V5V脉冲变换电平变换差分变换数据变换可以是电平变换(如RS-232串行接口)、脉冲变换(如红外接口)、差分变换(如USB),也可以是数模变换(如音频)等。例如:三种基本输出变换:计算机硬件技术基础7.1.3接口软件接口软件是实现接口功能的软件部分,接口软件连接应用程序与接口电路。接口软件需要及时掌握接口电路的状态,以便及时处理接口电路中出现的各种事件。接口软件的程序控制方式主要有三种,即查询控制方式、中断控制方式和DMA(DirectMemoryAccess,直接存储器访问)控制方式。发送电路接收电路计数器计数器总线控制接口接收FIFO发送FIFO连接器接口电路计算机硬件技术基础7.1.3接口软件查询控制方式:查询式传送控制方式也称为异步传送,它是指当CPU需要与外设备交换数据时,首先查询设备的状态,只有在设备准备就绪时才进行数据传输。查询式输入和输出程序控制流程如图所示。计算机硬件技术基础7.1.3接口软件中断控制方式:程序查询法是CPU等待工作,而中断控制方式是外部设备等待方式。只有当外部设备数据已经准备好以后,才向CPU发出请求中断信号,在CPU允许中断的情况下,CPU暂时中断现行的工作,转而执行外部设备数据输入/输出任务的中断程序。一旦中断子程序处理结束,CPU立即返回主程序,继续执行因中断暂时放下的工作。计算机硬件技术基础7.1.3接口软件中断控制方式实例以打印控制为例,说明中断控制的基本过程:每台打印机都设有自己的缓冲寄存器,CPU用访问指令启动打印机,并将要打印的数据传送到打印机的数据缓冲寄存器;然后,CPU可继续执行原来的程序,打印机开始打印这批数据。这批数据打印完成后,打印机向CPU发出中断请求,CPU接到中断请求后对打印机进行中断服务,如再送出一批打印数据等,然后又继续执行原来的程序。主程序执行中断服务子程序响应中断中断返回响应中断中断返回空闲准备打印打印交换数据交换数据启动打印机数据传送数据传送CPU工作状况打印机工作状况计算机硬件技术基础DMA传送方式的提出中断的缺点:采用程序中断控制,能使多台外设依次启动后同时进行数据交换的准备工作;若在某时刻有几台外设发中断请求信号,CPU可根据预先规定好的优先顺序,按轻重缓急处理几台外设的数据传送,实现外部设备间的并行工作,提高了计算机系统的工作效率。但中断系统的保存与恢复现场需一定的时间,且主机与外设之间的数据交换要由CPU直接控制。这对一些工作频率高、要成批交换数据且单位数据之间的时间间隔较短的外设,如磁盘、磁带等来说,将引起CPU频繁干预,同时还可能引起数据丢失。DMA(直接存储器存取——directmemoryaccess)控制:是在内存与设备之间开辟一条直接数据传送通路,并把传送过程交DMA控制器进行管理,形成以存储器为中心的体系结构。DMA可看作是和CPU共享存储器的处理器。CPU与DMA各自能独立地工作,挖掘了系统部件级的并行性。7.1.3接口软件计算机硬件技术基础DMA方式下,外设利用专门的接口电路直接和存贮器进行高速数据传送,而不经过CPU。数据的传输速度基本上决定于外设和存储器的速度。主存I/O设备CPU改进主存I/O设备总线使用直接存储器传送方式(DMA),实现数据块操作。7.1.3接口软件计算机硬件技术基础DMA控制器具有以下功能:1)向CPU发出HOLD信号。2)当CPU发出HLDA信号后,接管对总线的控制,进入DMA方式。3)发出地址信息,能对存储器寻址,能修改地址指针。4)能发出读或写等控制信号。5)能决定传送的字节数,判断DMA传送是否结束。6)发出DMA结束信号,使CPU恢复正常工作状态。7.1.3接口软件计算机硬件技术基础DMA方式数据传输的步骤:1)DMA启动2)DMA请求3)DMA响应4)DMA操作5)DMA撤消7.1.3接口软件计算机硬件技术基础DMA启动⑴向DMA控制器的地址寄存器中送入设备号并启动设备;⑵将主存中数据区首地址送入DMA控制器的地址寄存器中;⑶将辅存数据缓冲区首地址送入DMA控制器的设备地址寄存器中;⑷将要传送的数据字节数或字数送入数据计数器中。DMA请求DMA控制器收到上述控制命令后,向外设接口提出传送数据请求。外设接口准备好了接收或发送数据时,就会给出DMA请求信号,DAM控制器向CPU提出总线请求信号。7.1.3接口软件计算机硬件技术基础DMA响应CPU完成一个机器周期的操作后,就响应DMA总线请求,首先让出总线控制权,即将CPU内部的总线缓冲器及输入输出控制信号线置成高阻状态,以便将总线使用权让给DMA控制器,并向DMA控制器发出总线响应信号。7.1.3接口软件计算机硬件技术基础DMA操作DMA控制器收到总线响应信号后,向外设发出DMA应答信号,并成为总线上的主设备,控制外设与主存之间的数据块传送操作。每传送一个字节或一个字,DMA控制器中的主存地址计数器内容加1,而数据计数器内容减1,直到该计数器其值为0为止。DMA撤消总线请求撤消后,CPU恢复了对总线的控制权,以便进行数据传送后的处理。7.1.3接口软件计算机硬件技术基础DMA操作过程对DMA初始化让出总线控制权收回总线控制权外设准备好启动CPUDMADMA请求DMA响应CPU内部操作发送内存地址传送一个字数据内存地址计数器+1字计数器-1字计数器=0?NFDMA撤消Y总线上的主设备DMA操作7.1.3接口软件计算机硬件技术基础7.2串行接口串行接口即通过逐位传送的方式实现字节的传输的一类接口。串行接口中通常只有一条(可实现双向传输)或两条(双方向各一条)数据线。由于习惯上的称谓,串行接口有时是特指计算机上的RS-232C接口,该接口是Pentium时代以前PC机上最常用的通用接口,PC机可通过串行接口连接鼠标器、调制解调器(MODEM)、扫描仪等。计算机硬件技术基础串行数据传送方式全双工方式当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工(FullDuplex)制。发送器发送器接收器接收器B站A站全双工方式示意图计算机硬件技术基础半双工若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工(HalfDuplex)制。A站B站发送器发送器接收器接收器半双工方式示意图串行数据传送方式计算机硬件技术基础并行通信中,传输速度以每秒传输的字节(B/s)表示。在串行通信中,传输速率用波特率来表示。所谓波特率,是指单位时间内传送二进制数据的位数,单位为位/秒(b/s)。每秒钟所传输的字符数(字符速率)和波特率是两种概念波特率计算机硬件技术基础7.2串行接口RS-232C接口:传输速率:75~115,200(128,000)b/s;传输距离:最长电缆15米(低速率时);电缆/连接器:采用9线或25线信号传输,当前多用9线。采用D型连接器;协议简单:无高层协议;在Pentium4时代作为PC的标准配置,目前在PC上的应用逐渐减少。RS-232C串行接口插座计算机硬件技术基础7.2串行接口——RS-232C信号异步串行传输:异步串行传输中以字节为传输单位,传输一个字节包括起始位、数据位和终止位。空闲起始位11010110数据位:5~8位停止位•RS-232C信号电平:采用双极方式,负电平(-3~-15V)代表逻辑1,正电平(+3~+15V)代表逻辑0。一般采用±5V或±12V。+12V-12V计算机硬件技术基础7.2串行接口——RS-232C传输参数RS-232C接口应用参数:在使用RS-232C通信之前必须设置接口参数,包括速率、数据位数、校验、停止位数和流控方式等。Windows下从“我的电脑”—“设备”—“端口”可以查看串行接口参数。计算机硬件技术基础7.2串行接口——RS-232C的接口信号RS-232C接口信号线:连接的两端分别为DTE(DataTerminalEquipment)和DCE(DataCommunicationEquipment)端。1659CD:载波检测1RxD:接收数据2TxD:发送数据3DTR: