cancel
Showing results for 
Search instead for 
Did you mean: 

USB Low-Full-High Speed Peripherals

XiGS_1880821
New Contributor

Dear All,

   

    I refer to the design("AN61345 - Slave FIFO Interface using fpga"), and have been able to get the data, but this is not I want, the packet is too large; I hope to get a packet just 20 bytes, after to send 20 bytes data the fpga will output(PA6) a end packet signal to 68013, but I have modified the 68013 code, always can't succeed, so hope to get your help, thank you!

   

GS Xie

0 Likes
1 Solution
Hemanth
Moderator
Moderator

Hi Xie,

   

1. In Auto mode when there is a short packet in the FIFO(<512 bytes) then on assertion of PKTEND, the short packet will be committed.

   

2. In manual mode you can know how many bytes are received in the FIFO and using that you can commit the received bytes to the Host. For manual mode please refer to the following KBA:

   

http://www.cypress.com/knowledge-base-article/epxfifobchl-registers-fx2lp-kba219002

   

In Auto mode you cannot commit from the controller.

   

Regards,

   

Hemanth

Hemanth

View solution in original post

0 Likes
4 Replies
Hemanth
Moderator
Moderator

Hi Xie,

   

Based on the description given above I think the FPGA is indicating the packet end after sending 20 bytes. So connect that signal ( I assume it is PA6 of FPGA) to PKTEND pin of FX2LP. By doing so, the short packet in the FIFO will be committed to USB.

   

And please refer to 9.2.5 section of FX2LP TRM which has the explanation for PKTEND.

   

Regards,

   

Hemanth   

Hemanth
0 Likes
XiGS_1880821
New Contributor

Hi Hemanth,

   

    Thank you very much for your reply!

   

    In my design, the FIFO work in automatic mode to manual mode is the best?

   

    in the automatic mode the PKTEND pin will end The packet and the short packet in the FIFO will be committed to USB?

   

    in the manual mode, know how many characters have been received? and applications can access the EP6 receives the data?

   

Regards,

   

Xie

0 Likes
Hemanth
Moderator
Moderator

Hi Xie,

   

1. In Auto mode when there is a short packet in the FIFO(<512 bytes) then on assertion of PKTEND, the short packet will be committed.

   

2. In manual mode you can know how many bytes are received in the FIFO and using that you can commit the received bytes to the Host. For manual mode please refer to the following KBA:

   

http://www.cypress.com/knowledge-base-article/epxfifobchl-registers-fx2lp-kba219002

   

In Auto mode you cannot commit from the controller.

   

Regards,

   

Hemanth

Hemanth

View solution in original post

0 Likes
XiGS_1880821
New Contributor

Hi Hemanth,

   

    Thank you very much for your reply!

   

    I have already solve this problem, thank you!

   

Regards,

   

Xie

0 Likes