DSP运行一段时段后进入idle,如何解决 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11141|回复: 10
打印 上一主题 下一主题

DSP运行一段时段后进入idle,如何解决

[复制链接]

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
跳转到指定楼层
楼主
发表于 2014-11-21 09:53:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DSP代码任务如下:
1. 通过NMI 1ms中断执行一次,通过GPIO端口输出翻转方波;
2. DSP时钟为300MHz,GPIO为75MHz;
3. 代码运行时,通过示波器观察GPIO,一开始有一段翻转方波,然后没有了;过了一段时间又有了,然后就一直没有了;

从上述可以看出:
1. dsp的NMI中断貌似不稳定,不知道啥原因;
2. dspNMI中断运行一段时间后就再也没有了,通过汇编语言看,貌似进入了idle状态,这如何破解啊?如下图所示

各位高手,帮忙分析分析啊!谢谢啦!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2014-11-23 15:02:08 | 只看该作者
我不明白你为什么要使用 NMI
NMI 对于 DSP来说主要是做异常处理的~
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
板凳
 楼主| 发表于 2014-11-24 09:19:49 | 只看该作者
希望缄默 发表于 2014-11-23 15:02
我不明白你为什么要使用 NMI
NMI 对于 DSP来说主要是做异常处理的~

我们这边对DSP与FPGA同步要求非常高,所以通过FPGA周期的给DSP发中断,让DSP响应,实现同步;而且硬件也是这么设计的;我们没得选

对于NMI这么做会有什么隐患么?
进入idle会是什么情况呢?
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
地板
发表于 2014-11-24 09:55:09 | 只看该作者
shejishi0225 发表于 2014-11-24 09:19
我们这边对DSP与FPGA同步要求非常高,所以通过FPGA周期的给DSP发中断,让DSP响应,实现同步;而且硬件也 ...

频率这么高 NMI可能容易让程序跑飞~
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
5#
 楼主| 发表于 2014-11-24 10:10:03 | 只看该作者
希望缄默 发表于 2014-11-24 09:55
频率这么高 NMI可能容易让程序跑飞~

非常感谢啊!做一块,就盼着有个人一起讨论学习,有人指点一下就是不一样啊!

你说的容易跑飞是从你的经验来的,还是说你有根据啊?我因为第一次这么做,所以不了解状况
这个进入idle是不是就是跑飞了?

实际上现在是1ms的周期,我们产品开发要求是200us左右的同步时间,要求更高呢?那岂不是更容易跑飞?
关于DSP与FPGA同步,你有更好的建议么?我们这边对同步的要求真的是非常高。

回复 支持 反对

使用道具 举报

2

主题

50

帖子

502

积分

版主

Rank: 7Rank: 7Rank: 7

积分
502
6#
发表于 2014-11-24 19:32:40 | 只看该作者
shejishi0225 发表于 2014-11-24 10:10
非常感谢啊!做一块,就盼着有个人一起讨论学习,有人指点一下就是不一样啊!

你说的容易跑飞 ...

一般FPGA和DSP同步你可以采用GPIO中断,如果你是在传数据的话可以直接使用uPP接口的,不需要响应中断,直接DMA传输
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
7#
 楼主| 发表于 2014-11-25 09:13:11 | 只看该作者
weibo1988821 发表于 2014-11-24 19:32
一般FPGA和DSP同步你可以采用GPIO中断,如果你是在传数据的话可以直接使用uPP接口的,不需要响应中断,直 ...

实际上,是每次FPGA需要数据时,通知DSP,DSP即执行一段代码,产生对应的数据,传给FPGA,所以我不确定这种情况,用upp+dam是否合适?

太谢谢大侠啦!
回复 支持 反对

使用道具 举报

2

主题

50

帖子

502

积分

版主

Rank: 7Rank: 7Rank: 7

积分
502
8#
发表于 2014-11-25 09:32:23 | 只看该作者
shejishi0225 发表于 2014-11-25 09:13
实际上,是每次FPGA需要数据时,通知DSP,DSP即执行一段代码,产生对应的数据,传给FPGA,所以我不确定这 ...

你可以试试由FPGA触发GPIO的中断,然后执行你的DSP代码产生数据,之后将数据传递给FPGA,至于方式可以有uPP、SPI、EMIFA配合DMA等方式主要看你要求的速度了。GPIO的中断响应速率应该是能够满足你的要求的。
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
9#
 楼主| 发表于 2014-11-25 10:31:48 | 只看该作者
本帖最后由 shejishi0225 于 2014-11-25 10:32 编辑
weibo1988821 发表于 2014-11-25 09:32
你可以试试由FPGA触发GPIO的中断,然后执行你的DSP代码产生数据,之后将数据传递给FPGA,至于方式可以有u ...

你的意思是不是高频率的中断响应,GPIO的中断响应会比NMI来的可靠?
我们的应用场合对数据的要求真的很高,最低可到几百ns级别,所以我理解的EMIF配合EDMA应该是可行的,对么?
另,我代码对C6748的初始化均是基于TL的gel文件,唯一修改的,就是将gel文件中的pinmux没有使能,以及CPU运行速度不一样。除了NMI 1ms的中断,还有哪些可能导致进入idle呢?DSP的哪里配置不对吗?

真的是太太太感谢大侠了!你这么快的回复,我都感动的要哭了


回复 支持 反对

使用道具 举报

2

主题

50

帖子

502

积分

版主

Rank: 7Rank: 7Rank: 7

积分
502
10#
发表于 2014-11-25 11:01:55 | 只看该作者
shejishi0225 发表于 2014-11-25 10:31
你的意思是不是高频率的中断响应,GPIO的中断响应会比NMI来的可靠?
我们的应用场合对数据的要求真的很高 ...

一般来说中断响应不会使用NMI的,NMI就不是用来干这个事情的。接口速度你要进行仔细的计算才可以,传输速率参考手册。而且最好不要用GEL,要自己编写代码,GEL是烧写不到DSP的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-10 22:56 , Processed in 0.041415 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表