Platform forum

Programming SPI Flash that has more than one device connected to it

Firasgany7 , 01-03-2021, 05:56 AM
I'm designing a PCB that converts from PCIE to USB. In my design, I'm including an SPI female header where I can connect it to Dediprog through male connector where I can flash the FW of the VIA LABS vl805:

I want to know how I can connect to the SPI flash pins (SPISI, SPISO, SPICS#, SPICK) also to the Host controller and also to the SPI Header and to guarantee there is no clashes between the two. is the current connection is right?
Steve.Picotest , 01-03-2021, 01:06 PM
This link is from an arduino tutorial and shows multiple device connections

In this article, we will show how to connect multiple SPI devices to an Arduino microcontrollerso that we can use the microcontroller and communicate via SPI to control these SPI devices.
Firasgany7, 01-04-2021, 01:41 AM
Thanks Steve!
robertferanec , 01-04-2021, 01:37 AM
@Firasgany7 you would need individual Chipselect for each SPI device. This means, master will only talk to the device which is selected (active), other devices will not react to what is happening on the SPI bus. Also, be sure CLOCK is distributed correctly (e.g. if you are planning to have more masters, then the things may be a little bit more complicated).

PS: Be careful, be sure you use devices which if they are not active (selected) will have Outputs in HiZ. Some SPI devices do not work this way and they will push HIGH even they are not selected and should not be active. You would need to double check this in datasheet or it may need to be set correctly in registers or in software.
saurabh3129 , 09-13-2021, 05:20 AM
@Firasgany7 i am Saurabh Kumar hardware design engineer, Mumbai. i have to discuss some feature usb hub controller please reply with your email id.
i want to design usb 3.1 or usb 3.2 base hub controller can you suggest the chip ic no.
Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?