由于需要用到数据采集,不得已挖掘下这块芯片的ADC潜能
看了官方文件,在200M系统时钟时,采样保持15个系统时钟周期,转换时间43个系统时钟周期,算下来采样一次用时290ns,不停采集的话差不多3.448M
使用场景是收到外部触发脉冲后就AD采集并记录,
我使用ecap捕获脉冲,在ecap的中断中,软件置位开始采集(AdcaRegs.ADCSOCFRC1.all = 0x0001; ),然后采集转换完成后触发ADC中断,在ADC中断中记录采集到的数据
本以为这么高弄个2M不成问题,结果实际只能到900K,1M频率时就开始漏采集数据了。
另:漏采集数据的个人判断方法为,在ecap中断与ADC中断中各设一个静态变量从开始累加计数,每进一次中断就加1,触发频率900K一下,两个计数器数值一致,但从1M频率开始就有差异了,1.2M时差异就大的分不出到底漏采集了多少数据了……
mangui zhang:串行处理器执行加上中断耗周期比较多
由于需要用到数据采集,不得已挖掘下这块芯片的ADC潜能
看了官方文件,在200M系统时钟时,采样保持15个系统时钟周期,转换时间43个系统时钟周期,算下来采样一次用时290ns,不停采集的话差不多3.448M
使用场景是收到外部触发脉冲后就AD采集并记录,
我使用ecap捕获脉冲,在ecap的中断中,软件置位开始采集(AdcaRegs.ADCSOCFRC1.all = 0x0001; ),然后采集转换完成后触发ADC中断,在ADC中断中记录采集到的数据
本以为这么高弄个2M不成问题,结果实际只能到900K,1M频率时就开始漏采集数据了。
另:漏采集数据的个人判断方法为,在ecap中断与ADC中断中各设一个静态变量从开始累加计数,每进一次中断就加1,触发频率900K一下,两个计数器数值一致,但从1M频率开始就有差异了,1.2M时差异就大的分不出到底漏采集了多少数据了……
Frank Shao:
回复 Susan Yang:
非常感谢,虽然与触发采样情况不一样,但启发了不少
由于需要用到数据采集,不得已挖掘下这块芯片的ADC潜能
看了官方文件,在200M系统时钟时,采样保持15个系统时钟周期,转换时间43个系统时钟周期,算下来采样一次用时290ns,不停采集的话差不多3.448M
使用场景是收到外部触发脉冲后就AD采集并记录,
我使用ecap捕获脉冲,在ecap的中断中,软件置位开始采集(AdcaRegs.ADCSOCFRC1.all = 0x0001; ),然后采集转换完成后触发ADC中断,在ADC中断中记录采集到的数据
本以为这么高弄个2M不成问题,结果实际只能到900K,1M频率时就开始漏采集数据了。
另:漏采集数据的个人判断方法为,在ecap中断与ADC中断中各设一个静态变量从开始累加计数,每进一次中断就加1,触发频率900K一下,两个计数器数值一致,但从1M频率开始就有差异了,1.2M时差异就大的分不出到底漏采集了多少数据了……
Susan Yang:
回复 Frank Shao:
很高兴能帮到您