xxlangyun
驱动小牛
驱动小牛
  • 注册日期2004-11-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分272分
  • 威望58点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1250回复:3

请教一个FIFO、端点大小、数据包、URB长度的综合问题,是芯片则是关于ISP1581的

楼主#
更多 发布于:2004-12-04 12:01
本人一直有个很大的疑团:
1)ISP1581的芯片资料里说其内部FIFO是8K(BYTE)、7对IN/OUT端点其中每个端点的固定长度是64(BYTE),请问这两者是什么关系啊?
2)还有,拿高速设备来说,BULK的最大信息包是512BTYE,用DS向导写驱动的时候会有个默认的4096的长度,我知道的这是URB携带信息量的长度,但是这四个数字的关系是什么呢(8K、64BYTE、512BYTE、4096BYTE)?数据在这个数字对应的地方是如何传递的呢?
哪位高手肯给出点意见啊?
xxlangyun
驱动小牛
驱动小牛
  • 注册日期2004-11-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分272分
  • 威望58点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-07 12:27
感谢同仁的回复与解答
但是2楼说的512B是BULK最大信息包的长度(高速下),中断传输的最大信息包是1024个字节这个是协议规定的,没有什么可讨论的。现在问的是1581技术文档里的那个端点缓冲固定长度64BYTE怎么理解?怎么样参与USB的通信?

2楼说的4096的分解我赞同,的确是总线驱动完成的。
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-05 16:46
8K是指1581内部存储器的容量,你用的端点的总的存储量不能超过它.
谁说每个端点的固定长度是64?你可能看错了.起码在规定某个端点为
BULK时就可以定义它为512字节.这是定义微帧的长度.
4096是定义一个包的大小,在发送时,系统自动将它分解成你定义的长度,如64字节或512字节.而接收时自动组装.
新手上路,请多关照.
liulin
驱动牛犊
驱动牛犊
  • 注册日期2003-01-28
  • 最后登录2009-06-19
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-04 19:26
4K 是总 FIFO,每个端点最大能分配只有两个包的长度,
那个4096是PC端的缓存
游客

返回顶部