68013 - slave fifo寄存器
更新时间:2023-11-01 01:23:01 阅读量: 综合文库 文档下载
- 68013推荐度:
- 相关推荐
CY7C68013A Slave FIFO 相关的寄存器说明
Slave FIFO 固件需要设置的相关寄存器 IFCONFIG PINFLAGSAB PINFLAGSCD FIFORESET EPxCFG EPxFIFOCFG EPxBCH:L REVCTL (bits 0 and 1 must be initialized to 1 for operation as described in this chapter) 一. CPUCS(E600)CPUbit b7 b6 b5 EPxFIFOPFH/L PORTACFG INPKTEND FIFOPINPOLAR EPxFIFOBCH:L EPxAUTOINLENH:L 控制和状态寄存器 b4 b3 b2 b1 b0 name 0 0 PORTCSTB CLKSPD1 CLKSPD0 CLKINV CLKOE 8051RES r/w r r rw 0 rw 0 rw 0 rw 0 rw 1 r 0 default 0 0 PORTCSTB:128脚或100脚的RD,WR输出使能; CLKSPD[1:0]:8051CPU频率选择, CLKSPD[1:0] CPU频率 00 01 10 11 12MHz 24MHz 48MHz Reserved CLKINV:CLKOUT反相; CLKOE: CLKOUT输出使能; 8051RES: 位为1来复位EZ-USB的8051 CPU。 二. REVCTL(E60B) 芯片修订版本控制 bit name r/w default b7 0 r 0 b6 0 r 0 b5 0 r 0 b4 0 r 0 b3 0 r 0 b2 0 r 0 b1 b0 DYN_OUT ENH_PKT rw 0 rw 0 Cypress推荐设置DYN_OUT=1和ENH_PKT=1, DYN_OUT=1和ENH_PKT=1时,the FIFO cannot accept the OUT data; DYN_OUT=0和ENH_PKT=0时,the FIFO cannot be reset well sometimes。 1. DYN_OUT:Disable Auto-Arming EPx at the 0-1 transition of AUTOOUT DYN_OUT=0,the core automatically arms the endpoints when AUTOOUT is switched from 0 to 1 DYN_OUT=1,the core disables auto-arming of the endpoints when AUTOOUT transitions from 0 to 1. This feature allows CPU intervention when switching between AUTO and Manual mode without having to reset the endpoint. 2. ENH_PKT: CPU处理数据包的能力 ENH_PKT=0时,CPU可对OUT数据包和IN数据包的操作 ENH_PKT=0 Skip Commit Edit/Source Out packets In packets ENH_PKT=1时,CPU可对OUT数据包和IN数据包的操作 ENH_PKT=1 Skip Commit Edit/Source Out packets In packets 1 1 1 1 1 1 1 0 1 1 0 1 ENH_PKT=1时, EPxBCH和 EPxBCL=0x80不能用于清空OUT端点缓冲区,只能用OUTPKTEND寄存器清空 OUT端点缓冲区。 三. IFCONFIG(E601):接口配置寄存器 bit name r/w default b7 IFCLKSCR rw 1 b6 z rw 1 b5 rw 0 b4 L rw 0 b3 ASYNC rw 0 b2 GSTATE rw 0 b1 IFCFG1 rw 0 b0 IFCFG0 rw 0 30/40MHIFCLKOEIFCLKPOIFCLKSRC:FIFO时钟内部/外部时钟源选择,0--外部时钟源,1--内部时钟源。 30/48MHZ:当IFCLKSRC=1时,选择30MHz/48MHz内部时钟频率,0--IFCLK 30MHz,1--IFCLK 48MHz。 IFCLKOE:当IFCLKSRC=1时,IFCLK时钟输出使能,0--关闭,1--打开。 IFCLKPOL:IFCLK输出反转使能,0--正常,1--反转。 ASYNC:Slave FIFO同步/异步工作方式选择,0同步,1异步。 GSTATE:选择是否将GSTATE[2:0]在PORTE[2:0]输出,0关闭,1使能。 IFCFG1:0:FX2 I/O端口模式选择,也既是上面所说的FX2与外部逻辑传输方式的选择。 IFCFG1 IFCFG0 0 0 1 1 0 1 0 1 Configuration I/O Port Reserved GPIF Slave FIFO 四. EPxCFG(E612:E615):端点EP2,EP4,EP6,EP8配置 1.EP2CFG(E612),端点EP2配置 bit b7 b6 b5 b4 b3 SIZE rw 0 b2 0 r 0 b1 BUF1 rw 1 b0 BUF0 rw 0 name VALID DIR r/w default rw 1 rw 0 TYPE1 TYPE0 rw 1 rw 0 2.EP4CFG(E613),端点EP4配置 bit b7 b6 b5 b4 b3 0 r 0 b2 0 r 0 b1 0 r 0 b0 0 r 0 name VALID DIR r/w default rw 1 rw 0 TYPE1 TYPE0 rw 1 rw 0 3.EP6CFG(E614),端点EP6配置 bit b7 b6 b5 b4 b3 SIZE rw 0 b2 0 r 0 b1 BUF1 rw 1 b0 BUF0 rw 0 name VALID DIR r/w default rw 1 rw 1 TYPE1 TYPE0 rw 1 rw 0 4.EP8CFG(E615),端点EP8配置 bit b7 b6 b5 b4 b3 0 r 0 b2 0 r 0 b1 0 r 0 b0 0 r 0 name VALID DIR r/w default rw 1 rw 1 TYPE1 TYPE0 rw 1 rw 0 VALID:0端点无效,1端点有效; DIR:端点方向,0=OUT方向,1=IN方向,默认端点2,4为IN,端点6,8为OUT TYPE1,TYPE0:端点类型 TYPE1 TYPE0 Endpoint type 0 0 1 0 1 0 Invalid ISOCHRONOUS BULK(default) 1 1 INTERRUPT SIZE:缓冲区大小(仅端点2和端点),0=512字节,1=1024字节 BUF1,BUF0:端点缓冲区个数(仅端点2和端点6) BUF1 BUF0 0 0 1 1 0 1 0 1 Buffering Quad Invalid Double Triple 五.OUTPKTEND(E649):强制OUT数据包结束(当ENH_PKT(REVCTL.0)=1时该寄存器有效)
bit name r/w default b7 skip w x b6 0 w x b5 0 w x b4 0 w x b3 EP3 w x b2 EP2 w x b1 EP1 w x b0 EP0 w x skip: skip=1表示将跳过一个OUT数据包(当ENH_PKT(REVCTL.0)=1时); skip=0 automatically ?dispatches? an OUT buffer。 EP[3:0]表示端点序号,EP[3:0]=8、6、4、2对应端点EP8,EP6,EP4,EP2。 取代EPxBCL.7(skip)=1(PKTEND)引脚功能,软件强行结束OUT端点(EP8,EP6,EP4,EP2)数据传输,。 六. INPKTEND(E648):强制IN数据包结束,然后 “arming” the IN transfer。 bit name r/w default b7 skip w x b6 0 w x b5 0 w x b4 0 w x b3 EP3 w x b2 EP2 w x b1 EP1 w x b0 EP0 w x skip: skip=1 表示将跳过一个IN数据包(当ENH_PKT(REVCTL.0)=1时); skip=0 automatically ‘dispatches’ an IN buffer。 替代EPxBCL.7=1(PKTEND)引脚功能(当ENH_PKT(REVCTL.0)=1时,EPxBCL寄存器无效),软件强行结束IN端点(EP8,EP6,EP4,EP2)数据传输, EP[3:0]表示端点序号,EP[3:0]=8、6、4、2对应端点EP8,EP6,EP4,EP2。 By writing the desired endpoint number (2, 4, 6 or 8), FX2 logic automatically ?dispatches? an IN buffer, for example, it commits the packet to the USB logic, and writes the accumulated byte count to the endpoint?s byte count register, thus “arming” the IN transfer 七. EPxFIFOCFG(E618:E61B):端点FIFO配置寄存器 bit name r/w default b7 0 r 0 b6 b5 b4 b3 b2 b1 0 r 0 b0 WORDWIDE rw 1 INFM1 OEP1 AUTOOUT AUTOIN ZEROLENIN rw 0 rw 0 rw 0 rw 0 rw 1 INFM1:FIFO状态标志是否提前一个字节有效选择,IN端点缓冲区满-1,1使能,0非使能。 OEP1:FIFO状态标志是否提前一个字节有效选择,OUT端点缓冲区空+1,1使能,0非使能。 AUTOOUT: Slave FIFO方式下的数据传输过程, FX2固件的一般不参与,也可以参与。 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寄存器的SKIP=0,把数据传给外部逻辑。 在FX2复位之后,如果其OUT端点缓冲区内有一包数据未处理,这包数据并不会自动传给外部逻辑。所以,为保证OUT端点缓冲区内没有未处理数据,在reset FX2后,要清空一下OUT端点缓冲区,具体做法就是向SKIP位写1(OUT端点缓冲区有几个缓冲区就写几次)。 AUTOIN:AUTO IN和AUTOOUT有一点不同,在AUTOOUT里,包的大小只能是512或1024,而在Auto IN里,包的大小可以任意设定,甚至可以是0字节,这可以通过EPxAUTOINLENTH/L设置。 类似于AUTOOUT,当设置AUTOIN= 0时,FX2固件可以传输、丢弃或修改外部逻辑传过来的数据,这通过向INPTKEND寄存器的SKIP写不同的值实现。 ZEROLENIN:是否允许传输0字节,1使能,0非使能。
正在阅读:
第2章电磁辐射与地物光谱特征(1)08-12
ABC分析法的实施步骤12-02
2016年普陀区高三语文一模试卷及答案04-20
兰大《中央银行学》15春在线作业2 答案01-29
保阜项目2009年施工组织设计 - 图文10-15
长津湖之水门桥党员观后感范文参考04-03
广东省湛江市2019-2020学年小升初数学最后模拟卷05-19
劳动经济学课后题答案11-15
- Win7 安装MySql图示
- 计算器课程设计报告
- 部编版八年下语文第三单元第六单元古诗文理解默写练习及答案
- 13质量通病防治方案和施工措施
- 土力学试题~~~~
- 公务员打印资料
- 传热膜系数测定实验报告 - 图文
- 新时期煤矿协管安全工作的创新与实践
- 第五章 习题及参考答案
- 220kV架空线路强条执行记录表
- 音乐欣赏读后感
- 高炉
- 劳动教育需要新的时代内涵
- 10建筑地面工程施工质量验收规范GB50209-20021
- 银行会计练习题2答案
- 2013年七年级地理上册知识点复习提纲湘教版
- 人教版三年级语文上册第四单元测试题(A卷)(有答案)
- 营养师第九章练习题
- 湖北省武汉市2018届高三毕业生二月调研 理综化学
- 行业分析2018-2023年中国男性护肤品行业市场发展分析及投资前景
- 寄存器
- 68013
- slave
- fifo