FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Author Topic: FT602 protocol on DATA bus  (Read 12078 times)

VP

  • Newbie
  • *
  • Posts: 3
    • View Profile
FT602 protocol on DATA bus
« on: March 23, 2020, 11:22:57 AM »

Hello!
I'm trying to make use of USB UVC class using FT602 device. Can anyone kindly tell me what protocol should be implemented on DATA bus to make it start sending something? The only information I found is I should send twelve bytes of header 0x0000_820C, 0xBABE_FACE, 0xBABE_FACE and then start my own information. So, I'm sending simple UVC payload header: 0x02 (HLE), {0x41, 0/1} (BFH) and then information in YUY2 format. I'm using FT245 mode and USB 2.0 - datasheet explicitly tells me this modes is supported.
I'm using Free Device Monitoring Studio by HHD to check packets. I know that there I should be able to capture URB FUNCTION ISOCH TRANSFER's with my information, starting with UVC payload header, but no such transfer with FT602 seen at all. My oscilloscope shows, that FT602 device start taking data on DATA bus when I start capturing with VLC or other video streaming programs.
I've tried to precede 0x0000_820C, 0xBABE_FACE, 0xBABE_FACE with 0x55 termination byte - no luck, still no isochronous transfers at all.
Where can I get some more information on what should be implemented on DATA bus of FT602 device? Thanks in advance!
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: FT602 protocol on DATA bus
« Reply #1 on: March 23, 2020, 04:17:02 PM »

Hello,

The FT602 is designed to transfer uncompressed YUV422 video data. All of our FT602 resources including software examples can be found on the product page:
https://www.ftdichip.com/Products/ICs/FT602.html

Best Regards,
BRT Community
Logged

VP

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: FT602 protocol on DATA bus
« Reply #2 on: March 23, 2020, 04:39:31 PM »

There is no documents, that describes protocol on DATA bus! Should I put there just YUV422 video data - for example, 0xEB80EB80 for white pixel, or there should be some header?
I found out, that information I send to DATA bus after 0x0000_820C, 0xBABE_FACE, 0xBABE_FACE words in fact appears in Bulk transfer, along with those starting 0x0000_820C, 0xBABE_FACE, 0xBABE_FACE words. How to get rid of it?
Again, should there be UVC payload header or not? If so - how software (VLC, for example) will understand where begins UVC payload header, if before of it those 0x0000_820C, 0xBABE_FACE, 0xBABE_FACE words?
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: FT602 protocol on DATA bus
« Reply #3 on: March 25, 2020, 04:05:30 PM »

Hello,

Please see the following application note which covers UVC master bus data transfer to an FT602:
https://www.ftdichip.com/Support/Documents/AppNotes/AN_434_FT602_UVC_Bus_Master_Sample.pdf

Best Regards,
FTDI Community
Logged

VP

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: FT602 protocol on DATA bus
« Reply #4 on: March 25, 2020, 04:57:37 PM »

Okay, after two weeks of studying all this stuff, I found out all the limitations. Maybe someone will find it useful.

Twelve bytes of header 0x0000_820C, 0xBABE_FACE, 0xBABE_FACE actually are UVC Payload header. First word also could (and should) be 0x0000_820C or 0x0000_830C - with FID bit in Bit field header toggling each new frame. As PTS and SCR bits are cleared, and header length is 12 bytes, bytes that left (00 00 CE FA BE BA CE FA BE BA) are just some non-standard metadata, that will be ignored by standard video streaming applications.

Size of frame after that header is also super important. It should be 38400 of 32-bit YUY2 data words for 320x240; 153600 for 640x480 and so on. Calculation assumes that each YUY2 32-bit data word contains two pixels, so (320/2)*240 = 38400.

Before start of each frame user should send 0x0000_0055 in 32-bit DATA bus with 0x1 on 4-bit BE bus.

Main limitation I found: if frame size exceeds 2 megabytes (2097152 bytes) - FTDI driver will not even try to get any data from FT602. So, I can get 1941x1080 resolution frame (1.98 megabytes), but not 1942x1080 resolution frame (2.000198 megabytes). That is definetely limitation in FTDI driver, cause USB2.0 maximum transfer rate is not met.
« Last Edit: March 25, 2020, 04:59:34 PM by VP »
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: FT602 protocol on DATA bus
« Reply #5 on: March 26, 2020, 11:45:15 AM »

Hello,

Thanks for you insight, I will pass this on to the development team for their consideration.

Best Regards,
BRT Community
Logged