单片机A/D与D/A转换器芯片的串行接口
Mcherx 2021-04-06

一、单片机测控系统与模拟输入通道

1 、单片机测控系统概述

测控包含“测”与“控”两个过程。

所谓“测”就是实时采集被控对象的物理参量,诸如温度、压力、流量、速度和转速等。这些参量通常都是模拟量,即连续变化的物理量。 

所谓“控”就是把采集的数据经单片机计算、比较等处理后得出结论,以对被控对象实施校正控制。但经单片机处理后得到的是数字量结果。

测控系统离不开模拟量与数字量的相互转换,因此,模/数(A/D)与数/模(D/A)转换也就成了测控系统的重要内容。 

2、 模拟输入通道

模拟输入通道的工作从采集信号开始。由于传感器采集到的模拟信号幅值通常很小,而且连续变化的信号容易受到干扰,因此,要对传感器采集到的原始信号进行放大、采样、保持、滤波等处理后,才能送给A/D转换器。这一系列的处理过程构成了模拟输入通道,如下图。


(1)传感器

传感器的主要功能是采集信号,也兼有信号转换功能,即把采集到的非电信号转换为电信号(电压或电流),以便于后续处理。传感器的种类繁多,常用的传感器有如下几种:

① 温度传感器:用于将温度转换为电信号。 ② 光电传感器:利用光电效应将光信号转换为电信号。 ③ 湿度传感器:常用的湿度传感器有毛发湿度计、干湿球湿度计、金属氧化物湿敏元件等。 ④ 流量传感器:用于测量液体和气体的流量。常用的流量传感器有速度式流量计和容积式流量计等。 ⑤ 压力传感器:用于大气压力(气压)测量和容器壁压力测量等。 ⑥ 机械量传感器:常用的机械量有拉力、压力、位移、速度、加速度、扭矩及荷重等。常见的机械量传感器有电阻应变片、力传感器、荷重传感器、位移传感器和转速传感器等。 ⑦ 成分分析传感器:用于对混合气体或混合物的成分进行自动分析。 ⑧ pH值传感器:用于测量水溶液的酸碱度。 (2) 放大器

传感器得到的电压或电流信号往往幅度较小,难以直接进行A/D转换,需要使用放大器对模拟信号进行放大处理。

放大器的种类很多,但在模拟输入通道中使用的是一种具有高放大倍数并带深度负反馈的直接耦合放大器,由于它可以对输入信号进行多种数学运算(例如比例、加、减、积分和微分等),所以称为运算放大器。运算放大器具有输入阻抗高,增益大,可靠性高,价格低和使用方便等特点。现在已有各种专用或通用的运算放大器可供选择。

(3)采样/保持电路

采样是为了跟踪输入信号的变化,其实质是将一个连续变化的模拟信号转换为时间上离散的采样信号,采样频率要远高于模拟信号中的最高频率成分(一般为2.5倍)。

保持则是为了把采样信号保持一段时间,因为其后的A/D转换需要有一个时间过程。在保持期间要维持信号的稳定,尽可能保持信号不变。

在模拟输入通道中,采样电路和保持电路是合在一起的,称为采样/保持电路。如下图所示。

(4) 滤波器

滤波可分为模拟滤波和数字滤波两种。

模拟滤波由电子元器件搭建的滤波电路完成,模拟滤波又可分为无源和有源两种。无源滤波是使用无源器件(电感、电容和电阻)构成的滤波电路。有源滤波器则是用放大器和电容、电阻构成的滤波电路。

数字滤波,就是通过程序对采样信号进行平滑加工,以提高其有用信号,消除或抑制干扰信号。有多种数字滤波程序,例如,程序判断滤波程序、中值滤波程序、算术平均滤波程序、加权平均滤波程序、一阶滞后滤波程序以及复合滤波程序等。

与模拟滤波相比,数字滤波具有众多优点,所以在现代测控系统中广泛使用数字滤波。数字滤波不但不需要硬件设备,而且使用也很方便,只需在程序进入数据处理或控制算法前,附加一段滤波程序即可。

(5) 多路转换

许多测控系统都是多路系统,以便进行多路参量采集。在多路系统中,只要速度允许,就应该采用多通道共用一个A/D转换器的方案,以简化结构降低成本。需要在模拟输入通道中设置一个多路开关进行通道切换,以实现各通道逐个、分时地被轮流接通。

二、A/D转换器接口

1 、8位A/D转换芯片与80C51接口

(1)ADC0809芯片

ADC0809采用逐次逼近式A/D转换原理,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存与译码电路,转换时间为100 μs左右。ADC0809的内部逻辑结构如下图所示。

图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换芯片进行转换。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择。8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。输出锁存器用于存放和输出转换得到的数字量。
ADC0809各引脚功能如下:

IN7~IN0:模拟量输入通道。 A、B、C:地址线,模拟通道的选择信号。A为低位地址,C为高位地址。能进行8个通道的选择。 ALE:地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。 START:转换启动信号。START上跳沿时,所有内部寄存器清0;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。 D7~D0:数据输出线。 OE:输出允许信号。用于控制三态输出锁存 器向单片机输出转换得到的数据。OE=0, 输出数据线呈高电阻;OE=1,输出转换得到 的数据。 CLK:外部时钟信号引入端。 EOC:转换结束信号。EOC=0,正在进行 转换;EOC=1,转换结束。VCC:+5 V电源。 VREF:参考电源。  (2)ADC0809与80C51接口      下图给出了ADC0809与80C51的连接。8路模拟通道选择信号A、B、C分别接最低3位地址A0、A1、A2(即P0.0、P0.1、P0.2),而地址锁存允许信号ALE由P2.0控制,则8路模拟通道的地址为FEF8H~FEFFH。

2 、12位A/D转换芯片与80C51接口 对于多于8位的A/D转换芯片,接口时要考虑转换结果的分时读出问题。现以12位A/D转换芯片AD574A为例进行说明。AD574A与80C51接口的信号线连接部分如下图所示。

AD574A有两个模拟输入端,其中10VIN的电压范围是0~10 V,20VIN的电压范围是0~20 V。在80C51系统中使用AD574A芯片,其转换数据应该分两次读出,并按高8位和低4位分次。分次读出由A0控制,该引脚一般接地址线的最低位A0。A0=0时,读高8位;A0=1时,读低4位。
  • R/C:读/启动转换信号。R/C=0时为启动转换信号;R/C=1时为读信号。
  • STS:转换结束信号。转换期间为高电平,转换结束时下跳为低电平。
  • 12/8:输出位数选择信号。12/8=1时,为12位输出,12/8=0时,为8位输出。
  • CE:允许信号,高电平有效。参与启动转换和读数据的控制。
3、 A/D转换芯片应用说明 (1)按原理划分的芯片类型
  • 积分型A/D转换器。也称双斜率或多斜率A/D转换器。应用最为广泛,具有精度高、抗干扰能力强等优点。
  • 逐次逼近型A/D转换器。原理简单,便于实现,不存在时间延迟问题。
  • 闪烁型A/D转换器。最大特点是速度快,但功耗大且电路复杂,所以芯片尺寸也比较大。
  • ∑△型A/D转换器。又称为过采样A/D转换器。虽然出现得较晚,但却具有分辨率高,价格便宜以及抗干扰能力强等优点。
(2)输入电压信号形式
  • 单极性电压信号,各种A/D转换芯片都具有这种输入形式。一般可允许电压变化范围是0~+5 V、0~+10 V和0~+20 V等。
  • 双极形式的电压信号,可正可负,虽然还是通过一条引线输入,但芯片上需要有一对极性相反的工作电源与之配合。
  • 差分信号是不共地的电压信号,两个极性的差分信号需要两条信号线输入,在芯片上表示为VIN+和VIN-。差分电压信号可以从非0V开始,其变化范围可以是±2 V、±4 V、±5 V和±10 V等。
(3) 输出二进制代码形式
  •  二进制码A/D转换芯片输出的是二进制代码,其位数可分为8位、10位、12位、14位、16位、20位和24位等。
  • BCD码A/D转换芯片输出的是多位BCD码,这类转换芯片的典型应用是在数字电压表中,输出的BCD码可直接送LED或LCD进行显示。常见的BCD码A/D转换芯片的位数有3位半、4位半和5位半等。
(4)A/D转换器分辨率

A/D转换器,被转换量是电压,所以分辨率是对输入电压信号变化的分辨能力,A/D转换器位数越多,分辨率的值越小,分辨能力就越强,亦即转换器对输入量变化的敏感程度也就越高。所以选择A/D转换器时,要把位数放在重要的位置。

(5) A/D转换器的控制信号

A/D转换芯片中有一些控制信号,包括时钟信号、转换启动信号和转换结束信号等,接口连接时要对这些信号进行处理。

1)时钟信号 时钟信号A/D转换需要时钟信号的配合,有些A/D转换芯片(例如AD571等)内部有时钟电路。另外一些A/D转换芯片(例如ADC0808/0809等)内部没有时钟电路,所需时钟信号由外界提供。 2)转换启动信号 转换启动信号转换启动信号应由CPU提供,不同型号的A/D转换芯片对转换启动信号的要求不尽相同。有的要求脉冲信号启动,例如ADC0804、ADC0809等芯片,而有的芯片则要求电平信号启动,例如AD570、AD571和AD574等 。 (6) 转换结束与数据读取

A/D转换后得到的数字量数据应及时传送给单片机进行处理,在数据转换完成后,进行读取。

1)定时等待方式 对于一个A/D转换芯片来说,转换时间作为一项技术指标是已知且固定的,可用延时的方法等待转换结束,此即定时等待方式。 2)查询方式 A/D转换芯片都提供表明转换完成的状态信号,可以用查询方式,通过测试状态就可以知道转换是否完成。 3)中断方式 表明转换是否完成的状态信号(ADC0809为EOC)都可作为中断请求信号使用,从而可采用中断方式进行转换数据的传送。

三、D/A转换器接口

1、 D/A转换芯片

D/A转换芯片很多,现以DAC0832为例进行说明。

DAC0832为8位D/A转换芯片,单一+5 V电源供电,基准电压的幅度范围为±10 V,电流建立时间为1 μs,采用CMOS工艺,低功耗(20 mW),芯片为20引脚双列直插式封装。引脚排列如下图所示。

  • DI7~DI0:转换数据输入 。

  • CS:片选信号(输入),低电平有效。

  • ILE:数据锁存允许信号(输入),高电平有效。

  • WR1:第1写信号(输入),低电平有效。

  • XFER:数据传送控制信号(输入),低电平有效。

  • WR2:第2写信号(输入),低电平有效。

  • IOUT1:电流输出1。当数据为全1时,输出电流最大;为全0时,输出电流最小。

  • IOUT2:电流输出2。

  • RFB:反馈电阻端,即运算放大器的反馈电阻端,电阻(15 kΩ)已固化在芯片中。DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,RFB即为运算放大器的反馈电阻。

  • VREF:基准电压,是外加高精度电压源,与芯片内的电阻网络相连接,该电压可正可负,范围为-10~+10 V。基准电压决定D/A转换器的输出电压范围,例如,若VREF接+10 V,则输出电压范围是0~-10 V。

  • DGND:数字地 。

  • AGND:模拟地  

    DAC0832的内部结构框图如下图所示,电阻解码网络包含在图中的8位D/A转换器中。输入通道由输入寄存器和DAC寄存器构成两级数据输入锁存,由3个“与”门电路组成控制逻辑,产生LE1和LE2信号,分别对两个输入寄存器进行控制。

2、 DAC0832单缓冲连接方式

所谓单缓冲连接方式,就是使DAC0832的两个输入寄存器中有一个(多为DAC寄存器)处于直通状态,另一个处于受控的锁存状态。在实际应用中,如果只有一路模拟量输出,或虽是多路模拟量输出但并不要求输出同步的情况下,就应当采用单缓冲方式。其连接如下图所示。

3 、DAC0832双缓冲连接方式

所谓双缓冲连接方式,就是把DAC0832的输入寄存器和DAC寄存器都接成受控锁存方式。在多路D/A转换中,如果要求同步输出,就应当采用双缓冲连接方式。DAC0832的双缓冲方式连接如下图所示。


四、 A/D与D/A转换器芯片的串行接口

1 、通过I2C总线的串行接口

对于有I2C总线接口的A/D或D/A转换芯片,可以通过I2C总线实现接口,现以A/D和D/A混合芯片PCF8591为例进行说明。

PCF8591由Philips公司生产,是一个比较典型的带I2C总线接口的A/D和D/A转换混合芯片,CMOS半导体工艺。A/D转换部分的模拟输入通道为4路,转换结果为8位,采用具有采样/保持电路的逐次逼近转换方式。D/A转换部分为1路模拟输出。双列直插式芯片的引脚排列如下图所示。


各引脚功能如下:
  • AIN3~AIN0:模拟信号输入。
  • A3~A0:引脚地址。
  • SCL、SDA:I2C总线接口信号。
  • OSC:外部时钟输入,内部时钟输出。
  • EXT:内外时钟选择,EXT=0选择内部时钟,EXT=1选择外部时钟。
  • Aout:D/A转换模拟量输出。
  • VDD、VSS:芯片电源。
  • VREF:参考电源。
  • AGND:模拟地。
  •  PCF8591的器件地址为1001,引脚地址由A2、A1和A0设定。一个系统最多可扩展8片PCF8591。
  • PCF8591片内有控制寄存器,单片机通过向该寄存器写入控制字来控制A/D和D/A转换,为此在转换前要进行写控制字传送。A/D转换部分读数据时先进行控制字的设置,以进行模拟通道选择、通道增量位和模拟信号输入形式(单端输入与差分输入)等设置。
  •  PCF8591芯片D/A转换部分写数据中的控制字的主要内容是设置模拟量输出允许位为1。随后每写入一个数据字节,转换结果就在AOUT端输出。 

2、 通过软件模拟的串行接口

对于没有串行接口的单片机芯片,可以使用软件模拟方法实现串行接口。以MAX187为例进行说明。MAX187是一个具有SPI总线的12位单模拟通道A/D转换芯片,内部有采样/保持电路,采用逐次逼近式转换方式,转换时间为10 μs。其引脚排列如下图。

各引脚功能如下:
  • AIN:模拟信号输入,有效电压范围为0 V~VREF。
  • DOUT:转换结果串行输出。
  • SCLK:时钟信号输入。
  • CS:片选信号。
  • SHDN:控制信号。该引脚接低电平,芯片处于低功耗状态;该引脚接高电平,芯片使用内部参考电源;该引脚悬空,芯片使用外部参考电源。
  • VREF:参考电源。
  • VDD:芯片电源。
  • GND:数字地和模拟地。

软件模拟串行接口的连接十分简单,只需80C51的3根口线分别连接MAX187的CS、SCLK和DOUT信号引脚,如下图所示。

 

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
热门推荐
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 智能化交通信号机解决方案

    面向交通信号灯行业,ZLG推出智能化交通信号机解决方案,该方案可大幅提升设备的智能化和道路使用率,改善道路拥堵,打造高效畅通的“智慧交通”。   行业背景 据公安部统计,2020年,全国机动车保有量达3.72亿辆,其中汽车2.81亿辆。百度地图发布的《2020年度

    昨天
  • 单片机如何实现Bootloader?

    去某新能源大厂出了一次差,这次出差是为了升级程序解决Bug,需要给单片机重新烧录.hex文件,用户已经将产品封装起来,无法开盖,只能使用CAN总线来更新程序,用Bootloader实现。其实就是通过上位机把.bin/hex文件以CAN通讯的方式发送给单片机并存储在规定的F

    04-13
  • 单片机应用系统的开发流程

    我们学习单片机的目的就是为了进行嵌入式系统的开发,学好单片机首先要有一个整体认识,下面将简要介绍一下单片机应用系统的开发流程,如图1所示。 图1 单片机系统开发流程 (1)明确任务 分析和了解项目的总体要求,并综合考虑系统使用环境、可靠性要求、可维

    04-12
  • 太经典了!用最少的IO口,扫最多的键

    在做项目(工程)的时候,我们经常要用到比较多的按键,而且IO资源紧张,于是我们就想方设法地在别的模块中节省IO口,好不容易挤出一两个IO口,却发现仍然不够用,实在没办法了就添加一个IC来扫键。一个IC虽然价格不高,但对于大批量生产而且产品利润低的厂家

    03-30
  • 单片机的学习方法和步骤

    注 | 文末留言有福利 作为一名电子技术从业人员,你学过单片机吗?你会运用单片机吗? 我想你一定学过,但不一定会运用。 因为学习单片机比学习其他学科需要付出更多的努力和代价,不仅要学习理论知识还要练习实际操作,而且主要是在实际操作中才能真正学到单

    03-25
  • 单片机内存的分配

    单片机执行指令过程详解 单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令

    03-22
  • 几种常用单片机之间的通信方式

    越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。对于莫一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极

    03-17
  • STM32F4的总线架构和STM8的中断控制

    STM32F4的总线架构 总线架构    DMA: Direct Memory Access,直接内存存取。    八条主控总线: Cortex-M4 内核I总线,D总线和S总线; DMA1存储器总线,DMA2存储器总线; DMA2外设总线; 以太网DMA总线; USB OTG HS DMA总线。 七条被控总线: 内部FLASH ICo

    03-17
  • 单片机P0口必须加上上拉电阻?

    在我们刚一开始接触到51单片机的时候对P0口必须加上上拉电阻,否则P0就是高阻态。 对这个问题可能感到疑惑,为什么是高阻态?加上拉电阻?今天针对这一概念进行简单讲解。 高阻态 高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电

    03-15
  • 单片机51系列定时器实用方法

    第一部分:51系列定时器 定时/计数器 0 和定时/计数器1都有4种定时模式。 16位定时器对内部机器周期进行技术,机器周期加1,定时器值加1,1MHZ模式下,一个机器周期为1us 。 定时器工作模式寄存器TMOD,不可位寻址,需整体赋值,高4位用于定时器1,第四位用于

    03-12
  • 如何成为一名超强的51单片机高手

    很多初学者最初接触单片机时较为苦恼的就是如何入门,也就是从哪一部份,按照怎样的步骤进行学习。在摸索学习步骤的过程浪费时间的同时也会造成学习兴趣的降低。为了帮助大家解决这种情况。 第一步:基础理论知识学习 基础理论知识包括模拟电路、数字电路和C

    03-10
  • 纯干货,PSI 原理解析与应用

    一、什么是 PSI Pressure Stall Information 提供了一种评估系统资源压力的方法。系统有三个基础资源:CPU、Memory 和 IO,无论这些资源配置如何增加,似乎永远无法满足软件的需求。一旦产生资源竞争,就有可能带来延迟增大,使用户体验到卡顿。 如果没有一种

    03-09
下载排行榜
更多
广告
X
广告