1、数字化医疗仪器,第二章 医学信号数据采集系统设计,数据采集系统是医学信号数字化的基础,人体的各种物理量,如生物电位、心音、体温、血压、血流、肌电、脑电、神经传导速度等,采用各种传感器将其变成电信号,经由诸如放大、滤波、干扰抑制、多路转换等信号检测及预处理电路,将模拟量的电压或电流送模/数转换器(A/D),变成适合于微处理机使用的数字量供系统处理。 同样,微处理器处理后的数据往往又需要使用数/模转换器(D/A)及适应的接口将其变换成模拟量送出,如图2-1所示。,模拟量输入/输出通道示意,A/D转换器及其接口统称为模拟量输入通道;D/A转换器及相应接口称为模拟量输出通道。,2.1 模拟量输入通道2
2、.1.1 A/D转换器概述,一概述 A/D转换器是将模拟量转换为数字量的器件,这个模拟量泛指电压、电流、时间等参量,但通常情况下,模拟量是指电压参量。在A/D转换的过程中通常要完成采样、量化和编码三个步骤。,1 采样,待采样的模拟信号是连续的,可看成无限多个瞬时值组成,而A/D转换以及计算机处理需要一定的时间,不可能把每一个瞬时值都转换成数字量。必须在连续变化的模拟量上按周期取样的规律取出某一些瞬时值来代表这个模拟量,这个过程就是采样。 采样是通过采样保持电路实现的,采样器(电子模拟开关)在控制脉冲s(t)的控制下,周期性地把随时间连续变化的模拟信号f(t)转变为时间上的离散的模拟信号fs(t
3、)。,仅在采样瞬间允许输入信号f(t)通过采样器,其它时间断开。采样器的输出fS(t)是一串窄脉冲,脉冲的包络线是与输入信号相同的。,图2-2 采样器输入输出波形,输出信号能否如实反映原始输入信号?,采样得的信号fs(t)的值和原始输入信号f(t)在相应的瞬时值相同,因此采样后的信号在量值上仍然是连续的。 可以证明:当采样器的采样频率fs高于或至少等于输入信号最高频率fm的两倍时(即fs 2fm时),采样输出信号fs(t)(采样器脉冲序列)能代表或恢复成输入模拟信号f(t),这就是采样定理。,如何知道输入信号f(t)的频率,特别是它的最高频率fm ?,信号“最高频率”指的是输入信号经频谱分析后
4、得到的最高频率分量。“恢复”指的是样品序列fS(t)通过截止频率为fm的理想低通滤波器后,能得到的原始信号f(t)。 在应用中,一般取采样频率fs为最高频率fm 的48倍。 简单模拟信号的频谱范围是已知的,如温度低于1Hz,声音为20Hz20000Hz。复杂信号要用傅立叶变换算出,或用频谱分析仪测得,也可用试验的方法选取最合适的fs 。,2.量化,所谓量化,就是以一定的量化单位把数值上连续的模拟量转变为数值上离散的阶跃量的过程。 量化相当于只取近似整数商的除法运算。 量化单位用q表示,对于模拟量小于一个q的部分,可以用舍掉的方法使之整量化,通常为了减少误差采用“四舍五入”的方法使之整量化。这种
5、量化方法的输入输出特性如图2-3所示,图中虚线表示量化单位为0时的特性,实线表示实际特性。,图2-3 量化特性和量化误差,量化过程舍入误差为量化误差。以=x(t)-y(t)表示量化误差,量化误差有正有负(图2-3(c)),最大为q/2,平均误差为0。最大误差随量化单位而改变,q愈小也愈小。,3 编码,编码往往涉及到A/D转换的具体应用,若考虑为双极性信号,可采用补码方式。,二A/D转换器的技术指标1分辨率,A/D转换器的分辨率:转换器能分辨最小的量化信号的能力。 分辨率取决于A/D转换器的位数,习惯上以输出二进制数的位数来表示。 如ADC0809转换器的分辨率为8位,表示可以用28个二进制数对
6、输入模拟量进行量化,其分辨率为1LSB(最低有效位值),若最大允许输入电压为10V,则1LSB=10V/ 28 =39.06mV。,2. 转换精度,转换精度反映实际A/D转换器与理想A/D转换器量化值上的差。用绝对或相对误差来表示(1)绝对精度 指的是在A/D输出端产生给定的数字代码,实际需要的模拟输入值与理论上要求的模拟输入值之差(中间模拟值)。(2)相对精度 指的是A/D满度值校准以后,任一数字输出所对应的实际模拟输入值(中间值)与理论值(中间值)之差。,3转换速率,转换速率:指A/D转换器在每秒钟内所能完成的转换次数。 这个指标也可以表述为转换时间,即A/D转换从启动到结束所需的时间,两
7、者互为倒数。 例如,某A/D转换器的转换速率为5KHz,则其转换时间是200s。,4.满刻度范围,满刻度范围:指A/D所允许输入电压范围。如(05)V,(010)V,(-5+5)V等。 满刻度只是个名义值,实际的A/D转换器的最大输入值总比满刻度小1/2n(n为转换器的位数)。这是因为0值也是2n个转换器状态中的一个。 例如12位的A/D转换器,其满刻度值为10V,而实际允许的最大输入电压值为: 10V*212-1/212=9.9976V。,A/D转换器的种类,常用的有逐次逼近式、积分式、并行式等三类。 逐次逼近式:转换时间与转换精度比较适中,转换时间一般在1100s之间,转换精度一般在0.1
8、%上下,适用于一般场合。 积分式:转换时间一般在ms级。适用于要求精度高,但转换速度较慢的仪器中使用。 并行式:采用并行比较,转换速率可以很高,其转换时间可达ns级,可用于医学图象处理等转换速度较快的仪器中。,2.1.2逐次逼近式ADC 逐次逼近式A/D原理概述,N位的逐次逼近式A/D转换器(图2-4),由N位寄存器、N位D/A转换器、比较器、逻辑控制电路、输出缓冲器等五部分组成。 工作原理:启动信号作用后,时钟信号先通过逻辑控制电路使N位寄存器的最高位DN-1为1,以下各位为0,这个二进制代码经D/A转换器转换成电压U0(此时为全量程电压的一半)送到比较器与输入模拟电压UX比较。若UXU0,
9、则保留这一位;若UXU0,则DN-1 位置0。,逐次逼近式A/D原理概述,DN-1位比较完毕后,再对下一位即DN-2位进行比较,控制电路使寄存器DN-2为1,其以下各位仍为0,然后再与上一次DN-1结果一起经过D/A转换后再次送到比较器与UX相比较。如此一位一位地比较下去,直至最后一位D0比较完毕为止。 最后,发出EOC信号表示转换结束。这样经过N次比较后,N位寄存器保留的状态就是转换后的数字量数据。,图2-4 逐次逼近式A/D转换器的结构,A/D转换器实际转换过程已不重要,目前,逐次逼近式A/D转换器大都做成单片集成电路的形式,使用时只需发出A/D转换启动信号,然后在EOC端查知A/D转换过
10、程结束后,取出数据即可。 这类芯片有ADC0809、ADC1210、ADC7574、AD574、TLC549、MAX1241等是应用得最多的A/D转换器类型。,ADC0809芯片及其接口,ADC0809是8路8位逐次逼近式A/D转换器。它能分时地对8路模拟量信号进行A/D转换,结果为8位二进制数据,结构如图2-5所示,它由三大部分组成:第一部分是:8路输入模拟量选择电路;第二部分是:一个逐次逼近式A/D转换器;第三部分是:三态输出缓冲锁存器。,ADC0809原理结构图,图2-5 ADC0809原理结构图,8路输入模拟量选择电路,8路输入模拟量选择电路: 8路输入模拟量信号分别接到IN0到IN7
11、端,究竟选通哪一路去进行A/D转换由地址锁存器与译码器电路控制,见右表所示。 A,B,C为输入地址选择线,地址信息由ALE的上升沿打入地址锁存器。,表2-1 ADC0809真值表,逐次逼近式A/D转换器,START为启动信号,要求输入正脉冲信号,在上升沿复位内部逐次逼近寄存器,在下降沿启动A/D转换。EOC为转换结束标志位,“0”表示正在转换,“1”表示一次A/D转换的结束。CLOCK为外部时钟输入信号,时钟频率决定了A/D转换器的转换速率,ADC0809每一通道的转换约需(6673)个时钟周期,当时钟频率取640KHz时,转换一次约需100s时间,这是ADC0809所能允许的最短转换时间。,
12、三态输出缓冲锁存器,A/D转换的结果就是由EOC信号打入三态输出缓冲锁存器。 OE为输出允许信号,当向OE端输入一个高电平时,三态门电路被选通,这时便可读取结果。否则缓冲锁存器输出为高阻态。,ADC0809的时序图,ADC0809的时序图如图2-6所示。 启动ADC0809后,EOC约在10s后才变为低电平,因而在用START启动0809转换器后,不能立即通过检测EOC来判断转换是否结束,而应等待约10s再检测,否则会出现错误结果。,图2-6 ADC0809时序图,ADC0809与单片机8031接口电路,ADC0809输出带有三态输出缓冲锁存器,因而不加I/O接口芯片,可以直接接到微机系统的总
13、线上。 ADC0809的时钟信号(CLOCK)由8031的ALE端的输出脉冲(其频率为8031时钟频率的1/6)经二分频得到,8031由地址线P2.0和读写控制线启动ADC0809的START、地址锁存ALE和输出允许OE信号。A/D转换结束信号EOC反相后连至8031的INT1(P3.3)。模拟输入通道地址的译码输入信号A,B,C由P0.0P0.2提供。根据以上连接,0809的地址为FEFFH。,图2-7 ADC0809与单片机8031接口电路,A/D转换常用的软件控制方式,常用的控制方式主要有:程序查询方式、延时等待方式和中断方式。1程序查询方式微处理器向A/D转换器发出启动信号后,读入转
14、换结束信号,查询转换是否结束;若转换结束,可以读入数据;否则再继续查询,直至转换结束再读入数据。微机“查询”消耗时间,效率低,但比较简单,可靠性高。实际应用还是比较普遍的。,A/D转换常用的软件控制方式,2延时等待方式启动A/D后,根据A/D转换所需的时间(如ADC0809为100s)软件延时等待,延时结束,读入数据。这种方法可靠性高,不占查询端口。3中断方式微处理器启动A/D转换后可转去处理其他事情,A/D转换结束便向微处理器发出中断申请信号,微处理器响应中断后再来读入数据。微处理器与A/D转换器并行工作,提高了工作效率。,ADC0809与单片机8031接口实例,以下图示的ADC0809与单
15、片机8031接口电路,给出查询、延时和中断这三种方式下的转换程序。 转换程序是将由IN0端输入的05V模拟信号转换为对应的数字量00HFFH,然后再存入8031内部RAM的30H单元中。,a.查询方式,MOV DPTR,#0FEFFH MOV A,#00H ;赋通道0地址 MOVX DPTR,A ;启动IN0转换 MOV R2,#20H DLY: DJNZ R2,DLY ;延时,等待EOC变低WAIT: JB P3.3,WAIT ;查询,等待EOC变高 MOVX A,DPTR MOV 30H,A ;结果存30H,b.延时等待方式,MOV DPTR,#0FEFFH MOV A,#00H ;赋通道
16、0地址 MOVX DPTR,A ;启动IN0转换 MOV R2,#40H WAIT: DJNZ R2,DLY ;延时约120uS MOVX A,DPTR MOV 30H,A ;结果存30H,c.中断方式,主程序: MAIN:SETB IT1 ;选INT1为边沿触发SETB EX1 ;允许INT1中断 SETB EA ;打开中断MOV DPTR,#0FEFFHMOV A,#00H MOVX DPTR,A ;启动A/D转换 ;执行其他任务,中断服务程序INT1: PUSH DPL ;保护现场 PUSH DPH PUSH A MOVDPTR,#0FEFFH MOVX A,DPTR ;读转换结果 MO
17、V30H,A ;结果存30H MOVA,00H MOVX DPTR,A ;启动下一次转换 POP A POP DPH POP DPL ;返回现场 RETI ;返回,AD574芯片及其接口,AD574是12位快速逐次逼近型A/D转换器,其最快转换时间为25s,转换误差为1LSB。AD574具有下述几个基本特点:片内含有电压基准和时钟电路等,因而外围电路较少;数字量输出具有三态缓冲器,因而可直接与微处理器接口;模拟量输入有单极性和双极性两种方式,接成单极性方式时,输入电压范围为010V或020V,接成双极性方式时,输入电压范围为-5V5V,-10V10V。,图2-8 AD574原理与引脚图,AD5
18、74原理与主要引脚信号定义,CS :片选信号,低电平有效。CE:片使能信号,高电平有效。R/C :读/启动信号,高时读A/D转换结果,低时启动A/D转换。12/8 :输出数据长度控制信号,高为12位,低为8位。STS:工作状态信号,高为正在转换,低为转换结束。,A0:有两种含义:当R/C为低时,A0为高,启动8位A/D转换;A0为低,启动12位A/D转换。当R/C为高时,A0为高,输出低4位数据;A0为低,输出高8位数据上述5个信号的组合所对应的A/D转换器的状态见表2-2所示。STS:工作状态信号,高表示正在转换,低表示转换结束。REF IN:基准输出线。BIP OFF:单极性补偿。DB11
19、DB0:12位数据线。10VIN,20VIN:模拟量输入端。,表2-2 AD574的操作,表2-2 AD574的操作,AD574与8031单片机的接口电路,根据AD574各引脚的功能,8031单片机与AD574的接口电路可按如图2-9所示电路来安排。由于8031的高8位地址P2.0P2.7没有使用,故可采用寄存器间接寻址方式。其中启动A/D的地址为1FH,读出低4位数地址为7FH,读出高8位数地址为3FH。,图2-9 AD574与8031单片机的接口电路,AD574与8031单片机的接口电路,图中STS可有三种接法以对应三种控制方式:(1)如STS空着,单片机只能采取延时等待方式,在启动转换后
20、,延时25s以上时间,再读入A/D转换结果;(2)如STS接单片机一条端口线,单片机就可以用查询的方法等待STS为低后再读入A/D转换结果;(3)如STS接单片机外部中断线,就可以在引起单片机中断后,再读入A/D转换结果。,采用延时等待方式的控制程序清单:MOVR0,#1FH;启动MOVXR0,AMOVR7,#10H;延时DJNZR7,$MOVR1,#7FH;读低4位MOVXA,R1MOVR2,A;存低4位MOVR1,#3FH;读高8位MOVXA,R1MOVR3,A;存高8位SJMP$,单极性模拟输入方式接线的调整,单极性模入方式(图2-9)中, 10VIN输入电压范围为0V10V, 1LSB
21、对应的模拟电压为2.44mV;2 0VIN输入电压范围为0V20V,1LSB对应的模拟电压为4.88mV。R1用于零点调整,R2用于满刻度校准。方法为: 如输入电压接10VIN端,调整R1,使输入模拟电压为1.22mV(即 12LSB)时,输出数字量从0000 0000 0000变到0000 0000 0001; 调整R2,使得输入电压为9.9963V时,数字量从1111 1111 1110变到1111 1111 1111。,双极性模拟输入方式的调整,对于双极性模入方式,把REF IN, REF OUT,和 BIP OFF三个引脚的接线按图2-10重新安排,双极性模入方式零点与满刻度校准方法与
22、单极性方式近似。需要注意的是,输入模拟量与输出数字量之间的对应关系为: 10VIN端输入时: 5V0V十5V 对应 000H800HFFFH 20VIN端输入时:一10V0V十10V 对应 000H 800HFFFH,图2-10 AD574双极性模拟输入接线方式,MAX1241芯片及其接口,以串行数据形式输出的A/D转换器具有引脚少、体积小的特点;接口所需的IO位数也比较少。有利于提高仪器的集成度和减小体积,能方便、廉价地实现需要进行模拟与数字隔离的场合。 串行输出的AD转换器虽有多种型号,接口时序也有所不同。但接口的实现和控制方法还是基本相同的。现以MAX1241为例来说明串行输出ADC接口
23、技术。,MAX1241串行输出单片ADC简介,MAX1241是一种低功耗、低电压的12位逐次逼近型ADC,最大非线性误差小于1LSB,转换时间9s。采用三线式串行接口,内置快速采样保持电路。其结构和引脚定义如图2-11所示。,图2-11 MAX1241内部结构和管脚定义,MAX1241串行输出单片ADC简介,MAX1241采用8引脚DIP或SO形式封装,完善的内部电路几乎不需要外围器件即能工作。 内置采样/保持电路在AD转换开始时,自动捕捉信号,最大捕捉时间 1.5s。 12位逐次逼近型 ADC的并行输出经输出移位寄存器变换为串行输出,整个工作过程受控于三线串行接口。,表2-3 MAX1241
24、管脚功能,MAX1241采用单电源供电,动态功耗在以每秒73K转换速率工作时,仅需09mA电流。在停止转换时,可通过控制端使其处于休眠状态,以降低静态功耗。休眠方式下,电源电流仅1A。,MAXI 241的工作时序,MAXI 241的工作时序(图2-12):每次转换由芯片选通信号的下降沿触发,但此时驱动时钟 SCLK必须为低。 AD转换启动后,内部控制逻辑切换采样保持电路为保持状态,并使输出数据线DOUT变低。在整个转换期内,SCLK应保持低电平。转换结束时DOUT由低变高。 一次转换结束,内部控制逻辑将自动把采样保持器切换为捕捉状态。,图2-12 MAX1241工作时序,MAXI 241的工作
25、时序,对MAX1241转换结果的输入在转换结束后进行,由驱动时钟SCLK的下降沿触发一位数据输出。 在下一个SCLK脉冲下降沿到来前,该位数据将始终保持在DOUT输出端上。 数据输出从最高位开始,每个SCLK脉冲下降沿输出一位。第12个SCLK的下降沿输出最低位。在数据输出周期内,必须保持低电平,若在第13个SCLK下降沿后,仍保持低电平,DOUT则一直保持为低电平。,2MAX1241 与 803151的接口,MAX1241与微机接口的实现有二种选择,一是使用普通端口,利用程序实现串行输入。另一种则是直接使用串行接口。前者输入速度低,后者需占用串行通信口。(l)MAX1241与 8031/51
26、的通用 IO方式接口: MAX1241与 8031/51的通用 IO接口如图2-13所示。接口使用三位通用 IO端口P1.0P1.2。其中P1.0用于片选信号,P1.1产生驱动脉冲SCLK , P1.2为数据输入 。,控制程序如下:控制子程序完成一次A/D转换和输入,输入数据存放于R0,R1寄存器。;寄存器及端口定义:CS:BIT P1.0 ;片选信号位DOUT:BIT P1.2;串行数据输入位SCLK:BIT P1.1;驱动时钟位DATA_BH:EQU R0;高字节数据存储单元DATA_BL:EQUR1;低字节数据存储单元CONT_H:EQUR0;高位取数计数器CONT_L:EQU R1;低
27、8位取数计数器,;控制子程序SADC_R: XRLA,A ;清A MOV CONT_H,04H ;高8位计数 MOV CONT_L,08H ;低8位计数 CLR SCLK ;SCLK置“0” CLR CS ;选中1241,启动转换SADC END:JNB DOUT,SADC_ END ;检测A/D转换结束READ_H: SETBSCLK CLRSCLK ;产生一个驱动时钟 MOV C,DOUT ;输入一位数据 RLC A ;数据移位至ACC0 DJNZ CONT_H,READ_H ;高 4位输入结束判别 MOV DATA_BH,A ;高 4位数据送寄存器,READ_L: SETBSCLK CL
28、RSCLK ;产生一个驱动时钟 MOV C,DOUT ;输入一位数据 RLC A ;数据移位置ACC0 DJNZ CONT_L,READ_L;低8位输入结束判别 MOV DATA_BL,A ;低8位数据送寄存器 SETBSCLK CLRSCLK ;清 DOUT输出 SETB CS ;撤消片选 RET,(2)MAX1241与803151串行接口,当使用803151串行口实现与MAX1241联接时,串行口应工作于同步移位寄存器方式(方式0)。此时,串行口的接受数据端RXD(P3.0)被用于接受MAX1241的输出数据。而发送数据端TXD(P3.1)则被用于提供驱动时钟,为满足时序要求;应将其反相。
29、片选信号仍使用P1.0。接口电路如图2-14所示。,8031/51串行接口控制程序,由于8031/51串行口一次只能接受8位数据,故12位AD转换结果必须分二次接受。 同前述程序直接输入一样,控制程序必须检测AD转换结束信号,即DOUT的上跳变,只要当DOUT变为高电平后,方能启动串行接受。 接口控制程序如下所示:,MAX1241 ADC串行接口控制子程序;寄存器及端口定义CS: BIT P1.0EOC: BIT P3.0DATA_BH: EQU R0 ;接受数据高位存储寄存器DATA_BL: EQU R1 ;接受数据低位存储寄存器;串行口设置子程序SPOR_SET:CLR ES ;禁止串行中
30、断 MOV SCON,00H ;串行口为方式0,停止接受 SETB CS ;禁止 ADC RET,;接口控制子程序SAD_SR: CLR CS;启动 AD转换AD_NEND: JNB EOC,AD_NEND;等待转换结束 SETB REN;启动串行接收FR_NEND: JNB RI,FR_NEND;等待接收结束 MOV DATA_BH,SBUF ;从串行数据缓冲器输 入高8位数据 CLR RI ;启动第二次接收SR_NEND: JNB RI,SR _NEND ;等待接收结束 MOV DATA_BL,SBUF ;从串行数据缓冲器 输入低4位数据 CLR REN ;停止接收 SETB CS ;禁止
31、ADC RET,213 积分式ADC,大多用于低速、廉价的积分型AD转换器中,几乎无一例外地采用了十进制编码方式,每次输出一位并行十进制编码,整个转换结果分若干次输出。这种低速、廉价但高精度、强抗干扰的集成A/D转换器以其优良的性能价格比被广泛应用于低速测量领域。,1MC14433 3位双积分ADC,MC14433是具备零漂补偿和采用CMOS工艺制造的3位单片双积分A/D转换器,最大输出数码1999,具有功耗低、输入阻抗高和自动调零、自动极性转换功能。其转换精度为土( 005 Vi 1LSB),输入电阻大于100M,对应时钟频率范围为 50150kHz,转换速度为每秒310次。内部结构框图及管
32、脚功能如图2-15所示。,图2-15 MC14433 ADC结构框图及管脚功能,MC14433采用土5V供电电源,只需一个正基准电压VR ,其与输入电压Vi成下列比例关系 输出读数= 1999 (2-1) 当满量程时Vi= VR 。 Vi输入有2V和200mV两个量程挡。当满度电压为1999V时,VR取2000V;当满度电压为1999mV时, VR取2000mV。当然,也可根据需要在200mV2V之间任意选择VR的值,此时,读数的一个LSB所对应的输入电压则需通过式2-1求得。,MC14433输出时序,MC14433由内部电路自动控制转换,无需外加启动信号,输出数据通过Q3Q0输出端,逐位输出
33、BCD码,并不断重复。并通过 DS1DS4指明现行输出 BCD码是十进制位中的某一位(千位个位)。A/D转换结束,在EOC端输出一正脉冲,宽度为一个时钟周期。输出数据更新需通过DV端的正跳变信号实现,通常将EOC与其短接。其整个输出时序如图2-16所示。在千位输出时,携带输出极性及超量程信息,如表2-4所示。,图2-16 MC14433输出时序,MC14433千位编码定义,表2-4 MC14433千位编码定义,2MC14433ADC与 803151接口,MC14433输出不具有三态缓冲,故必须通过接口方可挂接于微机总线。对于803151单片机而言,最简接的方法是直接与其I/O端口相连。因 MC
34、14433为低速 ADC,所以宜采用中断方式接口。图2-17给出了其与 8031/51的接口电路。,图2-17 MC14433ADC与 8031/51的接口,图2-18 数据格式,MC14433ADC与 803151接口,接口使用P1口,高4位输入BCD码,低4位输入位选信号DS1DS4。 EOC的下跳沿触发中断。按MC14433的输出时序和接口形式,控制程序如下所示。 控制程序由中断启动,每次输入一个完整的转换结果,并存入803151内部RAM。存入数据格式如图2-18所示。,214并行或特高速ADC,在高速数据采集领域,如图像处理、频谱分析等,双积分式和逐次逼近型AD转换器的转换速度都不能
35、满足要求。 并行型AD转换器的速度高,它将输入模拟电压Vi与一系列标准电压同时进行比较,将比较的结果经过编码后得到二进制数据。,并行或特高速ADC原理,3位二进制并行型AD转换器(图2-19)由标准电压源经电阻分压后得到m(m2n-1)个标准电压(n是转换后得到二进制位数); 每一个分压后的标准电压与输入模拟电压Vi同时(并行)进行比较,若输入模拟电压大于标准电压,则相应的比较器输出为“真”(即为“1”),反之为“假”(即“0”); 经数字编码后,输出即为等效于输入模拟量的二进制数据。 一个n位二进制并行型AD转换器需要m(m2n-1)个比较器。,图2-19 并行型AD转换器原理图,几点说明:
36、,由图可知,并行型A/D转换器的精度取决于几个因素: 分压电阻精度要高,主要是一致性要好; 比较器的灵敏度要能鉴别两个相邻标准电压; 标准电压源VR的精度也有一定的要求。并行ADC的速度主要取决于比较器的响应速度及数据寄存器(D触发器)的响应时间。n位并行型ADC转换器需要( 2n 1)个比较器,成本相当昂贵。,并行型A/D转换器的应用,输入信号是双极性时,只需将参考电压的接地端改接为负电源端。 这种转换器速度极快,但结构复杂,无法做到高精度,价格也非常昂贵,如图像处理及模式识别等领域。因为模式识别及图像处理一帧画面有数以2.2万计的像素,为了适应视觉的要求必须每秒钟处理几十帧画面。如果每秒钟
37、处理30个画面,则相当每秒钟要对6.6兆个像素进行处理,所以对A/D转换速度要求极高。,22模拟量输出通道,模拟量输出通道的作用是将经智能化医学仪器处理后的数据转换成模拟量送出,它是许多智能设备的重要组成部分。模拟量输出通道一般由DA转换器、多路模拟开关、采样保持器等组成。本节侧重讨论DA转换器及其与微处理器的接口。,221 DA转换器概述一、D/A转换原理,DA转换器是由电阻网络、开关及基准电源等部分组成,目前基本都已集成于一块芯片上。为了便于接口,有些 DA芯片内还含有锁存器。DA转换器的组成原理有多种,采用最多的是R2R梯形网络DA转换器,图2-20显示了一个4位DA转换器的原理图。,D
38、/A转换原理,一般由D/A转换器,多路模拟开关,采样/保持器等组成.作用是将经智能仪器处理后的数据转换成模拟量送出.一、D/A转换原理(图2-20)由电阻网络,开关及基准电源等组成. URUo= - (23D3+22D2+21D1+20D0) 24,R-2R梯形网络D/A转换器原理,图2-20 R-2R梯形网络D/A转换器原理,二、D/A转换器的主要技术指标,分辨率:当输入数字发生单位数码变化时所对应模拟量输出的变化量.转换精度:在整个工作区间实际的输出电压与理想输出电压之间的偏差.转换时间:通常为几十个纳秒.尖峰误差:指输入代码发生变化时刻,而使输出模拟量产生的尖峰所造成的误差.,D/A转换
39、器尖峰误差及消峰原理,三、DA转换电路输入与输出形式,D/A数字量输入端可以分为:1.不含数据锁存器(需外加数据锁存器).2.含单个数据锁存器.3.含双个数据锁存器(用于多个D/A同时转换的场合).D/A的输出电路分为:1.单极性电路图2-222.双极性电路 图2-23,UOUT=-(VREF/28)D,UOUT=-(2U1+VREF),2.2.2 D/A转换器与微机接口8位D/A转换器DAC0832及其与微机接口,八位D/A转换器DAC0832及其与微机接口内部含有双输入数据锁存器的8位D/A器件(图2-24)。1.单缓冲接口电路(图2-25 )程序: MOV DPTR,#0FEFFH MO
40、V A,#DATA MOVX DPTR,A,双缓冲接口的程序,MOVDPTR, #0FEFFHMOVA, R2MOVXDPTR, A; 数据送1#0832输入寄存器MOVDPTR, #0FDFFHMOVA, R3MOVXDPTR, A ; 另一数据送2#0832输入寄存器MOVDPTR, #0FBFFHMOVXDPTR, A; 1# 、2# D/A转换器同时输出,二、12位D/A转换器DAC1208与微机接口,双缓冲, 12位D/A器件.第一级缓冲由8位输入寄存器和4位输入寄存器组成.第二级缓冲为12位DAC寄存器.字节控制信号: =1; 12位数字量同时送入输入寄存器;BYTE1/BYTE2
41、 =0;只将12位数字量中的低4位送到对应 的4位输 入寄存器。其余控制类似DAC 0832(图2-27):,图2-27 DAC1208与8031单片机接口示意图,DAC1208与8031单片机接口,设有一个12位的待转换的数据存放在地址DATA及DATA1单元中,其存放顺序为:(DATA)存高8位数据,(DATA1)存低4位数据(存放在该单元的低半字节上)。则把这个数据送往DA转换器的程序段为:,DAC1208与8031单片机接口,MOV DPTR, 0FDFFH ;(CS=0,BYTE1=1) MOV A, DATA MOVX DPTR,A;输出高8位数据 DEC DPH ;(CS=0,BYTE2=0) MOV A, DATA 1 MOVX DPTR,A;输出低4位数据 MOV DPTR, 7FFFH ;(XFER=0)MOVX DPTR,A;12位数据同时送 DAC寄存器,