图4.4
30
图4.5
根据主机主板不同,测试速度也不一样,一般数据传输可以在40MB/S左右。 注意:
1、 USB测试在USB2.0主板上进行。
2、 如果主机USB口通过PCI卡扩展出来的,将影响测试速度。
五、开发板USB2FPGA软件设计
5.1 68013固件程序设计
void TD_Init( void )部分代码注释 //时钟设置
//CPUCS = 0x02; //12MHZ CLKOUT ENALBE
//CPUCS = 0x0a; //24MHZ CLKOUT ENALBE CPUCS = 0x12; //48MHZ CLKOUT ENALBE
IFCONFIG =0x43;//使用外部时钟,IFCLK输入不反向
31
SYNCDELAY;
EP2CFG=0xA0; //需要设定为四缓冲,每个缓冲区大小为512字节 SYNCDELAY; EP4CFG=0x00; SYNCDELAY; EP6CFG=0xE0; SYNCDELAY; EP8CFG=0x00;
SYNCDELAY;
FIFORESET = 0x80; SYNCDELAY; FIFORESET = 0x02; SYNCDELAY; FIFORESET = 0x06; SYNCDELAY; FIFORESET = 0x00;
SYNCDELAY;
PINFLAGSAB = 0xE6; SYNCDELAY;
PINFLAGSCD = 0xf8; SYNCDELAY;
PORTACFG |= 0x00; //0x40; SYNCDELAY;
FIFOPINPOLAR = 0x00; SYNCDELAY;
// activate NAK-ALL to avoid race conditions // see TRM section 15.14 // reset, FIFO 2 // // reset, FIFO 6 //
// deactivate NAK-ALL // FLAGA - fixed EP6PF, FLAGB - fixed EP6FF // FLAGC - fixed EP2EF, FLAGD - reserved // SLCS, set alt. func. of PA7 pin // all signals active low, 32
OEA|=0x0F;
//小于64字节有效
//EP6FIFOPFH=0x00; //DEIS PKSTAT PK2 PK1 PK0 0 PFC9 PFC8 //EP6FIFOPFL=0x40; //PFC7 PFC6 PFC5 PFC4 PFC3 PFC2 PFC1 PFC0
// handle the case where we were already in AUTO mode...
EP2FIFOCFG = 0x01; // AUTOOUT=0, WORDWIDE=1 SYNCDELAY;
EP2FIFOCFG = 0x11; // AUTOOUT=1, WORDWIDE=1 SYNCDELAY;
EP6FIFOCFG = 0x09; // AUTOIN=1, ZEROLENIN=0, WORDWIDE=1 SYNCDELAY;
六、USB2FPGA硬件原理图
在此不再列出硬件原理图,请参见光盘里面电路图和相关说明文档。
33
34