阅读:1249回复:3
请教一个FIFO、端点大小、数据包、URB长度的综合问题,是芯片则是关于ISP1581的
本人一直有个很大的疑团:
1)ISP1581的芯片资料里说其内部FIFO是8K(BYTE)、7对IN/OUT端点其中每个端点的固定长度是64(BYTE),请问这两者是什么关系啊? 2)还有,拿高速设备来说,BULK的最大信息包是512BTYE,用DS向导写驱动的时候会有个默认的4096的长度,我知道的这是URB携带信息量的长度,但是这四个数字的关系是什么呢(8K、64BYTE、512BYTE、4096BYTE)?数据在这个数字对应的地方是如何传递的呢? 哪位高手肯给出点意见啊? |
|
沙发#
发布于:2004-12-04 19:26
4K 是总 FIFO,每个端点最大能分配只有两个包的长度,
那个4096是PC端的缓存 |
|
板凳#
发布于:2004-12-05 16:46
8K是指1581内部存储器的容量,你用的端点的总的存储量不能超过它.
谁说每个端点的固定长度是64?你可能看错了.起码在规定某个端点为 BULK时就可以定义它为512字节.这是定义微帧的长度. 4096是定义一个包的大小,在发送时,系统自动将它分解成你定义的长度,如64字节或512字节.而接收时自动组装. |
|
|
地板#
发布于:2004-12-07 12:27
感谢同仁的回复与解答
但是2楼说的512B是BULK最大信息包的长度(高速下),中断传输的最大信息包是1024个字节这个是协议规定的,没有什么可讨论的。现在问的是1581技术文档里的那个端点缓冲固定长度64BYTE怎么理解?怎么样参与USB的通信? 2楼说的4096的分解我赞同,的确是总线驱动完成的。 |
|