I have a serial data coming at the rate of 75Mbps which I would like to sample using the PRU in bit shift mode. The only problem is that each data frame is well over 28-bits which is the maximum that that the PRUs shift register can hold.
I was wondering if there is any way to read this data using the PRU’s GPI modules?
With no so much information, it´s hardly difficult to know what like to make your application, but anyway I will try my best although I haven´t been working with this configuration in the PRUss . If you see the chapter 126.96.36.199.3. of the am335xPRUreferenceGuide, it shows that the information in the 28-bit shift is saved in the register PRUx_r31[0:27] and you can read this bits in each moment in a PRU program, the challenge should be only know when the register is full and read in that moment or in the moment that you like.
Thanks for the reply.
I could read the r31 register every 16 pulses. (There is a counter bit which goes high every 16 bit shifts). However, I’m not able to figure out what happens when the shift register is completely filled.
According to the reference guide: “The register fills in LSB order (from bit 0 to 27) and then overflows into a bit bucket.”
But I don’t understand what the bit bucket that is mentioned means.
normally, 'bit bucket' means that it is lost i.e. the shifted-out bit
is not recorded anywhere.
This is just based on the usage I am familiar with, not on any
specific knowledge of AM335x PRU.