OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5065|回复: 22

stm32能不能输出一个从0-5V周期为0.1ms分辨率为0.5mv的波形

[复制链接]

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-4-21
在线时间
56 小时
发表于 2017-9-20 21:24:23 | 显示全部楼层 |阅读模式
1金钱
想要用stm32输出一个波形,如图所示
无标题.png

最佳答案

查看完整内容[请看2#楼]

0.1就是500mV,楼主要0.5。 真要搞0.5mV精度的话,估计得去找个500MHz、14bit级别的DAC/DDS,带RAM的那种,单片机先把表存进去。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2017-9-20 21:24:24 来自手机 | 显示全部楼层
NULLFF 发表于 2017-9-21 21:29
F(jω)=j/ω*[e^(-jω/2)-Sa(ωτ/2)]这是离散锯齿波的变换,第五谐波大概是1/5系数,六次就是1/6系数, ...

0.1就是500mV,楼主要0.5。

真要搞0.5mV精度的话,估计得去找个500MHz、14bit级别的DAC/DDS,带RAM的那种,单片机先把表存进去。
回复

使用道具 举报

54

主题

372

帖子

0

精华

高级会员

Rank: 4

积分
980
金钱
980
注册时间
2016-6-15
在线时间
474 小时
发表于 2017-9-20 21:32:36 | 显示全部楼层
如果是绝对电压STM32普通IO口无法实现,可以考虑用DAC输出做。如果要求不高可以用PWM->DAC不知道你干嘛用。
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-20 21:55:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-9-21 09:04:42 | 显示全部楼层
本帖最后由 wxjhby 于 2017-9-21 09:06 编辑
NULLFF 发表于 2017-9-20 21:55
不能,内部DAC精度小于等于12-bit,4096个分辨单位。而5V/0.5mV=10000倍,至少需要10000个分辨单位,也就是 ...

那就只能外置一个14位以上的DAC了,具体型号可以去TI 或者ADI上找
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-4-21
在线时间
56 小时
 楼主| 发表于 2017-9-21 09:28:18 | 显示全部楼层
本帖最后由 bruceleegyx 于 2017-9-21 09:30 编辑
wxjhby 发表于 2017-9-21 09:04
那就只能外置一个14位以上的DAC了,具体型号可以去TI 或者ADI上找

速度够不够?0.1ms内能输出10000次吗?
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-4-21
在线时间
56 小时
 楼主| 发表于 2017-9-21 09:29:39 | 显示全部楼层
shuaigew88 发表于 2017-9-20 21:32
如果是绝对电压STM32普通IO口无法实现,可以考虑用DAC输出做。如果要求不高可以用PWM->DAC不知道你干嘛用。

是用在信号频段扫描里的,精度要求还是比较高的,至少14bit,而且速度也有要求
回复

使用道具 举报

54

主题

372

帖子

0

精华

高级会员

Rank: 4

积分
980
金钱
980
注册时间
2016-6-15
在线时间
474 小时
发表于 2017-9-21 10:28:36 | 显示全部楼层
bruceleegyx 发表于 2017-9-21 09:29
是用在信号频段扫描里的,精度要求还是比较高的,至少14bit,而且速度也有要求

你这样的要求必须要用高精度的DAC。
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-21 12:47:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-9-21 14:02:01 | 显示全部楼层
不需要0.1ms内输出10000次吧    0.1ms输出个几百次就够了吧
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-4-21
在线时间
56 小时
 楼主| 发表于 2017-9-21 15:09:16 | 显示全部楼层
NULLFF 发表于 2017-9-21 12:47
10KHz的输出频率不算高,只要刷新频率达到100KHz以上的DAC都可以,价格也不贵。

有没有具体的芯片型号推荐?还有,dac能达到10khz,stm32能达到这么高的速度吗?
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-4-21
在线时间
56 小时
 楼主| 发表于 2017-9-21 15:09:53 | 显示全部楼层
wxjhby 发表于 2017-9-21 14:02
不需要0.1ms内输出10000次吧    0.1ms输出个几百次就够了吧

技术上要求的,几百次不够
回复

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2017-9-21 15:45:53 | 显示全部楼层
我觉得需要认真考虑“分辨率0.5mV”这个需求。

波形斜率是5V/0.1ms,如果需要分辨率0.5mV的话,是说信号的接收方会以10ns的周期来采样吗?
就算做到了锯齿波上升阶段误差总小于0.5mV,那跳变怎么办呢,也需要在10ns以内完成吗?
淘汰人的从来是工具而不是年龄
嵌入式的冷知识屋 blog.csdn.net/k_o_carnivist
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-21 16:43:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-21 16:51:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2017-9-21 17:55:41 | 显示全部楼层
NULLFF 发表于 2017-9-21 16:51
LZ理解有误,分辨率至少是10000个单位,不代表0.1ms输出这么多次。实际上你输出信号的周期是0.1ms,频率就 ...

100kHz的DAC做10kHz的锯齿波,幅值5V都固定了,那就是每周期10个固定点的大台阶,误差±250mV,
我觉得LZ想要的应该不是误差250mV、分辨率0.5mV……
淘汰人的从来是工具而不是年龄
嵌入式的冷知识屋 blog.csdn.net/k_o_carnivist
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-21 21:06:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-21 21:29:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-4-21
在线时间
56 小时
 楼主| 发表于 2017-9-22 10:02:28 | 显示全部楼层
@NULLFF @K.O.Carnivist 先谢谢两位的回答。我对这个信号的处理也不太懂,可能是我没表达清楚,我再把我的需求叙述一遍吧。我需要得到一开始那张图的信号,也就是一条从0-5V接近线性的电压信号,并且这条接近线性的电压信号分辨率在0.5mv。换句话说,我要在0.1ms内输出0.5mv->1mv->1.5mv->2mv->......1v->1.005v->1.01v->.......5v,所以就是要在10ns之内完成一个固定大小信号的输出,并完成跳变。自己感觉有点实现不了
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-22 10:43:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

57

主题

121

帖子

0

精华

高级会员

Rank: 4

积分
643
金钱
643
注册时间
2016-10-5
在线时间
50 小时
发表于 2017-9-22 21:27:12 | 显示全部楼层
是不能输出的
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-4-21
在线时间
56 小时
 楼主| 发表于 2017-9-25 10:31:40 | 显示全部楼层

为什么?问题出在哪
回复

使用道具 举报

15

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-4-21
在线时间
56 小时
 楼主| 发表于 2017-9-26 14:33:47 | 显示全部楼层
K.O.Carnivist 发表于 2017-9-21 23:22
0.1就是500mV,楼主要0.5。

真要搞0.5mV精度的话,估计得去找个500MHz、14bit级别的DAC/DDS,带RAM的 ...

你好,我仔细了解过了,stm32f103系列时钟最大也就72M,根本产生不了那么快的信号,应该用你说的带RAM的dac芯片。但是这种芯片我没找到,有没有一些推荐的芯片型号?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 13:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表