单片机/MCU论坛
直播中

蒋美燕

7年用户 898经验值
私信 关注

Traveo CYT2B7使用P-DMA连续将ADC的16-bit采样结果传输到内存中,每16-bit的数据传输是否是原子传输?

您好,
我正在使用 Traveo CYT2B7,我想要使用 P-DMA 连续将 ADC 的 16-bit 采样结果传输到内存中,请问每 16-bit 的数据传输是否是原子传输?在 P-DMA 传输过程中,CPU 同时读取内存中目的地址的数据是否会出现错误数据(既不是新的数据也不是旧的数据的情况)?
                                                                                                                                                                                                                                                                                                                                                                                                

回帖(1)

夏日余晖

2024-2-4 11:01:39
对于您的ADC 连续采样输入数据示例,错误取决于bus master的操作状态,如果总线被 P-DMA 占用,那么 CPU 可能会得到错误的采样值, 特别是transfer size设置为 8 位。
对于您的情况,您应该将 src 和 dst 的transfer size设置为 16 位,然后将在单次传输中执行 16 位并生成 DMA 完成中断。 同時也请diable CPU的缓存。



举报

更多回帖

发帖
×
20
完善资料,
赚取积分