本帖最后由 雨天遮阳 于 2015-12-1 16:15 编辑
下位机68013接fpga。上位机用cy concole接收从FPGA传来的数据,但经常会出现上位机卡死的现象,用逻辑分析仪看到总线不断IN/NAK,反复插拔几次才能正常使用,今天彻底不能用了。我就用电压表量了一下FIFO标志位空满都是有效,由于fifo满,fpga无法给fifo数据,但是空满的标志位不能同时有效啊,不知道是什么问题。下面是我的固件代码:
IFCONFIG |= 0xCB; //48MHz Slave FIFO ASYNC 异步fifo
SYNCDELAY;
REVCTL=0x01;
SYNCDELAY;
FIFORESET=0x80; //FIFORESET
SYNCDELAY;
EP6CFG=0xE2; //VAILID=1 DIR:IN BULK 512B 2xbuf
SYNCDELAY;
EP6FIFOCFG=0x0C; //AUTOIN=1 ZEROLENIN=1 WORDWIDE=0:8bits
SYNCDELAY;
EP6CS|=0x10; //FIFO Packet=1
SYNCDELAY;
PINFLAGSAB=0x00; //FLAGB for full And FLAGC for empty
SYNCDELAY;
PINFLAGSCD=0x00;
SYNCDELAY;
FIFOPINPOLAR=0x00;
SYNCDELAY;
EP6AUTOINLENH=0x02; //AUTOINLEN=512B
SYNCDELAY;
EP6AUTOINLENL=0x00;
SYNCDELAY;
FIFORESET=0x86;
SYNCDELAY;
FIFORESET=0x00;
SYNCDELAY;
主要不知道问题出在哪块,FIFO也按照文档中做的清除了fifo中的数据,如果FIFO满应该IN可以把数据要上来啊
|