用5块钱的单片机做了一个20MHz的DDS信号发生器

原创 电子森林 2022-03-28 18:36

折腾了一个下午,终于将一个功能强大、价格超级便宜的DDS信号发生器给搞定了.


有图才有真相,先看一张照片:

用M2K口袋口袋仪器测试到的生成的正弦波,测到的频率为9.968MHz


再通过界面看看这个信号是如何生成的:

240*240分辨率的屏幕上实现了各种波形及参数的调节。

调节方式有下拉选框、滑动棒多种方式,这UI是不是很酷?(别人写的,我只是修改了一下)


屏幕是不是很熟悉?这是我们硬禾学堂非常偏好的1.54寸240*240分辨率的彩色LCD、用SPI驱动,中景园淘宝店15.5元能买到。


整个系统上,就这个屏最贵,RP2040批量价格只有5元RMB,搭配LDO、高速运放、Flash等,全部下来不到50元RMB。

除了屏以外的其它部分的电路如下面这个板子所示:

另一个版本的DDS信号发生器

能够产生的信号:

  • 波形:正弦波、脉冲、高斯、Sinc、指数、噪声,其实可以任意,目前的界面中就先支持这6种

  • 频率范围:DC-20MHz,可精准调节

  • 幅度:8Vpp,可精准调节

  • 直流偏移:-4V ~ +4V可精准调节

  • 另外脉冲信号可以调节上升沿、下降沿等


也许你会很吃惊,这么高速的模拟信号用啥DAC产生的呢?只有不到1块钱的20只电阻,用R-2R的方式构成了10bits的DAC,当然为了对得起10位的分辨率,电阻要选用1%以上的精度,常规的5%精度的电阻,阻值就有5%的偏差,在输出的波形上就会有凹凸不平的“雀斑”,看到国外有个小哥在用了1%精度的电阻的情况下,还用万用表精挑细选出尽可能接近1K/2K的电阻,毕竟1%的电阻也不值几个钱。

在我们以往的认知里,要做高速的DDS,那必须要用FPGA啊,单片机的IO怎么能推得动呢?何况是5块钱的单片机?

典型的FPGA+DAC构成的DDS信号发生器框图

树莓派的RP2040真的能做得到,秘密就在于其PIO(可编程IO),这玩意的神奇之处有很多文章都已经讲了,我在这里也没有办法讲清楚,只是给大家揭晓这个答案,有兴趣的同学可以自己去深挖。


RP2040通过PIO直接连接20个电阻构成的DAC网络,输出级加上低通滤波和双电压供电的高速运放,就能够输出我们需要的幅度、直流偏移的模拟信号了,这部分的电路也不在这里展开,在电子森林的项目平台里有很多相关的文章。


准备好硬件,如何让集按键控制、图形化界面、高速DDS输入任意波形整个复杂的系统通过软件实现?


就连7、8年编程经验的老司机估计也会望洋兴叹一阵。


而我,一个几乎没有任何编程史的板农赤膊上阵,用了一个下午的时间就把这玩意给鼓捣出来了,怎么做到的?秘笈如下:

  • 网上有开源的DDS信号发生器程序,用树莓派Pico实现20MHz的任意波形产生

  • 网上有开源的MicroGUI程序,正好支持我们用到的这款LCD屏幕的控制器ST7789

  • 网上还有一位小哥结合上面两个开源的程序,制作的一款DDS信号发生器如下:


(当然这些资料是我在前期关注RP2040的技术信息时看到并刻意收藏起来的。没有这些信息,我绝对没有胆量开始硬件设计的。)

他用得LCD屏幕是320*240的,而我的硬件用的是240*240的,控制器也不同。


那我的任务就是基于这位小哥的使用指南,结合他使用的开源程序,自己修改代码从320*240的屏幕上适配到我的240*240屏幕上。


幸好这些开源的代码都是基于MicroPython的,虽然我也就是能够看懂MicroPython的语句,但熟练使用真的谈不上。


不过不怕啊,就想用LED调试硬件一样,在不同的地方设置打印信息Print(‘1')....就能方便追踪每一行语句的执行情况,修改相应的参数看看发生什么变化。


就这样。。。。竟然Work了。


但我将最终的程序以main.py脱机运行,并在M2K上能够验证设置的波形参数的时候,心情还是很激动的。


我竟然真的让它工作了!


要说这一切,归功于:

1 开源的力量!

2 MicroPython太好用!

3 RP2040很强大!


后面我会在这个系统上加入其它的一些功能,不仅能够生成模拟信号,还能够提供各种数字信号,比如调试单片机、MCU的调试器、能够生成SPI、I2C等测试信号的综合调试助手。


相关资料可以点击”阅读原文“跳转到电子森林的百科资源页面。

电子森林 讲述电子工程师需要掌握的重要技能: PCB设计、FPGA应用、模拟信号链路、电源管理等等;不断刷新的行业新技术 - 树莓派、ESP32、Arduino等开源系统;随时代演进的热点应用 - 物联网、无人驾驶、人工智能....
评论
  • ​摘要:低价大流量卡正全面退市,政策收紧已成定局。面对传统号卡的不确定性,随身WiFi凭借稳定连接、多设备共享、独立设备和灵活套餐等优势,成为务实可靠的备选方案。1、流量卡黄金时代要结束了通信行业正迎来一场前所未有的“地震式”调整——曾让无数用户追捧的低价大流量卡,正在全速退出各大平台。这早已不是一次普通的竞合,而是一场趋势性的行业洗牌。回望过去,19元200G的神卡,那时真是“睡着都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像随便刷、随便看,流量自由触手可及。可如今,回头再看,那种
    爱上电路设计 2026-08-03 10:21 128869浏览
  • 文:杜杰编辑:侯煜当地时间7月28日,美国特朗普政府落地最新科技封锁政策,美国联邦通信委员会(FCC)正式更新《受管制清单》,新增两大类设备——境外生产的先进机器人设备、境外生产的联网电力逆变器。FCC在官方情况说明书中明确,该类境外制造产品,“会对美国国家安全或美国民众的人身安全构成无法承受的风险”。本次新规设置明确豁免机制:经美国国防部(DoW)、电力逆变器品类经美国国土安全部(DHS)审核并授予“有条件批准”,认定对应设备品类不存在重大安全风险,即可获得准入豁免。同时政策严格执行新老划断原
    华尔街科技眼 2026-08-03 21:28 325浏览
  • 导语在现代高速数字电路设计中,信号的完整性已不仅是理想波形推演,而是一场与物理非理想特性正面博弈的工程实践。滤波器芯片作为净化传输链路的关键屏障,其核心挑战在于:能否有效识别并滤除那些隐匿在电平跳变过程中的亚纳秒级瞬态脉冲干扰,这类干扰持续极短,却足以在高速链路中引发误触发。然而,传统函数发生器受限于采样率与边沿速率,根本无法忠实复现如此狭窄且陡峭的异常波形。针对此困境,德思特TS-AWG7000系列任意波形发生器以17 GS/s采样率与50 ps原生边沿速度,为瞬态脉冲提供精细刻画,配合SPG
    德思特测试测量 2026-08-05 14:06 5浏览
  • 智能宠物用品这几年快速普及,自动清理几乎成了智能猫砂盆的标配。猫咪用完离场,设备自动翻转清理,养宠家庭省去了每天弯腰清理的麻烦。但自动清理的第一步,是先准确判断猫到底在不在盆里。这个看似简单的问题,在小空间里并不容易做好。近场检测的痛点:距离太远反而误事猫砂盆内部空间有限。如果传感器的检测距离设得偏大,盆外路过的猫、人甚至物品都会被误判为猫在盆内,结果该清理时不清理、不该清理时乱清理,体验直接崩坏。这类产品的核心诉求其实就一句话:近距离、小范围、精准识别,不能有半点误判。常规感应方案常因检测距离
    唯创知音语音芯片 2026-07-31 16:51 306浏览
  •                                                                        
    广州铁金刚 2026-08-06 17:44 100330浏览
  • 在前六期中,我们已经分别讨论了 CRA 的适用范围、整体影响、漏洞通报义务、风险评估与技术文档证据链、第三方组件与 SBOM 供应链治理,以及产品上市后的支持期、安全更新、用户说明和终止支持管理。到这里,企业已经能够回答几个核心问题:产品是否落入 CRA 适用范围,产品由哪些组件构成,企业如何证明自己在设计、开发和上市前采取了必要的安全措施,以及产品上市后如何持续维护和安全下线。但对于真正准备落地 CRA 合规的企业来说,还有一个更现实的问题:CRA 的法规条文相对原则化,企业应当如何把“网络安
    虹科云科技 2026-08-03 16:51 149225浏览
  • 摘要在防爆电气设计中,只参照芯数选型而忽略额定载流量,长期满负荷运行会出现插头发热、接触面氧化、IP67 密封受热老化等问题。结合常用 3 针 3 孔、4 芯、5PIN、8PIN 圆形防爆连接器,制作分级电流参数对照表,区分冷压免焊接、焊接两种接线结构的安全载流数值,设置合理电流冗余系数,搭配使用环境修正参数,规范防爆接近开关连接器、防爆法兰插座的选型计算方式。关键词圆形防爆连接器,载流参数表,防爆法兰插座,防爆端子接头,IP67 防爆防水接插件1 产品概述圆形防爆连接器触点载流能力由插针直径、
    kyfbest科迎法电气 2026-08-03 09:18 128642浏览
  • 产品使用18V供电,配套4串锂离子电池,需要设计一个充电器。因为输入18V,电池最高 16.8V,压差仅 1.2V。因为压差太小。使用开关型的充电控制芯片不稳定。尝试自行设计一个。整体采用分立三极管 + TL431架构,分4个功能单元:使能控制回路、限流环路、TL431 精密恒压反馈环路、PNP 功率管主功率输出回路;实现完整锂电池充电逻辑。使能控制回路按键按下:5V 电压经 R12 (2kΩ) 送入 NPN 管 Q3 基极,Q3 饱和导通,对地拉低 R1、R2 组成的分压控制节点电位;该节点直
    southcreek 2026-08-07 13:45 316浏览
  •        很多人只见过封装在SMD外壳里的小尺寸晶振,却不知道一颗2016、1612甚至1210封装的微型石英晶振,从一块巴掌大的石英原矿,到最终能稳定起振的成品,要经过十几道精密工序。它内部的石英晶片厚度最薄不到20微米,比普通A4纸的1/5还薄,整个生产过程里哪怕0.1微米的误差,都会直接废掉整批产品,这也是小尺寸晶振过去长期依赖进口,国内厂商花了十几年才啃下量产硬骨头的核心原因。1. 原石定向切割:0.01度的角度误差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 374浏览
  • 在芯片总成本中占比不到 1%,却可能因一处品质偏差导致整片晶圆报废——半导体切割/研磨胶带,正随着先进封装的爆发,成为封测产线选型中最谨慎对待的耗材之一。但鲜有人注意到,决定这层胶带性能上限的,是上游一层更薄的基膜。这个长期由日本企业主导的隐形环节,正在出现国产突围的信号。一、需求之变:先进封装与“韬定律”重塑胶带市场AI 算力芯片、HBM 高带宽存储、Chiplet 芯粒等先进封装产品持续放量,国内封测产线扩产节奏不减。作为晶圆减薄与切割工序的必需耗材,晶圆胶带的需求同步扩容。据 QYRese
    芯膜前沿 2026-07-31 16:35 372浏览
  •     长期专注WiFi领域,也算是行业老兵了!同行闲聊中,时不时能提起我和我们!从疫情起,国产替代风生水起,起起落落,大浪淘沙,生存下来的都是强者!    WiFi模块应用广泛,对于高端市场和特定市场,要求WIFI模块需要过CE/FCC之类的认证,也就是说没有认证的模块,不具备导入产品设计.接下来就和大家聊聊认证模块选型参考!    WIFi模块硬件方面主要考虑以下九点特性:    1
    纳拓科技 2026-07-31 17:56 252浏览
  • 在EMC测试过程中,传导发射(Conducted Emission,CE)超标是工程师最常遇到的问题之一。更令人头疼的是,同样的超标曲线背后,可能对应着完全不同的干扰机理:有的是差模噪声沿电源回路传播,有的是共模电流通过寄生路径耦合,还有些问题甚至并非来自电源本身,而是负载、电缆布局或接地结构引起的连锁反应。 · 150kHz~1MHz 超标:多为差模噪声为主,干扰沿火线-零线回路传输。 · 1MHz~30MHz 超标:通常共模噪声占主导,干扰通过火线/零线对地回路传播。 如果条件允许,用电流探
    誉磁电磁兼容EMC 2026-07-31 18:45 501浏览
  • 在物联网从“万物互联”迈向“万物智联”的进程中,LTE Cat.1凭借其在速率、成本与网络覆盖之间的完美平衡,正成为中低速物联网市场的绝对主力。随着2G/3G网络的逐步退网以及新国标对终端设备智能化、定位功能的强制要求,Cat.1模组迎来了爆发式的增长窗口。在这一关键节点,基于华为海思Hi2131芯片设计的LTE Cat.1模组,凭借其在能效、射频、架构及物理规格上的底层创新,成功打破了“高性能必高功耗”的传统魔咒,为行业提供了极具竞争力的连接最优解。核心技术优势:重塑Cat.1能效与连接标杆海
    用户1778981989717 2026-08-05 21:04 169浏览
  • 做蓝牙音箱的工程师大概都碰过这个局面。产品要连手机放歌,要本地播开机提示音和按键音,还要接 App 做配网和状态上报。三件事拆开,早先的常规做法是音频蓝牙一颗料、数传蓝牙一颗料、本地播放再挂一颗小 MCU 加一片 Flash。板子越画越大,BOM 越算越贵,待机电流和固件工作量也跟着涨。WT2605C 出来以后,这套需求可以集成到一颗芯片,就是 WT2605C-32N,该芯片采用QFN32 封装,4×4 毫米,把音频蓝牙、BLE 数传和 MP3 本地播放三样全包了。对蓝牙音箱来说,最实在的好处就
    唯创知音语音芯片 2026-08-06 15:14 284浏览
  • 摘要防爆自控系统同时布设本安信号、工业总线、动力供电三类线路,仅依靠标识标牌管控插接极易出现人为错插问题,高压动力回路窜入本安弱电回路会突破安全栅限能标准,产生点火风险。依托 A、D、K 标准化机械防呆编码体系,搭配护套颜色区分管理,适配 3 针 3 孔免焊接冷压增安型防爆航插、5PIN 总线防爆航空插头、8 芯焊接防爆法兰插座的选型使用,从物理结构层面杜绝防爆接近开关连接器、防爆传感器航插接头混用插接问题,补齐防爆系统被动安全防护体系。关键词圆形防爆连接器,防呆编码防爆航插,防爆航空插头,防爆
    kyfbest科迎法电气 2026-07-31 18:29 407浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦