
为
为
CY7C68001
对于OUT建立交易时,外部主机可以读取
数据期间从USB主机接收到的每个数据包
阶段。是读一个数据包的步骤如下:
1.等待一个EP0BUF中断,表示一个数据包是
从USB主机到缓冲器中接收到的。
2.启动的字节计数寄存器, 0x33的读请求。
这表明从主机接收到的数据量。
3.启动为0X31寄存器的读请求。
4.读取一个字节。
直到指定的字节数5.重复步骤3和步骤4
中的字节计数寄存器读出。
获得超过64字节,则重复该过程。该
SX2
在内部存储,这是数据段的长度
在该组向上分组的wLength字段指定(字节6,7)。
当
SX2
看到那个指定的字节数有
已收到,它将完成由automat-集合式转印
ically完成握手阶段。如果外部主
不希望接收整个传输,它可以摆摊
传输。
如果
SX2
目前前收到另一组式包
转让完成后,它会中断外部主机与
另设置中断。如果
SX2
接收到一个建立包
没有数据的相位时,外部主机可以接受该数据包
并且通过写零的字节完成握手相
计数寄存器。
该
SX2
自动响应所有的USB标准请求
包括在USB 2.0规范第9章的除外
设置/清除功能端点的请求。当主机发出一
设置功能或清除功能要求,
SX2
将触发
设置中断到外部主机。 USB规范
需要将设备响应设置终点功能
请执行下列操作:
将在该端点失速状态。
USB规范要求,该设备响应清除
通过执行下列操作终端的功能要求:
重置数据切换为终点
清除该端点的失速状态。
用于复位数据触发TOGCTL寄存器
(位于XDATA位置0xE683 )不是变址寄存器
可以通过在提交的命令协议来解决
第3.7.8 。以下部分提供更进一步的信息,
息这个寄存器位和如何重置数据触发
相应地采用不同的一组命令协议的
序列。
第6位: S,
设置数据切换到DATA1
通过写端点选择所需端点
选择位( IO和EP3 :0),设定S = 1时的数据触发设置为
DATA1 。端点选择位不应该被改变
同时,该位被写入。
位5 :R t
设置数据切换到DATA0
设R = 1设置数据切换到DATA0 。端点
同时,该位被选位不应该被改变。
位4: IO中,
选择IN或OUT端点
设置该位为之前设定它的R选择一个终结点方向
或S位。 IO = 0时OUT端点, IO = 1选择一个IN
端点。
位3-0 : EP3 : 0
选择端点
设置这些位来选择一个端点之前,设置它的R或S
位。有效值是0,1, 2,..., 6 ,和8 。
的两步工艺来清除端点数据
触发位为0。首先,写TOGCTL与注册
端点地址( EP3 : EP0 ),加上一个方向位( IO ) 。保存
端点和方向位一样,写了一个“ 1 ”到R
(复位)位。例如,要清除数据切换为EP6
配置为“ IN”端点,写了下面的值
依次为TOGCTL :
00010110b
00110110b
以下是事件的顺序,主应
执行设置该寄存器为0x16 :
( 1 )发送寄存器的低字节( 0×83 )
命令
地址
0x3A的地址写
命令
数据
的低字节的高四位写
注册地址( 0×08 )
命令
数据
写的低字节的低四位
注册地址( 0×03 )
( 2 )发送高字节的寄存器( 0xE6 )的
命令
地址
地址0x3B写
命令
数据
高字节的高四位写
注册地址( 0x0E的)
命令
数据
写高字节的低四位
注册地址( 0×06 )
( 3)发送的实际值写入寄存器寄存器(在
这种情况下,为0x16 )
命令
地址
address0x3C写
命令
数据
高字节的高四位写
寄存器地址( 0x01)的
命令
数据
写高字节的低四位
注册地址( 0×06 )
相同的命令序列必须遵循设置
TOGCTL寄存器0x36数据。同样的命令协议
序列可用于重置的数据切换为其他
端点。为了读这个寄存器的状态中,
外部主必须做的事件顺序如下:
( 1 )发送寄存器的低字节( 0×83 )
命令
地址
0x3A的写
5.1
TOGCTL
位#
位名称
重置数据切换
0xE683
7
Q
R
0
6
S
W
0
5
R
W
1
4
I / O
读/写
1
3
EP3
读/写
0
2
EP2
读/写
0
1
EP1
读/写
1
0
EP0
读/写
0
以下是TOGCTL寄存器的位定义:
读/写
默认
第7位: Q,
数据触发值
Q = 0表示DATA0和Q = 1表示数据1 ,对于
端点的I / O和EP3选择:0 。写端点
选择位( IO和EP3 : 0 ) ,前阅读此值。
文件编号: 38-08013牧师* E
第9页的42