noisywolf
驱动牛犊
驱动牛犊
  • 注册日期2003-07-12
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1501回复:12

用USB传输实时数据

楼主#
更多 发布于:2003-07-12 15:42
硬件用的是D12和51,采用ISO的传输方式,驱动用的是从DDK iso范例代码改过来。
用来传输语音,实时性要求比较强。上行已经OK,下行现在遇到了问题。
因为51的内存太小,所以如果写得太快会丢失掉很多数据。
我想问问有没有人USB等时流传输的?
luckyjm
驱动中牛
驱动中牛
  • 注册日期2002-12-19
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-12 15:53
你可以试着在外围加一个FIFO,看看数据还会不会丢了。
noisywolf
驱动牛犊
驱动牛犊
  • 注册日期2003-07-12
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-12 16:07
准确地说,应该是声音抖动很厉害,基本没有办法分辨。
数据用的是g.711压缩的,8byte/ms
Endpoint Descriptor:
bEndpointAddress:     0x82
Transfer Type: Isochronous
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x02
Transfer Type: Isochronous
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

我想是不是应该在驱动里面加一个缓冲区
luckyjm
驱动中牛
驱动中牛
  • 注册日期2002-12-19
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-12 16:13
如果说没办法分辨,你怎么确定是你传的音频信号啊,再说不是在驱动里加缓冲区,应该是在固件中的,我不知道D12的固件里能不能开缓冲区,我用的是CY68013。
noisywolf
驱动牛犊
驱动牛犊
  • 注册日期2003-07-12
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-12 16:40
D12的endpoint 2有一个透明双缓冲。
主要问题是51没有扩,只能有64byte的缓冲。
luckyjm
驱动中牛
驱动中牛
  • 注册日期2002-12-19
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-12 16:42
所以啊,用硬件实现缓冲还是比较好的嘛。
noisywolf
驱动牛犊
驱动牛犊
  • 注册日期2003-07-12
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-12 16:48
应用每次要发80byte下去,很麻烦!
noisywolf
驱动牛犊
驱动牛犊
  • 注册日期2003-07-12
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-12 17:09
那位搞过在ISO通道里面传输语音的?
noisywolf
驱动牛犊
驱动牛犊
  • 注册日期2003-07-12
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-13 15:37
看来国内没有几个人搞 ISO ,只有搞简单的 bulk 。
luckyjm
驱动中牛
驱动中牛
  • 注册日期2002-12-19
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-14 08:16
我们用BULK同样能实现实时图像的传输啊,怎么不可以呢?
noisywolf
驱动牛犊
驱动牛犊
  • 注册日期2003-07-12
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-14 11:30
如果同一个口有ISO传输,bulk的传输得不到保障。

你们用的是什么片子?cypress的东西?
luckyjm
驱动中牛
驱动中牛
  • 注册日期2002-12-19
  • 最后登录2004-03-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-07-14 12:27
那为什么不干脆只用BULK呢?我用的是CY68013,呵呵。
noisywolf
驱动牛犊
驱动牛犊
  • 注册日期2003-07-12
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-07-14 13:07
我现在想改用AN2131了,有人用过吗?
游客

返回顶部