1.简介
随着计算机的不断发展,单独的计算机已不能满足人们的需要,计算机的扩展能力成为人们认识电脑的一个重要的性能指标,常用的接口有鼠标、键盘接口,打印机接口、扫描仪接口等。
微机常用接口外观图如下图所示,这是一个微机主板,主要由CPU插槽、PCI扩展槽、内存插槽、BIOS、CMOS电池、CMOS跳线、ATX电源插座、音频接口、AGP扩展槽、USB接口、鼠标接口、键盘接口等组成。
微机接口(interface)就是微处理器CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。比如源程序或原始数据要通过接口从输入设备送进去,运算结果要通过接口向输入设备送出来;控制命令通过接口发出去,现场状态通过接口取进来,这些来往信息都要通过接口进行变换与中转。这里所说的“外部世界”是指除CPU本身以外的所有设备或电流,包括存储器、I/O设备、控制设备、测量设备、通信设备、多媒体设备、A/D与D/A转换器等。
从下图可以看出,各类外部设备(简称外设)和存储器,都是通过各自的接口电路连到微机系统的总线上去的,因此用户可以根据自己的要求,选用不同类型的外设,设置相应的接口电路,把它们挂到系统总线上,构成不同用途、不同规模的应用系统。
2.接口功能
从解决CPU与外设在连接时存在的矛盾的观点来看,一般有如下功能
(1) 对外部设备的寻址功能
在微机系统中一般有多种外设,在同一种外设中也可能有多台,而一个CPU在同一时间里只能与一台外设交换信息,这就要在接口中设置I/O端口地址译码电路对外设进行寻址。CPU将I/O设备的端口地址代码送到接口中的地址译码电路,并经译码电路,把地址代码翻译成I/O设备的选择信号。一般是把高位地址用于接口芯片选择,低位地址进行芯片内部寄存器的选择,以选定需要与自己交换信息的设备端口,只有被选中的设备才能与CPU进行数据交换或通信。没有选中的设备,就不能与CPU交换数据。
(2) 信号转换功能
外部设备的信号电平可能不是TTL电平或CMOS电平,因此需要由接口电路来完成信号电平的转换。
(3) 数据缓冲功能
外部设备的工作速率远远低于CPU的速率,为了提高CPU的工作效率并避免丢失数据,接口中必须有数据缓冲器。接口中设置的数据缓存寄存器作为两者之间的中介,暂存发送方发出的数据,等待接收方在足够的时间内取走数据。借助于数据缓冲器,高速工作地CPU与低速工作地外部设备之间的数据交换可以协调进行。由于数据缓存器直接连在系统数据总线上,因此它应具有三态特性。
(4) 联络功能
接口应当具备握手信号。CPU送来的控制信号、外部设备的工作状况以及应答信号都要通过接口与CPU以“握手联络”的方式进行交互。
(5) 中断管理功能
CPU与外设之间的通信采用中断方式,有利于提高CPU的利用率。
(6) 可编程功能
为了使接口具有较强的灵活性、可扩充性以适应多种工作方式或工作状态,接口应具有可编程的特性。
上述功能并非要求每种接口都具备,对不同用途的微机系统,其接口功能不同,接口电路的复杂程度大不一样。但前3种功能是接口电路中的核心部分,是一般接口都需要的。
3.接口组成
为了实现上述各种功能,接口需要有物理基础——硬件,予以支撑;还要有相应的程序——软件,予以驱动。所以,一个能够实际运行的接口,应由硬件和软件两部分组成。
3.1 硬件电路
接口电路的基本结构如图所示。三总线:地址总线AB、数据总线DB以及控制总线CB与CPU连接。地址总线AB用来提供访问接口电路的地址信息。数据总线DB用来与接口电路交换数据信息、状态信息和命令信息。控制总线CB包括I/O、…、INTR等信号线。
3.2 软件编程
为了增强接口实用范围,半导体厂商一般按照通用型、可编程模式设计制作可编程接口芯片。因此,为了使用接口,需要为CPU编写专门的接口程序。接口程序多由汇编语言编程实现,一般包括初始化接口芯片、确定数据传输方式、控制接口硬件动作等主要功能。
原文地址:https://www.cnblogs.com/ZanderZhao/p/11488592.html