• 正文
  • 相关推荐
申请入驻 产业图谱

基于STM32和AD9833的信号发生器设计 1:系统框架和器件选型

16小时前
192
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

最近有个好友问我市面上有没有能出100KHZ,50V的信号器。

50V对于常规信号发生器来说幅度实在是太高了,只能通过变压器的手段将常规信号发生器的输出变压至50V,后来聊了一会,他希望我能帮他做一款频率可调,幅度可调最高至20Vpp的小装置用于科研用途。

因此本期设计一款基于STM32,设计指标在信号频率最高150KHZ,电压最高20Vpp可调,设计简单的信号发生器,并且时间还比较赶,大概就十来天。

1、正弦波的产生方案

正弦波的产生大概有三种方案,首先想到的是利用STM32的自身DAC配合DMA产生正弦波。

但是受限于单片机自身的性能,并且DAC产生正弦波的原理是依赖DAC模拟变化正弦波,因此一个周期的模拟点数决定了正弦波的“丝滑程度”。

当需要频率较高的正弦波时,“丝滑程度”会大打折扣,因此权衡之下决定不用这个方案。

传统电路中可以通过振荡电路产生正弦波,例如RC、LC振荡器等,其中经典的如文氏桥振荡器、考毕兹振荡器等结构。

这种传统方法价格便宜,但是调试困难,不易严重,并且不能直观准确的控制频率,因此也不选。

DDS(直接数字合成)是一种基于数字技术的信号合成方法,通过相位累加器以频率控制字(FTW)为步长循环累加生成相位地址,从存储正弦波采样值的ROM中读取对应幅度码,经数模转换器(DAC)转换为离散模拟信号,再由低通滤波器(LPF)平滑得到连续正弦波;

AD9833作为一款经典的DDS芯片,最高可以产生12.5MHZ的正弦波输出。

采用SPI控制,方便MCU控制,电路结构简单,方便一次成功。内置28位相位累加器,以25MHz时钟为例,频率分辨率可达 25MHz/228≈0.093Hz,轻松实现微小频率步进(如扫频、调频);支持正弦波、三角波方波占空比可调)三种输出,因此决定采用DDS作为正弦波的产生装置。

2、系统框架

系统总体框架如下,单电源输入,通过电荷泵产生负电压,正电压直接通过DCDC降压到3.3V为微控制器和DDS等数字芯片供电。

正负电压构建双电源让运算放大器可以满足目标电压要求。

由于目标电压Vpp要求20V,即正负电压为±10V,为保证运算放大器工作范围覆盖目标电压,电源输入选用12V 或者15V直流输入,在电荷泵的作用下产生-12V或者-15V电压。

电压放大部分利用同相放大器,反馈电阻采用数字电位器,由MCU控制数字电位器实现电压程控。数字电位器的方案首先是成本比较低,例如MCP4017的价格很低,比采用PGA会合算的多。

其次就是数字电位器可控制档位比较多,例如MCP4017是128段控制。

AD9833的输出电压是0.65V,并且存在着一个直流偏置,在放大时需要考虑直流偏置问题。

滤波方式大体分为两种,一种是在DDS的输出端增加高通滤波,提前去掉直流部分再经由运算放大器放大。

另一种方式是在同相比例放大器的反馈端串联一个电容,但是不同频率的电容容抗不一样,滤波效果由反馈电阻和电容决定,与放大增益耦合,无法独立调节截止频率(增益变化会影响滤波频率)。

因此还是决定先滤波再放大的策略。

3、器件选型

由于运算放大器的反馈电阻是由MCP4017程控,但是需要注意的是MCP4017的电气特性并非是纯阻性器件内部采用CMOS 开关阵列与精密电阻网络的组合架构,工作时会引入额外的寄生参数与非线性特性,这与理想固定电阻的纯阻性表现存在明显差异。

从内部结构来看,MCP4017 的电阻网络由多组精密薄膜电阻串联而成,通过片内 CMOS 模拟开关的通断实现不同电阻值的选通。这些 CMOS 开关在导通状态下并非理想短路,而是存在导通电阻(Ron),其阻值会随电源电压、工作温度以及开关控制信号电平变化而波动,通常在几十欧姆到几百欧姆范围内变化;而在关断状态下,开关两端还会存在寄生电容(Coff),该电容会与电阻网络形成额外的 RC 通路,影响电路的高频响应特性。

根据电气参数表中的指导,MCP4017-104型号的截止频率在100KHZ,MCP4017-103的型号截止频率为1MHZ,因此选用MCP4017-103。

DDS的输出电压为0.6Vpp,放大至20Vpp,保守设计40倍的放大倍率,100KHZ的情况下,要求运算放大器至少有6.28V/us的压摆率,保守起见应该设计15V/us以上,因此运放选型选用ADI的AD8034,支持±12V电源,最高±11.84输出,压摆率高达80V/us,而且我感觉它比较便宜。

下期开始电路图绘制。

相关推荐