Migrating from FX2LP to FX3

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

cross mob
Anonymous
Not applicable

We are migrating from FX2LP to FX3. I have following questions related to this project:

1. We used IBN (Interrupt Bulk NAK) in FX2LP. Do we have this interrupt in FX3?

2. We are using an Aptina Sensor with your FX3 dev kit. But we are having issues running the Bulk mode example on Linux. We are using a small board computer like raspberry pi. We would like to test the isochronous mode with the Aptina Sensor. Do you guys have example that shows interfacing Aptina Sensor with the dev kit in isochronous mode?

Regards,

Abhishek Madaan

0 Likes
1 Solution

Hi,

We understand that your requirement is to know when the Host send Bulk IN request to FX3.

- Is your application a Vendor application or UVC application?

If it is a Vendor application then can you please try the following method:

a. Before you send Bulk IN request to the Host, send a vendor command to FX3 indicating that Bulk IN requests are going to start.

b. When FX3 receives the vendor command, then you can do what ever necessary to make sure that data is available on next Bulk IN request.

Let us know if it is possible to try it out.

View solution in original post

0 Likes
9 Replies
alamandaa_16
Moderator
Moderator
Moderator
10 likes received First like received

Hi,

FX3 not support IBN(Interrupt Bulk NAK) interrupt.

We have example related to the constant MJPEG video data that is repeatedly streamed to the USB host.

Please refer the UVC example provided with the SDK in this path:"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\uvc_examples\cyfxuvcinmem"

Regards,

Anil Srinivas

0 Likes
Anonymous
Not applicable

Anil,

How firmware knows if the host is requesting for the data and firmware has not data to send? Is there any other event to do this?

For example, host can send Bulk IN request, how firmware knows in FX3 that host has sent this request? In FX2LP, you could do this with IBN.

0 Likes

FX3 does not have interrupt mechanism as FX2LP.

When the Endpoint receives the IN request, it will send the data, if available. Else it sends NRDY or STALL, if there is no data.

Please refer the following thread:

https://community.cypress.com/message/162540#162540

0 Likes
Anonymous
Not applicable

Aani,

When the Endpoint receives the IN request, I need to perform certain tasks before I can start sending data to the host. This is why I need to know when host initiated the Bulk IN request. Is there any way to find out about the Bulk IN request from the host in FX3 firmware?

Regards,

Abhishek Madaan

2105 West Cardinal Drive

Beaumont, TX 77705

0 Likes

There is no provision to know that there is IN request from the host. This is handled in the hardware and internal SDK.

Can you please specify the tasks that you need to perform after receiving the IN data request from host?

Since FX3 comes with DMA, we have a provision to modify the data that should send to the host over IN request.

I hope that this would help you.

Please check the Manul DMA mode example: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\dma_examples\cyfxbulklpmanual

0 Likes
Anonymous
Not applicable

Aani,

We are migrating from FX2 to FX3. We are trying to replicate what we are FX2 in FX3. In FX2, when the host sends the Bulk IN request, firmware finds out through the interrupt. On that interrupt, I start the GPIF state machine and get a frame from the camera and send it to the host.

If your internal SDK knows, why it is not exposed to the application SDK? Is DMA knows if host is asking for the data?

Regards,

Abhishek Madaan

2105 West Cardinal Drive

Beaumont, TX 77705

0 Likes
Anonymous
Not applicable

Aani,

Any update on my last response? Is there any way to setup a phone call so that I can discuss this issue more in detail?

0 Likes

Hi,

We understand that your requirement is to know when the Host send Bulk IN request to FX3.

- Is your application a Vendor application or UVC application?

If it is a Vendor application then can you please try the following method:

a. Before you send Bulk IN request to the Host, send a vendor command to FX3 indicating that Bulk IN requests are going to start.

b. When FX3 receives the vendor command, then you can do what ever necessary to make sure that data is available on next Bulk IN request.

Let us know if it is possible to try it out.

0 Likes
Anonymous
Not applicable

Aani,

I know about the Vendor commands. I think it is a step back for not exposing the Bulk request to the firmware SDK.

0 Likes