我现在遇到一个很奇怪的问题,我使用28027内部50M时钟!采用PWM触发ADC中断的模式,我想通过设置PWM周期值来改变采样频率到20K,但是只能做到5K,PWM采用上升下降模式,PRD值设置2500。但是实际用IO口观测采样频率仍然只有5K,如果改为8333(3K),此时测试采样频率是3K。通过大量测试只有5K以下是正确的,5K以上都是5K!后来我又改为用定时器触发ADC中断,仍然是最大采样频率为5K!之前咨询过TI技术支持,发过相关配置,对比例程里面的程序,没有发现配置问题!我想问问还有什么理由造成此结果!之前用过28335也是这样做没有任何问题!请大神帮忙想想,或发个能使用的配置!这问题已经纠结许久,但是确实看不出问题了!
mangui zhang:
查找相关外设的时钟 尤其是ADC的相关时钟 是不是由此时钟造成的瓶颈
我现在遇到一个很奇怪的问题,我使用28027内部50M时钟!采用PWM触发ADC中断的模式,我想通过设置PWM周期值来改变采样频率到20K,但是只能做到5K,PWM采用上升下降模式,PRD值设置2500。但是实际用IO口观测采样频率仍然只有5K,如果改为8333(3K),此时测试采样频率是3K。通过大量测试只有5K以下是正确的,5K以上都是5K!后来我又改为用定时器触发ADC中断,仍然是最大采样频率为5K!之前咨询过TI技术支持,发过相关配置,对比例程里面的程序,没有发现配置问题!我想问问还有什么理由造成此结果!之前用过28335也是这样做没有任何问题!请大神帮忙想想,或发个能使用的配置!这问题已经纠结许久,但是确实看不出问题了!
TX dong:
我发现好多人编程时,程序运行效率相当差。这与编程思想有关。
一般地,C2000的ADC速度还是很棒的。
楼主可以这样试验一下,不处理ADC数据,仅ADC完成后就改变IO口状态。
再者,把你所开的中断及占用的时间都拿出来看看。
我现在遇到一个很奇怪的问题,我使用28027内部50M时钟!采用PWM触发ADC中断的模式,我想通过设置PWM周期值来改变采样频率到20K,但是只能做到5K,PWM采用上升下降模式,PRD值设置2500。但是实际用IO口观测采样频率仍然只有5K,如果改为8333(3K),此时测试采样频率是3K。通过大量测试只有5K以下是正确的,5K以上都是5K!后来我又改为用定时器触发ADC中断,仍然是最大采样频率为5K!之前咨询过TI技术支持,发过相关配置,对比例程里面的程序,没有发现配置问题!我想问问还有什么理由造成此结果!之前用过28335也是这样做没有任何问题!请大神帮忙想想,或发个能使用的配置!这问题已经纠结许久,但是确实看不出问题了!
user5145621:
回复 TX dong:
我中断任务时间占用很少,才10个us
我现在遇到一个很奇怪的问题,我使用28027内部50M时钟!采用PWM触发ADC中断的模式,我想通过设置PWM周期值来改变采样频率到20K,但是只能做到5K,PWM采用上升下降模式,PRD值设置2500。但是实际用IO口观测采样频率仍然只有5K,如果改为8333(3K),此时测试采样频率是3K。通过大量测试只有5K以下是正确的,5K以上都是5K!后来我又改为用定时器触发ADC中断,仍然是最大采样频率为5K!之前咨询过TI技术支持,发过相关配置,对比例程里面的程序,没有发现配置问题!我想问问还有什么理由造成此结果!之前用过28335也是这样做没有任何问题!请大神帮忙想想,或发个能使用的配置!这问题已经纠结许久,但是确实看不出问题了!
user5145621:
回复 mangui zhang:
ADC只需要开启时钟就可以了啊,不需要分频什么的,他是用系统主时钟驱动啊