硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1808|回复: 4
收起左侧

思考下如何实现硬件触发功能

[复制链接]

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2022-3-24 08:50:46 | 显示全部楼层 |阅读模式

250M示波器模块设计了一个硬件比较器。比较器输出直接连接到RP2040的GPIO。

初步想法是:
1、未触发前,DMA + ADC采集持续进行中。125Msps
2、开启GPIO硬件中断,检测到比较器跳变时,设置定时器中断,在定时器中断服务程序中中再关闭DMA传输,然后等待数据处理。
3、但是这个定时时间不可能很准,会导致波形起始时刻偏移很多周期。比如入50M波形(波形周期只够10条指令)

在思考有没更加有效的触发方案。
回复

使用道具 举报

36

主题

2038

回帖

2146

积分

至尊会员

积分
2146
发表于 2022-3-24 10:05:42 | 显示全部楼层
125Msps或者250Msps采集50MHz波形能力不行,点数太少,才2-5个点,基本无法查看起始周期偏移。所以不用太担心这个顾虑。

然后结合M0内核中断延迟时间基本固定15个时钟周期左右,考虑进去这个误差就差不多了。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

19

主题

93

回帖

150

积分

初级会员

积分
150
发表于 2022-4-3 19:43:57 | 显示全部楼层
我在想,这个硬件比较器实现的“硬件触发”比软件触发真的有优势吗?
在软件中,通过判断上升沿,甚至实现一个迟滞比较,也是可以的。

DMA 采样,采样得到足够的数据后,软件搜索触发点,从这个触发点开始显示波形。
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
 楼主| 发表于 2022-4-3 21:54:34 | 显示全部楼层
低频波形可以。频率高一点的,ADC值抖动会导致波形抖来抖去。另外,CPU的搜索和比较速度赶不上波形填充的速度。
回复

使用道具 举报

19

主题

93

回帖

150

积分

初级会员

积分
150
发表于 2022-4-4 14:59:43 | 显示全部楼层
我现在用的AD9280,H750直接DMA读取。应该是可以到40M采样率,据说有方法到125M采样率。
我现在还只做到20M采样率,在观察2MHz的正弦波时,还算稳定,不是很抖。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-19 16:24 , Processed in 0.197217 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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