cancel
Showing results for 
Search instead for 
Did you mean: 

USB Low-Full-High Speed Peripherals

abhishekps
New Contributor II

Hi

I have observed that on boot up FlagB of FX2LP device in our application is going HIGH for sometime (approximately 288 millisecond), is that expected behavior of device?

Can we make it so that it doesn't go HIGH at boot up?

Also sometime while using our system with VLC for streaming, when we stop and start the stream again no data is visible on the display. Please suggest some of the possible issues that might have happened.

0 Likes
3 Replies
MallikaK_22
Moderator
Moderator

Hi,

How are you booting FX2LP?

Are you using FlagB in your firmware?

Please share your firmware source if not confidential.

What is the issue with VLC?

Regards,

Mallika

Mallika
0 Likes
abhishekps
New Contributor II

Hi Mallika

I am turn ON and OFF my system for reboot the device.

Yes I am using FlagB in my firmware.

Please find my settings below:

CPUCS = 0x12;

IFCONFIG = 0x13; 
SYNCDELAY;

EP2CFG = 0xA0;
SYNCDELAY;
EP6CFG = 0xE0;
SYNCDELAY;
EP4CFG &= 0x7F;
SYNCDELAY;
EP8CFG &= 0x7F; 
SYNCDELAY;

SYNCDELAY;
FIFORESET = 0x80; 
SYNCDELAY;
FIFORESET = 0x02; 
SYNCDELAY; 
FIFORESET = 0x04; 
SYNCDELAY; 
FIFORESET = 0x06; 
SYNCDELAY; 
FIFORESET = 0x08; 
SYNCDELAY; 
FIFORESET = 0x00; 

SYNCDELAY; 
EP6FIFOCFG = 0x00; 

SYNCDELAY; 
EP6FIFOCFG = 0x0D; 
SYNCDELAY;
FIFOPINPOLAR |= 0x03;
PINFLAGSAB = 0xE8;
SYNCDELAY;

When we are using VLC for streaming video using UVC on our device, in some conditions once FLAGB is set to HIGH, it never goes LOW again. We want to know what are the conditions on FX2LP which can trigger this behavior.

0 Likes
MallikaK_22
Moderator
Moderator

Hi,

Apologies for the delay in my response.

Please find my comments below:

1) In fifo_reset(), 0x82, 0x84, 0x86, 0x88 should be used instead of 0x02, 0x04, 0x06 and 0x08.

2) EPxFIFOCFG=0x00 (AUTOOUT=0)

SYNCDELAY

EPxFIFOCFG=0x11     ( AUTOOUT=1)

The core needs to see AUTOOUT=0 to AUTOOUT=1 switch to arm the endpoints. Also, only OUT endpoints need to be armed.

However, in your code snippet, you are arming EP6 which is an IN endpoint that is not appropriate.

Additionally, you are not initializing EP2 in AUTO mode.

Lastly, since you are using FIFOINPOLAR, the polarity of the flags is reversed which by default are active low. So FLAG B signal is now an active-high signal. Thus, when empty during the start, it will be high. If you omit FIFOINPOLAR, the FLAG signals will be active-low by default.

Regards,

Mallika

Mallika
0 Likes