16bit to 32bit GPIF transition

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

cross mob
Anonymous
Not applicable

Hello,

   

  I am seeing a weird issue when I go from a 16bit configuration to a 32bit GPIF. The first DMA operation the 32bit GPIF state machine performs only uses the lower 16bits. So the first 1024byte DMA operation of the 32bit configuration takes 512 clock cycles instead of taking 1024bytes / (32bits) = 256clock cycles. I have called IoMatrix() and my GPIF state machine I got from the GPIF designer properly sets the bus size for both GPIFs models.

   

  Any ideas or suggestions?

   

 

   

Thank you

0 Likes
4 Replies
Anonymous
Not applicable

 I should add that this only happens to the first 32bit GPIF state machine DMA transfer. The second transfer uses all 32bit, and a 1024byte transfer only takes 256 clock cycles as it should.

0 Likes
ManaskantD_51
Employee
Employee
Welcome! 25 solutions authored 10 solutions authored
0 Likes
Anonymous
Not applicable

 Hello,

   
    
      Please try the following:    
    
          
    
      attach the following code snippet before calling GpifLoad() for loading 32 bit configuration..    
   
   
    
            
        CyU3PPIBDeInit()      
      
        CYU3PPIBInit()
GpifLoad() //For 32-bit config
      
      
              
      
       Regards,      
      
       Gayathri      
    
   
0 Likes
Anonymous
Not applicable

Is this procedure required for transitioning between 16-bit and 32-bit GPIF modes? Is this a bug or expected behavior? Is it documented somewhere? If this procedure is NOT followed, what happens?

0 Likes