您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> dsp的两个问题
本帖共有778个阅读者
发表帖子 发表投票 回复主题
dsp的两个问题
西服控66(论坛新手)
西服控66
头衔:社区公民
帮派:无帮无派
帖数:7
金钱:154
积分:8
注册时间:2015/5/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
dsp的两个问题
  一、有两个板子,可否通过i2s协议,使得两个板子的dsp-bf533进行通讯。并且两个板子之间最多有4根数据线传输,可否做到?如下图:
上传的图片
  2015581437759.jpg [ 15.71 KB 376×254 ] (缩略时请点击查看原图)

 



      二、调试dsp-bf525时,程序在执行完set_pll(22*2.4)后跑非了。出现如下错误提示:
    Target halted due to software breakpoint but no breakpoint found at address: 0xef000744
Possible reasons are:
1.An embedded breakpoint (EMUEXCPT instruction) in the code
2.A breakpoint is placed at the last instruction of a do() loop
但是执行程序set_pll(2,4)程序能够正常执行。即设置的频率高时程序跑飞,频率低时正常运行(但是这个频率也太低了内核频率24*2mhz,系统频率24*2/4Mhz)。
  大神求救,小弟感激不尽。

上传的图片
  20155814361659.jpg [ 158.99 KB 1342×658 ] (缩略时请点击查看原图)

 






「该帖子被 西服控66 在 2015-05-08 14:37:55 编辑过」

afsfsdfsf
等级:论坛新手 参考IP地址:*.*.*.*
2015/5/7 22:43:27
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

1.可以使用I2S协议,你图中的WS是同步信号吧,你DSP1的WS和SCK画的有点问题,应该是笔误。

在使用I2S时,一个配置为自己产生同步和时钟,另一个配置为接收同步和时钟。除了时钟,同步,和两个数据之外,还需要一个地线,所以需要5根线。

2.代码跑飞的原因很多,超频跑飞只是其中一种,内存溢出,内存出错,L1溢出等都会引起跑飞。

你可以先跑一个其他代码,将其设置成正常的运行速度,看是否跑飞,如果不跑飞,就不是PLL问题,检查你代码使用的L1内存是否溢出吧


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2015/5/10 23:02:17
西服控66(论坛新手)
西服控66
头衔:社区公民
帮派:无帮无派
帖数:7
金钱:154
积分:8
注册时间:2015/5/7
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
1、实际有六根线,1根地线,1根电源线,2根时钟线,2根数据线。i2s有三种工作模式,模式1发送数据端提供时钟信号(发送端是主机);模式2接收数据端提供时钟信号(接收端是主机);模式3,时钟信号不是发送端提供也不是接收端提供,由外部设备提供(外部设备是主机,发送接收数据端都是从机)。对于两个dsp的通信,我想使用模式3,即外部设备提供时钟信号(作为主机),两个dsp都作为从机,接收时钟信号。方案不知可不可行,具体如下图:


上传的图片
  20155111745789.jpg [ 55.10 KB 762×513 ] (缩略时请点击查看原图)

 


2、一、我的输入时钟是24MHZ,当我调用set_pll()函数,设置内核时钟,系统时钟比较小的时候(内核时钟小于280MHZ,系统时钟小于50MHZ)程序可以正常的运行。当设置内核,系统时钟比较大的时候,程序就会出现跑飞现象,提示出现断点。
  二、换一个更小的程序也是如此,程序里面就两个功能:1、调用set_pll()函数,设置频率。2、执行b=a+c;就这样的程序也会出现跑飞现象。
  三、我不知道是不是,布板子出现了问题。要达到时钟输入频率24MHZ,内核频率528MHZ,系统时钟频率132MHZ,布板子时要注意什么问题?
  






「该帖子被 西服控66 在 2015-05-11 17:05:38 编辑过」

afsfsdfsf
等级:论坛新手 参考IP地址:*.*.*.*
2015/5/11 16:50:04
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

1.可以使用外部时钟,方案可行。

2.你把内核配到最高,系统时钟保持不跑飞状态频率,看还跑飞不。如果跑飞,说明你内核电压低了。适当升高点内核电压,提高到1.3V左右。测量你的系统电压是否纹波过大,大的话加点电容。

3.如果你代码中没有使用SDRAM,比如你执行简单的加减运算,如果还跑飞,说明和走线没有关系。检查一下关键性管脚的上下拉,比如BR,INM,ARDY等是否都正常上下拉。

4.布线时,SDRAM线建议用6mil以上,数据线和时钟线虽然不要求等长,但也不要相差太多。建议数据线和时钟线上加上22或者33欧匹配电阻。另外使用的SDRAM,现在市场上很多次品货,速度跑不上去,焊接时温度过高也会损坏,需要注意。。



这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2015/5/17 23:33:42
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159263 Call, 1 Queries, Processed in 0.029297 second(s),