这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » FSLP建立一个接口,如何降低ADC-DMA的速度?

共2条 1/1 1 跳转至

FSLP建立一个接口,如何降低ADC-DMA的速度?

工程师
2025-01-22 13:08:57     打赏

我正在为 FSLP(力感线性电位计)建立一个接口,以检测用户的触摸滑动。
我正在使用比较器 ISR 来检测用户触摸 FSLP 的情况,然后从 ADC 中读取压力读数,如果压力超过阈值,固件就会重新配置 FSLP 的引脚配置,并再次运行 ADC 来读取 10 个读数,这些读数代表用户在 FSLP 条上触摸的位置。 效果非常好。 我必须在 ADC 读数之间添加 20 毫秒的延迟,以捕获 10 个连续读数,这些读数可以跟踪用户滑动EVAL_PASCO2_SENSOR
逻辑如下
1. 用户触摸EVAL_PASCO2_SENSOR ,如果触摸产生超过阈值的电压,则会触发比较器 isr。
2.比较器 ISR 触发单个 ADC 捕获以读取力值,并将其与触摸阈值进行核对。
3.如果力度足够,则重新配置 FSLP 引脚并调用 ADC_StartConvert()。
4.其余部分由 DMA_ADC 使用单个描述符进行管理,需要捕捉 10 个读数,每个读数间隔 20 毫秒。
现在,我正试图使用 DMA 来实现这一功能,以避免运行时出现 10 x 20 毫秒的延迟。
我使用的是触发 DMA 的 EOS。 但最慢的 SPS 为 1 700,我只需要 50 个间隔为 20 毫秒的采样。
有什么建议吗?




关键词: 接口     ADC     DMA    

助工
2025-01-22 13:09:17     打赏
2楼

可以使用一个 TCPWM 作为定时器来触发 ADC。 启用 ADC 的转换开始功能,并将定时器的周期设置为 20 毫秒。 同时将 ADC 配置为单次采样。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]