1、2022/6/14,微型计算机接口技术,1,第1章 概论,本章主要内容 接口的基本任务及接口技术发展概况 接口分层次概念 设备接口电路的功能与组成 分析与设计设备接口电路的基本方法 设备接口电路设计的解决方案,2022/6/14,微型计算机接口技术,2,接口是微处理器与外部设备之间的连接桥梁和信息交换的中转站,在实际应用中,人们总是利用接口来加入用户自己的设备或模块构成应用系统,可见接口技术是微机应用系统开发必不可少的关键技术,所以要学习接口技术。1.1 接口的基本任务与接口技术的发展概况1.1.1 接口的基本任务 微机接口的基本任务有两个:一是实现I/O设备与总线的连接;二是连接起来以后,C
2、PU通过接口对I/O设备进行访问,即操作或控制I/O设备。如何连接是硬件方面的任务,怎样访问是软件方面的任务。 1.1.2 接口技术的发展概况 在早期的计算机系统中并没有设置独立的接口电路。接口经历了固定式简单接口、可编程复杂接口和智能接口几个发展阶段。接口电路的配置形式,也由采用独立接口芯片的外置式接口,发展为采用接口模块的内置式接口。,2022/6/14,微型计算机接口技术,3,1.2 接口的分层次概念 由于微机系统总线结构和操作系统的发展变化,使接口在完成连接与访问设备任务时产生了与传统根本不同的处理方法,形成接口分层次的概念,把接口分成上层设备接口和下层总线接口两个层次。1.2.1 硬
3、件分层 现代微机采用多级总线,除了设备与用户总线(如ISA )之间的那一层设备接口之外,还有总线与总线的接口(总线桥)。作为连接总线与设备之间的接口就不再是单一层次的,就要分层次了。设备与用户总线之间的接口称为设备接口;PCI总线与用户总线之间的接口称为总线接口。与早期微机相比,现代微机的外设进入系统需要通过两级接口才行,即通过设备接口和总线接口把设备连接到微机系统。 1.2.2 软件分层 现代微机操作系统,由于保护机制,不允许应用程序直接访问硬件,应用程序通过调用驱动程序去访问底层硬件,作为操作设备的接口程序就不再是只有单一的应用程序了,也要分层次。,2022/6/14,微型计算机接口技术,
4、4,分为上层用户态应用程序和底层核心态驱动程序。与早期微机相比,现代微机对外设的操作与控制需要通过两层程序才行,即通过应用程序和设备驱动程序才能访问设备。1.2.3 接口技术内容的划分 按照接口分层次的概念,把接口技术的内容分为两部分:一部分是接口的上层,包括设备接口及应用程序,构成接口的基本内容;另一部分是接口的下层,包括总线接口及设备驱动程序,构成接口的高级内容。 用户做一般应用开发时,只涉及接口的基本内容,若要做原创性开发,则需要考虑接口的高级内容。,2022/6/14,微型计算机接口技术,5,1.3 设 备 接 口 1.3.1 设备接口的功能 1.执行CPU命令 CPU对被控对象外设的
5、控制是通过接口电路的命令寄存器解释与执行CPU命令代码来实现的。 2.返回外设状态 接口电路在执行CPU命令过程中,外设及接口电路的工作状态是由接口电路的状态寄存器报告给CPU的。 3.数据缓冲与锁存 在CPU与外设之间传输数据时,主机高速与外设低速的矛盾是通过接口电路的数据寄存器缓冲来解决的。 4.信号转换 微机的系统总线信号与外设特有功能的信号的转换是通过接口的逻辑电路实现的,包括信号的功能、逻辑关系、时序配合及电平匹配的转换。,2022/6/14,微型计算机接口技术,6,5.数据宽度与数据格式转换 有的外设或通信设备使用串行数据,并且要求按照协议的规定,以特定的数据格式传输,而微处理器是
6、使用并行数据和普通的数据格式。为此,接口电路就应具有数据并-串转换和数据格式转换的能力。 6.设备选择 当CPU与外设交换信息时,是通过接口的I/O地址译码电路选定需要与自己交换信息的设备端口,进行数据交换或通信。1.3.2 设备接口的组成 1硬件电路(1)接口电路基本电路 基本电路包括命令寄存器、状态寄存器和数据缓冲寄存器。它们是接口电路的核心,担负着接收并执行命令、返回状态和传送数据的基本任务,目前,可编程大规模集成接口芯片中都包含了这些基本电路,是接口芯片编程模型中的主要对象。若采用FPGA自行设计接口电路模块至少也必须包含这几个寄存器。,2022/6/14,微型计算机接口技术,7,(2
7、)接口支持电路 支持电路包括用于数据交换方式的中断控制器、DMA控制器;用于寻址I/O设备的端口地址译码器;用于速度、频率控制的定时/计数器。它们是支持各类设备接口的共用技术,也是CPU的外围支持电路,是系统配置的资源,因此,用户一般不需重新设计,只申请使用即可。 (3)供选电路 根据接口不同任务和功能要求而添加的IC电路,设计者可按照需要加以选择。例如,串-并转换的移位寄存器,EAI-TTL转换的逻辑电平转换器;控制速度的时钟发生器;增强驱动能力和进行信号隔离的IC芯片等。 2软件编程 (1)初始化程序段 一般都根据设计要求,通过方式命令或初始化命令,设置工作方式、数据格式、初始条件以及确定
8、其具体用途,这是接口程序中的基本部分。有人把这个工作叫做可编程接口芯片的“组态”。,2022/6/14,微型计算机接口技术,8,(2)主控程序段 主控程序段是完成接口任务的核心程序段。如数据采集的主程序段,包括发转换启动信号、查转换结束信号、读数据以及存数据等内容。又如步进电机控制的主程序段,包括运行方式、运行方向、运行速度以及启/ 停控制等。(3)传送方式处理程序段 若采用查询方式,则有检测外设或接口状态的程序段;若采用中断方式,则有中断向量修改、对中断源的屏蔽/开放以及中断结束等的处理程序段,且这种程序段一定是主程序和中断服务程序分开编写。若采用DMA方式,则有传输参数的设置、通道的开放/
9、屏蔽等处理程序段。(4)辅助程序段 包括人-机对话、菜单设计等内容。人-机对话程序段能增加人-机交互作用;设计菜单使操作方便。,2022/6/14,微型计算机接口技术,9,1.3.3 设备接口与CPU交换数据的方式 1.查询方式 查询方式是CPU主动去检查外设是否“准备好”传输数据的状态,因此,CPU需花费很多时间来等待外设进行数据传输的准备,工作效率很低。但查询方式易于实现,在CPU不太忙的情况下,可以采用。 2.中断方式 中断方式是I/O设备做好数据传输准备后,主动向CPU请求传输数据,CPU节省了等待外设的时间。因此,中断方式用于CPU的任务比较忙的场合,尤其适合实时控制及紧急事件的处理
10、。 3.DMA方式 DMA方式是DMA控制器代替CPU进行数据在I/O设备与存储器之间的直接传输管理,在传输过程中CPU不干预。这不仅简化了CPU对输入/输出的管理,更重要的是大大提高了数据的传输速率。因此,DMA方式特别适合高速度、大批量数据传输。,2022/6/14,微型计算机接口技术,10,1.3.4 分析与设计设备接口电路的基本方法1接口芯片的编程模型方法 编程模型是指接口芯片或接口模块内部可访问的寄存器及其命令、状态,数据格式和分配给寄存器的端口地址3个元素。了解与掌握了一个芯片这3个方面的内容,也就可以利用它进行接口的软件设计了,因此,编程模型也叫芯片的软件模型。 编程模型方法的实
11、质是强调对硬件对象的应用,而不在意其内部结构,这大大简化了对硬件对象复杂结构的了解,而又不失对硬件的应用。2接口两侧分析方法 在分析与设计接口时,显然应该从接口的两侧入手。 CPU一侧,面向的是总线的数据、地址和控制三总线,情况单一。接口电路与之对接的信号线,只要满足三总线在电平高低、时序逻辑上的要求并进行号入座连接即可。 I/O设备一侧,情况很复杂。分析重点放在两个方面:一是分析被连I/O设备的外部特性-外设信号引脚的功能与特点,以便在接口硬件设计时,提供这些信号线,满足外设在连接上的要求;二是分析被控外设的工作原理与工作过程,以便在接口软件设计时,按照这种过程编写程序,满足外设工作条件的要
12、求。以此为依据来进行接口电路的硬件设计与软件编程。,2022/6/14,微型计算机接口技术,11,3硬软结合法 以硬件为基础,硬件与软件相结合是设计设备接口电路的基本方法。1.4 接口电路设计的解决方案 所谓接口电路设计的解决方案是指在微机接口电路总体设计时,对接口电路的配置方式和接口电路芯片的选择进行分析与认定。解决方案与微处理器类型有关,台式微机(PC机)、嵌入式微机、MCU各不相同。1.4.1 接口电路的配置方式 接口电路的配置方式,是指把接口电路安排在微机系统的什么地方,有外置式与内嵌式之分。 1.外置式接口电路 外置式接口电路是把接口电路分立出来,作为独立的电路,放在微处理器芯片之外
13、,形成各种外围接口芯片和外围支持芯片,如并行接口芯片、串行接口芯片、定时与计数器芯片、中断控制器芯片等。使用时通过总线与CPU进行连接,一般多在台式微机中采用。,2022/6/14,微型计算机接口技术,12,2.内置式接口电路内置式接口电路是把接口电路当做一个接口功能模块与微处理器放在同一芯片中,如嵌入式微机和单片机内部包含的并行接口模块、串行接口模块、定时/计数器模块、中断控制器模块等。由于接口模块与微处理器同在一个芯片内部,CPU与I/O设备之间的接口电路基本结构是一组核心寄存器(1.3.2节中的接口基本电路),CPU通过读写这些寄存器来与设备通信,在外部只需与I/O设备连接。1.4.2
14、接口电路芯片的选择根据接口电路所担负任务的复杂程度不同,搭建接口电路的元器件有多种选择,可采用一般的IC电路、可编程的通用/专用接口芯片或可编程的逻辑阵列器件。1.一般的IC芯片利用一般IC芯片中的三态缓冲器和锁存器即可组成简单的I/O端口。例如,采用三态缓冲器74LS244构造8位输入端口,读取DIP开关的开关状态;采用锁存器74ALS373构造8位输出端口,发出控制信号,使LED发光。,2022/6/14,微型计算机接口技术,13,2.可编程通用/专用接口芯片可编程通用/专用接口芯片功能强、可靠性高、通用性好/针对性强,并且使用灵活方便,因此成为台式微机系统接口设计的首选。3.FPGA器件 采用FPGA/CPLD器件,利用EDA技术来设计接口,可以实现复杂的接口功能,并且可以将接口功能模块与其他应用电路集成在一起。其结构紧凑、灵活多样,可满足不同复杂度接口电路的要求,因此成为嵌入式微机系统和微控制器MCU接口设计的首选。,2022/6/14,微型计算机接口技术,14,本 章 小 结 通过本章学习,要重点了解以下几个知识点。 为什么要学习接口技术 接口技术分层次概念 设备接口的基本功能 接口电路的核心寄存器 接口芯片或接口模块的编程模型方法 接口电路的配置方式,