Thread 中讨论的其他器件:controlSUITE
我的客户将28335用于他们的电机控制产品。 最近,他们在生产测试中发现一些 DSP 的 ADC 结果是错误的。 例如,正常值为10,但当出现问题时,该值为1000。
他们的产品已投入生产多年、没有任何类似的问题。 它们 没有更改硬件和软件。 因此,他们怀疑问题可能是由一批 DSP 引起的,他们进行了一些测试,其中最令人信服的一个是:将“问题” DSP 删除到正常的主板上,可以重现问题。
我想我们无法仅通过测试来判断 DSP 批量造成的问题,那么您是否可以提供其他测试方法来找出问题?
今天我已经和工程师做了一些测试、测试过程和结果如下:
-
修改一些 ADC 初始化代码,它们之前使用的代码如下所示:
AdcRegs.ADCTRL3.ALL = 0xE0;
DELAY_US (ADC_USDELAY);
我们修改了以下代码、
AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3;
DELAY_US (1000)
AdcRegs.ADCTRL3.bit.ADCPWDN = 1;
DELAY_US (1000);
我们的理由是延迟时间越长、ADC 问题的时间就越少。
我的问题是、这两种不同的初始化方法之间有何差异? 我发现 controlSUITE 中的大多数示例都是以第一种方式使用的。
ADC 初始化之前的要求是什么、例如、我们在初始化…之前应该等待多长时间。
-
在编译器选择级别选项中、选择不同的优化级别、我们发现问题的时间会发生变化。
不同的优化级别与如何选择优化级别之间有何区别?


