Giver: SPI2CB - serial peripheral computer bus (2024-05-23 22:41:17)
SPI2CB - serial peripheral computer bus
SPI and I2C solves somewhat common problem on adding bus to facilitate common peripherals on low pin count. but SPI uses CS pin on every device and I2C speeds is quite low. on some ICs such as ATTiny85 there is only one common module (USI) that can work on both I2c and SPI. there are some other serial protocols in the wild that can be covered by this protocol. Notaly Famicom joystick, PS/2 keyboard and mouse and RGB led WS281x. all this can be connected to the limited pins of ATTIny13 or ch32v003.
Goals of this document: define the connection of bus master, bus clients. Define bus commands and propose schematics.
Proposed bus controller can be pcf8574 or pcf8575, for 8 or 16 SPI devices respectively, also PCF8574 can generate interrupt that can be transfered to controller
I2C and SPI can share common pins, i2c will ignore all the SPI traffic if there is no Start condition.
PIN0 MISO SDA
PIN1 MOSI
PIN2 CLK SCLK
PIN3or4 CS
PIN5 INTERRUPT
SPI2CB - serial peripheral computer bus
SPI and I2C solves somewhat common problem on adding bus to facilitate common peripherals on low pin count. but SPI uses CS pin on every device and I2C speeds is quite low. on some ICs such as ATTiny85 there is only one common module (USI) that can work on both I2c and SPI. there are some other serial protocols in the wild that can be covered by this protocol. Notaly Famicom joystick, PS/2 keyboard and mouse and RGB led WS281x. all this can be connected to the limited pins of ATTIny13 or ch32v003.
Goals of this document: define the connection of bus master, bus clients. Define bus commands and propose schematics.
Proposed bus controller can be pcf8574 or pcf8575, for 8 or 16 SPI devices respectively, also PCF8574 can generate interrupt that can be transfered to controller I2C and SPI can share common pins, i2c will ignore all the SPI traffic if there is no Start condition. PIN0 MISO SDA PIN1 MOSI PIN2 CLK SCLK PIN3or4 CS PIN5 INTERRUPT