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

两块DSP之间使用SPI通信,当使用多个中断时丢失或者错收数据

大家好,

我在进行两块TMS320F28069之间的SPI通信, 中断机制。

当主从的程序都只有RX和TX中断时, 主从收发都正确。

但是,当程序中加入采样ADCINT1和EPWMINT1中断后, 丢失数据或者收到错误的数据。这是因为中断优先级造成的吗?

大家有没有碰到过这种问题,一般该怎么样解决呢?

我的想法是把ADC采样得到的数据通过SPI在主从之间互传。

谢谢!

mangui zhang:

肯定是中断之间冲突了    我的建议是在ADC中断总不要去处理ADC采集到的数据

然后给个标志位到主函数中处理   PWM波中断不知你是用来干什么的      频率太高了 

中断次数太多    影响很大

大家好,

我在进行两块TMS320F28069之间的SPI通信, 中断机制。

当主从的程序都只有RX和TX中断时, 主从收发都正确。

但是,当程序中加入采样ADCINT1和EPWMINT1中断后, 丢失数据或者收到错误的数据。这是因为中断优先级造成的吗?

大家有没有碰到过这种问题,一般该怎么样解决呢?

我的想法是把ADC采样得到的数据通过SPI在主从之间互传。

谢谢!

囧:

1. 为什么要同时用PWM1INT1和ADCINT1这两个中断,都是实时性很高的中断吗?如果这样用,SPI就得不到CPU的空闲时间,并且由于优先级比较低,会经常抢不到优先级。

2. SPI的FIFO可以用到4个深度,这样会缓解压力,等于发送或者接受四个字后才去读。

3.如果还是有问题,建议降低SPI波特率再测试。

大家好,

我在进行两块TMS320F28069之间的SPI通信, 中断机制。

当主从的程序都只有RX和TX中断时, 主从收发都正确。

但是,当程序中加入采样ADCINT1和EPWMINT1中断后, 丢失数据或者收到错误的数据。这是因为中断优先级造成的吗?

大家有没有碰到过这种问题,一般该怎么样解决呢?

我的想法是把ADC采样得到的数据通过SPI在主从之间互传。

谢谢!

Lebing Jin:

回复 mangui zhang:

谢谢您的回复!所以我是应该在初始化以后的for loop里处理采样的数据吗?

PWM波的中断里我进行了PI控制和svpwm的计算,这样合适吗,还是也应该放到主程序里去?

大家好,

我在进行两块TMS320F28069之间的SPI通信, 中断机制。

当主从的程序都只有RX和TX中断时, 主从收发都正确。

但是,当程序中加入采样ADCINT1和EPWMINT1中断后, 丢失数据或者收到错误的数据。这是因为中断优先级造成的吗?

大家有没有碰到过这种问题,一般该怎么样解决呢?

我的想法是把ADC采样得到的数据通过SPI在主从之间互传。

谢谢!

Lebing Jin:

回复 囧:

谢谢您的回复!

我是在ADC中断里处理采样的数据,在PWM中断里进行的PI控制和svpwm的计算,不知道更好的处理的方案一般是怎样?

大家好,

我在进行两块TMS320F28069之间的SPI通信, 中断机制。

当主从的程序都只有RX和TX中断时, 主从收发都正确。

但是,当程序中加入采样ADCINT1和EPWMINT1中断后, 丢失数据或者收到错误的数据。这是因为中断优先级造成的吗?

大家有没有碰到过这种问题,一般该怎么样解决呢?

我的想法是把ADC采样得到的数据通过SPI在主从之间互传。

谢谢!

Lebing Jin:

回复 囧:

非常感谢您的建议!我会按照您的建议进行测试。

大家好,

我在进行两块TMS320F28069之间的SPI通信, 中断机制。

当主从的程序都只有RX和TX中断时, 主从收发都正确。

但是,当程序中加入采样ADCINT1和EPWMINT1中断后, 丢失数据或者收到错误的数据。这是因为中断优先级造成的吗?

大家有没有碰到过这种问题,一般该怎么样解决呢?

我的想法是把ADC采样得到的数据通过SPI在主从之间互传。

谢谢!

Rongwei Song:

你好大神,我刚毕业接触这一行业,也刚接触TMS320F28069,现在两块TMS320F28069之间的SPI通信一直都调不出来。对于大神您或许很简单,但对于像我这样的新手真的是快急死了。求大神帮帮忙,能发我个TMS320F28069之间的SPI通信程序吗?主和从都要,我想看看到底哪里出错了,先谢过了。邮箱:245383368@qq.com

大家好,

我在进行两块TMS320F28069之间的SPI通信, 中断机制。

当主从的程序都只有RX和TX中断时, 主从收发都正确。

但是,当程序中加入采样ADCINT1和EPWMINT1中断后, 丢失数据或者收到错误的数据。这是因为中断优先级造成的吗?

大家有没有碰到过这种问题,一般该怎么样解决呢?

我的想法是把ADC采样得到的数据通过SPI在主从之间互传。

谢谢!

囧:

回复 Rongwei Song:

你可以去TI官网下载cotrolsuite,在根目录的device support里面有F28069的SPI例程

赞(0)
未经允许不得转载:TI中文支持网 » 两块DSP之间使用SPI通信,当使用多个中断时丢失或者错收数据
分享到: 更多 (0)