QSPI Slave mode? PSSI in 2bit-packing mode? There must be a way...
I have an application which requires me to send unidirectional high-speed parallel data on preferably 2 (or 4) from several synchronous sources to an STM32. I'm thinking of using the U575, but that's not set in stone.
My requirements do not seem to fit any of the canned peripherals, thought several come so very close:
1. I'd like to use as few pins as possible (so using 8bit PSSI is out, and this would waste a lot of SRAM if DMA us used to store 2 bits per 8 bits of memory)
2. The clock is generated externally to the STM32 (AFAICT, this rules out OctoSPI in dual mode, since it is designed to be a master, and seems tailored to memory access)
3. I'd like the design to be minimal/simple (which means I'd like to avoid using one SPI periph per lane, and sharing the clock. Though this currently looks like the only workable way).
4. The clock is somewhere above 10Mhz, so using GPIO and EXTI seems unlikely to work.
5. There is limited processing done on the data. It's more of a capture/analyze type of scenario.
Ideally, I would like to be able to use something like 2 PSSI pins only (its handshake signals are a bonus), and have the "fantasy" feature of a configurable way to pack the incoming bits memory, with DMA.
Alternatively, I'd be happy with QSPI in dual mode (since it also has FIFOs, the missing handshake signals aren't a deal-breaker, and even without packing flexibility, I can always unpack during data processing), if only it would accept an external clock.
Is there any way to do this with existing peripherals?
Your help and advice much appreciated,
