OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 企业专区 » Xilinx » 求助:DDR接收数据不完整

共5条 1/1 1 跳转至

求助:DDR接收数据不完整

菜鸟
2014-07-09 11:25:13    评分
使用usb从主机往zedboard发送一张图片(272*480),24bit BMP格式,图片大小为272*480*3 = 382.5k,debug调试发现,DDR中接收的数据不完整,大概只有188k的样子;经讨论分析,个人理解造成这种现象的原因是由于usb发送数据太快而开发板接收慢造成数据被覆盖,不知道这样理解是否准确,请朋友们帮忙分析,提供有效的解决办法。谢谢!



关键词: zedboard      usb     DDR    

菜鸟
2014-07-23 07:54:18    评分
2楼

USB发数据都是有握手的。如果下面来不及接收,会返回nak等信号。所以,感觉你的想法不正确。

如果需要验证,可以使用usb协议分析仪抓包看看。

至于具体原因,给出信息太少,无法判断。


菜鸟
2014-07-24 14:34:58    评分
3楼
PC端应用程序我是用Qt实现的,根据打印信息可知,发送图片功能是正常的;设备端SDK里面debug调试的时候,发现usb驱动本身的接收数据的函数,每次只能接收512字节的数据,而且地址空间不改变,下一次接收的512字节把前面的覆盖掉。我设置了一个绝对地址为接收数据的起始地址,然后地址不断递增,这种情况下计算地址空间大概为188k。

菜鸟
2014-07-25 07:51:49    评分
4楼

linux还是裸奔?

裸奔的话需要你自己处理好缓冲。


菜鸟
2014-07-25 10:54:17    评分
5楼
裸跑的,缓存大小是调整的端点1(端点1设置为bulk传输)的buffer,可以设置为512字节,最大2048字节。

共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]