ivy
ivy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-11
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2046回复:9

usbn9603的bulk传输问题

楼主#
更多 发布于:2001-08-14 09:46
我用usbn9603的endpoint3作bulk in 传输
发现发送完第一个64字节后txc2寄存器中的tx_en 和last 位为1,没有清零。大家有没有遇到这种现象?

wanghd
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录2001-12-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-14 15:10
数据写完后,置位TX_EN,LAST来启动发送,没有必要读它,只等读TXS2即可,试试其它EP.
ivy
ivy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-11
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-14 20:12
我试过endpoint5,接过一样。
pc机一次读两个64字节时总是第一个包能收到,第二个显示端点暂停。
我已经调了一周了。

:(
wp893
驱动牛犊
驱动牛犊
  • 注册日期2001-08-03
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-14 21:36
我用的是端点1和2,发送完产生TX1中断的时候去读,读回来这两位是0,没有你所说的问题,你看看是不是其它的地方处理有问题,比如TOGAL位的处理等。
  不过我发现另外一个问题,有时侯我的应用程序运行一会儿,往设备写数据的时候就没有响应了,写管道的时候立即返回传输错误,好象是设备没有发送出确认信息,或者是发送了主机没有接受到,这是只有重新启动设备(掉电再上电),有时连续运行一天也没有问题,不知道其它朋友遇见这个问题没有?
wanghd
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录2001-12-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-15 09:07
是不是主机端软件有问题,要注意到设备是被动的,只有主机发出IN token,设备所启动的数据传输才被接收。再查一下寄存器是否设置有问题,导致Endpoit被错误halt.最后考虑换一个9603试试。
ivy
ivy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-11
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-08-16 20:06
单独发包能收到,不过发多了后端点暂停。
发送第一个64字节包后,在中断服务程序中读txc3的内容,第一次为3,第二次为0,TXS3中的内容为0x60.
在第二次发送64字节后,读出txc3的内容为4,txs3中的值为0x7f.

ps:我用的电源是3.3伏供电,这个有没有影响?
ps:max transmition size 可以是多大?




ivy
ivy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-11
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-08-16 20:30
哪位大侠能给我一份控制9603的firmware,用C51或别的什么写的都可以。谢谢!

我是参考国半的9602firmwar不过上面没有关于bulk传输的。
:(

我的email:  
fifo2001@263.net
wanghd
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录2001-12-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-08-17 09:54
bulk传输第一次pid为0,下次为1,依次类推,与配置管道不同.其它使用很简单,写入数据,等待中断,发送成功则改变pid,发送下一个,不成功则pid不变,重发或放弃.
ivy
ivy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-11
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-08-18 16:39
  是不是在bulk传输的时候
每发送64字节在TXC寄存器中tx_last都要置为1??

ivy
ivy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-11
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-08-20 00:17
可以连续传输了,不过fifo只能设为16字节,大了pc端收到的
数据数就减少。 而且速率大约为每毫秒一个包。
是不是时钟有问题,如何提高传输率,请各位大侠指点。


//bow




游客

返回顶部