[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[usb] Cannot send a zero size packet in IN transaction in USB2.0 core.



Dear Professor Rudolf Usselmann:

     After testing your usb2.0 core carefully, I found
that your core cannot send a zero size packet in IN transaction.

In the usbf_idma.v line 299:

if(!rst)		sizd_c <= #1 14'h3fff;
else
if(tx_dma_en | tx_dma_en_r)	sizd_c <= #1 size;
else
if(siz_dec)	sizd_c <= #1 sizd_c - 14'h1;

    If size is zero, after -1 operation, the sizd_c will become
14'b11111111111111. So it is impossible to send a zero
packet in  IN transaction. But sending a zero packet
is necessary in handshake protocal.

    In addtion, could you please tell me how to send a NAK
handshake when I find that a unsupported interface or
configuration setup from the host computer.
   Please give a help! Since I am a newer in design.
It take me much time.
   Looking forward to your reply.

best regards
Ni Haiqiao
--
To unsubscribe from usb mailing list please visit http://www.opencores.org/mailinglists.shtml