USB3 --> SX3 --> RGB888

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
AnMc_4628076
Level 1
Level 1
5 replies posted 5 questions asked 5 sign-ins

Is it possible to use the SX3 "backwards" to can stream USB3 data to the SX3, then have it output video signals (RGB888, VSYNC, HSYNC, PCLK)? 

Alternatively, can I use the SX3 general purpose interface for this?  I am not sure I follow the data bus, but could I just use 24 of the 32 bits Slave FIFO and just write the video data out on that?

I know this is possible with the FX3, but I was wondering if there may be an easier way with the SX3 that avoids all the state machine GPIF II creation work, which I am trying to avoid.

Thanks.

0 Likes
1 Solution
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hello,

SX3 is a fixed function part. For video related applications, SX3 can only be used to send video data from an image source/FPGA to host.
It cannot be used for generic purposes.
As you rightly told, FX3 can be used for these applications.

Best Regards,
AliAsgar

View solution in original post

0 Likes
3 Replies
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hello,

SX3 is a fixed function part. For video related applications, SX3 can only be used to send video data from an image source/FPGA to host.
It cannot be used for generic purposes.
As you rightly told, FX3 can be used for these applications.

Best Regards,
AliAsgar

0 Likes
AnMc_4628076
Level 1
Level 1
5 replies posted 5 questions asked 5 sign-ins

OK thanks for the details.  I had a question about the FX3 approach.

I had an original thread on this topic here, so if there's no more to add I understand but I wanted to confirm with some more questions.

https://community.cypress.com/t5/USB-Superspeed-Peripherals/FX3-Design-Consultants/m-p/193446?et=wat...

1. Does the below diagram look correct?

2. Any suggestions for the starting point of the DMA and USB blocks?  I am a bit confused about this part--does the GPIF II designer handle this for me or do I need to generate C code to do this myself?

3. As I understand it, the FX3 GPIF II has up to three counters, is that going to be enough for the DMA side and the GPIF II output side (RGB888 in this case).  I will consume a couple for the RGB888 part and it appears that I will need some more counter(s) for the two USB DMA threads?

4. This is my first FX3 design so it's a bit daunting as to where to start here, so any additional help/pointers would be greatly appreciated.

2021-06-10 16_49_08-FX#_ Lucidchart.png

 

 

 

0 Likes

Hello,

1. Yes, your diagram is correct.

2. Could you let us know which driver will the device bind to, on the host side. For starting point of DMA and USB blocks, C code needs to be generated. Kindly refer to any firmware in the FX3 SDK example projects.

3. Could you let us know the exact functionality required of the counters in your application?

Best Regards,
AliAsgar

0 Likes