




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、红色飓风 II 开发板 USB2FPGA实验指导( ver1.0)Red Logic 工作室二六年四月三日Red logic红色飓风II目录第一章FX2特性介绍 .31. 1 介绍 .31. 2 结构 .31. 3 特征 .4第二章 Slave FIFO 传输 .52. 1 概述 .52. 2硬件连接 .52. 3 Slave FIFO 的几种传输方式 .62. 3.1同步 Slave FIFO写 .62. 3.2同步 Slave FIFO读 .92. 3.3异步 Slave FIFO写 .112. 3.4异步 Slave FIFO读 .12第三章寄存器设置 .153. 1 IFCONFIG
2、.153. 2 PINFLAGSAB/CD .163. 3 FIFORESET .173. 4 FIFOPINPOLAR .183. 5 EPxCFG 183. 6 EPxFIFOCFG .193. 7 EPxAUTOINLENH/L .203.8 EPxFIFOPFH/L .213.9 INPKTEND 22.3.10 OUTPKTEND .223.11 EPxFIFOIE 和 EPxFIFOIRQ .223.12PORTACFG .233.13 EPxFIFOBCH EPxFIFOBCL .233.14 EP2468FIFOFLAG 243.15其它通用寄存器 .2545第四章 同步sla
3、ve fifo测试操作指南 .264. 1安装软件包 .264. 2同步写FIFO测试 .264. 3同步读 FIFO 测试 .304. 4同步读写 FIFO 测试 .31第五章 红色飓风II开发板USB2FPGA软件设计.335. 1 68013固件程序设计 .335. 2 FPGA源代码设计 35第六章 USB2FPGA 硬件原理图 .37第七章 改板后注意的问题 .37附录1版本历史 39一.FX2特性介绍1. 1介绍Cypress Semiconductor公司的EZ USB FX2是世界上第一款集成 USB2.0的微处理器,它集成了 USB2.0收发器、SIE (串行接口引擎)、增强
4、的 8051微控制器和可编程的外围接口。FX2这种独创性结构可使数据传输率达到56Mbytes/s,即USB2.0允许的最大带宽。在FX2中,智能SIE可以硬件处理许多 USB1.1和USB2.0协议,从而减少了开发时间和确保了 USB 的兼容性。GPIF ( Ge neral Programmable In terface)和主 /从端点 FIFO( 8 位或 16 位 数据总线)为 ATA、UTOPIA、EPP、PCMCIA和DSP等提供了简单和无缝连接接口。1. 2结构CY7C68013结构图如图1所示。它有三种封装形式:56SSOP, 100TQFP和128TQFP。图10706801
5、3结构图1. 3特征:内嵌480MBit/s的收发器,锁相环 PLL,串行接口引擎 SIE集成了整个 USB 2.0 协议的物理层。 为适应USB 2.0的480MBit/s的速率,FIFO端点可配置成2, 3, 4个缓冲区。内嵌可工作在48MHz的增强型8051,它具有以下特征:-具有256Byte的寄存器空间,两个串口,三个定时器,两个数据指针。-四个机器周期(工作在 48MHz下时为83.3ns)即组成一个指令周期。-特殊功能寄存器(包括 I/O 口控制寄存器)可高速访问。-应用USB向量中断,具有极短的ISR响应时间。-只用作USB事务管理,控制,不参与数据传输,较好地解决了USB高速
6、模式的带宽问题。 “软配置” 一一USB固件可由USB总线下载,片上不需集成 ROM。拥有四个FIFO接口,可工作在内部或外部时钟下。端点和FIFO接口的应用使外部逻辑和USB总线可高速连接。内嵌通用可编程接口GPIF,它是一个状态机,可充当主控制器,提供外部逻辑和USB总线的“无胶粘贴”。 一种单片USB 2.0外设解决方案,不需要外部的协议物理层,FX2把所有的功能集成在一个芯片上。、Slave FIFO 传输2. 1概述当有一个与FX2芯片相连的外部逻辑只需要利用FX2做为一个USB 2.0接口而实现与主机的高速通讯,而它本身又能够提供满足Slave FIFO要求的传输时序,可以做为Sl
7、aveFIFO主控制器时,即可考虑用此传输方式。Slave FIFO传输的示意图如下:在这种方式下,FX2内嵌的8051固件的功能只是配置 Slave FIFO相关的寄存器以及控 制FX2何时工作在Slave FIFO模式下。一旦8051固件将相关的寄存器配置完毕,且使自身工作在Slave FIFO模式下后,外部逻辑(如FPGA )即可按照Slave FIFO的传输时序,高速与主机进行通讯,而在通讯过程中不需要8051固件的参与。2. 2硬件连接(标准)在Slave FIFO方式下,外部逻辑与FX2的连接信号图如下:Figure 92 FX2 Slave Mode Full-Featured
8、Interface PinsIFCLK : FX2输出的时钟,可做为通讯的同步时钟;FLAGA , FLAGB , FLAGC , FLAGD : FX2 输出的 FIFO 状态信息,如满,空等;SLCS: FIFO的片选信号,外部逻辑控制,当SLCS输出高时,不可进行数据传输;SLOE : FIFO输出使能,外部逻辑控制,当SLOE无效时,数据线不输出有效数据;SLRD : FIFO读信号,外部逻辑控制,同步读时,FIFO指针在SLRD有效时的每个IFCLK 的上升沿递增,异步读时,FIFO读指针在SLRD的每个有效一无效的跳变沿时递增;SLWR : FIFO写信号,外部逻辑控制,同步写时,
9、在SLWR有效时的每个IFCLK的上升沿时数据被写入,FIFO指针递增,异步写时,在 SLWR的每个有效一无效的跳变沿时数 据被写入,FIFO写指针递增;PKTEND :包结束信号,外部逻辑控制,在正常情况下,外部逻辑向 FX2的FIFO中写 数,当写入FIFO端点的字节数等于 FX2固件设定的包大小时,数据将自动被打成一包进行传输,但有时外部逻辑可能需要传输一个字节数小于FX2固件设定的包大小的包,这时,它只需在写入一定数目的字节后,声明此信号,此时FX2硬件不管外部逻辑写入了多少字节,都自动将之打成一包进行传输;FD15:0:数据线;FIFOADR1:O:选择四个FIFO端点的地址线,外部
10、逻辑控制。2. 3 Slave FIFO的几种传输方式2. 3. 1 同步 Slave FIFO 写同步Slave FIFO写的标准连接图如下:Figure 9-10. Interface Pins Example: Synchronous FIFO Writes同步Slave FIFO写的标准时序如下:IDLE :当写事件发生时,进状态 1;状态1:使FIFOADR1:0指向IN FIFO,进状态 2;状态2:如FIFO满,在本状态等待,否则进状态3;状态3:驱动数据到数据线上,使SLWR有效,持续一个IFCLK周期,进状态4;状态4:如需传输更多的数,进状态2,否则进状态IDLE。状态跳转
11、示意图如下:LaunchDoneFigure 911. State Machine Example: Synchronous FIFO Writes几种情况的时序图示意如下(FULL,EMPTY,SLWR,PKTEND均假定低有效)IFCLKFADDROFADDR1FLAGB -FULLFLAGC -EMPTYSLWRFD15:0PKTENDIFCLKFADDROFADDR1FLAGB - FULLFLAGC -EMPTYSLWRFD|15:OPKTENDFigure 9-12. Timing Example: Synchronous FIFO Writes, Waveform 1 图示FIF
12、O中本来没有数据,外部逻辑写入第一个数据时的情况。AUTOIN=1510II511II512Cora AutoCo in mits PktFigure 9-13. Timing ExampSe: Synchronous FIFO Writes, Waveform 2图示假定FX2设定包大小为512字节,外部逻辑向FIFO端点中写入的数据达 512字节 时的情况。此时 FX2硬件自动将已写入的 512字节打成一包准备进行传输,这个动作就和 在普通传输中,FX2固件向FIFO端点中写入512字节后,把512这个数写入EPxBC中一 样,只不过这个过程是由硬件自动完成的。在这里可以看出“FX2固件不
13、参与数据传输过程”的含义了。外部逻辑只须按上面的时序图所示的时序向FIFO端点中一个一个字节(或字)地写数,写到一定数量,FX2硬件自动将数据打包传输,这一切均不需固件的参与,由此实现高速数据传输。IFCLKFADDROFADDR1Master Manually Commits Short PktFLAGB -FULLFLAGC -EMPTYSLWRFD15:0PKTENDFigure 9-14. Timing Example: Synchronous FIFO Writes, Waveform 3. PKTEND Pin Hiusiraied图示的是FIFO端点被写满时的情况。2. 3. 2
14、 同步 Slave FIFO 读:同步Slave FIFO读的标准连接图如下:亠IFCLK5-4 8 MHzFllFOADR|1:QFLAGBFULLFLAGCEMPTYFX2崛SLOEEXT.S lave亠SLRDM asterM odeFD15:0*Figure 9-15. Interface Pins Example: Synchronous FIFO Reads同步Slave FIFO读的标准时序如下:IDLE :当读事件发生时,进状态 1 ;状态1:使FIFOADR1:0指向OUT FIFO,进状态 2 ;状态2:使SLOE有效,如FIFO空,在本状态等待,否则进状态3;状态3 :从
15、数据线上读数,使SLRD有效,持续一个IFCLK周期,以递增FIFO读指针, 进状态4 ;状态4:如需传输更多的数,进状态2,否则进状态IDLE。状态跳转示意图如下:EmptyLaunchDonFigure 9-76. State Machine Example: Synchronous FIFO Reads几种情况的时序图示意如下(FULL,EMPTY,SLRD,SLOE均假定低有效)IFCLKFADDROFADDR1FLAGS - FULLAssorts SLOE then-V /z1 NIN + 1FLAGG -EMPTYSLOE5LRIDFDI15;O)R&ads First
16、Byt&Incrmnts to N«xtin FIFOByte in FIFOFigure 9-17. Timing Example: Synchronous FIFO Reads. Waveform 1图示正常情况时的时序。IFCLKFADDROFADDR1FLAGB -FULLFLAGC - EMPTYSLOEReads 1023 Bytein FIFOEPS EmptyReads Last Byte inFIFOSLRDFD15:O10231024Figure 9-18. Timing Example: Synchronous FIFO Reads, Waveform
17、2 EMPTY Flag Iilust rated图示FIFO被读空时的情况。2. 3. 3 异步 Slave FIFO 写:异步Slave FIFO写的标准连接图如下:FLAGB* FIFOADR(1 01FULL.FX2 Slve Mode.SLWREXT.MasterV一 FD15:O|叭PKTFNnFigure 9-19. Interface Pins Example: Asynchronous FIFO Writes异步Slave FIFO写的标准时序如下:IDLE :当写事件发生时,进状态 1 ;状态1:使FIFOADR1:0指向IN FIFO,进状态 2;状态2:如FIFO满,在
18、本状态等待,否则进状态3;状态3:驱动数据到数据线上,使SLWR有效,再无效,以使 FIFO写指针递增,进状态4;状态4:如需传输更多的数,进状态2,否则进状态IDLE。状态跳转示意图如下:Figure 9-20. State Machine Example: Asynchronous FIFO Writer几种情况的时序图示意如下(FULL, EMPTY , SLWR , PKTEND均假定低有效)IFCLKFADDROFADDR1FLAGS - FULLFLAGC EMPTYN+1SLWRFD1S:OPKTENDFigure 9-21. Timing Example: Asynchrono
19、us FIFO Writes图示FIFO中本来没有数据,外部逻辑写入第一个数据时的情况。2. 3. 4 异步 Slave FIFO 读:异步Slave FIFO读的标准连接图如下:FLAGBFIFOADR1:0)FULL.FLAG CFMPTY.FX24-SLOESLRDEXT-MasterSlaveFD15:0l.M odeFigure 9-22+ Interface Pins Example: Asynchronous FIFO Reads异步Slave FIFO读的标准时序如下:IDLE :当读事件发生时,进状态 1;状态1:使FIFOADR1:0指向OUT FIFO,进状态 2 ;状态
20、2:如FIFO空,在本状态等待,否则进状态3;状态3:使SLOE有效,使SLRD有效,从数据线上读数,再使SLRD无效,以递增FIFO读指针,再使 SLOE无效,进状态 4;状态4:如需传输更多的数,进状态2,否则进状态IDLE。状态跳转示意图如下:Figure 9-23. State Machine Example: Asynchronous FIFO Reads几种情况的时序图示意如下( FULL,EMPTY,SLRD,SLOE均假定低有效)Figure 9-24. Timing Example: Asynchronous FIFO Reads图示正常情况时的时序。三、寄存器设置slave
21、 fifo模式下常用寄存器IFCONFIGEPxFIFOPFH/LPINFLAGABPORTACFGPINFLAGCKINPKTENDFIFORESETEPxFLAGIEFIFOPINPOLAREPxFLAGIRQEPxCFGEPxFIFOBCH:LEPxFIFOCFGEPxFLAGSEPxAUTOINLENH:LEPxBUF3. 1 IFCONFIG (E601 ):接口配置寄存器1 ”b6b5b3b2blbo |I IFCLKSRC3048MHZIFCLKOEIFCLKPOLASYNCGSTATEIFCFG1IFCFGO IRWR/WR/WR/WR/WR/WR/WR/W11000000IF
22、CLKSRC : FIFO时钟内部/外部时钟源选择,0外部时钟源,1内部时钟源。3048MHZ :如选择内部时钟,30MHz/48MHz 频率选择,0 IFCLK 时钟30M,1 IFCLK 时钟48M。IFCLKOE : IFCLK时钟输出使能,0关闭,1打开。IFCLKPOL : IFCLK输出反转使能,0不反转,1反转。ASYNC : Slave FIFO同步/异步工作方式选择,0同步,1异步。GSTATE :选择是否将 GSTATE2:0在PORTE2:0输出,0关闭,1使能。IFCFG1:0 : FX2 I/O端口模式选择,也既是上面所说的FX2与外部逻辑传输方式的选择。00 : I
23、/O 方式;01 : reserved ; 10 : Slave FIFO 方式;11 : GPIF 方式。表王1模式设置IFCFG1IFCFG0Configuration00普通端! I税N01保留10GPIF (GPIF Interface )11Slave FIFO 模式3. 2 PINFLAGSAB/CD ( E602 : E603): FLAGx 引脚配置寄存器令 PINFLAGSAB. FIFO FLAGA 和 FLAGS 抚卷需 6品b7b6b5b4b3b2b1bOIFLAGB3FLAGB2FLAGB1FLAGBOFLAGA3FLAGA2FLAGA1FLAGAO |RWRWR/W
24、R/WR/WRWRWR/W00000000令 PINFLAGS CD. FIFOTLAGCfl: FLAGD配置寄¥2I軒b6b3b2b1bO I| FLAGD3FLAGD2FLAGD1FLAGDOFLAGC3FLAGC2FLAGC1FLAGCO|R/WR/WR/WR/WR/WR/WR/WR/W0T00C000FLAGA , FLAGB , FLAGC , FLAGD反映FIFO状态选择。每个脚有编址 /固定两种模 式:如设为编址模式,则它们都反映 FIFOADR1:0脚当前所指端点的状态,其中, FLAGA 反映“可编程极限”,FLAGB反映“满”标志,FLAGC反映“空”标志,F
25、LAGD不存在; 如设为固定模式,它们均可任意设置成反映任意端点的任意标志,而不受限于FIFOADR1:0脚当前所指端点的状态。Slave fifo模式中,用引脚FLAGAFLAGD 来定义用端点 FIFO的状态,并可灵活编程 来实现FLAGx设置,见表3.2氏3.2 FLAGA-PLAGD引阳功f拒i殳罗FLAGX3FLAGx?FLAGxlFLAGxO引脚功能0000FL AG A= PF, FLAGB=FFJ FLAGC=EFnFLAGD=EP2PF (除FLAGDZ外.IFLAGA -FLAGC对应的端成FIFO由 引脚FIFOADRI0JJ* 确定, 详见8.4)0001傑留00100
26、0110100EP2PF0101EP4PF0110EP6PF0111EP8PF1000EP2EF1001EP4EF10j0EP6EF1011EP8EF1100EP2FF1101EP4FF1110EP6EF1111EP8FF说明:1. PF表示FIFO编程状态,EF表示FIFO已空,FF表示FIFO已满2. 0000为索引模式,其它为固定模式表3 3端点选择FIFOADR1 pinFIFOADRO pin选择端点00EP201EP410EP611EP83. 3 FIFORESET (E604):端点缓冲区复位寄存器b7b6b5b4b3b2b1bOI NAKALL000EP3EP2EPIEP0 I
27、WwwWWWWWXXXXXXXX将FIFO复位到初始状态。具体过程是,写0x80到此寄存器,NAK所有主机请求;写0x02 , 0x04 , 0x06 , 0x08分别复位各个端点;写0x00 ,结束复位过程。一般,在每一次开始进行 slave FIFO或GPIF传输之前,先复位端点,再清空端点, 然后即可进行数据传输。NAKALL 0关闭NAK功能,1用NAK响应主控器请求,例如在复位端点 FIFO时, 为了保证复位正常,防止主控器请求的干扰, 先写入0x80,然后复位端点,最后写入0x00, 使能请求响应。EP3EP0,1 复位对应的端点缓冲区,其中EP3EP0分别对应端点 EP8 , E
28、P6 , EP4 ,EP2。3. 4 FIFOPINPOLAR (E609):控制引脚极性设置寄存器1冈b6b5b4b3b2b1b00QPKTENDSLOESLRDSLWREF皆|RRRWR/WR/WR/WR/Wa0000000Slave FIFO引脚极性设置:0低有效,1高有效。提示:PF极性没有提供寄存器设置,为高有效。3. 5 EPxCFG (E610 : E615):端点 2, 4, 6, 8 配置EP2CFG.端点空配赴I讨bbb5Mb3b2blt>0 j| VALIDDIRTYPE1TYPE0SIZE| 0BUF1BUF0 | R/WR/WRA/VR/WR/WRR/WR/W1
29、01000I0令EP4CFG*端点4配辻I b 了b6b5Mb3b2b150| VALIDDIRTYPE1TYPE0000o |RA/VR/WawR/WRRRR10100000心 EP6CFG,端点石血甩b7b6b5b4b3b2b1bOI VALID0TYPE1TYPED00Q。I(R/WRR/WR/WRRRR10100000令 EPSCl了:G,騙点8b6配置b5t>4b3b2b1bO |I VALIDDIRTYPE1TYPED000o |R/WR/WR/WFIWRRP RR11100000VALID 0端点无效,1端点有效DIR 端点方向,0 =OUT方向,1=IN方向,默认端点 2
30、, 4为IN,端点6,8为OUTTYPE1 , TYPE0 端点类型,见表 3.4农3 4端点丄斗68类型TYPE1TYpeo类型00无效01筹时10批量(默认)11中断SIZE 缓冲区大小(仅端点2和端点),0=512字节,1 =1024字节BUF1 , BUF0 端点缓冲区个数(仅端点2和端点 6),见表3 .5农工5端点2和6缓冲区个数BUF1BUF0类型00四缓冲01无效10双缓冲(默认)11三缓冲3. 6 EPxFIFOCFG ( E618 : E61B ):端点 FIFO 配置寄存器< EP2FIFOCFG- EP4F1FOCFG- EP6F1FOCFG. EP3F1FOCF
31、Gb?b6b5t>4D3b2blbO°INFM1OEP1AUTOOUTAUTOINZEROLENIN0WORDWIDE |RR.'WRWR/WR.-WR/WRFtW00000101INFM1 : FIFO状态标志是否提前一个字节有效选择,IN端点满减1,1使能,0非使OEP1 : FIFO状态标志是否提前一个字节有效选择,OUT端点空加1,1使能,0非使能。AUTOOUT :在前面,我们说Slave FIFO方式下的数据传输过程不需要FX2固件的参与,实际上是不确切的,应该说,FX2固件可以不参与数据传输过程,也可以参与。AUTOOUT即可设置。如果设置 AUTOOUT
32、为1,则就如上面所说的,FX2固件只需要完成初始化工 作,真正的数据传输是不需要FX2固件的参与的,具体的说,当FX2从主机收到一包数据时,外部逻辑即可看到 FIFO端点缓冲区状态的改变, 然后从中取数。如果设置AUTOOUT 为0,则数据传输过程就需要 FX2参与了,此时当FX2从主机收到一包数据时, FIFO端点缓冲区状态的改变并不会立刻在端口显现,而是固件先看到FIFO端点状态的改变,此时,FX2固件可以做三件事情:a. 向OUTPKTEND 中的SKIP位写0,使FIFO端点状态的改变在端口显现,从而使 外部逻辑可以从 FIFO端点中读取数据;b. 向OUTPKTEND中的SKIP位写
33、1,丢掉这包数据,这样就相当于主机从来就没有发送这一包数据,外部逻辑当然也不能从FIFO端点中读到这一包数据了;c. 从新编辑这一包数据,设置完全重写整个包的数据,再写EPxBC寄存器,把数据 传给外部逻辑。在FX2复位之后,如果其OUT端点缓冲区内有一包数据未处理,这包数据并不会自动传给外部逻辑。所以,为保证OUT端点缓冲区内没有未处理数据,在reset FX2后,要清空一下OUT端点缓冲区,具体做法就是向SKIP位写1 (OUT端点缓冲区有几个缓冲区就写 几次)。AUTOIN : Auto IN 和Auto OUT 有一点不同,在 Auto OUT 里,包的大小只能是 512 或1024,
34、而在 Auto IN里,包的大小可以任意设定,甚至可以是0字节,这可以通过EPxAUTOINLENTH/L 设置。和AUTOOUT类似,当设置 AUTOIN = 0时,FX2固件可以传输,丢弃,修改外部 逻辑传过来的数据,这通过向INPTKEND寄存器的SKIP写不同的值实现。ZEROLENIN :是否允许传输 0字节,1使能,0非使能。WORDWIDE : 8 Bit , 16 Bit 选择。当选择 8 Bit 模式时,Port B 将是 FD7 : 0;当选 择16 Bit模式时,Port D将是FD15 : 8,1则为16位,0则为8位。3. 7 EPxAUTOINLENH/L (E62
35、0 : E627):端点 2 ,4,6,8AUTOIN 长度设置(仅IN端点有效)EP2AUTOINLENH.EP4AUTOE4LEXH.EP6AUTOINLENH.EPSAUTOINLEXH 过快憧崗 Z 节1-冈b6b5b4 |b3b2 |b1bO |o0000PL10PL9PLS IRFtRRR/WR/WR/W00000010EP2ALTOINLENL.EP4AUTOINLENL.EP6AUTOINLENL.EP8AUTOINLEN'L包反度低卡节b7b6b5b4b362blbO| PL7PL6PLSPL4PL3PL2PL1九。1R/WR/WR/WR/W dR/WRWR/WR/W
36、00000000设置AUTOIN时自动传输的包大小(注意,不能大于 IN端点的缓冲区的大小)。说明:PL10仅端点2和6有效3. 8 EPxFIFOPFH/L (E630 : E637): FIFO 可编程 PF 状态长度设置EP2FIFOPFH H F5O 端亢;b7b6b5b4b3b2b1bO1 DEC1SPKTSTATOUT;PFC12OUT:PFC11OUT:PFC100PFC9IN:IPKTSJ2 1OUT:PFCB |R7WR/WR/WR/WR/WRR/WR/W10001000EP4FIFOPFH II 端点Ib6b5b4b3b2bO| DECISPKTSTAT0OUT:PFC10
37、OUT:PFC900PFC8 |R/WR/WRRWR/WRRR/W10a0100DEP6FIFOPFH < | ISO 端点)1囱b6b5b4b3b2b1bOI DECISPKTSTATQUT:PFC12OUT;PFC11CUT:PFC100PFC9IN;PKTS2OUT:PFC8:RWr r/wR/Wr r/wr r/wR/WR/WR/W00001000EP8FIFOPFHI冲b6b5b4b3b2bibO I| DECISPKTSTAT0OUT:PFC10OUT:PFC900PFCB |R/WR/WRR/WR/WRRR/W00001000DECIS 0小于等于门限值 PF有效,1大于等
38、于门限值PF有效PKSTAT 1. OUT端点FIFO :门限值为 PFC12:0 设置,当 FIFO 长度小于等于门限值 (DECIS=0),或者FIFO长度大于等于门限值(DECIS=1),则PF有效。2. IN 端点 FIFO,且 PKTSTAT=1:门限值为 PFC9:03. IN端点FIFO,且PKTSTAT=0:门限值由两部分组成:PKTS2:0(数据包)再加上PFC9:0 (当前数据长度)。EP2FIFOPFL EP4FLFOPFL EPSFIFOPFLI冈beb5b4b3t>2b1 |bO I1 PFC7PFC6PFC5PFC4PFC3PFC2PFC1PFCO IR/WR
39、/WR/WR/WR/WR/WR/WR/W00000000解释:对于OUT包,极限存储在 PFC12:0中,在整个FIFO缓冲区中的数据数目少于等于(DECIS = 0)或大于等于(DECIS = 1)这个极限时,PF将有效。对于IN包,当PKTSTAT = 1时,极限存储在两部分:PKTS2 : 0存储极限包数(已经交给SIE但未传给主机的包数),PFC9 : 0存储极限字节数(正在编辑的包里的字节数)< 在整个FIFO缓冲区中的数据数目少于等于(DECIS = 0)或大于等于(DECIS = 1)这个极 限时,PF将有效。3. 9 INPKTEND ( E648 ):结束 IN 传输b
40、7b5b4b3b2b1bOI SKIPD00EF3EP2EP1EPO IR/WR/W 1R/WR/WR/WRWR/WSKIP 当ENH_PKT(REVCTL 寄存器bitO)为1时,0表示自动“分配”一个 IN缓冲区,1表示将跳过一个IN缓冲区EP3,EP2,EP1,EP0 代替PKTEND引脚功能,软件强行结束IN端点8,6,4,2 IN数据传输,传输短包。3. 10 OUTPKTENDE649):强行结束OUT传输寄存器bZb6b5b4b3b2b1bO| SKIP000EP3EP2EP1EPO |WWWwWWWWXXXXXXXSKIP 当ENH_PKT(REVCTL 寄存器bitO)为1时
41、,0表示自动“分配”一个 OUT缓冲区,1表示将跳过一个 OUT缓冲区EP3,EP2,EP1,EP0 代替EPxBLH.7=1引脚功能,软件强行结束 OUT端点8,6,4,2数据传输。3. 11 EPxFIFOIE 和 EPxFIFOIRQ(E652: E657):端点 FIFO 中断(INT4)使能和请求EP2FIFOIE. EP4FEFOIE. EP6FIFOIE. EP8FIFOIEb756b5b4D3b1bQ0D0EDGEPFPFEF肝R/WR.WR/WR/WR.'WR/WR/WR/W00000000EDGPRPF中断触发沿,0上升沿触发,1下降沿触发PF1使能端点 FIFO
42、PF中断,0非使能EF-1使能端点 FIFO EF中断,0非使能FF1使能端点 FIFO FF中断,0非使能EP2FIFOIRQ. EP4HF0IRQ EP6FEFOIRQ EP旺IFOIRQb7b5b4b3b1bO口0000PFEF阡R/WR/WR.W |R/WR/WR/WR/WR/W00000000PF 0无PF中断,1有PF中断EF 0无EF中断,1有EF中断PF 0无FF中断,1有FF中断3. 12PORTACFG :端口 A 配置b7b6b5b4b3b2b1bO| FLAGDSLCS0000INT1INTO |R/WR/WR/WR/WR.'W(RWR/WR/W00000000
43、置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 计数EP2FIFOBCH. EP4FIFOBCH, EP6FITOB
44、CH; EP8FIFOBCH 计数高字节b7B6b5b4b3b2blb0I 000BC12BC11BC10BC9BC8 |RRRRRRRR00000000EP2FIFOBCL, EP4RFOBCL, EP6FIFQBCL, EP8FIFOBCL11 故低字节B6b5b4b3b2b1bO | BC7BC6BC5BC4BC3BC2BC1BCD |RRRRRRRR00000000当前端点缓冲区中已有的数据数目。说明:端点2最大缓冲区计数 BC12:0,为4096字节。端点6最大缓冲区计数 BC11:0,为2048字节。端点4和8最大缓冲区计数 BC10:0,为1024字节。3. 14 EP2468F
45、IFOFLAG (SFR AB : SFR AC )和 EPxFIFOFLGS ( E6A7 :E6AA ):端点FIFO状态标志寄存器EP24FIFOFLGSb7b6b5b4b3b2b1oEP4PFEP4EFEP4FF0EP2PFEP2EFEP2FF |RRRRRRRR001000 |10EP68FIFOFLGSb 了b6b5b4b3b2b1IoEP&PFEP8EFEP8FF0EP6PFEP6EFEP6FF |RRRRRRRR011001103 . 15其它通用寄存器CPUCS(E600):PORTCSTB : 128脚或100脚的RD , WR输出使能。CLKSPD1 , CLKS
46、PD0 : CPU 频率选择,00: 12MHz (默认);01: 24MHz ; 10 : 48MHz ; 11: Reserved。CLKINV : CLKOUT 反转选择。CLKOE : CLKOUT 输出使能。REVCTL (E608):正常情况下,简单地设置 DYN_OUT和ENH_PKT位为1即可。四、同步slave fifo测试操作指南4. 1安装软件包第一次使用时,首先要安装CYPRESS开发包,安装完毕后,在目录"windowssystem32drivers ”中有一个文件 ezusb.sys,用驱动程序目录下的ezusb.sys将其代替,两个驱动程序文件的区别是,
47、后者将缓冲区的大小扩展为6M字节,详见驱动代码。鮭 创帜 xo后退*PfiSSaalx»9團I地址辺!j C: MHMQflS sys t en32dr iv«r±逊重酌启这卡丈件 店暮动这个文件 J舄制这个丈件 日捋遠宁文件发布到7 Ti.bQ旦电子邨件沧式粧送 »此:mX »臨该个左件5】沪打比sys 赛舷件& O- . i drrtikaud. sy5 画書件寰井刑克曲典赴摇盅JIHilei c sri系瑛立件52 KB汕1»皿5/E.SiXiCiT57stewt详如信且fistfit. Sy3 系统文件140 KBS
48、V- £-UE文込£e-BSB5Y-S手摇衰佇30T KDftiLllpcSk sys356 KB35 KB£4c tvz 茶坯文件 2? KE:fledisk.系竝丈件20 KBf-azttr-ak 邮弓 系甄丈件74 KE描逹«cub書司:cyuTsts stniconduclor丈悴版貳1 30 0.0目聘日期2OT5-3-23 ID 4t丸小. I IE Q XB/我的电脑图4.14. 2同步写FIFO测试插上开发板后,系统默认采用USB接口供电,PC上安装好下载线,并将下载线与开发 板FPGA的AS下载口连接好,下载采用AS方式,将FPGA程序
49、下载到配置芯片中,打开ALTERA的编译软件 Quartus 5.0,将“相应目录/SYN同步方式/写FIFO”下的wr_fifo.qpf 项目文件打开,界面见图4.2,点击“change file ”,在弹出界面中选择下载文件,将wr_fifo.pof下载到FPGA中。(也可以选择JTAG方式下载到FPGA中,当然这时也可以选择的文件类 型有.sof文件格式)图4.2接着打开CYPRESS EZUSB控制面板,见图4.3,将“相应目录 個件源代码/fw ”目录下的固件程序slavefifo.hex,通过USB接口下载到FX2中,下载成功后,提示slave fifo设备安装成功。BMEIE3二 I SPIF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙经营协议合同
- 商业房房屋买卖合同
- 购销合同奶粉
- 承包合同转让协议
- 合同违约民事起诉状
- 资金投资合同协议
- 佛山二手房三方协议合同
- 监控工程转包合同协议书
- 车行购车协议合同
- 供货合同协议框架协议
- 大小便观察与护理
- 2025年-重庆市安全员-A证考试题库附答案
- 湖北省孝感市高新区2023-2024学年七年级下学期数学期中考试试卷(含答案)
- 8.2 诚信经营 依法纳税课件-高中政治统编版选择性必修二法律与生活
- 领导带班及24小时值班制度
- 具身智能机器人扩散策略Diffusion Policy环境安装与运行
- 湖北省武汉市2024-2025学年高三2月调研考试英语试题含答案
- 小学英语国测试卷
- 安徽省涡阳县高炉小学-春暖花已开一起向未来-二年级下册开学家长会【课件】
- 核电站设备采购合同
- 肿瘤患者的血栓预防及护理
评论
0/150
提交评论