请教下ADC普通通道由DMA传输与ADC抢占通道转换两者时间的差距
用AT32 F415 START V1.3开发板测试,基础例程为AT32F415_Firmware_Library_V2.1.2下的tmr_trigger_automatic_preempted示例工程时钟配置如下
* system clock (sclk) = hext / 2 * pll_mult
* system clock source = pll (hext)
* - hext = HEXT_VALUE
* - sclk = 144000000
* - ahbdiv = 1
* - ahbclk = 144000000
* - apb2div = 2
* - apb2clk = 72000000
* - apb1div = 2
* - apb1clk = 72000000
* - pll_mult = 36
* - flash_wtcyc = 4 cycle
ADC时钟div为6分频 也就是apb2/adcdiv=12MHz
修改外设配置如下
ADC普通通道为ADC_CHANNEL_4、ADC_CHANNEL_5、ADC_CHANNEL_6,触发方式为TMR1 CH1触发,数据由DMA搬运(DMA buffer大小3,循环模式)。
ADC抢占通道为ADC_CHANNEL_7、ADC_CHANNEL_8、ADC_CHANNEL_9,触发方式也为TMR1 CH1触发。
所有通道采样周期都设置为239.5周期
通过监测TMR1 CH1开始触发后,DMA传输中断完成时间与抢占通道转换完成中断时间分别为125us和65us。
所以请问下为什么ADC普通通道+DMA的方式与ADC抢占的方式两者时间相差会这么大 理论计算下转换3个通道的时间为(239.5+12.5)*ad周期*3 = 63us,与示波器上看到3个抢占通道从触发开始到转换完成约65us接近,但是3个普通通道+DMA搬运的时间确花了几乎双倍的时间125us 版主能解答一下吗,谢谢了 您好,我们是雅特力代理商,有技术支持,可以联系协助解答您的疑问。 18002528376
页:
[1]