乘风飞扬 发表于 2023-8-2 17:40:38

使用普通I/O口和电阻分压实现高速DAC例程-可做高速波形发生器

https://www.stcaimcu.com/data/attachment/forum/202308/08/111300yjjjmauve17kzg04.png
使用普通I/O口和电阻分压实现高速DAC,有完整的例程-可做高速波形发生器
功能说明:
通过P0,P2口输出16位DAC电平。串口1配置为115200bps,8,n, 1, 切换到P3.0 P3.1, 下载后就可以直接测试. 通过串口发送命令控制输出电压,格式: 55 AA ID VSH VSL VEH VELTH TL CS55 AA:起始码;ID:00~FE 为电压变化的阶段标识;FF 为结束符,表示一轮测试指令已经发送完成,可以开始测试;VSH VSL:本阶段起始电压值,H为高8位,L为低8位;VEH VEL:本阶段结束电压值,H为高8位,L为低8位;TH TL:本阶段测试时间,H为高8位,L为低8位;如果本阶段起始电压与结束电压相等,则为延时时间;CS:校验码,以上数据的累加值。
下载时, 选择时钟 22.1184MHz (用户可自行修改频率).

主要电路:

上位机软件设置:


执行效果:

jmg 发表于 2023-8-3 07:50:20

Nice, but not every user has 16 pins and a lot of board space to throw at building a DAC from discrete parts.

For those who might use PWM instead, there is this techniquefor better filtering-step trade off on PWM DACs
Many STC parts have PLLs on the PWM clock, so the PWM can be fast.

https://www.ednasia.com/cancel-pwm-dac-ripple-with-analog-subtraction-revisited/

神农鼎 发表于 2023-8-4 22:34:17



产生正弦波的几种方法,有高速的,也有硬件超级简单的 - PWM/144MHz时钟源的PWM/45路PWM+3路CCP/7组不同周期的PWM/DAC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

ofela 发表于 2023-8-23 15:59:56

请问支持负压输出吗

乘风飞扬 发表于 2023-8-23 19:27:46

ofela 发表于 2023-8-23 15:59
请问支持负压输出吗

这种方式不支持负压输出。参考使用老梁示波器的信号发生器,PWM输出脉冲经过5阶有源滤波输出1KHz正弦波的方法:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=3593&extra=page%3D1

liushiming82 发表于 2023-11-8 17:25:06

没有明白,这个是什么原理

选择与判断 发表于 2023-11-27 14:45:45

英文大佬说用pmw更好,我等吃瓜群众只能是围观

alex 发表于 2023-11-27 15:57:20

本帖最后由 alex 于 2023-11-27 16:28 编辑

这是个不错的思路,从前有些没有硬件pwm,dac,adc的单片机就是用类似方法解决问题的。甚至不用单片机,只用门电路就可以实现adc,dac等功能的{:4_165:}
很久以前见过一个大佬,用一块AT89C2051芯片做过一个俄罗斯方块的游戏机,惊为天人。
那是把芯片用到了极致了。2k的空间,20个引脚,要实现vga视频输出,一路8bit音乐输出,至少5个按键输出。怎么做到的我至今没有搞明白。

略略略 发表于 2023-12-17 13:02:53

👍

wpppmlah 发表于 2024-3-13 08:06:54

很不错的思路,学习。
页: [1] 2 3
查看完整版本: 使用普通I/O口和电阻分压实现高速DAC例程-可做高速波形发生器