[iBoard 电子学堂][第八卷 设计任意波发生器] 第四篇 低速 DAC 扩展技术

一、Board 系统D/A转换器需求

 

数字到模拟转换器(Digital to Analog Converter,DAC),或者叫D/A 转换器,是常用的电子元器件,常用于模拟信号调理、传感器校准、波形输出、自动控制中间环节等。这一篇,我们就从实际应用出发,以iBoard 为对象,来学习DAC扩展技术。

iBoard 包含数字存储示波器和任意波形发生器,DAC主要应用于这两个部分。系统需求如下:

 

  1. 任意波发生器幅度控制;
  2. 任意波发生器直流偏移量控制;
  3. 示波器程控增益放大控制(需要两路);
  4. 示波器直流偏移量控制;
  5. 示波器触发电平调节;
  6. 一路外扩DAC输出。

综上所述,系统总共需要7路低速DAC。市面上,多通道、高分辨率DAC价格不菲,而且iBoard 主控处理器 STM32F103VC 包含两路 12Bit DAC输出,所以我们利用STM32F103VC 内置的DAC,通过单通道到多通道的扩展技术,来满足系统需求。

二、一阶RC电路的瞬态响应

 

为了更好地理解本篇所描述的DAC扩展技术,我们需要了解一下一阶RC电路的零状态和零输入相应。也可以理解为RC电路的充电、放电过程。学习本节的知识需要明白以下几个基本概念。

n 一阶RC电路:指能通过一阶微分方程描述的动态RC电路。通俗的讲,也就是此电路经过简化后,只含有一个电容(C)的RC 电路。

n 零状态响应:在动态电路中,如果储能元件(C或者L)的初始状态为零,仅靠输入引起的响应,称为零状态响应。

n 零输入相应:在动态电路中,如果电路的输入为零,仅靠储能元件存储的能量激发的响应,称为零输入响应。

n 时间常数:表征电路瞬态过程变化快慢的物理量,具有时间量纲。RC电路中,时间常数 τ=R×C,如果R单位为欧姆(Ω),C单位为法拉(F),则τ的单位为秒(s)。

1、一阶RC电路的零状态响应

 

图一为一阶RC电路零状态响应示意图,E为电压源,S为开关,R为电阻器,C为电容器。我们假设S闭合前电容器C中没存储电能,并定义S闭合瞬间为时间起点,即t=0。

[iBoard 电子学堂][第八卷 设计任意波发生器] 第四篇 低速 DAC 扩展技术_第1张图片

图一 RC零状态响应示意图

E、R、C构成回路,根据基尔霍夫电压定律,我们可以列方程式(1):

[iBoard 电子学堂][第八卷 设计任意波发生器] 第四篇 低速 DAC 扩展技术_第2张图片

由于初始状态电容器不包含能量,所以可以得到公式(2),把公式(2)带入公式(1)可得:

[iBoard 电子学堂][第八卷 设计任意波发生器] 第四篇 低速 DAC 扩展技术_第3张图片

求解可以得到电容C上电压 可表示为:

image

根据公式(3)可以算出,当t等于时间常数的时候,电容电压为 的63.2%;当t等于三倍时间常数的时候,电容电压将达到 的95%;当t等于五倍时间常数的时候,电容电压将达到 的99.3%,一般认为此时电容充电完成。

2、一阶RC电路的零输入响应

 

图二为一阶RC电路零输入响应示意图,E为电压源,S为开关,R为电阻器,C为电容器。我们首先把开关S打到节点 1 处,等完全充电完毕后,我们把开关S打到节点2处,并定义闭合瞬间为时间起点,即t=0。

[iBoard 电子学堂][第八卷 设计任意波发生器] 第四篇 低速 DAC 扩展技术_第4张图片

图二 RC零输入响应示意图

与一阶RC电路零输入响应推导过程类似,我们可以得到电容C上电压 可表示为公式(4):

image

根据公式(4)可以算出,当t等于时间常数的时候,电容电压为 的36.8%;当t等于三倍时间常数的时候,电容电压剩余为 的5%;当t等于五倍时间常数的时候,电容电压仅剩余0.7%,一般认为此时电容放电完成。

三、DAC扩展电路原理

 

图三为DAC 扩展电路硬件原理示意图,它包含三个部分:单路DAC输出、多路模拟复用器(也叫多路开关)及控制电路以及RC充放电电路。

DAC电路利用STM32F103VC 内置的 12bit DAC,这样即简化了设计,也节约了成本。但由于其输出能力有限,我们在输出端需要加电压跟随器,来增加驱动能力。多路复用器采用74HC4051,通过STM32F103VC通用I/O端口,控制开关闭合与断开。多路开关输出后,经过RC电路保持,并经过运放缓冲输出。由于我们采用J-FET结构的运算放大器,其同相端输入阻抗高达1012 Ω,所以其影响对RC电路微乎其微。

工作过程: STM32通过软件设置7个DAC寄存器,用于保存7路DAC的输出值;利用STM32的定时器,设定一定的溢出时间,定时器溢出后,我们首先把当前DAC寄存器的值写进内置DAC,然后通过GPIO 控制端选择多路复用器七个当中的一个端口,对RC电路进行充电,这样就完成了一个通道的电容充电。下一次定时器溢出后,同样的方法我们再写入下一个通道,逐个完成7个通道DAC输出。由于多路开关在“关”的状态下有微小的漏电流,所以我们必须周而复始的“刷”RC电路,才能保持DAC的输出值。这样,就完成了7个通道DAC扩展。

[iBoard 电子学堂][第八卷 设计任意波发生器] 第四篇 低速 DAC 扩展技术_第5张图片

图三 DAC扩展示意图

_______________________________________

关于 《iBoard 电子学堂》……

[iBoard 电子学堂][第八卷 设计任意波发生器] 第四篇 低速 DAC 扩展技术_第6张图片

《iBoard 电子学堂》是一个综合型的电子研发开发平台,适合在校学生、一线工程师及电子爱好者等。

交流方式:

官方博客:XiaomaGee.cnblogs.com

官方论坛:www.oshcn.com

官方淘宝店铺:i-Board.taobao.com

QQ群:

《iBoard 电子学堂 群【A】》:204255896(500人,满)
《iBoard 电子学堂 群【B】》:165201798(500人超级群)
《iBoard 电子学堂 群【C】》:215053598(200人高级群)
《iBoard 电子学堂 群【D】》:215054675(200人高级群)
《iBoard 电子学堂 群【E】》: 215055211(200人高级群)
《iBoard 电子学堂 群【F】》: 78538605 (200人高级群)

你可能感兴趣的:([iBoard 电子学堂][第八卷 设计任意波发生器] 第四篇 低速 DAC 扩展技术)