Committing a Short Packet in FX2LP - KBA223293

Version 2

    Version: **

     

    Translation - Japanese: FX2LPでの短いパケットのコミット - KBA223293 - Community Translated (JA)

     

    Question:

    How can a short packet from FX2LP be committed to the host in Slave FIFO Auto and Manual modes?

     

    Answer:

    When FX2LP receives data from the external interface, there may be situations where the data sent by the external device is not an integral multiple of the maximum packet size of the FX2LP endpoint. In such cases, these short packets must be manually committed to the host. The implementation of this is different for AUTO and MANUAL modes.

    AUTO Mode:

     

    There are two ways to commit a short packet in AUTO mode:

     

    1. After data transfer is complete, the external device must assert the PKTEND pin.

    2. Switch FX2LP to MANUAL mode to commit the data and then switch back to AUTO mode. In MANUAL mode, data can be committed to the host by writing to the INPKTEND register without setting the SKIP bit.

     

    MANUAL Mode:

     

    There are two ways to commit a short packet in MANUAL mode:

     

    1. The EPxBCH:L registers can be loaded with the desired bytes of data to be committed to the host.

    2. Also, the INPKTEND register can be loaded without setting the SKIP bit to commit the data to the USB host.