单片机与数模及模数转换器接口综述_第1页
单片机与数模及模数转换器接口综述_第2页
单片机与数模及模数转换器接口综述_第3页
单片机与数模及模数转换器接口综述_第4页
单片机与数模及模数转换器接口综述_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章 单片机与数模及模数转换器接口 当以单片机为核心组成实时测控系统时, 通常需要对被控对象的状态进行测试和对控制 条件进行监测,因此需要通过前向输入通道将被测信号输入单片机系统中。 在科学研究和生产过程中,测控系统的被测参数可以是温度、 压力、速度等非电量,也 可以是电流、 电压、 功率和开关量等电量。 这些参数信号需通过各类传感器和变送器变换成 相应的模拟电量,然后经多路开关汇集送给 A/D 转换器,转换成相应的数字量送给单片机。 经过单片机处理过的数字量,送给 D/A 转换器,变换成相应的模拟量对被控系统实施控制 和调整,使之处于最佳工作状态,如图 8-1 所示。 知识要点 : 输入输

2、出通道的基本知识, 数字量输入输出通道和模拟量输入输出通道的结构 A/D 转换器工作原理和 MCS-51 系列单片机的连接以及程序设计方法。 D/A 转换器工作原理和 MCS-51 系列单片机的连接以及程序设计方法。 第一节 MCS-51 单片机与 DA 转换器的接口和应用 一、概述 被测信号分为数字量和模拟量两种。 1数字量输入 数字量包括 N 位并行数字量、开关量和频率信号。 N 位并行数字量 可以直接送入单片机的 I/O 接口。若 N 位数字量并行输入,当 N=8 时,正好利用一个 8位I/O接口输入单片机内;当 N 8 时,输入方式有两种:一种是利用多个8 位 I/O 接口, 另一种是

3、利用一个 I/O 接口多次选通输入。 开关量 开关量是输入信号为具有 TTL 电平的状态信号 ,如继电器的吸合与断开、光电门的导 通与截止、限位开关、按钮、转换开关、接触器等电器的触点通断,其信号电平只有高、低 两种电平。 经放大、 机系统,如图 图 8-2 所示是一种开关量检测电路。开关量信号经过了光电隔离,适当选择电阻值,使 A 点电平符合 TTL 电平的要求,可以将 A 点接到单片机 I/O 接口或经三态门接到单片机数 据总线,实现开关量信号输入。 频率信号 整形和隔离等处理, 即可得到较为理想的矩形波, 这种矩形波可直接送入单片 8-3 所示。 2.模拟量输入 所谓模拟量,就是一些连续

4、变化的物理量,如温度、速度、电压、电流和压力等。这些 被测参数, 单片机无法直接处理, 需要把这些模拟量通过各类传感器和变送器变换成相应的 模拟电量,然后经多路开关汇集送给 A/D 转换器,转换成相应的数字量送给单片机。 模拟量输入通道一般由传感器、放大器、多路模拟开关、采样保持器和 A/D 转换器组 成,其结构形式取决于被测对象的环境、输出信号的类型、数量和大小等,见表8-1。 说明:根据传感器输出信号的大小和类型,选择前向输入通道结构。 大信号模拟电压, 能直接满足 A/D 转换输入要求, 则可直接送入 A/D 转换器, 经过 A/D 转换后再送入单片机。也可通过 V/F 转换成频率信号送

5、入单片机。但由于频率测量响应速 度慢, 多用于一些非快速过程参量的测量, 这种通道结构的优点是抗干扰能力强, 便于远距 离传输。 小信号模拟电压, 则首先应将该信号电压放大, 放大到能满足 A/D 转换、 V/F 转换要求 的输入电压。 以电流为输出信号的传感器或传感仪表则首先应通过 I/V 转换,将电流信号转换成电压 信号。最简单的 I/V 转换器就是一个精密电阻,当信号电流流过精密电阻时,其电压降与流 过的电流大小成正比,从精密电阻两端取出的电压就是 I/V 变换后的电压信号。 二、 A/D 转换接口技术 A/D 转换接口技术的主要内容是合理选择 A/D 转换器和其他外围器件,实现与单片机

6、 的正确连接以及编制转换程序。 A/D 转换器 (Analog-Digital Converter) 是一种能把输入模拟电压或电流变成与其成正比 的数字量的电路芯片,即能把被控对象的各种模拟信息变成计算机可以识别的数字信息。 分类:计数器式 A/D 转换器、双积分式 A/D 转换器、逐次逼近式 A/D 转换器和并行 A/D 转换器。 计数器式 A/D 转换器结构很简单,但转换速度也很慢,所以很少采用。 双积分式 A/D 转换器抗干扰能力强,转换精度很高,但速度不够理想,常用于数字式 测量仪表中。 逐次逼近式 A/D 转换器结构不太复杂,转换速度也高。计算机中广泛采用其作为接口 电路 。 并行

7、A/D 转换器的转换速度最快,但因结构复杂而造价较高,故只用于那些转换速度 极高的场合。 1、概述 1) A/D 转换器的技术指标: 量化误差 (Quantizing Error) 与分辨率 (Resolution) 。 A/D 转换器的分辨率表示输出数字量变化一个相邻数码所需输入模拟电压的变化量 , 习惯上以输出二进制位数或满量程与2n 之比(其中 n 为 ADC 的位数)表示。 例如 A/D 转换器 AD574A 的分辨率为 12 位,即该转换器的输出数据可以用 212 个二进 制数进行量化,其分辨率为 1LSB (1LSB=VFS/2 12)。如果用百分数来表示分辨率时,其分辨 率为 1

8、2n100 1212100=0.0244 一个满量程 VFS=10V 的 12 位 ADC 能够分辨输入电压变化的最小值为 2.4mV 。 量化误差是由于有限数字对模拟数值进行离散取值(量化)而引起的误差 。因此, 量 化误差理论上为一个单位分辨率,即士 (1/2)LSB 。提高分辩率可减少量化误差。 转换精度 (Conversion Accuracy) 。 A/D 转换器转换精度反映了一个实际 A/D 转换器在量化值上与一个理想 A/D 转换器进 行模数转换的差值,由模拟误差和数字误差组成。 模拟误差是比较器、解码网络中电阻值以及基准电压波动等引起的误差; 数字误差主要包括丢失码误差和量化误

9、差, 丢失码误差属于非固定误差, 由器件质量决 定。 转换时间与转换速率。 A/D 转换器完成一次转换所需要的时间为 A/D 转换时间,是指从启动 A/D 转换器开始 到获得相应数据所需时间(包括稳定时间) 。通常,转换速率是转换时间的倒数,即每秒转 换的次数。 2) A/D 转换器选择要点 确定 A/D 转换器精度及分辨率。 用户提出的测控精度要求是综合精度要求, 它包括了传感器精度、 信号调节电路精度和 A/D 转换精度及输出电路、 伺服机构精度, 而且还包括测控软件的精度。 应将综合精度在各 个环节上进行分配,以 确定对 A/D 转换器的精度要求,据此确定 A/D 转换器的位数 。通常

10、A /D 转换器的位数至少要比综合精度要求的最低分辨率高一位,而且应与其他环节所能达 到的精度相适应。 确定 A/D 转换器的转换速率。 通常根据被测信号的变化率及转换精度要求,确定 A/D 转换器的转换速率 ,以保证系 统的实时性要求。用不同原理实现的转换器, 其转换速率是不一样的, 如积分型的、跟踪比 较型的 A/D 转换器转换速率较慢,转换时间一般为几毫秒到几十毫秒,一般用于温度、压 力、流量等缓变参量的检测。计算机中广泛采用逐次逼近式 A/D 转换器为中速转换器,常 用于工业多通道单片机测控系统等。并行 A/D 转换器的转换速度最快,故常用于如实时瞬 态记录等转换速度极高的场合。 确定

11、环境参数。 根据使用环境条件,确定 A/D 转换芯片要求的一些环境:工作温度、功耗和可靠性等 级等。 2、 A/D 转换典型芯片 ADC0809 8位 8通道逐次逼近式 A/D 转换器, CMOS 工艺,可实现 8路模拟信号的分时采集, 片内有 8 路模拟选通开关, 以及相应的通道地址锁存用译码电路, 其转换时间为 100us 左右。 1) ADC0809 的内部逻辑结构 ADC 0809 内部逻辑结构如图所示。 图中多路开关可选通 8个模拟通道,允许 8 路模拟量分时输入,共用一个 A/D 转换器 进行转换。地址锁存与译码电路完成对A 、B、C 3 个地址位进行锁存和译码, 其译码输 出用于

12、通道选择 。 2) 信号引脚 ADC0809 芯片为 28 引脚双列直插式封装,其引脚排列见图 9.14. 对 ADC0809 主要信号引脚的功能说明如下: IN0 IN7 模拟量输入通道信号单极性,电压范围0-5V ,若信号过小还需进行放 大。 模拟量输入在 A/D 转换过程中其值不应变化 ,对变化速度快的模拟量,在输入前应增 加采样保持电路 A、B、C 地址线 A 为低位地址, C 为高位地址,模拟通道的选择信号,引脚图中为 ADDA,ADDB 和 ADDC 。其地址状态与通道对应关系见表 9-1 ALE 地址锁存允许信号 对应 ALE 上跳沿, A、 B、 C 地址状态送入地址锁存器中。

13、 START 转换启动信号 START 上跳沿时,所有内部寄存器清“ 0”;START 下跳沿时,开始进行 A/D 转换; 在 A/D 转换期间, START 应保持低电平。本信号有时简写为 ST 。 D7 D0 数据输出线 为三态缓冲输出形式, 可以和单片机的数据线直接相连 。D0 为最低位, D7 为最高位。 OE 输出允许信号 用于控制三态输出锁存器向单片机输出转换得到的数据 。 OE=0,输出数据线呈高电阻; OE=1,输出转换得到的数据。 CLK 时钟信号 ADC 0809 的内部没有时钟电路, 所需时钟信号由外界提供。 通常使用频率为 500kHz 的时钟信号 。 EOC 转换结束

14、信号 EOC=0,正在进行转换; EOC=1,转换结束。 使用中该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用 。 Vcc 5V 电源 V ref 参考电源 参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为 5V (Vref () 5V , Vref (一) =0V)。 3)单片机与 ADC0809 接口 三个问题: 要给 START 线送一个 100ns 宽的起动正脉冲; 获取 EOC 线上的状态信息,因为它是 A/D 转换的结束标志; 要给“三态输出锁存器”分配一个端口地址,也就是给 OE 线上送一个地址译码器 输出信号。 MCS-51 和 ADC 接口通

15、常可以采用 定时、查询和中断 三种方式。 定时传送方式 对于每种 A/D 转换器,转换时间作为一项技术指标,是已知的和固定的。如 ADC0809 的转换时间为 128us。可以设计一延时子程序,当启动转换后,CPU 调用该延时子程序或用 定时器定时,延时时间或定时时间稍大于 A/D 转换所需时间。等时间一到,转换已经完成, 就可以从“三态输出锁存器”读取数据。 特点:电路连接简单,但 CPU 费时较多。 查询方式 采用查询法就是 将转换结束信号接到 I/O 接口的某一位,或经过三态门接到单片机数 据总线上 。A/D 转换开始之后, CPU 就查询转换结束信号,即查询 EOC 引脚的状态:若它

16、为低电平, 表示 A/D 转换正在进行, 则 MCS-51 应当继续查询; 若查询到 EOC 变为高电平,则给 OE 线送一个高电平,以便从线上提取 A/D 转换后的数字量。 特点:占用 CPU 时间,但设计程序比较简单。 中断方式 采用中断方式传送数据时, 将转换结束信号接到单片机的中断申请端, 当转换结束时申 请中断, CPU响应中断后,通过执行中断服务程序,使 OE引脚变高电平,以提取 AD 转 换后的数字量。 特点:在 A/D 转换过程中不占用 CPU 的时间,且实时性强。 4)应用举例 例 分别采用不同方式对 8 路模拟信号轮流采样一遍,并依次把转换后的数据存放到数据存 储区。 AD

17、C0809 与 8031 接口工作方式见图 8-9 。 EOC 开始转换时为低电平,当转换结束时为高电平。 查询方式:查询 EOC 引脚,接 P1.0。 中断方式: EOC 经反相器接 8051 的外部中断引脚 INT1 。 1)定时传送方式 MAIN :MOV R1 , data MOV DPTR , 7FF8H ;P2.7=0,且指向通道 0 MOV R7 , 08H ;置通道数 LOOP:MOVX DPTR,A;启动 A/D 转换 MOV R6 , 0AH DLAY : NOP NOP NOP NOP DJNZ R6 , DLAY MOVX A , DPTR ;读取转换结果 MOV R1

18、,A INC DPTR ;指向下一个通道 INC R1 ;修改数据区指针 DJNZ R7 , LOOP 2)查询方式 MAIN :MOV R1 , data MOV DPTR , 7FF8H ;P2.7=0,且指向通道 0 MOV R7 , 08H ;置通道数 LOOP:MOVX DPTR,A;启动 A/D 转换 SETB P1 0 WAIT :JNB P1 0, WAIT ;查询 P1 0状态 MOVX A , DPTR ;读取转换结果 MOV R1 , A INC DPTR ;指向下一个通道 INC R1 ;修改数据区指针 DJNZ R7 , LOOP ; 8个通道全采样完了吗? RET

19、3)中断方式 SETB IT1 SETB EX1 SETB EA MOV DPTR , 7FF8H MOV A , 0 MOVX DPTR , A EINT1 : MOV DPTR , 7FF8H MOVX A , DPTR MOV 30H ,A MOV A , 00 MOVX DPTR , A RETI 第二节 MCS-51 单片机与 A/D 转换器的接口与应用 在以单片机为核心组成的测控系统中, 单片机要通过后向输出通道输出控制信号对控制 对象实现控制操作。 知识要点 : 后向输出通道的作用、结构 D A 转换接口及应用 、概述 1.后向输出通道的作用分析: 数模转换单片机输出的控制信号是

20、数字信号,需要通过 D/A 转换器把数字量转换 成控制对象所需的模拟电压或电流。 功率放大驱动经数模转换得到的模拟电压或电流控制信号, 不能满足控制对象的功 率要求,必须经功率放大,驱动外部伺服系统。 干扰信号防止后向输出通道接近控制对象, 工作环境相对恶劣, 会出现伺服驱动系统 通过信号通道、 电源以及空间电磁场对单片机应用系统的电磁干扰, 另外还会出现机械干扰, 因此通常采用信号隔离、电源隔离和大功率开关实现过零切换等方法进行干扰防止。 2.后向输出通道的结构 8-12 所示。单片机 根据单片机输出信号和控制对象的特点,后向输出通道的结构如图 通过 I/O 接口或数据总线输出的开关量、 数

21、字量和频率量可以直接用于开关量、 数字量控制 系统和频率调制系统,对于模拟量控制系统,需通过D/A 、F/V 转换成模拟量控制信号。下 面对后向输出通道中的重要部分 D/A 转换接口进行详细分析。 二、 D/A 转换接口 D/A 转换接口技术的主要内容是合理选择 D/A 转换器和其他有关器件,实现与微机的 正确连接以及编制转换程序 。 1概述 (1) D/A 转换器 D/A 转换器 (Digital to Analog Converter) 是一种能把数字量转换成模拟量的电子器件。在 单片机测控系统中经常采用的是 D/A 转换器的集成电路芯片,称为 D/A 接口芯片或 DAC 芯片。 (2)

22、D/A 转换器的性能指标 分辨率 (Resolution) 指 D/A 接口芯片能分辨的最小输出模拟增量。输入数量发生单位数码变化时,即 LSB (最低有效位)产生一次变化时,所对应的输出的模拟量的变化量。对于线性 D/A 转换器 来说,其分辨率与数字量的位数 n 的关系为 在实际使用中, 表示分辨率高低更常用的方法是采用输入量的位数, 如满量程 10V 的 8 位 DAC 芯片的分辨率为 8 位。 转换精度 (Conversion Accuracy) 指满量程时 DAC 的实际模拟输出量与理论值的接近程度, 与 D/A 转换芯片的结构和接 口配置电路有关。通常, DAC 的转换精度为分辨率的

23、一半。 失调误差 指输入数字量为零时,模拟输出量与理想输出量的偏差。偏差值的大小一般用 LSB 的 份数或用偏差值表示。 (3) D/A 转换器的选择要点 输入信号的形式。 输入信号有并行和串行两种形式, 根据实际要求选定。 在实际应用中大多数为并行输入。 串行输入节省数据线,但速度较慢,适用于远距离数据传输。 分辨率和转换精度 根据对输出模拟量的精度要求来确定 D/A 转换器的分辨率和转换精度。常用的分辨率 有 8 位、10 位和 12 位。在精度指标方面,零点误差和满量程误差可以通过电路调整进行补 偿,因此主要看芯片的非线性误差和微分非线性误差。 建立时间 D/A 转换器的电流建立时间很短

24、, 一般为 50-500ns 。若是输出电压形式, 加上运算放大 器电路,电压建立时间一般为 1us 到几 us,一般都能满足系统要求。 转换结果的输出形式 转换结果的输出形式有电流或电压, 有单极性或双极性, 有不同量程, 还有多通道输出 方式。这可根据应用系统对模拟量形式的实际要求来确定。 2. D/A 转换典型芯片 DAC0832 芯片 DAC0832 是微处理器完全兼容的,具有 8 位分辨率的 D/A 转换集成芯片,以其价廉、 接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。 (1) DAC0832 的引脚 其逻辑结构及管脚号如图所示。 它由 8 位输入锁存器、 8

25、位 DAC 寄存器、 8 位 D/A 转换电路及转换控制电路构成。为 20 脚双列直插式封装结构。各引脚信号说明如下: DI7 DI0 转换数据输入。 /CS片选信号(输入) ,低电平有效。 ILE 数据锁存允许信号(输入) ,高电平有效。 /WR1第 1写信号(输入) ,低电平有效。该信号与 ILE 信号共同控制输入寄存器是数据 直通方式还是数据锁存方式: 当 ILE=1 和 /WR1=0 时,为输入寄存器直通方式; 当 ILE=1 和 /WR1=1 时,为输入寄存器锁存方式。 /XFER 数据传送控制信号(输入) ,低电平有效。 /WR2 第 2 写信号(输入) ,低电平有效。该信号与 /

26、XFER 信号合在一起控制 DAC 寄存 器是数据直通方式还是数据锁存方式: /WR2=0 和 /XFER=0 时,为 DAC 寄存器直通方式; /WR2=1 和 /XFER=0 时,为 DAC 寄存器锁存方式。 Iout1 电流输出“ 1”;当数据为全 1 时,输出电流最大;为全 0时输出电流最小。 Iout2 电流输出“ 2”;DAC 转换器的特性之一是: Iout1 Iout2= 常数。 Rfb 反馈电阻端。 即运算放大器的反馈电阻端,电阻已固化在芯片中。因为 DAC0832 是电流输出型 D/A 转换器 ,为得到电压的转换输出, 使用时需在两个电流输出端接运算放大器 Rfb 即为运算放

27、 大器的反馈电阻,运算放大器的接法如图所示。 V ref基准电压,是外加高精度电压源。该电压可正可负,范围为10V +10V 。 DGND 数字地。 AGND 模拟地。 (2) DAC0832 内部结构 DAC0832 的内部结构框图如图 9. 3 所示。 “ 8 位输入寄存器”用于存放 CPU 送来的数字量,使输入的数字量得到缓冲和锁存, 由/LE1 控制。“8位DAC 寄存器”用于存放待转换的数字量,由/LE2控制。“8位D/A 转换 电路”由 T型电阻网络和电子开关组成,电子开关受“ 8位DAC 寄存器”输出控制。 ( 3) DAC0832 和 MCS-51 单片机的接口方式 单缓冲方式

28、连接 所谓单缓冲方式就是使 DAC0832 的两个输入寄存器中有一个(多为 DAC 寄存器)处 于直通方式,而另一个处于受控的锁存方式。 应用场合: 如果只有一路模拟量输出, 或虽是多路模拟量输出但并不要求输出同步的情 况下,就可采用单缓冲方式。单缓冲方式连接如图9.4 所示。 单缓冲方式应用举例: 例 1 产生锯齿波,其电路连接如图所示。 DAC 寄存器直通。假 图中的 DAC0832 工作于单缓冲方式,其中输入寄存器受控,而 定输入寄存器地址为 5000H ,产生锯齿波的程序清单如下: MOV DPTR , #5000H MOV R0 ,#00H WW : MOV A ,R0 MOVX D

29、PTR, AINC R0 NOP NOP NOP AJMP WW 例.2 小电机驱动。 分析: 对于小功率直流电机驱动, 使用单片机极为方便, 其方法就是控制电机定子电压 接通和断开时间的比值(即占空比) ,以此来驱动电机和改变电机的转速,这种方法称为脉 冲宽度调速法(或简称脉宽调速法) 。占空比以及占空比与电机转速的关系如图所示。 电压变换周期为 T,电压接通时间为 t,则占空比表示为 D=t T。设电机固定接通电源 时的最大转速为 Vmax ,则用脉冲宽度调速的电机转速为: Vd Vmax D Vd 与 D 的函数曲线如 9.7(b) 所示。可以看出, 实际上 Vd 与 D 并不完全是线性

30、关系 (如 图中实线所表示) ,但可以近似地看成是线性关系,为此我们可以采用控制加电脉冲宽度的 办法来驱动电机并调节其转速。 按图 99的连接, DAC0832 输入寄存器的地址为 9000H,则 MCS- 51 电机驱动程序清 单如下: ORG 0000H AJMP DAMOT ORG 08100H DAMOT :MOV DPTR ,#9000H;翰入寄存器地址 MOV A , 80H MOVX DPTR, A;输出 0V 电平 ACALL DELAY1 ,维持 0V 电平 MOV A , 0FFH MOVX DPTR, A;输出 5V 电平 ACALL DELAY2 ,维持 5V 电平 AJMP DAMOT 说明: 按上述程序, 改变延时子程序的延迟时间就可以改变电机的转速。如把第二次 转换的数字圣从 0FFH 改为 00H,则输出脉冲的极性改变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论