我需求是这样的:
首先,我有多个AD通道,也就是说我有多个模拟量需要采集;
其次,我需要以固定频率对所有AD通道进行重复采集;
再次,我希望多个AD通道之间的转换无延时,也就是说某通道AD转换完成后,不做任何等待,立即进行下一个通道的转换;
同时,我希望序列AD通道全部转换完一次后,间隔固定的时间后,开始下一次序列AD通道的转换。
最后,我希望AD转换结果使用DMA来采集,最终CPU只需要在DMA采集到足够多的数据后才开始分析。
应用场景举例:
单相电能的测量,就和我这个需求是一样的。需要先电压采集,然后无延时进行电流采集,然后250us(假定采样频率为4000点/秒)延时之后开始下一个电压电流采集。
我发现,我无法用比较简单的逻辑(比如用timer来触发采样,然后直接DMA传输,然后DMA中断后进行处理)来实现,除非使用非常复杂的DMA+TIMER+ADC设置才能实现(比如使用DMA的传输来实现ADC14SC=1这个操作等)。
不知道是否是我哪些地方理解不到位,求大神帮忙~
weifeng Li:
测试下是否发帖成功~
weifeng Li:
具体来说:
如果使用序列通道单次转换,则在每个序列通道完成后,需要做定时然后cpu去启动下一次序列通道;
如果使用序列通道重复转换,则要么是各个通道之间转换无延时,同时重复转换之间也没有延时;要么各个通道之间的延时和两次重复转换之间的延时是一样的
Annie Liu:
回复 weifeng Li:
为更加有效地解决您的问题,我们建议您将问题发布在E2E英文技术论坛上https://e2e.ti.com/support/microcontrollers/msp430/f/166,将由资深的工程师为您提供帮助。我们的E2E英文社区有TI专家进行回复,并得到全球各地工程师的支持,分享他们的知识和经验。
weifeng Li:
回复 Annie Liu:
好吧,但是咱TI中文社区需要崛起啊~~~
gaoyang9992006:
这种不需要CPU参与的定时操作能实现吗?如果允许CPU操作, 使用定时器,只要要求采样的频率不高应该都可以软实现。