为什么微控制器通常不具有片上DAC?


44

这个答案中,我读到微控制器通常没有DAC,而有ADC。这是为什么?

编辑
我很欣赏像在R-2R DAC中那样集成电阻器的房地产价格是昂贵的(感谢Mike,您的回答),但是我认为可以将开关电流DAC制成得非常小,因为它们只需要几个晶体管。


+1是一个非常好的问题。我也想知道同样的事情。
sybreon,2012年

我需要使用A / D测量2个电压,然后同时生成2个D / A信号。这是为了同时控制通过2个晶体管的电流。单极或双极滤波PWM方法的噪声和非线性是一个实际问题。有时您确实想“回到模拟”。对我来说看起来像赛普拉斯的解决方案。首先使用微型显微镜的全部原因是为了减少零件数量。添加诸如舷外D / A之类的东西可以克服障碍。

Answers:


30

首先,某些微控制器确实具有D / A转换器。但是,它们远没有A / D转换器常见。

除了技术问题外,主要原因是市场需求。想一想。什么样的应用程序需要真正的D / A?除非要进行信号处理,否则希望微控制器产生相当高速的模拟信号是非常罕见的。但是,音频的主要市场是音频,与使用数字微控制器的相同过程所需要的分辨率相比,它需要更高的分辨率。因此,无论如何,音频将使用外部A / D和D / As。旨在用于此类应用的DSP具有内置的通信硬件,可与此类外部设备(如I2S)进行通信。

否则,对于普通控制应用程序,策略是在过程的早期就转换为数字,然后将其保持数字状态。这为A / D辩护,但是D / A没有用,因为您不想回到模拟状态。

微控制器通常控制的事物由PWM(PulseWidth Modulation)控制。开关电源和D类音频固有地对脉冲起作用。电机控制,螺线管控制等全部通过脉冲完成,以提高效率。您希望通过元件完全导通或完全截止,因为理想的开关不会消耗任何功率。在大型系统中或输入功率稀少或昂贵的情况下(例如电池运行),开关系统的效率很重要。在许多中等情况下,使用的总功率不是问题,但要消除热量浪费的功率。与10 W线性电路相比,耗散1 W而不是10 W的开关电路在电子零件上的成本可能要高一些,但总体上便宜得多,因为您不需要具有相关尺寸和重量的散热器,

请注意,在微控制器中非常常见的PWM输出可用于在需要模拟信号的异常情况下产生模拟信号。只要您有足够的分辨率*速度乘积,对PWM输出进行低通滤波是从微控制器产生模拟信号的最简单,最好的方法。滤波后的PWM输出具有很好的单调性和高度线性,并且分辨率与速度之间的权衡非常有用。

您有什么想让Micro拥有D / A转换器的具体想法吗?可能可以通过低通滤波PWM解决此问题,或者仍然需要外部D / A以获得更高的分辨率*速度。滤波后的PWM与外部之间的差距非常小,实际需要这种信号的应用类型也很窄。


除了音频外,任意函数发生器(ARB)都是我能想到的唯一应用,您不能在哪里使用PWM。
stevenvh 2012年

当需要高分辨率和高速时,DAC对我来说似乎很有用。由于PWM具有计数器或计时器,因此其分辨率有限,并且具有一定的更新速度,因此需要非常高的速度基准。
汉斯

另一个有用的地方是当您需要一些随机偏置模拟传感器的调整电压时。
Rocketmagnet 2012年

1
@Rocket:微调偏移的带宽非常低,因此低通滤波的PWM对其效果很好。不需要太多的零件,因为无论如何您通常都希望移动和衰减整个输出范围以进行微调。
奥林·拉斯洛普

1
我不确定其他µc制造商的代表性如何,但是PIC µc的大约10%具有板载D / A,我相信它们都是10位的。16个PIC(主要在PIC24和dsPIC33系列中,但有几个PIC16)具有两个D / A。
tcrosley13年

12

DAC在硅片领域相对昂贵。与输入相比,需要模拟输出的应用要少得多,而使用PWM和少量外部滤波可以更便宜地实现大部分应用所需的DAC功能。


6

还有两个尚未提及的问题:

  • 在很多情况下,一个部件需要能够测量多个引脚上的电压,但不能同时测量。可以使用单个ADC以及每个引脚一个通过门来完成此任务。相反,大多数需要多个DAC输出的部件将同时需要它们。

  • 将ADC与外界连接的电路必须只能传递足够的电流,以对ADC输入电路上的任何蓄意或寄生电容进行充电或放电。不仅电流很小,而且基本上与应用程序无关。与“最坏情况”的当前处理要求所需要处理的额外面积相比,在有利的应用环境下可以工作的某些东西所需要的面积可以忽略不计。相比之下,不同的DAC应用将具有不同的电流源或吸收电流要求,并且满足这些要求所需的芯片面积将有很大的差异。在几个完全符合应用程序要求的DAC上花费20%的芯片面积是明智的,

顺便说一句,我未曾使用过的一种技术是将DAC与PWM结合使用。使用R / 2R DAC时,很容易添加一个重量与LSB相同的额外输入(例如,一个3 + 1输入DAC的权重为1 / 2、1 / 4、1 / 8和1/8)。采用8位DAC并向其添加PWM信号可以产生12位结果,而噪声是12位PWM的1/128,但与使用线性度相当的12位DAC相比,成本更低。


1

正如Olin所说,某些MCU确实具有DAC。看一下赛普拉斯的PSoC3和PSoC5。它们包含多达两个DAC。这些对于在放大之前需要修整电压的模拟感测应用非常有用。

例如,我们用一个来测量压力传感器的输出。每个压力传感器芯片都有一个随机的电压偏移量。当MCU复位时,它将DAC电压设置为刚好低于传感器的输出。然后放大这些电压之间的差异。

能够将ADC,DAC,运算放大器和MCU都集成在一个芯片中真是太好了。


1
关于使用带压力传感器的DAC的方法,在该处施加了失调电压。当然,我不知道您的电路细节。但是将偏移量记录在uC存储器中并以数字方式在固件中应用校正会不会更容易?
尼克·阿列克谢夫

@NickAlexeevit可能不是最好的方法,因为这样做会浪费ADC范围的一小部分,从而降低了精度。
clabacchio

究竟。如果要应用放大(x50),则需要在零压力下具有最低的差分电压。
Rocketmagnet 2012年

0

回顾2017年,现在有许多微控制器系列包括DAC(除了上面列出的Cypress PSOC和PIC):

  • ADI公司ADuC70xx
  • Atmel AVR XMEGA(某些零件)
  • 英飞凌XMC4100 / XMC4200
  • 恩智浦Kinetis系列,其他
  • 瑞萨H8,R8等
  • 硅实验室
  • STMicroelectronics的STM32系列
  • TI,一些MSP430系列,还有一些C2000系列
  • Zilog(使用Z8处理器)

在Digikey 产品索引上搜索>集成电路(IC)>嵌入式-微控制器给出一个列表,其中一列标记为“数据转换器”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.