单路DAC和多路模拟开关生成多路信号源
题目:利用一个DAC0832和一个模拟开关设计8路模拟信号源,要求控制器为8051单片机,每路信号源的输出电压为0~5V,信号频率均为1KHz,输出精度优于2%,要求画出原理图(电源部分可不画),每路信号源一个周期内的量化点数可以一样,计算模拟开关的切换速度,写出关键的程序代码。(感兴趣的可以给出保持电容的容值计算过程)
解答:
该法通过多路模拟开关开合使8路信号轮流更新实现同步输出8路模拟信号,由电容实现电压保持效果,运放增大驱动能力,使输出信号更加稳定,否则无法带动负载。
实现过程:8051输出data1与000,分别传递给DAC和多路模拟开关,使得第1路模拟信号输出(向电容充电,充电完成后开关断开,认为电阻无穷大,则电压保持,然后经过跟随电路后输出);紧接着8051输出Data2与001,使得第2路模拟信号输出;依次类推使8路模拟信号输出,然后又返回第1路依次更新输出电压,如此循环往复其反应的变化可实现正弦波、锯齿波等。
注:
** 1.DAC电流输出如何转化为电压输出?**
直观来讲,可以在输出端接一个电阻,得到的压降即为电压,使得输出转为电压,但是实际上支路电流会有消耗,可以使用运放跟随,其支路电流均为0,可避免电流消耗问题。
** 2.系统到单元电路的指标分解化?**
针对误差要求,将其分配到各个环节进行误差分析,(如本题要求输出精度优于2%,要考虑DA、温漂误差、运放失调误差、偏置误差等,此处误差来源最关键的为DAC)然后对器件进行选型。
** 3.电容引起的误差分析:**
理想情况下认为开关断开电阻无穷大,但实际并非如此,可能会导致电容放电,所以要使精确度高,应加快开关闭合速度,减小因电容放电引起的误差;同时放电速度取决于整个开关电路中的等效电阻情况,等效电阻越大,引起的误差越小。
** 4.单缓冲与双缓冲**
该电路不可能为双缓冲方式,无意义,一定采用单缓冲方式,双缓冲方式常用于使用多个DAC生成多路模拟信号源的情况,它采用采用相位同步的方式实现多路同步输出,而采用单路DAC和多路模拟开关生成多路信号源的关键在于电容保持电压来实现多路同步输出,同时节省接口资源,两个方法目的相同,实现方式有所区别。