We are using the Cheetah SPI Host Adapter to program ICs on our test bed. In many cases, two ICs are designated to receive exactly the same data. These ICs are the same SPI devices. To save time, instead of programming ICs one by one, we would like to program these devices simultaneously. The Cheetah adapter may be fast, but we would like to make this process run faster using one Cheetah adapter.
What do you recommend for our setup?
Response from Technical Support:Thanks for your question! The SPI protocol is designed to work with SCK, MOSI, MISO on the same bus as long as SS1# and SS2# are separate and asserted one at a time. The Cheetah adapter has multiple slave selects, which makes it easy to select which IC to program, and all ICs can receive the same instructions separately.
For your goal, programming two devices at the same time will require a change to the interface: connect the select signal of the devices to the same CS (chip select) line. As mentioned above, MOSI (master output slave input) pins of the two ICs are already connected on the same signal lines.
If the MISO (master input slave output) signal lines of the programmable devices are also connected to the Cheetah adapter, additional changes will be needed to protect the devices from short-circuits.
Two output signals on the same wire can result in collision: a short-circuit. Here are two instances that may cause a short-circuit:
To prevent this instance, we have two suggestions for the layout of the signal interface:
If the output signals are not needed, you can disconnect the MOSI lines.
If the output signals are needed, you can add a “filter”. Since both devices are the same model and design, and receive the same data, they should be returning the same values. With that in mind, the proposed option is adding a discrete XOR gate with the two MISO lines as inputs to the XOR gate. This way, the output of the XOR gate will be “low” when both output signals are the same, both logically high or low, and “high” if the logical signals are not the same.
We hope this answers your questions. Additional resources that you may find helpful include the following:
If you want more information, feel free to contact us with your questions, or request a demo that applies to your application.