打印

DSP6713自启动问题

[复制链接]
3356|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eagle200203|  楼主 | 2014-3-31 10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
将程序烧写进FLASH以后,系统自启动不能每次都成功,偶尔会失败,没有找到问题。因为是FPGA控制DSP上电,时序上先启动外设,DSP是最后启动的,测量了一下复位波形似乎也是这样的。复位时间也是按照DATASHEET的要求设置的。但是DSP本身启动了说明启动代码也不应该有问题。我想问问各位大神,除了启动代码和上电时序还有可能在哪里出问题导致自启动不成功呢?有没有遇见过这样的问题解决了的朋友呢?

相关帖子

沙发
eagle200203|  楼主 | 2014-4-4 11:22 | 只看该作者
怎么没有人回答啊,大神们都去哪儿了?

使用特权

评论回复
板凳
zhangmangui| | 2014-4-4 12:49 | 只看该作者
做过5000的自启动 当时fpga控制dsp的复位 但是复位不了 你测测被fpga复位后dsp加载瞬间存储器的地址是不是低电平

使用特权

评论回复
地板
eagle200203|  楼主 | 2014-4-9 16:34 | 只看该作者
zhangmangui 发表于 2014-4-4 12:49
做过5000的自启动 当时fpga控制dsp的复位 但是复位不了 你测测被fpga复位后dsp加载瞬间存储器的地址是不是 ...

这个存储器地址的点评怎么测啊?我不怎么懂硬件哈

使用特权

评论回复
5
zhangmangui| | 2014-4-9 21:27 | 只看该作者
eagle200203 发表于 2014-4-9 16:34
这个存储器地址的点评怎么测啊?我不怎么懂硬件哈

用示波器吧   这个效果较好
看看上电瞬间是不是低电平 有没有跳变

使用特权

评论回复
6
eagle200203|  楼主 | 2014-4-28 14:59 | 只看该作者
eagle200203 发表于 2014-4-9 16:34
这个存储器地址的点评怎么测啊?我不怎么懂硬件哈

麻烦再问一下哈,您说的存储器是不是FLASH?地址线有32根,测哪一个呢?

使用特权

评论回复
7
eagle200203|  楼主 | 2014-4-28 15:00 | 只看该作者
zhangmangui 发表于 2014-4-4 12:49
做过5000的自启动 当时fpga控制dsp的复位 但是复位不了 你测测被fpga复位后dsp加载瞬间存储器的地址是不是 ...

麻烦再问一下哈,您说的存储器是不是FLASH?地址线有32根,测哪一个呢?

使用特权

评论回复
8
eagle200203|  楼主 | 2014-4-28 15:16 | 只看该作者
zhangmangui 发表于 2014-4-9 21:27
用示波器吧   这个效果较好
看看上电瞬间是不是低电平 有没有跳变

搞错了,总线是32位,FLASH没有用那么多哈,我就是想问测哪根或者那几根地址线啊?

使用特权

评论回复
9
zhangmangui| | 2014-4-28 21:18 | 只看该作者
eagle200203 发表于 2014-4-28 15:16
搞错了,总线是32位,FLASH没有用那么多哈,我就是想问测哪根或者那几根地址线啊? ...

就是看看在flash连接的地址线就可以啦  

使用特权

评论回复
10
zhangmangui| | 2014-4-28 21:18 | 只看该作者
eagle200203 发表于 2014-4-28 15:16
搞错了,总线是32位,FLASH没有用那么多哈,我就是想问测哪根或者那几根地址线啊? ...

就是看看在flash连接的地址线就可以啦  

使用特权

评论回复
11
eagle200203|  楼主 | 2014-4-29 16:08 | 只看该作者
zhangmangui 发表于 2014-4-28 21:18
就是看看在flash连接的地址线就可以啦

还有一个问题哈,觉得很奇怪的,我用SEED6713的开发板烧写一段简单的程序,在定时器里面做两件事,点灯和发送串口数据。将程序烧写进FALSH之后,启动的时候挂仿真器是正常的,定时亮灯和输出串口数据,但是用跳针就只是定时亮灯了,串口数据输出错误,这是为何啊?烧写出了问题还是启动出了问题啊?

同样的代码烧写进我们自己做的板子,就换成了另外的情况,那就是有时候DSP启动不起来,但是一旦启动起来了定时器和串口都是正常的(不挂仿真器,用跳针哈),大侠分析一下这是啥问题呢?

使用特权

评论回复
12
zhangmangui| | 2014-4-29 21:28 | 只看该作者
eagle200203 发表于 2014-4-29 16:08
还有一个问题哈,觉得很奇怪的,我用SEED6713的开发板烧写一段简单的程序,在定时器里面做两件事,点灯和 ...

你说的跳针是干什么的   
要么启动要么不启动还可以理解   
启动时挂仿真器   会不会是代码在RAM中跑了
关于自己做的板子有时候不启动肯定是加载代码时外扩flash的起始地址都不为零

使用特权

评论回复
13
eagle200203|  楼主 | 2014-5-9 16:19 | 只看该作者
zhangmangui 发表于 2014-4-29 21:28
你说的跳针是干什么的   
要么启动要么不启动还可以理解   
启动时挂仿真器   会不会是代码在RAM中跑了 ...

关于自己的板子有时不启动的问题已经找到了,应该是晶振过大的问题。

过程是这样的,我拉了一个做硬件的老师傅帮我找问题,用示波器测量启动时刻的数据线、地址线,发现正常启动时复位后的读信号和片选信号都是正常的;一旦启动不起来,在复位后读信号、片选信号也是有的,但是紧跟着会出现一个3.1M的时钟信号(不知道如何产生的),而且这个信号一直有,就像死循环,所以代码就跑不起来了,启动失败。
老师傅耐心的把开发板和我们自己的板子做对比,发现启动阶段,我们读写周期是7.9ns,开发板是3.9ns,(忘了是us还是ns了,反正是2倍关系哈)。然后我就反应过来我们的晶振是50M,开发板是25M,刚好是它的两倍,老师傅就干脆换个小点的晶振试试。于是换了个16M的,奇迹发生了,哈哈:lol,断电连续试验100次全部启动成功,按复位键重复试验100次也全部启动成功,总算解决了问题。

然后老师傅就说可能启动对时序有要求,外部晶振不能太大啊!
和老师傅一起干活就是爽,有耐心,抓得住关键啊,问题一找一个准,可惜他今年就要退休了,以后麻烦了啊,出问题都不知道找谁!:'(

这个问题得到解决哈,把原因给大家分享,也谢谢各位大侠的指点!还望各位继续在其他问题上多多指点我这个菜鸟哈!:loveliness:

使用特权

评论回复
14
eagle200203|  楼主 | 2014-5-9 16:21 | 只看该作者
zhangmangui 发表于 2014-4-29 21:28
你说的跳针是干什么的   
要么启动要么不启动还可以理解   
启动时挂仿真器   会不会是代码在RAM中跑了 ...

特别要感谢版主的提点哦,感激不尽哈!:lol

使用特权

评论回复
15
eagle200203|  楼主 | 2014-5-9 16:30 | 只看该作者
zhangmangui 发表于 2014-4-29 21:28
你说的跳针是干什么的   
要么启动要么不启动还可以理解   
启动时挂仿真器   会不会是代码在RAM中跑了 ...

不过开发板的问题还是没有解决,不知道为何只是挂仿真器是时候正确,呵呵,先不管了,以后有时间再来版主哈

使用特权

评论回复
16
wenjun_wang86| | 2014-8-26 22:16 | 只看该作者
So strange....

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

67

帖子

1

粉丝