打印

DM642的数据读写中出现的问题

[复制链接]
2292|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gchao|  楼主 | 2007-5-31 18:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SDRAM连接在EMIF口的CE0空间,异步存储器连接在CE1空间,用DAT_copy或者是memcy函数在SDRAM中读写数据,却将异步存储器中的值单元值改变。用DAT_cpy时出现的几率比memcpy更大,而用地址单元直接赋值的方式则运行了很长时间也没有看到影响,是怎么回事?应该从哪里入手解决问题?

相关帖子

沙发
tjsheep| | 2007-6-1 10:40 | 只看该作者

去读读 DAT_copy或者memcy函数

使用特权

评论回复
板凳
yxwsz| | 2007-6-2 11:12 | 只看该作者

PCB信号质量不好

使用DAT_COPY时,DSP使用了EDMA/QDMA进行数据传输,总线上的数据速率很高,导致发生串扰现象; 用地址单元读写时,是DSP在读写存储单元,总线上的数据速率很低。

测试DSP的SDRAM信号质量的一个方法,就是用EDMA在SDRAM里面反复拷贝数据,看拷贝的数据是否正常来判断; 一般的DSP地址单元读写则不会测出信号质量问题

使用特权

评论回复
地板
gchao|  楼主 | 2007-6-5 19:21 | 只看该作者

问题解决

最终的原因是PCB布线时,将串口芯片的复位信号与数据总线长距离平行走线,导致当数据线上不停的跳变时,对串口芯片的复位信号造成干扰,使其不完全复位,造成串口芯片寄存器的值改变,在串口芯片复位信号输入引脚与电源或地之间连接一个小电容,问题消除。

使用特权

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

本版积分规则

10

主题

18

帖子

0

粉丝