Ви маєте рацію, що RaspberryPi надає лише два мікросхеми на шині SPI (див. Тут ). І я припускаю, що драйвери SPI та програмні рішення покладаються на цей факт (хоча відповідь Джоана говорить про те, що різні бібліотеки обробляють це по-різному, і офіційний драйвер дозволить в майбутньому використовувати довільні штифти GPIO як вибір мікросхеми).
Однак ви повинні пам’ятати, що вибір чіпа - це не що інше, як виділений цифровий вихід Pi. Тому ви завжди можете мати більшу кількість чіпів, якщо ви використовуєте штифти GPIO. У такому випадку, однак, ваше програмне забезпечення несе відповідальність за встановлення відповідних штифтів для адреси потрібного ведомого SPI.
Оскільки вся ідея вибору мікросхеми полягає у взаємному виборі лише одного єдиного підлеглого, ви також можете використовувати просту цифрову схему, щоб зменшити кількість "витрачених" GPIO-штифтів (якщо вони потрібні і для інших цілей). Щось подібне до 74HC / HCT138, 3-до 8-лінійний декодер / демультиплексор може бути використаний для адреси 8 рабів за допомогою 8-вибіркових мікросхем із трьома штифтами GPIO.
Варто пам’ятати, що автобусні лінії SCLK і MOSI діляться між усіма рабами. Отже, підключаючи кілька рабів до Pi, переконайтесь, що вентилятор Pi не перевищується навантаженням (опір і ємність вхідних штифтів рабів) - хоча це сьогодні менше проблеми з низькою ємністю і висока стійкість цифрових входів.