Hacker News new | ask | show | jobs
by varispeed 1886 days ago
Many MCUs also don't handle SPI well (via DMA) or have bugs in peripherals. So the only viable way is bit banging and that is difficult to make faster than I2C. I am considering implementing SPI on FPGA to connect with devices and then transmit to/from MCU using "SPI" dialect that works with that MCU.
2 comments

What kind of issues have you found with SPI peripherals? I've rarely found issues with SPI, certainly it's a peripheral which is far less buggy on average than I2C, where there are some absolutely awful implementations.
Agreed. I’ve seen plenty of I2C devices with problems. I’ve seen very few SPI devices with problems.
I've seen much more buggy I2C peripherals than SPI (ST, I'm looking at you).

SPI is usually very stable. Here it's being used to generate VGA signals: https://www.artekit.eu/vga-output-using-a-36-pin-stm32/