12.2.2模拟I/O 通道建立1.模拟I/O 通道概述1)模拟输入通道微机系统的模拟输入通道,就是微机用来对单个或多个模拟量进行采集的A/D 通道,有时也叫前向通道。
建立模拟输入通道的目的,通常是为了进行参数测量或数据采集。
它的核心部件是A/D 转换器及其与微处理器的接口。
但在许多情况下仅有它们还不够,按照实际模数转换的四个步骤,常常还需要用到采样保持器等电路;在需要采集或检测多个模拟信号的A/D 通道中,一般还需要用到模拟多路开关。
2)模拟输出通道微机系统的模拟输出通道,则是微机用来发送单路或多路模拟信号的D/A 通道,有时也叫后向通道。
建立模拟输出通道的目的,主要是为了对外部参数进行控制或对被采集的参数进行形象的记录显示,如在X —Y 记录仪上绘出曲线,在示波器上画出波形等。
模拟输出通道的基本组成部分同样有三种:D/A 转换器及其与MPU 的接口,这是不可少的核心部件;数字或模拟寄存器;模拟多路开关。
具体组成取决于通道结构的形式。
2.模拟输入通道的结构形式模拟输入通道的结构形式根据实际需要选定。
粗分有单路通道和多路通道两种;细分,在单路、多路通道中又各有多种不同的形式。
1)不带采样保持器的单路模拟输入通道这种模拟输入通道实际上就是第十一章讲过的ADC 及其与MPU 的接口,结构最简单,如图12.2所示。
一般只采集一个点的直流或低频信号时,可采用这种通道结构。
那么,信号的频率低到什么程度可以用它呢?要求模拟输入电压的最大变化率与A/D 转换器的转换时间之间应满足下列关系:maxdtdv i ≤CONV nFS T V 12⋅其中:v i ——模拟输入电压;V FS ——ADC 满刻度电压值;n ——ADC 分辨率(位数);T CONV——ADC 转换时间。
为了更便于理解,不妨将上面关系式变换一下:ΔV iCONVi T dtdv ⋅=maxmax≤q V nFS=2该式表明,在ADC 的转换时间内,输入电压的最大变化ΔV i max 应小于ADC 的量化电平q 。
例如,A/D 转换芯片的V FS =10V,n=10位,T CONV =0.1s ,则要求输入电压的最大变化率不能超过0.1V/s 。
如果超过这个值,在采用同样ADC 芯片的情况下,就不能采用这种简单的模入通道,而要采用带采样保持器的模入通道;如果还想采用这种简单的模入通道,就必须改换速度更快或分辨率更高的ADC 芯片。
2)带采样保持器的单路模拟输入通道当模拟输入信号的变化率比较大时,逐次比较式ADC 会产生相当大的非线性误差,这是它的一个缺点。
为了改善这种情况,一般需要在ADC 前面增加一个采样保持电路(S/H),使模拟输入通道变为如图12.3所示的形式。
图12.2不带采样保持器的单路模拟输入通道图12.3带采样保持器的单路模拟输入通道上述两种单路模拟输入通道只能采集一个模拟信号。
当需要采集多个模拟信号时,就必须使用多路模拟输入通道结构。
多路模拟输入通道结构一般有两类:各路独立转换的多路模入通道;各路分时转换的多路模入通道。
后者的结构形式通常又有两种:同时采样、分时转换型和分时采样、分时转换型。
下面分述这几种多路模拟输入通道结构。
3)各路独立转换的多路模拟输入通道这种通道结构的特点是各路模拟输入信号都对应有自己独立的A/D转换通道,因此可以允许对各路信号同时采样、同时转换,同时得到转换结果,所以也叫同时采样、同时转换型多路模拟输入通道,如图12.4所示。
这种结构的采样频率可以达到几乎与单路一样高,特别适合于要求描述系统性能的各项参数必须是同一时刻数据的高速采集、控制系统。
4)同时采样、分时转换型多路模拟输入通道这种结构比前几种多了一个模拟多路开关(MUX—Multiplexer),以适应分时转换的需要,如图12.5所示。
多路开关在这里是起多路选择的作用,通过它可对各路采样保持器的输出模拟信号顺序地或随机地切换到一个公共的ADC进行转换。
所以这种结构的工作原理和特点是:各路同时采样、分时转换,或叫并行采样、串行转换。
图12.4各路独立转换的多路模拟输入通道图12.5同时采样、分时转换型多路模拟输入通道这种结构的模拟输入通道,只用了一个ADC,与前一种结构相比,其优点是显然的,即节省了硬件。
但速度却必然降低,精度也受到影响(多路开关会引入新误差)。
而且一般说来,多路传输的信号数目越多,采样频率就越低。
可见,通过分时转换来获得硬件上的简化和成本的降低,是以牺牲一定的转换速度和精度为代价的。
所以多路信号分时共享ADC的结构方案只是在总的系统的精度和速度允许压缩的情况下才可以应用。
不过,在实际的测控系统中,被测信号的变化速度与目前ADC芯片所能达到的转换速度相比,大多是很慢的。
因此这种结构在实际中,特别在多点参数的巡回检测系统中,应用非常广泛。
正因如此,为了适应方便组成这种通道结构的需要,集成电路生产厂家已推出了一些多通道型ADC芯片,如ADC0808/0809(8位8通道)、ADC0816/0817(8位16通道)等。
5)分时采样、分时转换型多路模拟输入通道如图12.6所示,这种模拟输入通道结构将各路分时共享的范围扩大到全套通道设备,通过多路开关将各路模拟输入信号分时输入到采样保持器,经采样保持后进行A/D转换。
这种通道结构在精度上与上一种结构差不多,速度更慢些,但进一步节省了硬件,降低了成本。
所以在实际的巡回检测系统中比上一种结构用得还多。
上面只是介绍了几种常见的模拟输入通道结构,要想使各种结构的模拟输入通道正常地工作,关键是从硬件和软件两方面设计好通道接口。
比如对于图12.6所示的多路模拟输入通道,其接口起码应完成以下几项工作:(1)向MUX发出通道切换控制信号(顺序或随机切换)。
(2)向采样保持器发出控制信号。
(3)向ADC发出启动转换信号。
(4)向MPU传送A/D转换结束信号。
(5)将A/D转换结果送到MPU的数据存储区。
并且,前三种设备控制信号必须满足正确的时序关系。
3.模拟输出通道的结构形式和模拟输入通道一样,同样有单路、多路之分。
1)单路模拟输出通道这实际上就是第十一章讲过的DAC及其与MPU的接口,如图12.7所示。
图12.6分时采样、分时转换型多路模拟输入通道图12.7单路模拟输出通道2)多路模拟输出通道多路模拟输出通道主要是解决数据如何分配或数据如何存储的问题。
目前使用的数据分配方法主要有数字分配和模拟分配两种。
(1)数字分配型多路模拟输出通道这种通道的结构形式其实又有两种。
图12.8给出的是其中之一。
每个通道都有一个DAC 和一个数字数据寄存器。
MPU按程序安排以顺序或随机形式把数据分配给各个数据寄存器,再经各个DAC转换,得到多路模拟输出。
这里各个寄存器是起保持各路输出数据的作用,但保持的不是D/A转换后的模拟量,而是D/A转换前的数字量。
相当于MPU将表示各个输出数据的数字量分配给相应通道,所以叫做数字分配型多路模拟输出通道。
数字分配的任务是由MPU分时地给出各个寄存器输入控制信号来完成的,而这些寄存器输入控制信号实际上就是各寄存器的端口地址译码信号。
这种通道结构的特点是:各路通道分时送数,分时D/A转换,分时输出模拟量。
图12.8中每个模拟输出通道上的寄存器和DAC,其实可以用一片带输入缓存器的DAC芯片来代替,就是说,如果DAC芯片上含有输入缓存器(大多数DAC芯片都是如此),则图中的各个数据寄存器不必另加。
数字分配型多路模拟输出通道的另一种结构形式如图12.9所示。
每个通道上比图12.8中多了一级寄存器。
各路数字量由MPU分时送入相应的缓冲寄存器,然后同时打入各自的DAC输入寄存器,使各路同时进行D/A转换,同时输出转换结果。
可见,这种通道结构的工作特点是:各通道分时送数,同时转换,同时输出模拟量。
因此很适合于用在对描述系统性能的各项参数数据需要同时更新的实时控制等场合。
图12.8数字分配型多路模拟输出通道结构之一图12.9数字分配型多路模拟输出通道结构之二同样,如果DAC芯片内集成了两级输入缓冲寄存器,构成这种通道结构就很方便,不必外加图中两级寄存器,比如用前面讲过的DAC0832或DAC1210即可直接构成这种多路模拟输出通道。
(2)模拟分配型多路模拟输出通道这种通道的结构形式一般如图12.10所示。
这种结构,各路输出通道共用一个DAC,各用一个保持器。
MPU输出数据经D/A转换后得到模拟电压,然后由模拟多路开关将模拟电压分配到相应通道的保持器去再输出。
模拟多路开关在这里起的是多路采样器或者多路分配器的作用,而且分配的是多路模拟信号,所以称这种结构为模拟分配型多路模拟输出通道结构。
如果改从保持器的角度看,它们起的是存储各路模拟输出量的作用,所以又把这种结构称为模拟存储型多路模拟输出通道。
要是将图12.10中各个保持器都改成采样保持器,则多路模拟开关可以取消,从而可得到另一种形式的模拟分配型多路模拟输出通道结构,如图12.11所示。
图12.10模拟分配型多路模拟输出通道结构之一图12.11模拟分配型多路模拟输出通道结构之二图12.11和图12.10两种通道结构本质上是一样的。
但当通道数目较多时,前者比后者的造价要高得多,因为一个通用采样保持电路芯片比一个简单的保持器芯片要贵很多。
实际上,无论采用模拟多路开关加保持器,还是采用采样保持器,都是依靠电容记忆的功能来保持模拟信息,而这种保持的作用由于电容存在着漏电而不可能长久不变,随着时间的延长,保持的电压会偏离开关刚断开时的值。
所以在实际中当需要将模拟输出信号保持很长时间时,必须通过软件来定时刷新数据,刷新方法是编制程序,使输入到DAC的数字量在一个输出周期内不断循环更新。
4.模拟多路开关与采样保持器从前述模拟I/O通道的各种结构形式中可看出,模拟I/O通道除了以第十一章介绍的ADC和DAC为核心部件外,还常常需要使用模拟多路开关和采样保持器等部件。
现将这两种模拟器件作一简介。
图12.12模拟多路开关原理示意图1)模拟多路开关AMUX(Analog Multiplexer)能够分时地将多个模拟信号接通至一根线上的部件叫做模拟多路开关,如图12.12所示。
可以看出,模拟多路开关实际上是由多个模拟开关加上通道选择译码电路所组成。
这和数字电路中的多路选择器、多路分配器是相似的,差别只在于那里接通(选择或分配)的是数字信号,而这里接通的是模拟信号。
模拟多路开关按被接通模拟信号的传输方向分,有单向和双向两种。
单向模拟多路开关一般只能用于“多到一”分时切换,相当于数字多路选择器的功能;双向模拟多路开关则既能用于“多到一”切换(选择),又可用于“一到多”切换(分配),兼具有类似数字多路选择器和多路分配器的功能。
图12.12所示的是单向开关。