strategy to handle the specific data size with PKTEND

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

cross mob
Anonymous
Not applicable
        Hi, In several cases, the FX3 does not recognize the data which are sent with PKTEND=Low & SLWR=Low or ZLP in SynchronousSlaveFIFO. With FIFO size 1024 x 16bytes, I try sending 1024 x N bytes(N is integer) data as a short packet, though, the FX3 does not receive whole data as well as sending 1024 x N bytes data with ZLP. It seems that the FX3 ignores the PKTEND with 1024bytes. In addition, the size of 1024 x 16 x N bytes can be received only with Zero Length Packet. It looks OK so far. Other data size exept for 1024 x Nbytes can be received as a short packet. Do you have any solution how to handle the data size 1024 x N bytes? Regards,   
0 Likes
5 Replies
Anonymous
Not applicable

I suggest generate a signal PKTEND time out of the package. The sense of how to assert the signal PKTEND, when the FIFO to transfer to the FX3 is EMPTY and current usb endpoint FIFO is NOT EMPTY, during a preset number of cycles the timer.

0 Likes
Anonymous
Not applicable

I suggest generate a signal PKTEND time out of the package. The sense of how to assert the signal PKTEND, when the FIFO to transfer to the FX3 is EMPTY and usb endpoint FIFO FX3 is NOT EMPTY, during a preset number of cycles the timer.

0 Likes
Anonymous
Not applicable
        Thanks for the advise, DiMonstr. You mean that it is better to assert PKTEND with some delay? My understand is that the PKTEND should be asserted with the end of data, and the data size I want to send is just 1024bytes or multiples of 1024bytes. But the data size sent as a short packet are not received by FX3 at any time. Only the data size corresponding to the size of FIFO defined in the FX3 (size is 1024 x 16bytes) can be received with ZLP by FX3.   
0 Likes
Anonymous
Not applicable

Yes, sure. I implemented for controller FX2. For it there is no limit as to assert the signal PKTEND relative to SLWR. I can not really assert whether or not work that way FX3. The documentation is written in the FX3, the signal PKTEND must be set in sync with the SLWR and the last word of data. Do you both work? I do not have board DVK CYUSB3KIT-001, can not test:( Soon to coming ...

0 Likes
Anonymous
Not applicable
        Regarding to FX2, your are right. Actually, the behavior between FX2 and FX3 seems different. FX3 works collectly in most cases following the data sheet. But with the specific data size ( at this time, data size is multiples of 1024 bytes ), that does not work even though the relationship of PKTEND to SLWR is exactlly following the data sheet.   
0 Likes