1
\$\begingroup\$

I have interfaced Xilinx 7 Series FPGA with TI processor- Sitara AM4376 over USB2.0.

I have implemented USB PHY through Cypress USB Controller IC - CY7C68014A (EZUSB-FX2LP). The attached file is the architecture I have implement for USB PHY between processor and FPGA. I can establish the data transfer from processor to FPGA from D+/D- to parallel data.

I am confused with how shall I send the data from FPGA to processor back, over USB when a respective request command is received by FPGA from processor. I have used processor in USB host mode and FPGA as a slave device mode.

Can some one help with this.

Thanks in advance.


(click to view in full size)

\$\endgroup\$
1
  • \$\begingroup\$ You're gonna have to be a bit more specific...the Cypress chip has a full 8051 processor inside; what is going on inside of that? \$\endgroup\$ Commented Aug 3, 2017 at 2:40

2 Answers 2

0
\$\begingroup\$

So you said you can transfer data from USB host to FPGA through CY7C68014A bridge. Therefore your host must be using packet transactions of OUT type.

To get the data in opposite direction, USB uses IN transaction. Host sends "IN" packet, and device sends the data back if ready, or NAK when data not ready.

But I am really curious how did you manage to construct OUT transactions if you don't know what the IN is for.

\$\endgroup\$
0
\$\begingroup\$

You transfer the data to the EzUSB, where it is buffered until the host picks it up. Since the host determines the time when the transfer is started, you cannot really avoid the buffer in this direction.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.