完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,在我的公司里,我们使用的是DSPIC33 FJ256GP710和C30编译器。现在我们想改变微控制器到DSPIC33 EP512MU810更多的程序存储器。我的代码在旧系统中运行正常。当我进入新的处理器时,我的ADC工作。我使用2个ADC用DMA中断。对于旧的处理器,我使用两个具有相同优先级的DMA。他们工作没有问题,用DMA0读取RMS的交流电压,得到50.0Hz的1000个采样信号。但是,对于相同的优先级,使用新的处理器,对于50Hz信号,我得到大约994个采样,读取频率大约是50.3而不是50.0Hz。如果对DMA0设置低优先级,对另一个设置高优先级,会发生同样的事情。我得到了50.0Hz的正确读数,但有时我的读数不能正常工作,我收到5000个样本,由于某种原因,5000个样本是我的样本限制。如果你有什么想法……谢谢!
|
|
相关推荐
6个回答
|
|
谢谢大家!我使用DMA中断,如前所述。我每4,5ms输入一个DMA中断,另一个是每20us采样50Hz一次。第一个是使用老处理器处理采样,现在大约需要30个采样。旧处理器。现在,即使我使用优化级别来支持新处理器的速度,也需要更多的时间来处理。这就是为什么我采样少于旧处理器的原因。我不确定为什么有时用一个具有更高优先级的DMA来获取坏采样。它在两种优先级设置(相同或不同)下都正常工作。我也不确定为什么在新处理器上花费太多时间。我使用相同的速度设置(都是40MIPS)。我知道这应该是编译器之间的性能差异,但这种差异…
|
|
|
|
谢谢你们,我在做一些不必要的事情。我删除了它们,ISR恢复了正常。我的代码如下:我正在将值从DPSRAM复制到正常的ram地址。这需要很多时间,我不需要它们。我删除了它们,现在它工作正常。同样,如果我改变我的ADC1_RESULT缓冲区声明,它同样工作得足够快,因为它不需要花费太多时间将值从ADC1_RESULT读取到另一个变量,但是我不确定其他的东西,比如DMA延迟。所以我的问题现在解决了:)Th你们大家好!!
|
|
|
|
第一个红色,从你上面的留言看来,你好像漏掉了一些关于变量波动性的信息。在本节中:count1、count2等值在DMA中断内更新。但很可能你正在处理DMA中断之外的计数值。编译器不知道在哪里更新计数,并且可能假定它们没有更改,并且可能不会及时更新值。您可能会遇到一些难以调试的小故障。为了确保编译器将更新假设的count1、count2等值,您需要将计数声明为易失性。类似这样:在其他文件中,您可以声明与“外部易失性无符号int”相同的计数。这确保了任何地方的代码都精确地使用计数值,并且不会假设这些值没有改变并且可能没有更新。其次,在我看来,如果计数是数组,则循环更新计数变量可能更有效:编译器将优化cy:cle到两个自动递增的间接访问,除了循环开销外,每个值可能变成一个指令那么快。如果您希望处理这些值,并且希望确保值不会更改,则可以使用乒乓DMA模式。您将能够在非活动的半DMA缓冲区中正确地处理这些值,而另一半将在ADC更新下。这和你的一样。
|
|
|
|
感谢Nikolay;关于第一个问题,它们已经是易变的,我不小心在这里用非易变的类型写了。(有时我忘了注释它们)第三:我从缓冲区到局部变量得到值,做一些基本检查等等。然后我把它们送到另一个数组。
|
|
|
|
好啊。清楚。
|
|
|
|
关于您要移动到的MCU,一个真正好的方面是DMA可以处理整个数据空间。如果不使用EDS,您还可以从系统中获得更多的信息。您只需要将缓冲区声明为正常变量/数组,并将DMA通道地址指针指向苏珊
|
|
|
|
只有小组成员才能发言,加入小组>>
5160 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2225 浏览 5 评论
729浏览 1评论
613浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
503浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
628浏览 0评论
526浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:55 , Processed in 2.020254 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号