转自良子:http://www.eefocus.com/liangziusb/blog/12-11/288618_bdaf9.html
CY7C68013含有4个大端点,可以用来处理数据量较大的传输,如数据采集、视频等方面的应用。每个大端点都可以独立配置对应的FIFO,同时,也提供了相应的标志位,分别是FLAGA、FLAGB、FLAGC、FLAGD。这四个标志位彼此独立,可以分别指示4个大端点FIFO的状态,如非空、满等状态,为我们编程带来方便。
这4个标志位的配置,是由两个8位寄存器来设定的,PINFLAGSAB和PINFLAGSCD。其中PINFLAGSAB设定FLAGA和FLAGB,PINFLAGSCD设定FLAGC和FLAGD。这两个寄存器的格式如下,
以最上面的PINFLAGSAB为例,这个寄存器低4位控制FLAGA的,高4位控制FLAGB的,这4位不同值的组合会有不同的含义。如果这4位的值全为0,称之“INDEXED”(索引)模式,4个标志位的含义是:FLAGA=PF,FLAGB=FF,FLAGC=EF,FLAGD=EP2PF,具体的端点号由两个地址线FADDR决定。如果这4位的值不是全0,称之“Fixed”(固定)模式,4个标志位的含义如下表,
举例说明:PINFLAGSAB = 0x08,低4位为1000,则标志位FLAGA表示EP2 EF;高4位为0000,则标志位FLAGB工作在“INDEXED”模式,表示EPX FF(X由两位地址线FADDR决定的端点号)。
一句话,这4个标志位很有用,如果68013与外部逻辑相连,主要就是靠这是个标志位来完成通信的。