这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 企业专区» 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 跳转至

回复

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