Multiple SPI Slave Devices on VIM3

Ive got a new project in the works as I thought it was high time I made use of the NPU in one of my VIM3’s…

But to get this new project working i need to be able to control two SPI slaves from the VIM3 - is it possible to get two slave select / chip select lines on SPI_B? Looking at the A311D datasheet / VIM3 schematic SPIB_SS0 is on Pin15 of the GPIO header, is it possible to assign one of the other GPIO pins to use as a second chip select line? The hardware bit is easy I can just wire the pin up :slight_smile: but how can i make linux work with it?

I cant use SPI_A as (again looking thru the A311D datasheet / VIM3 schematic) then some of these pins are used for the wifi chip.

Was hoping to be able to drive both SPI devices from the VIM3 without having to put in any additional chips for translation

2 Likes


@birty CS is the control signal whether the slave chip is selected by the main chip, that is, only when the chip selection signal is a predetermined enabling signal (high potential or low potential), the operation of the master chip can be effective. This makes it possible to connect multiple SPI devices on the same bus.
It doesn’t matter which GPIO port you use as CS control, any GPIO port can be used.
When you control the second SPI device, disable the CS signal of the other SPI device.

3 Likes

Excellent - thanks - have used spare GPIO lines, was just confused as there was a dedicated line for SPIB in the A311D datasheet which confused me. Just wanted to be sure, so thank you for your answer

1 Like