@Dimitar

SBBO is a two-cycle instruction. In order to get 200 MHz you've to use MOV.

@Andrew

The MVIx family of instructions provides an auto-increment feature. But it 
doesn't really help.

Like Dimitar suggested it's best to code a sequence of immediate operations 
to store a burst of samples.

On PRU-1 lines 0 to 14 and 16 are wired to header pins (standard BB 2x46 
headers). By word access you'll get up to 15 input lines.

On PRU-0 lines 0 to 16 are wired (note: some of them are on the SD-card 
slot). By word access you'll get up to 16 input lines.

Let's say you sample 16 lines on PRU-0 writing to the register file by code 
like

MOV R0.w0, R31.w0
MOV R0.w2, R31.w0
MOV R1.w0, R31.w0
MOV R1.w2, R31.w0
...
MOV R29.w0, R31.w0
MOV R29.w2, R31.w0

Then you'll have to spend a cycle to save the register file

XOUT 10, R0, 120

Afterwards the initial code follows again.

In the meantime PRU-1 observes the program counter of PRU-0. When it 
reaches the XOUT instruction then PRU-1 resets the program counter of PRU-0 
(to a value of 1, 2, 3 -> test it out) and then graps the register file 
from the XFR interface and stores the samples in memory, before it again 
observes the PRU-0 program counter.

This solution will get you a burst of 16 lines/60 samples (or 8 lines/120 
samples) at 200 MHz. In continuous mode you'll have to deal with a one 
cycle gap for saving the register file.

Regards

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/c08a924d-7236-4091-a600-66f7aa94bef1o%40googlegroups.com.

Reply via email to