1. 首页
  2. 考试认证
  3. 其它
  4. 东元JSDEP伺服手册

东元JSDEP伺服手册

上传者: 2024-07-27 18:00:25上传 PDF文件 15.14MB 热度 6次

当状态阶段完成,EP0切换到IDLE状态。如果接收到的DATA1数据包不是一个零长度数据包,或者如果USBCS0.SEND_STALL位设置为1,状态阶段可能会失败。然后声明USBCS0.SENT_STALL位,并产生一个EP0中断。对于同步传输,没有来自设备的握手包?别担心,您可以在这篇异步fifo和同步fifo文章中找到详细解释。端点1-5每个端点可以只用作IN,只用作OUT,或者用作IN/OUT。对于一个IN/OUT端点,基本上有两个端点,与端点号关联的一个IN端点和一个OUT端点。IN端点的配置和控制通过USBCSIL和USBCSIH寄存器来实现。USBCSOL和USBCSOH寄存器用来配置和控制OUT端点。

每个IN和OUT端点都可以被配置为一个同步端点(USBCSIH.ISO=1和/或USBCSOH.ISO=1)或批量/中断端点(USBCSIH.ISO=0和/或USBCIOH.ISO=0)。USB控制器对批量端点和中断端点的处理相同,但是这两种端点在固件方面有不同的特性。在访问编入索引的端点寄存器之前,USBINDEX寄存器必须有端点号的值。FIFO管理每个端点都有一个特定大小的FIFO存储器字节,这个FIFO存储器字节可以被输入和输出数据包使用。好奇什么是FIFO吗?您可以在这篇FIFO设计原理有异步同步fifo中了解更多。表17-2给出了用于端点1-5的FIFO大小。固件负责为每个端点正确设置USBMAXI和USBMAXO寄存器,防止数据被覆盖。如果一个端点号的IN和OUT端点都不使用双缓冲,USBMAXI和USBMAXO的总和不得超过该端点的FIFO大小。图17-2a)显示了一个端点的IN和OUT FIFO存储器是如何被组织为单缓冲的。IN FIFO从端点存储器区域的顶部减少,而OUT FIFO从端点存储器区域的底部增长。

如果一个端点号的IN或OUT端点使用了双缓冲,USBMAXI和USBMAXO的总和不得超过该端点FIFO大小的一半。图17-2b)显示了一个使用双缓冲的端点的IN和OUT FIFO存储器。注意,第二个OUT缓冲区从存储器区域的中间开始,向上增长。第二个IN缓冲区也从存储器区域的中间开始,但是向下增长。要配置一个端点只为IN,设置USBMAXO为0;要配置一个端点只为OUT,设置USBMAXI为0。对于未使用的端点,USBMAXO和USBMAXI都应当被设置为0。更多关于同步FIFO设计的信息,可以查看这篇同步FIFO硬件设计。表17-2端点1-5的FIFO大小端点号FIFO大小(以字节为单位):1-32,2-64,3-128,4-256,5-512。

用户评论