68013 slave fifo说明文档 - 图文(5)

2019-03-10 18:31

3. 6 EPxFIFOCFG(E618:E61B):端点FIFO配置寄存器

INFM1:FIFO状态标志是否提前一个字节有效选择,IN端点满减1,1使能,0非使能。

OEP1:FIFO状态标志是否提前一个字节有效选择,OUT端点空加1,1使能,0非使能。

AUTOOUT:在前面,我们说Slave FIFO方式下的数据传输过程不需要FX2固件的参与,实际上是不确切的,应该说,FX2固件可以不参与数据传输过程,也可以参与。AUTOOUT即可设置。如果设置AUTOOUT为1,则就如上面所说的,FX2固件只需要完成初始化工作,真正的数据传输是不需要FX2固件的参与的,具体的说,当FX2从主机收到一包数据时,外部逻辑即可看到FIFO端点缓冲区状态的改变,然后从中取数。如果设置AUTOOUT为0,则数据传输过程就需要FX2参与了,此时当FX2从主机收到一包数据时,FIFO端点缓冲区状态的改变并不会立刻在端口显现,而是固件先看到FIFO端点状态的改变,此时,FX2固件可以做三件事情:

a.向OUTPKTEND中的SKIP位写0,使FIFO端点状态的改变在端口显现,从而使外部逻辑可以从FIFO端点中读取数据;

b.向OUTPKTEND中的SKIP位写1,丢掉这包数据,这样就相当于主机从来就没有发送这一包数据,外部逻辑当然也不能从FIFO端点中读到这一包数据了;

c.从新编辑这一包数据,设置完全重写整个包的数据,再写EPxBC寄存器,把数据传给外部逻辑。

在FX2复位之后,如果其OUT端点缓冲区内有一包数据未处理,这包数据并不会自动传给外部逻辑。所以,为保证OUT端点缓冲区内没有未处理数据,在reset FX2后,要清空一下OUT端点缓冲区,具体做法就是向SKIP位写1(OUT端点缓冲区有几个缓冲区就写几次)。

AUTOIN:Auto IN和Auto OUT有一点不同,在Auto OUT里,包的大小只能是512

20

或1024,而在Auto IN里,包的大小可以任意设定,甚至可以是0字节,这可以通过EPxAUTOINLENTH/L设置。

和AUTOOUT类似,当设置AUTOIN = 0时,FX2固件可以传输,丢弃,修改外部逻辑传过来的数据,这通过向INPTKEND寄存器的SKIP写不同的值实现。

ZEROLENIN:是否允许传输0字节,1使能,0非使能。

WORDWIDE:8 Bit,16 Bit选择。当选择8 Bit模式时,Port B将是FD[7:0];当选择16 Bit模式时,Port D将是FD[15:8],1则为16位,0则为8位。

3.7 EPxAUTOINLENH/L(E620:E627):端点2,4,6,8AUTOIN长度设置(仅IN端点有效)

设置AUTOIN时自动传输的包大小(注意,不能大于IN端点的缓冲区的大小)。

说明:PL10仅端点2和6有效

3.8 EPxFIFOPFH/L(E630:E637):FIFO可编程PF状态长度设置

21

DECIS-0小于等于门限值PF有效,1大于等于门限值PF有效 PKSTAT- 1.

OUT端点FIFO:门限值为PFC12:0设置,当FIFO长度小于等于门限值(DECIS=0),或者FIFO长度大于等于门限值(DECIS=1),则PF有效。 2. 3.

IN端点FIFO,且PKTSTAT=1:门限值为PFC9:0

IN端点FIFO,且PKTSTAT=0:门限值由两部分组成:PKTS2:0(数据包)再加上PFC9:0(当前数据长度)。

解释:

对于OUT包,极限存储在PFC[12:0]中,在整个FIFO缓冲区中的数据数目少于等于(DECIS=0)或大于等于(DECIS=1)这个极限时,PF将有效。

对于IN包,当PKTSTAT=1时,极限存储在两部分:PKTS[2:0]存储极限包数(已

22

经交给SIE但未传给主机的包数),PFC[9:0]存储极限字节数(正在编辑的包里的字节数)。在整个FIFO缓冲区中的数据数目少于等于(DECIS=0)或大于等于(DECIS=1)这个极限时,PF将有效。

3.9 INPKTEND(E648):结束IN传输

SKIP-当ENH_PKT(REVCTL寄存器bit0)为1时,0表示自动“分配”一个IN缓冲区,1表示将跳过一个IN缓冲区

EP3,EP2,EP1,EP0-代替PKTEND引脚功能,软件强行结束IN端点8,6,4,2 IN数据传输,传输短包。

3.10 OUTPKTEND(E649):强行结束OUT传输寄存器

SKIP-当ENH_PKT(REVCTL寄存器bit0)为1时,0表示自动“分配”一个OUT缓冲区,1表示将跳过一个OUT缓冲区

EP3,EP2,EP1,EP0-代替EPxBLH.7=1引脚功能,软件强行结束OUT端点8,6,4,2数据传输。

3.11 EPxFIFOIE和EPxFIFOIRQ(E652:E657):端点FIFO中断(INT4)使能和请求

EDGPF-PF中断触发沿,0上升沿触发,1下降沿触发

23

PF-1使能端点FIFO PF中断,0非使能 EF-1使能端点FIFO EF中断,0非使能 FF-1使能端点FIFO FF中断,0非使能

PF-0无PF中断,1有PF中断 EF-0无EF中断,1有EF中断 PF-0无FF中断,1有FF中断

3.12PORTACFG:端口A配置

置1使能端口A复用引脚,虽然SLCS出现在PORTACFG.6的位置上,当IFCFG1:0=11时,PORTA.7复用为SLCS,FLAGD也出现在PORTA.7引脚上,当PORTACFG.7置位时,PORTA.7复用为FLAGD输出,当PORTACFG.6和PORTACFG.7均为1,则PORTA.7复用为FLAGD。所以PORTACFG7:6=01时,PORTA.7复用为SLCS。

3.13 EPxFIFOBCH EPxFIFOBCL(E6AB:E6B2):端点FIFO计数

24


68013 slave fifo说明文档 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:陕西省小额贷款公司管理办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: