SAM4S-DMA是否及时确定?

时间:2018-11-20 17:17:44

标签: microcontroller dma usart

我正在使用具有USART 0外设的SAM4SD16C的DMA(在数据表中称为PDC)。 我设置了一个计时器,该计时器每毫秒生成一次中断。每5毫秒应通过DMA进行一次数据传输。 当TXEMPTY标志置位时,应该发生另一个中断。

要查看传输的开始和结束时间,请切换Ouptut并在示波器上观看。然后我意识到接收结束的时间变化了20 µs(我的主时钟是120MHz)...在我的项目中这是不可接受的。同时,传输的起点精确到100ns,因此这一点没有问题。

我想知道是否有一种方法可以更好地控制DMA时间传输。

1 个答案:

答案 0 :(得分:0)

如以上注释所述,接收结束瞬间的不精确性是由于波特率值引起的。这种不精确性大约在波特率周期左右,可能还会增加总线空闲时间。