TI中文支持网
TI专业的中文技术问题搜集分享网站

2812的ADC采样双序列发生器使用问题

    在调试程序的时候,需要用到两种不同的触发事件(两个中断)来触发AD采样,,一种是20K频率的由EVA的PWM产生(TI下溢中断),进行电机控制的电流采样;一种是10K的由evb的cap6产生(CAP6捕捉中断),采样旋变的信号计算电机角度。

    问题是,当我把ADC设置为双序列发生器后,即EVA定时器T1的下溢中断触发SEQ1,即中断20K,采样电机控制的电流;EVB中CAP6捕捉中断触发SEQ2,即中断10K,采样旋变的正余弦信号,却发生了如下图所示的问题,即,采样过程中不知受到了什么干扰,导致SEQ2的10K中断采样不完全,正余弦信号采样不标准,发生了周期性的畸变。下图中绿色为采样出来的正弦信号。蓝色为SEQ2序列中一路稳定的电压参考值采样,都发生了周期性的波动。但是SEQ1序列中的电流采样却没有这种问题。

我的AD采样部分配置和处理如下:

 

初始化:

 

20K中断调用:

10K中断调用:

 

    查阅2812的使用文档,基本没怎么给出关于双序列发生器的例程,说明文档里只是说SEQ1的优先级比SEQ2的优先级高,一直没搞懂是因为软件什么地方配置不对引起了这个问题,导致SEQ2采样不完全被打断?或者是什么原因呢?

困扰了很久了,求TI员工或者做过这方面的大神解答。

mangui zhang:

示波器观察到的波形是ADC采集到的吗    从DSP输出后看到的?

我感觉还是与两个采样中断相互干扰有关  建议你一个采集时屏蔽另一个的打断

    在调试程序的时候,需要用到两种不同的触发事件(两个中断)来触发AD采样,,一种是20K频率的由EVA的PWM产生(TI下溢中断),进行电机控制的电流采样;一种是10K的由evb的cap6产生(CAP6捕捉中断),采样旋变的信号计算电机角度。

    问题是,当我把ADC设置为双序列发生器后,即EVA定时器T1的下溢中断触发SEQ1,即中断20K,采样电机控制的电流;EVB中CAP6捕捉中断触发SEQ2,即中断10K,采样旋变的正余弦信号,却发生了如下图所示的问题,即,采样过程中不知受到了什么干扰,导致SEQ2的10K中断采样不完全,正余弦信号采样不标准,发生了周期性的畸变。下图中绿色为采样出来的正弦信号。蓝色为SEQ2序列中一路稳定的电压参考值采样,都发生了周期性的波动。但是SEQ1序列中的电流采样却没有这种问题。

我的AD采样部分配置和处理如下:

 

初始化:

 

20K中断调用:

10K中断调用:

 

    查阅2812的使用文档,基本没怎么给出关于双序列发生器的例程,说明文档里只是说SEQ1的优先级比SEQ2的优先级高,一直没搞懂是因为软件什么地方配置不对引起了这个问题,导致SEQ2采样不完全被打断?或者是什么原因呢?

困扰了很久了,求TI员工或者做过这方面的大神解答。

lv YB:

回复 mangui zhang:

波形是从ADC输出后,经过DA芯片输出的,确定DA芯片没有问题。我也觉得是两个不同EV模块触发的采样中断发生了干扰,双序列采样触发机制一直没有搞清楚,也一直没有办法验证。如果按你说的采集一个屏蔽另外一个,那加入我采集的10K旋变信号的时候,屏蔽20K中断的电机电流采样,电流不再是实时的,那不就会影响电机控制精度了么?

赞(0)
未经允许不得转载:TI中文支持网 » 2812的ADC采样双序列发生器使用问题
分享到: 更多 (0)