版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章输入输出与接口技术
学习要点:接口的基本概念、功能、分类
I/O接口与存储器编址方式
I/O接口地址编码方法
CPU与外设的数据传送方式
7.1接口的基本概念
如前所述,微型计算机是由CPU、存储器和许多诸如键盘、显示器、打印机等输入、输出设备组成的。输入、输出设备通过系统总线与CPU进行信息交换,根据CPU的要求进行工作,但是他们往往不能与CPU直接相连,通过一个连接部件进行缓冲和协调,完成CPU与外部设备之间信息的类型和格式的转换。这个连接部件就是接口电路,又称为I/O接口。接口的作用和地位如图7-1所示。
7.1.1接口功能及结构
1.I/O接口功能I/O接口的基本功能是能够根据CPU的要求对I/O设备进行管理与控制,实现信号逻辑及工作时序的转换,保证CPU与外设之间能进行可靠有效的信息交换。主要功能如下:(1)
I/O接口作为微型机与外设之间传送数据的寄存、缓冲站,以适应两者速度上的差异。(2)
设置地址译码和设备选择逻辑,以保证CPU按照特定的路径访问选定的I/O设备。提供CPU与外设之间交换数据所需的控制逻辑和状态信号,以保证接受CPU输出的命令或参数,按指定的命令控制设备完成相应的操作,并把指定设备的工作状态返回给CPU。
I/O操作通常所谓的I/O操作,是指I/O端口操作,而不是I/O设备操作,即CPU访问的是与I/O设备相连的I/O端口,而不是笼统的I/O外设,如图7-2所示。
2.I/O接口的基本结构
I/O接口电路通常为大规模集成电路。虽然不同功能的基本接口电路的结构有所不同,但大体上都是由寄存器和控制逻辑两大部分组成,如图7-3所示。
I/O接口的基本结构
(1)寄存器寄存器是接口电路的核心。通常所说的接口,大都是指这些寄存器,主要有:
数据缓冲寄存器数据缓冲寄存器分为输入锁存器和输出缓存器两种。输入锁存器用来暂存外设送来的数据;输出缓存器用来暂存处理器送往外设的数据。数据缓存器实现高速的CPU与慢速的外设之间数据的传送。¨
控制寄存器控制寄存器用于存放CPU发来的控制命令和其它信息,以确定接口电路的工作方式和功能。控制寄存器是只写寄存器,其内容只能由CPU写入,而不能读出。
¨
状态寄存器
用于保存外设现行各种状态信息。它的内容可以被处理器读出,从而使CPU了解外设状况及数据传送过程中发生的事情,供CPU作出正确的判断,使它能安全可靠地与接口完成交换数据的各种操作。特别当CPU以程序查询方式同外设交换数据时,状态寄存器更是不可少。CPU通过查询外设的忙/闲,正确/错误,就绪/不就绪等状态,才能正确地与之交换信息。
寄存器I/O接口的基本结构
(2)控制逻辑电路
数据总线和地址总线缓冲器用于实现接口芯片内部数据总线和系统的数据总线相连接。
端口地址译码器用于正确选择接口电路内部各端口寄存器的地址,保证每个端口寄存器唯一地对应1个端口地址,以便处理器正确无误地与指定外设交换信息,完成规定的I/O操作。
内部控制逻辑用于产生一些接口电路内部的控制信号,实现系统控制总线与内部控制信号之间的变换。
联络控制逻辑联络控制逻辑用于产生/接收CPU和外设之间数据传送的同步信号。7.1.2I/O接口硬件分类与发展I/O接口的硬件主要分为两类:1.I/O接口芯片I/O接口芯片大多是可编程的大规模集成电路。它们可通过CPU输出不同的命令和参数,灵活地控制互连的I/O电路或某些简单的外围设备进行相应的操作。如定时/计数器、中断控制器、DMA控制器、并行接口和单片机构成的键盘控制器。2
.I/O接口卡接口控制卡由若干个集成电路按一定的逻辑结构组装成的一个部件。它或直接与CPU安装在一个系统板上,或制成一个插件插在系统总线槽上。按照所连接的外设控制的难易程度,该控制卡的核心器件或为一般的接口芯片或为微处理器。凡安装微处理器的接口卡通常称为智能接口卡,这种卡上必有一片EPROM芯片,芯片内固化了控制程序,如PC机的硬盘驱动器接口控制卡。
7.2 接口编址方式与地址编 码方法7.2.1接口编址方式I/O端口的编址方式要使I/O端口能被CPU访问,系统必须为I/O端口分配地址。I/O端口的编址主要有两种方式:1.端口统一编址方式该方式是把每一个端口视为1个存储单元,并赋予相应的存储器地址。微处理器访问端口,如同访问存储器一样,所有访问内存的指令同样适合于I/O端口。端口统一编址方式的优点在于I/O端口的地址空间大,访问I/O端口与内存单元相同看待,符合硬件最优化的原则。其缺点是要占用存储空间,I/O操作时间较长,程序可读性差
I/O端口的编址方式2.端口独立编址方式该方式是把所有I/O端口看作1个独立于存储器空间的I/O空间。在这个空间内,每个端口都被分配1个地址与之对应。微处理器对I/O端口和存储单元的不同寻址是通过不同的读写控制信号-IOR,-IOW,-MEMR,-MEMW来实现的。由于系统需要的I/O端口寄存器一般比存储器单元要少很多,因此选择I/O端口只需用部分地址线即可。要访问独立于存储空间的端口,必须用专门的I/O指令。通常这种I/O指令有2种,即输入指令IN,输出指令OUT及其相关的指令组。
/O端口的编址方式比较端口独立编址方式的优点在于I/O端口地址不占用存储器地址空间,I/O端口地址译码器较简单,寻址速度较快。使用专用I/O指令和真正的存储器访问指令有明显区别,前者可使程序编制的更清晰,可读性强。其缺点是专用I/O指令类型少,使程序设计灵活性差。使用I/O指令只能在累加器AX和I/O端口间交换信息,处理能力不如端口统一编址方式强。
7.2.2I/O接口地址编码方法CPU为了对I/O端口进行读写操作,就需要确定自己交换信息的I/O端口地址。通过CPU发来的命令代码(地址编码)来识别和确定这个端口,这就是口地址译码。接口地址译码方法很多,主要有以下几种。1.
用门电路进行口地址译码这是一种最基本的口地址译码方法,门电路可采用常用的TTL74LS系列门电路。
用门电路进行口地址译码[例7-1]某接口需占用4个I/O接口地址,假设为2F0H2F3H,则相应的地址译码部分电路,如图7-4所示。
说明:
图中,地址A9A2为如图组合时,端输出低电平,地址依次为:10111100,共8位。把A1、A0附在最后构成10位地址如下:
10111100XXB:从最低位算起,由于A1、A0的变化范围只能是0011,故上述地址范围为10111100001011110011,即2F0H2F3H,就是I/O端口地址。
图中AEN信号必须参加译码。因为AEN为高电平时,I/O处于DMA方式,信号由DMA控制器发出;AEN为低电平时,I/O处于正常方式,信号由CPU发出。因为该接口电路中I/O处于正常方式,AEN必须为低电平,故用AEN信号参加译码来区分这两种方式。
在本例中,接口电路可进行读/写操作,故将直接连入I/O功能部件中。
2.译码器进行地址译码
若接口电路中有多组I/O端口地址,则可采用译码器来进行译码。常用的译码器有3-8译码器74LS138、4-16译码器74LS154和2-4译码器74LS139等。3-8译码器74LS138引脚图:74LS138引脚说明:74LS138的引脚图,引脚说明如下:G1、、:3个门控信号,只有当G1=“1”,==“0”时,译码器才开始工作。A0、A1、A2:地址输入端。
:输出端。译码器对A0、A1、A2三个输入信号译码,然后使中相应的1个引脚为低电平,其余为高电平。例如:若输入端A2A1A0=“110”,则引脚为低电平,其余为高电平。
[例7-2]设计一个有8组I/O端口地址的译码电路,每组有8个端口地址,这8组端口地址分别是:280H287H,288H28FH,290H297H,298H29FH,2A0H2A7H,2A8HAFH,2B0H2B7H和2B8H2BFH。电路设计如图7-6所示。
译码器I/O地址译码电路译码器I/O地址译码电路
说明:74LS138译码器的、端应为低电平,A9A6的有效地址应为:1010B。另外,74LS138本身的A0、A1、A2与地址信号A3A5相连,则A5A3地址的可变范围为000111。当A5A3取000时,输出低电平作为I/O片选信号,其端口地址加上低3位A2A0则为:1010000000B1010000111B,即280H287H,此为第一组I/O端口地址。其余7组同理。这里参加译码的还有AEN、、信号,AEN的用法同前例,、用于译码,将保证该端口地址为I/O地址而非存储地址。
用比较器进行地址译码接口译码电路也可采用比较器进行设计。可预设一个端口地址,总线输出的地址信号与此地址进行比较,相等则选中此端口。常见的比较器有4位比较器74LS85和8位比较器74LS688。74LS688用于判断两个数是否相等,其引脚如图7-7所示。图中P0~P7、Q0~Q7是数据输入端,是使能控制端(低电平有效),=Q为比较结构输出端。
74LS6888位比较器74LS688
[例7-3]使用74LS688比较器的口地址译码
电路设计图
电路设计图说明:图7-8中,K1~K8这8个开关接74LS688的Q输入端(Q0~Q7),这样K1~K8这8个开关的状态将决定Q0~Q7的状态。例如K1处于开时,由于+5V和上拉电阻的作用,将使Q0为高电平;K1处于关时,Q0与地连通,则为低电平。因此,K1~K8决定了Q0~Q7的电平。而74LS688的P输入端(P0~P7)接地信号A2~A9,由74LS688的功能可知,当P与Q输入端对应一致时,=Q端将输出有效电平,这将和AEN一起作用而产生有效的片选信号从而选中I/O端口。这样可通过预先设置K1~K8这8个开关,从A2~A9中选出所需的I/O端口地址。由于地址预先设用了一个8位开关,这样可预先设256个端口地址。
7.3CPU与外设之间的数据传送方式
由于CPU与外设的工作速度相差很大,不同外设的工作速度差别也很大,为保证CPU与外设之间正确而有效地进行数据传输,针对不同的外设,不同的使用场合采用不同的数据传送方式。一般来说,CPU与外设之间的数据传送方式有三种:
程序查询方式
中断方式
DMA方式程序查询方式是指在程序控制下进行信息传送,分为无条件传送方式和条件传送方式。1.无条件传送方式CPU不查询外设的状态而直接进行信息传输,称为无条件传送方式。该方式适用于对一些简单外设的操作。如开关、LED等。在无条件传送方式下,程序设计简单。不过,无条件传送实际上是有条件的,那就是外设的操作时间是已知的,以保证每次传送时,外设处于就绪状态。此方式用得较少。
7
.3.1程序查询方式2.条件传送方式
条件传送方式也称为查询方式传送。用条件传送方式时,CPU通过程序不断查询外设的状态,只有当外设准备好时,才进行数据传输。采用该种方式时,接口电路中有反映接口或外设状态的端口供CPU访问查询。条件传送过程:
条件传送过程操作步骤操作步骤如下:
(1)CPU从状态端口中读取状态字。(2)CPU检测状态字的对应位,判断是否“准备好”,如果没有准备好,则回到前一步重新读取状态字,继续判断。如准备好,则开始传送数据。
例如,如果一个输出设备接口的状态端口(8位)的地址位ADDR,状态端口的D0位为1,表明准备好。数据端口(8位)的地址为PDATA,采用条件传送方式传送1字节数据(数据在BL中)的
程序如下:
条件传送方式传送1字节数据的程序:LOOP1:MOVDX,ADDRINAL,DX;读入输出设备的状态
TESTAL,01H;检测状态端口的D0位是否为1
JZLOOP1;否,则再次读入输出设备状态,进行检测
MOVAL,BLMOVDX,PDATA;将BL中数据从数据端口输出
OUTDX,AL查询方式评价:查询方式传送比无条件传送可靠,因此使用场合较多。但在查询方式下,CPU必须不断地查询外设状态,只有当外设准备好时,才能进行数据传输。这样使得CPU工作效率极低。另外用查询方式时,如果一个系统有多个外设,那么CPU只能轮流对每一个外设进行查询,而不能及时响应外设的数据传送要求,因而实时性较差。
7.3.2中断方式当外部设备准备好向CPU传送数据,或者外设已准备就绪接收CPU的数据,或者有某些紧急情况要求处理时,如定时时间到等。这时,外设向CPU发出中断请求。CPU接收到请求并在一定条件下,暂时停止执行原来的程序而转去中断处理,处理好中断服务再返回继续执行原来程序,这就是一个中断过程。下面将中断过程分成3个阶段来讨论。
中断是CPU被动地等待外设要求服务,而前面谈到的异步查询则是CPU主动地查询外设。因而,中断大大提高了CPU的利用率。发出中断请求的外部设备称为中断源,一般中断源有:(1)数据输入/输出外设请求中断;(2)定时时间到申请中断;(3)满足规定状态申请中断;(4)电源掉电申请中断;(5)故障报警申请中断;(6)程序调试设置中断等。中断过程分成3个阶段1:中断申请中断过程分成3个阶段2:中断响应CPU在没有接到中断请求信号时,一直执行原来的程序(称主程序)。由于外设的中断申请随机发生,有中断申请后CPU能否马上去为其服务呢?这就要看中断的类型,若为非屏蔽中断申请,则CPU执行完正在执行的那一条指令后,做好保护工作即可去服务;若为可屏蔽中断申请,CPU只能得到允许才能去服务。这就是说CPU能否在接到中断申请后立即响应要视情况而定。中断过程分成3个阶段2:中断响应
对可屏蔽的中断申请,CPU要响应,必须满足以下三个条件:
无总线请求;¨
CPU被允许中断;¨
CPU执行完现行指令。CPU响应中断要自动完成3项任务:¨
关闭中断;¨
CS,IP以及FR的内容推入堆栈;中断服务程序段地址送入CS中,偏移地址送入IP中。
中断过程分成3个阶段3:中断处理一旦CPU响应中断,就可转入中断服务程序之中.中断处理要做以下6步:(1)保护现场CPU响应中断时自动完成CS和IP寄存器以及标志寄存器FR的保护,但主程序中使用的寄存器的保护则由用户视使用情况而定。由于中断服务程序中也要用某些寄存器,若不保护这些寄存器在中断前的内容,中断服务程序会将其修改,这样中断服务程序返回主程序后,程序就不能正确执行。对寄存器的保护,实质上是通过执行PUSH指令将需要保护的寄存器内容推入堆栈而完成的。中断过程分成3个阶段3:中断处理(2)开中断CPU接收并响应一个中断后自动关闭中断,其好处是不允许其他的中断来打断它。但在某些情况下,有比该中断更优先的情况要处理,此时,应停止对该中断的服务而转入优先级更高的中断处理,故需要再开中断,若没有更高级别的中断在此不必开中断。(3)中断服务中断服务程序的核心就是对某些中断情况的处理,如传送数据,处理掉电紧急保护,各种报警状态的控制处理等。(4)关中断由于有上述第(2)点的开中断,因而在此处应对应一个关中断过程,以便下面恢复现场的工作顺利进行而不被中断。
中断过程分成3个阶段3:中断处理(5)恢复现场在返回主程序前要将用户保护的寄存器内容从堆栈中弹出,以便返回后继续正确执行主程序。恢复现场用POP指令。要注意的是堆栈为先进后出型数据结构,保护现场时,寄存器的入栈次序与出栈时的次序是相反的。(6)开中断返回此处的开中断对应CPU响应中断后的自动关闭中断。在返回主程序前,也就是中断服务程序的倒数第二条指令往往是开中断指令,最后一条是返主指令。执行返主指令后,CPU自动从现行堆栈中弹出CS,IP和FR的内容,以便继续执行主程序。
4.中断优先权的确定
在一个微机系统中,常常遇到多个中断源同时申请中断的情况。CPU必须确定首先为哪一个中断源服务,以及服务的顺序。另外,有些中断服务是不允许其他中断打搅的;有些中断要优先处理;有些中断,在服务其间可以接受比它更需要紧急处理的中断。解决这些问题就是解决中断的优先排队问题。
7.3.3DMA方式采用程序传送和中断传送方式进行数据传送时,每次数据传送时,CPU或多或少的都要执行一些与数据传输无直接关系的操作,这对低速外设或在数据传输量不大的情况下,对传输效率的影响还不明显,但如果I/O设备的数据传输速度较高、数据传输量较大,如硬盘,则CPU如采用程序传送或中断方式传送与这样的外设进行数据传输,即使尽量压缩非数据传输的操作,仍有可能无法满足要求。在这种情况下,就必须采用按数据块传输的直接存储器传输方式,即DMA方式。
DMA方式所谓DMA方式,即外设在专用的接口电路DMA控制器的控制下直接和存储器进行高速数据传送。采用DMA方式时,如外设需要进行数据传输,首先向DMA控制器发出请求,DMA控制器再向CPU发出总线请求,要求使用系统总线。CPU响应DMA控制器的总线请求并把总线控制权交给DMA控制器,然后在DMA控制器的控制下开始利用系统总线进行数据传输。数据传输结束后,DMA控制器自动交出总线控制权。整个数据传输过程与CPU无关。这样,数据传输速度基本上取决于外设和存储器的速度。
7.4串行、并行接口技术
7.4.1串行接口1.计算机通信的基本概念所谓通信,是指计算机与外部设备、计算机与计算机之间的信息交换。通信的基本方法有并行通信和串行通信两种。图7-10为这两种通信方式的示意图。其中(a)图为并行通信方式,(b)图为串行通信方式。并行通信是数据的各位(8位或16位)同时传送,有多少位数据就需要多少根传输线,数据的各位是同时到达对方。而串行通信则只需要一对传输线,数据的各位按时间顺序依次传送。故串行通信节省传输线,特别是当数据位较多、传输距离远时,这一优点就更为突出。串行和并行通信方式示意图
串行和并行通信方式示意图:2.串行通信
串行通信,就是数据按时钟以一位一位传送的方式进行通信,其特点是通信线路简单,通信成本低,对于远距离通信,可以利用电话线和调制解调器(Modem)进行。缺点是串行通信传送速度较慢。(1)发送时钟和接收时钟发送时钟用来控制串行数据的发送。数据发送过程是:把并行的数据序列送入移位寄存器,然后通过移位寄存器,由发送时钟触发进行移位输出,数据位的时间间隔取决于发送时钟周期。接收时钟用来控制串行数据的接收,数据接收过程是:把由传输线送来的串行数据序列,用接收时钟作为输入移位寄存器的触发脉冲,逐位打入移位寄存器,最后装配成并行数据序列。
串行通信(2)波特率波特率即单位时间传送的信息量,以每秒传输的位数表示,是衡量通信速度的指标。常用的波特率有110bit/s,300bit/s,600bit/s,1200bit/s,2400bit/s,4800bit/s和9600bit/s。假如在某个异步串行通信系统中,它的数据传输速率为960字符/秒,每个字符对应1个起始位、7个数据位、1个奇/偶校验位和1个停止位,那么波特率为10*960=9600(bit/s)。(3)通信的数据传送方式串行传送的通信线路按其信息传送方向的区别可分为单工,半双工和全双工三种方式、如图7-11所示。
串行数据传送模式
串行数据传送模式:
串行数据传送模式单工方式数据只能从甲方单方向地传送到乙方或者相反,就称为单工方式。在这种情况下,甲、乙两方只需一方设置一个发送器而另一方设置一个接收器即可实现通信。半双工方式在同一条通信线路上,数据既可以从甲方传送到乙方,也可以从乙方传送到甲方,但这两种传送不能同时进行,这种数据传送方式称为半双工方式。全双工方式甲、乙双方既可同时发送数据又可同时接收数据则称为全双工方式,此种情况下甲乙双方需分别设置一套发送器和接收器,并需要使用两条独立的通信线路。
串行通信分类
串行通信按信息格式的约定分为两种:异步通信方式和同步通信方式。(1)异步通信在异步通信中,以字符为单位进行发送和接收,每一个字符用起始位和停止位标记字符的开始和结束。异步通信协议为:首先用一位起始位表示字符的开始,后面紧接着的是字符的数据代码,数据可以是5位、6位、7位或8位数据,在数据代码后可根据需要加入奇偶校验位,最后是停止位,其长度可以是1位,1.5位或2位。在异步通信中,字符间隔不固定,在停止位后可以是若干个空闲位。空闲位用高电平表示,用于等待传送。异步通信方式如图7-12所示。微型计算机即采用异步通信方式。异步通信异步通信2。同步通信
同步通信不给字符加起始位和停止位,而是把传送字符顺序连接组成一个数据块,在数据块开头加同步字符,在数据块末尾加校验字符,每次通信传送这样一整块数据,如图7-13所示。同步通信数据块中字符间隔为0。
(3)两种通信方式比较
从硬件设备的要求上看,异步通信可靠性高且硬件设备简单。同步通信方式比异步通信方式对硬件要求更高,设备更复杂。
从数据传输效率上看,同步通信方式的数据传输效率高于异步通信。异步通信一般能达到19.2Kbps,而同步通信很容易到达500Kbps以上。
4.串行通信的误码率和差错控制
串行通信不论采用何种方式,都应能保证高效率而无差错地传送数据。在任何一个远距离通信线路中,都不可避免地存在噪声产生的干扰而造成传送出现差错。因此,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方式有两种:
偶校验
环冗余码校验
偶校验用这种校验方式发送时,在每个字符的最高位之后都附加一个奇偶校验位,这个校验位可为“1”或为“0”,以便保证整个字符(包括校验位)中“1”的个数为偶数(偶校验)或为奇数(奇校验)。接收时,按照发送方所约定的同样的奇偶性,对接收到的每个字符进行校验。例如:发送按偶校验产生校验位,接收也必须按偶校验进行校验。当发现接收到的字符中“1”的位数不为偶数时,便出现了奇偶校验错,接收器可向CPU发出中断请求,或使状态寄存器相应位置位供CPU查询,以便进行出错处理。
环冗余码校验发送时,根据编码理论对发送的串行二进制数按某种算法产生一些校验码,并将这些校验码放在数据信息后一起发出。在接收端将接收到的串行数据信息按同样算法校验码,当信息位接收之后,接着接收CRC校验码,并与接收端计算出的校验码进行比较,若相等则正确,否则说明接收数据出错。接收器可用中断或状态标志位的方法通知CPU,以便进行出错处理。
7.4.2并行通信接口并行通信就是把一个字符的各数位用几条线同时进行传输。和串行通信相比,在同样的传输率下,并行通信的信息实际传输速度快,信息率高。当然,由于并行通信比串行通信所用的电缆要多,随着传输距离的增加,电缆的开销会成为突出的问题,所以,并行通信总是用在数据传输率要求较高,而传输距离较短的场合。实现并行通信使用的接口称为并行接口。并行接口用于在CPU与外部设备之间同时进行多位数据信息传送。并行接口的特点如下: 各数据位同时发送或接收,速度快; 数据线多,故常用于近距离数据传送。
并行接口并行接口能从CPU或I/O设备接收数据,然后再发送出去。因此,在信息传送过程中,并行接口起着锁存器或缓冲器的作用。通常,微机要求并行接口应具有以下功能和硬件支持:有两个或两个以上具有锁存器和缓冲器的数据交换端口,每个端口具有与CPU用应答方式(中断方式)交换数据所必须的控制和状态信号,具有与I/O设备交换数据所必须的控制和状态信号以及片选信号和控制电路。
典型的并行接口和外设连接如图
典型的并行接口和外设连接如图说明图中的并行端口用一个通道和输入设备相连,用另一个通道和输出设备相连。每个通道都配有一定的控制线和状态线。从图中可以看到,并行接口中应该有一个控制寄存器用来接收CPU对它的控制命令,有一个状态寄存器提供各种状态位供CPU查询。为了实现输入和输出,并行接口中还必定有相应的输入缓冲寄存器和输出缓冲寄存器。
8088的64线并行口
8088的64线并行口
一种基于8088CPU打印机并行口电路
一种基于8088CPU打印机并行口电路图
7.5模拟接口技术
在控制和测量系统中,被控制和被测量的对象往往是一些连续变化的物理量,如:温度、压力、流量、速度、电流、电压等,通常称为模拟量。当用计算机进行测量和控制时,必须先把它们转换成数字量,这种能够将模拟量转换成数字量的器件称为模拟/数字转换器,简称ADC或A/D。同样,计算机输出的数字量,也必须先转换成模拟量,才能对执行机构进行控制,这种能够将数字量转换成模拟量的器件称为数字/模拟转换器,简称DAC或D/A。计算机通过A/D或D/A转换器与外界模拟量接口的技术称为模拟接口技术。
7.5.1D/A接口技术
1.概述D/A接口是把数字量变换为模拟量的电路。其作用是把计算机的数字信号转换为模拟设备中连续变化的模拟信号,以便计算机控制外部模拟设备。数字量是由二进制代码按数位组合起来的,每位代码都有一定的权。为了实现数字量到模拟量的转换,必须将每位代码按其权值的大小转换成相应的模拟量,然后将各模拟分量相加,其总和就是与数字量相应的模拟量。如:1101B=123+122+021+120=13
。这就是D/A转换的基本原理。D/A转换器的主要参数
分辨率:分辨率是指D/A转换器所能产生的最小模拟量增量。对于n位的D/A转换器,分辨率为1/2n。
转换时间:指数字量输入到转换完成、输出达到最终值并稳定为止所需的时间。
转换精度:转换精度用于衡量D/A转换器在将数字量转换成模拟量时,得到的模拟量的精确程度,表示模拟量输出实际值与理论值之间的偏差。
线性度:指D/A转换器的实际转换特性与理想的转换特性之间的误差。通常用误差的最大值表示。一般情况下,D/A转换器的线性误差应小于±0.5LSB。
微分线性误差:表明任意两个相邻的数字编码输入转换器时,输出模拟量之间的关系。
2.典型D/A转换器芯片DAC0832DAC0832是8位D/A转换芯片,采用T形电阻网络,数字输入有输入寄存器和DAC寄存器两级缓冲,可以方便地与处理机接口。内部结构如图所示。
DAC0832结构DAC0832有两个数据缓冲寄存器:8位输入寄存器和8位DAC寄存器。其转换结果以一组差动电流I0UTl和IOUT2输出。DAC0832的8位输入寄存器DI7~DI0输入端可直接与CPU的数据线相连接。两个数据缓冲寄存器的工作状态分别受
和
控制。当
=0(低电平)时,8位输入数据寄存器的输出跟随输入而变化。当
由低电平变为高电平时,即
=l时,输入数据立即被锁存。同理,8位DAC寄存器的工作状态受
的控制。这样,DAC0832实际上有两级锁存器,8位输入寄存器为第一级锁存器,8位DAC寄存器为第二级锁存器。
DAC0832工作过程
当输入锁存允许(ILE)、片选()和写控制l()同时有效时,从数据总线D0~D7送来的数据被锁存入输入寄存器,当传送控制()和写控制2()信号同时有效时,输入寄存器的内容锁存入DAC寄存器,DAC使开始对锁入的8位数据进行转换,经过约1us在输出端(Iout1,Iout2)建立稳定的电流输出,若取电压输出,可外接运放器。
DAC0832可工作于下列方式
(1)输入输出直通即、、、接地,ILE接高电平,那么输入数据就直接送到D/A转换器进行电流转换。(2)单级锁存方式两级锁存器只存锁其一,另一直通。如、接地,DAC寄存器不锁存。ILE接高,和同时有效,输入数据才能通过输入寄存器,并直通DAC寄存器。(3)两级锁存方式两级锁存器均不直通。直至其相关电平有效时,才依次开通锁存器1和2,进行D/A转换。在实际应用中,可视具体情况,选择合适的工作方式。3.DAC0832与PC机的接口(1)单级锁存方式DAC0832工作在单级锁存方式下如图7-18所示。此时和直接接地,所以DAC寄存器不受控制。只要CPU执行一条输出指令,使得有效,有效地址译码使有效,输入寄存器和DAC寄存器均处于直通状态,所以立即开始D/A转换。在实际应用中,经常需要用到一个有规律变化的电压去控制某个过程。可以利用D/A转换器产生各种波形,如方波、三角波、锯齿波以及它们组合产生的复合波形和不规则波形等,这些复合波形利用标准的测试设备是很难产生的。
DAC0832与PC机的接口使用如图7-18所示的硬件连接图,编程改变0832输入的数字量,在VOUT锯齿波。设DAC的输入寄存器的地址为300H。DAC0832与PC机的接口产生锯齿波的程序如下:.
MOVCX,100;设置锯齿波周期个数
MOVDX,300H;设300H为0832片选的口地址X0:MOVAL,0;初始数字量VOUT:OUTDX,AL;输出D/A数据,即模拟电压
INCAL;数字量增值
JNZVOUT;输出一个锯齿波
LOOPX0;循环输出100个锯齿波.DAC0832与PC机的接口(2)两级锁存方式DAC0832工作在两级锁存方式下如图7-19所示。此时和一起连接,而和分别接地址译码器的两个输出端。这样输入寄存器和DAC寄存器有不同的地址码。CPU执行第一条输出指令,将数据送入输入寄存器的数据送入DAC寄存器。这两条输出指令所用的地址是不同的。DAC0832与PC机的接口DAC0832两级锁存方式
7.5.2A/D接口技术1.概述A/D接口的功能是把模拟量变换成数字量。它是模拟系统与数字系统或计算机之间的接口。A/D转换的三个步骤如下:
A/D转换,即模拟量转换成数字量,通常要经历采样、量化和编码三个步骤。
采样过程是通过模拟开关,将随时间连续的信号变成随时间不连续的信号。模拟开关每相隔一定的时间间隔T(采样周期)闭合一次,这样随时间连续的信号就变成了一串脉冲信号,这就是采样信号。如图7-20所示:
采样过程
采样过程:说明:采样后的信号虽然时间上不连续,但幅度仍连续,是一个模拟信号,不能直接被计算机进行处理,需要经过量化,转换为数字量,才能送入计算机进行处理。量化的过程就是A/D转换的过程。
为了处理方便,需要将量化值进行二进制编码,通常编码位数越多,量化引起的误差越小。对无正负区分的单极性信号,所有的二进制编码位表示其值的大小。对于有正负的双极性信号,要有一位符号位表示其极性。在A/D转换时,往往用分时的方法通过一个A/D转换器实现多个模拟信号的转换,并且在转换过程中使采样得到的模拟信号在一定的时间里保持在稳定的状态,以保证转换器正常转换,这就要求用多路模拟开关和采样保持电路来实现。
多路模拟开关
多路模拟开关,由多个模拟开关组成,如图7-21所示。多个模拟信号接至模拟开关的各个通道
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研八下英语Unit 6 Developing ideas《合作探究二》课件
- 人教 八年级 语文 下册 第2单元《6.恐龙无处不有》课件
- 2025 网络基础中网络职业技能培训的网络教学模式创新课件
- 2025 高中信息技术数据结构在电商用户购买偏好变化跟踪课件
- 2026年客栈租房合同(1篇)
- 2026年消防系统维修合同(1篇)
- 2026年旅游代开发合同(1篇)
- 2026年及未来5年市场数据中国金融仓储物流中心建设行业发展监测及投资战略咨询报告
- 现代社会调查方法解析
- 2025 高中信息技术数据与计算之算法的萤火虫算法课件
- 中国艺术研究院社会招聘试题
- 2026年教育局思想政治工作科工作计划
- 2025年安徽卫生健康职业学院单招职业适应性测试试题及答案解析
- 医保村卫生室管理制度
- 陕西从优 秀村干部中考录乡镇公务员考试真题
- 2025年军事设施建设与管理规范
- 儿科学营养性vitD缺乏
- “党的二十届四中全会精神”专题题库及答案
- 厂房基础注浆加固施工方案
- 人工智能技术应用规范
- 无锡银税协议书
评论
0/150
提交评论