打印
[技术问答]

M484的HSUSB设备口,ISO端点DMA操作下,测试丢数据

[复制链接]
1052|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vsfopen|  楼主 | 2020-3-11 19:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实现的是UVC摄像头设备,ISO端口通过DMA发送数据给主机。第一次DMA操作正常,第二次开始,就会丢数据了。
丢数据的时候先现象是,实际发送的EP数据,全都是0。
但是,DMA的地址还是在正常递增。
通过在DMA使能的位置放断点,现象非常明显。

有人遇到这个问题不?要如何解决?
ISO端口在不用DMA的时候,我们也遇到过问题,之前官方也没解决,被我们找到方法绕过去了。

使用特权

评论回复
沙发
捉虫天师| | 2020-3-11 20:17 | 只看该作者
没用过这个呢。

使用特权

评论回复
板凳
捉虫天师| | 2020-3-11 20:18 | 只看该作者
先单独测试这两部分

使用特权

评论回复
地板
小明的同学| | 2020-3-11 21:18 | 只看该作者
这个还没用过呢

使用特权

评论回复
5
小明的同学| | 2020-3-11 21:19 | 只看该作者
先试试DMA传输其他的数据

使用特权

评论回复
6
vsfopen|  楼主 | 2020-3-11 22:49 | 只看该作者
本帖最后由 vsfopen 于 2020-3-11 22:51 编辑

不用DMA很早就搞定了,现在想优化一下性能,用DMA传输
但是USB上的数据,第一个transaction正常,那应该DMA已经跑起来了
后面的数据,可能一部分正常,一部分全0。并不稳定

不过M480的非DMA iso传输,其实也是有问题的,在大数据量的情况下。比如做UVC的时候。之前官方支持过我们,不过后来也没提出什么解决方案,我们自己找到了绕过去的方法。

使用特权

评论回复
7
vsfopen|  楼主 | 2020-3-11 23:00 | 只看该作者
捉虫天师 发表于 2020-3-11 20:18
先单独测试这两部分

DMA其实已经跑起来了,只是不稳定
芯片手册里也没提这些,demo里也没UVC的例子

使用特权

评论回复
8
vsfopen|  楼主 | 2020-3-11 23:01 | 只看该作者
有人愿意看一下的话,我就弄个说明,怎么复现这个问题

使用特权

评论回复
9
jasontu| | 2020-3-12 08:34 | 只看该作者
IN/OUT TOKEN都是主机发要求,M487当DEVICES时,也是要等HOST发IN/OUT。HOST收走後, M487端点发中断,才能放新资料到端点。

使用特权

评论回复
10
vsfopen|  楼主 | 2020-3-12 12:51 | 只看该作者
jasontu 发表于 2020-3-12 08:34
IN/OUT TOKEN都是主机发要求,M487当DEVICES时,也是要等HOST发IN/OUT。HOST收走後, M487端点发中断,才能 ...

这个我知道,现在的问题是,M80放到端点的资料,有概率出错会变为全0.
目前,每次启动DMA,PC上收到的数据数量是正确的,一部分传输的数据也是正确的,但是有一部分不对。

使用特权

评论回复
11
幸福小强| | 2020-3-12 14:50 | 只看该作者
官方编写BSP库函数的和写DEMO好像不是一波人,DEMO写的生涩难懂,而且有的DEMO很累赘。仅供参考,配合库函数,重新做。

使用特权

评论回复
12
幸福小强| | 2020-3-12 14:51 | 只看该作者
我看论坛有人发帖分享的PWM例子,再看官方的例子,挺累赘的,没有网友分享的好。

使用特权

评论回复
13
vsfopen|  楼主 | 2020-3-12 17:49 | 只看该作者
幸福小强 发表于 2020-3-12 14:51
我看论坛有人发帖分享的PWM例子,再看官方的例子,挺累赘的,没有网友分享的好。 ...

我没用官方的BSP,也没看过demo。
因为UVC根本就没有demo,有的话,还能对比分析。

使用特权

评论回复
14
vsfopen|  楼主 | 2020-3-13 17:45 | 只看该作者
这个估计是搞不定的吧?硬件问题,之前非DMA的问题,官方也没给结果。

使用特权

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

本版积分规则

90

主题

325

帖子

8

粉丝