usb 高速通讯,选择bulk,msc还是什么模式。如何动态切换主从 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5741|回复: 5
打印 上一主题 下一主题

usb 高速通讯,选择bulk,msc还是什么模式。如何动态切换主从

[复制链接]

1

主题

4

帖子

1027

积分

金牌会员

Rank: 6Rank: 6

积分
1027
跳转到指定楼层
楼主
发表于 2015-3-11 10:17:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   目的:为了使用usb接口达到数据的高速传输,10mbit/s以上的速度。
   目前采用创龙提供的 starterware下的bulk模式。
   1.首先不知道速度能不能到达,如果不能达到,需要选择什么模式。
    2.还有就是在bulk发现是pc主机(host)控制着dsp,在dsp里面不管调用几次usbbufferwrite(),只有在pc的测试程序发送了数据以后,才可以在usbtrace接受dsp发送的数据。
     如果想达到自由发送数据,不管是bulk还是msc 都要要采用动态切换主从模式。
   3.或者说在其他模式下,比如msc的那种,可以自由收发。
请大神帮帮忙,新人求罩!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-3-11 10:33:00 | 只看该作者
1、理论上可以 不过需要优化驱动
2、详情参见《3-TMS320C6748开发例程使用手册》
3、都是可以自由收发的
回复 支持 反对

使用道具 举报

1

主题

4

帖子

1027

积分

金牌会员

Rank: 6Rank: 6

积分
1027
板凳
 楼主| 发表于 2015-3-11 13:31:25 | 只看该作者
希望缄默 发表于 2015-3-11 10:33
1、理论上可以 不过需要优化驱动
2、详情参见《3-TMS320C6748开发例程使用手册》
3、都是可以自由收发的 ...

关于自由收发的问题。
结论:dsp是可以自由接收,但是发送仍是不行。
验证方法:
dsp接收:
main()

   while(1)
  {

   char recvBuffer[256]="";

    delay(5000);
    iLen=USBBufferDataAvailable(&g_sRxBuffer);
    iLen=USBBufferRead(&g_sRxBuffer,recvBuffer,iLen);
    //串口打印接受的长度和数据。
  }


pc发送采用稍微修改的test_ui,  在dsp  sleep 的5秒内,发送几次数据。
dsp收到的确是这几次数据的总和。


dsp发送:


main()

   while(1)
  {

  
  if(建立了连接)

   char recvBuffer[256]="";
    delay(5000);
   USBBufferWrite(&g_sTxBuffer, "nishishui1",strlen("nishishui1"));
  }
  }


pc端的bus hound接受不到数据,只有在test_ui发送一次以后才可以接受。

回复 支持 反对

使用道具 举报

1

主题

4

帖子

1027

积分

金牌会员

Rank: 6Rank: 6

积分
1027
地板
 楼主| 发表于 2015-3-11 13:33:07 | 只看该作者
希望缄默 发表于 2015-3-11 10:33
1、理论上可以 不过需要优化驱动
2、详情参见《3-TMS320C6748开发例程使用手册》
3、都是可以自由收发的 ...

想请教下,是否usb device想要发送数据,首先需要申请,而不是调用 write()  api直接发送
回复 支持 反对

使用道具 举报

1

主题

4

帖子

1027

积分

金牌会员

Rank: 6Rank: 6

积分
1027
5#
 楼主| 发表于 2015-3-11 14:45:09 | 只看该作者
希望缄默 发表于 2015-3-11 10:33
1、理论上可以 不过需要优化驱动
2、详情参见《3-TMS320C6748开发例程使用手册》
3、都是可以自由收发的 ...

发现usb中存在着令牌包。令牌包的介绍:在USB系统中,所有的事务处理都起始于令牌包,它是由USB主机惟一的发送到总线上的。
   我是否可以这样理解,我的发送不成功是因为  dsp相要发送数据,首先需要有host的IN令牌包。
怎样才可以自由发送呢?

点评

建议使用 USB MSC 完全符合你的要求 开发还简单  详情 回复 发表于 2015-3-12 09:21
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
6#
发表于 2015-3-12 09:21:01 | 只看该作者
花木水之间 发表于 2015-3-11 14:45
发现usb中存在着令牌包。令牌包的介绍:在USB系统中,所有的事务处理都起始于令牌包,它是由USB主机惟一 ...

建议使用 USB MSC 完全符合你的要求 开发还简单
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-11 20:53 , Processed in 0.047960 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表