This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

28335AD数据采集

Other Parts Discussed in Thread: TMS320F28335

我用TMS320F28335芯片做简单的AD数据采集,我利用TI的例程Example_2833x_AdcSeqModeTest.c来进行0通道的数据采集,发现当ADC0为0V时,DSP输出数字数据并不是0,而是0、一百多,四百多等数据,当ADC为2V时,DSP的sample数组应该为2731,但是实际输出数组为3000多,这是怎么回事呢。硬件应该没问题,程序用的是例程,求解决。

  • 应该是有一个Offset,减掉就可以了。或者有个OffsetTrim寄存器,让硬件自动帮你把那个Offset减掉。

    具体可以参考ADC文档中关于如何测量Offset的部分。

  • 你好,那个问题是解决了,后来又发现一个问题,我把编辑好的程序放在片上RAM运行,定时时间准确,放在片上flash运行,定时时间不准确。例如,我采集一个周期为20ms的正玄波信号,0.1ms采一次,每次采两个字节,我用串口0.05ms发一次,每次发一个字节,这些东西是放在外部RAM中缓存的,在片上RAM运行,采出来的波形正确,是20ms,但是放在flash上运行,采出来的波形是17ms,这是怎么回事呢?我是初学者,求指教。

  • Flash并不能和RAM一样达到相同的运行速度,如果是实时性要求很高的任务和中断,请将它copy到RAM上运行。

    具体方法请参考flash例程。

    另外,建议新开一帖子讨论不同的问题。