阅读:1876回复:3
an2131中的DATA0和DATA1有什么用?
Bit 6: S Set Data Toggle to DATA1
After selecting the desired endpoint by writing the endpoint select bits (IO and EP[2..0]) the 8051 sets S=1 to set the data toggle to DATA1. The endpoint selection bits should not be changed while this bit is written. Bit 5: R Set Data Toggle to DATA0 After selecting the desired endpoint by writing the endpoint select bits (IO and EP[2..0]) the 8051 sets R=1 to set the data toggle to DATA0. The endpoint selection bits should not be changed while this bit is written 什么意思啊?为什么要把数据锁入,DATA0或DATA1中?它能锁多少字节? |
|
沙发#
发布于:2003-05-07 20:40
帮忙看一下 :cool:
|
|
板凳#
发布于:2003-05-08 02:35
这实际上就是接受和发送FIFO的切换啊!
|
|
地板#
发布于:2003-05-08 13:18
实际上是用于主机和设备交互式进行数据包同步用的,举个例子给你看一下。
1、主机向目标设备发送IN令牌以获得后续的数据 2、目标设备无误的受到这个令牌包 3、目标设备重新向主机发送一个DATA0数据包 4、主机无误的接收到数据包DATA0,它和触发位一致 5、成功受到数据包DATA0,主机触发位变为1 6、主机向目标设备发送一个ACK握手包,通知目标设备数据已经被无误 地收到了 7、但载目标设备接收ACK握手包时出现错误 8、由于目标设备检测到错误,所以它不能验证主机是否已成功地接收到 数据,所以目标设备将会重新发送DATA0 9、而主机接收到DATA0时就会认为主机和设备之间不同步,所以丢弃该 数据,因为它知道在上一次传输过程中主机已经接受到了同样的数据 ,并返回一个ACK。 10、设备和主机继续进行后续操作。 综上所述DATA TOGGLE主要是用来防止数据包接受方的应答出问题而设立的一种解决方案。 |
|