Cypress技术论坛
直播中

张鑫

7年用户 1011经验值
私信 关注

cy7c68013传输数据错误与传输停止的疑问求解

我现在正在使用CY7C68013A开发一个摄像头产品,首先PC上位机传输300K左右的配置数据传输给FPGA(通过CY7C68013A的端口6,端口位OUT),然后FPGA开始采集图像并把采集到图像数据传输给CY7C68013A,CY7C68013A再把数据传输给pc上位机。目前出现2个问题,2个问题都是出现在CY7C68013A发送数据给pc上位机阶段,即CY7C68013A通过端口2(IN)发送数据给pc上位机
1个问题是CY7C68013A传输图像数据给PC上位机的时候,发现第一个512byte数据是对的,但是从第二个512byte数据就开始对不上了。
另外一个问题是传输一段时间感觉死机了似的,测flagb,发现flagb是低电平,IFCLK也没有了。

CY7C68013A输出48M时钟给到FPGA,采用同步slavefifo模式传输,设置16位传输,EP2位IN端口,EP6位OUT端口。其余端口可以不用关注。
下面是我的配置:
void TD_Init( void )
{
CPUCS = 0x12; //48MHZ CLKOUT ENALBE
SYNCDELAY;
IFCONFIG = 0xE3; //Internal clock, 48 MHz, Slave FIFO interface
SYNCDELAY;
EP2CFG = 0xE0;
SYNCDELAY;
EP4CFG = 0x00; // disabled...
SYNCDELAY;
EP6CFG = 0xA2;
SYNCDELAY;
EP8CFG = 0xE0; // disabled...
EP2FIFOCFG = 0x09; // autoin, 16 Bit Wide
SYNCDELAY;
EP4FIFOCFG = 0x09; // no-autoOUT, bytewide
SYNCDELAY;
EP6FIFOCFG = 0x11; // no-autoOUT, bytewide
SYNCDELAY;
EP8FIFOCFG = 0x09; // no-autoOUT, bytewide
SYNCDELAY;
FIFOPINPOLAR = 0x00;
PINFLAGSAB = 0x00;//0x8a;
SYNCDELAY;
PINFLAGSCD = 0x00;//0x08;
SYNCDELAY;
WAKEUPCS =0x15;
AUTOPTRSETUP |= 0x07;
SYNCDELAY;
}
附件是我cy7c68013a的firmware。
请帮忙看看,谢谢!
                                                                                                                                                                                                                                                                                                                                                                                               

回帖(1)

张艳

2024-2-27 15:44:34
感谢您提供的信息。

关于第一个问题,当CY7C68013A传输图像数据给PC上位机时,导致从第二个512字节开始出现数据错误的原因可能有几个。首先,您可以检查端口配置是否正确设置,确保数据传输的方向和长度设置正确。其次,您还可以检查数据传输的时钟信号是否正确配置,确保信号的稳定性和准确性。

关于第二个问题,如果传输一段时间后出现死机的情况,可能是由于数据传输过快导致PC上位机无法及时处理数据,造成缓冲区溢出或系统负载过高。您可以尝试降低数据传输速率,增加PC上位机的处理能力来解决此问题。

此外,对于调试问题,您可以使用调试工具来监视数据传输过程中的信号和状态变化,以便更好地定位和解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分