octopus - class! - you might have just named the open source hat - octospi?
I would like to have 8 SM state machines (3x4 in the RP2350 afaik with 32 instruction limit) - each shifting in one of the MISO inputs - so I don't have to unscramble things later - think someone mentioned that in the other post.
Data will be going out on the common MOSI pin - along with the clock - on its OWN SM
I also want to move the data over DMA - I would be happy with ~5Mhz performance
Syncing - so good question - do the 8 SM's watch the clock GPIO pin or wait on an interrupt from the MOSI SM? I have to keep the number of instructions low and not run out of DMA channels as well - could stagger the the RX byte->DMA on purpose with NOPS and have it use the same DMA channel for all 8 ports - better to reorder bytes than have to unscramble the bits later.
new to this PIO stuff - but cut my teeth with Z80/80C51/6809/PIC16C assembly back in the day
Would be nice if there was a PIO simulator!
I would like to have 8 SM state machines (3x4 in the RP2350 afaik with 32 instruction limit) - each shifting in one of the MISO inputs - so I don't have to unscramble things later - think someone mentioned that in the other post.
Data will be going out on the common MOSI pin - along with the clock - on its OWN SM
I also want to move the data over DMA - I would be happy with ~5Mhz performance
Syncing - so good question - do the 8 SM's watch the clock GPIO pin or wait on an interrupt from the MOSI SM? I have to keep the number of instructions low and not run out of DMA channels as well - could stagger the the RX byte->DMA on purpose with NOPS and have it use the same DMA channel for all 8 ports - better to reorder bytes than have to unscramble the bits later.
new to this PIO stuff - but cut my teeth with Z80/80C51/6809/PIC16C assembly back in the day
Would be nice if there was a PIO simulator!
Statistics: Posted by Spam_4_tea — Fri Dec 05, 2025 12:28 pm