FX2LP GPIF Flow State

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

cross mob
Peter_Iannucci
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hi,

 

We’ve got a realtime GPIF-based application, and we would really appreciate clarification on one point.

 

Does the flow state test the transaction counter?  Our waveform deliberately never enters the IDLE state, and yet it is stopping anyways when the TCB reaches zero.  How is this possible?


Thank you,

-Peter Iannucci

0 Likes
4 Replies
Peter_Iannucci
Level 1
Level 1
5 sign-ins First reply posted First question asked

(We use the Programmable Flag to trigger the firmware to write a counter into EP2BUF[0-1] after they’ve been filled, so EP2GPIFPFSTOP is 0.)

My current workaround is to periodically set GPIFTCB3 to 0xff.  I suppose I could alternatively turn off AUTOIN and have the firmware submit the buffers to EP2, but only if that can be done without stalling the GPIF for even a single IFCLK cycle.

Thank you for considering my question!

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hello Peter,

A flow state can be considered to be an extra layer on top of the normal decision point of the gpif. If you are loading GPIFTCB3:0 with the desired number of transactions, the GPIF will check the transaction count each time when it is in the Idle state.

GPIF does allow you to save time and avoid going through the IDLE state by using the ‘Transaction Count Expired’ (TCxpire) signal.  This TCxpire replaces RDY5, if GPIFREADYCFG.5 = 1. For further information please refer to Section 10.4.3.2 on Page 150 in EZ USB TRM: https://www.cypress.com/file/126446/download 

Regards,

Mallika

 

0 Likes
Peter_Iannucci
Level 1
Level 1
5 sign-ins First reply posted First question asked

Dear Mallika,

 

Thank you for taking the time to respond.  However, it does not seem to me that you have addressed my question yet.

1. Our state machine does not ever enter Idle.  Not through delay states, not through decision states.

2. Our state machine nevertheless stops when TCB reaches zero.

I have gone over and over the TRM.  Why can a waveform stop without an abort or going to state 7?  I don’t want it to stop.

Thank you!

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

>> Please provide a diagram of your gpif state machine or your gpif file.

>> How are you determining that the gpif is not going to IDLE state?

Regards,

Mallika

0 Likes