Переключение между устройствами SPI, когда одно из них является SD-картой

Я использую USB-сканер штрих-кода, подключенный через USB-экран. Я могу получить показания штрих-кода с помощью этого например, после получения этих показаний я хотел бы сохранить их на SD-карту, но SD-карта не инициализируется, так как штрих-код также использует SPI. Как я могу деактивировать ICSP, чтобы активировать SD-карту ? Или как переключаться между несколькими ведомыми устройствами SPI?

, 👍0

Обсуждение

@LookAlterno Если кто-то может ответить, как преобразовать буфер в три состояния или использовать мультиплексор, чтобы обойти проблему SD, это может быть полезным дополнением, а не полным дубликатом., @Michel Keijzers


2 ответа


1

при использовании SPI на каждом устройстве есть неявный контакт выбора подчиненного устройства, который должен быть переведен в низкий уровень, чтобы включить устройство.

Подключите каждый контакт выбора ведомого устройства SPI к их собственному неиспользуемому цифровому контакту на вашей Arduino и держите его на высоком уровне, пока вы не захотите поговорить с ведомым устройством.

Однако не все устройства SPI должным образом переводят вывод MISO в высокое сопротивление, когда SS подтянут к высокому уровню, поэтому вам может потребоваться использовать буфер с тремя состояниями на этом выводе или использовать мультиплексор.

При добавлении собственного буфера с тремя состояниями (например, HS125) вам необходимо подключить каждый вывод MISO устройства SPI к входу буфера, затем выбор подчиненного устройства подключается к выходному выводу разрешения выхода с тремя состояниями. Выходы буферов можно соединить вместе с выводами MISO устройств, которые должным образом подключаются к MISO ведущего устройства с высоким импедансом.

При использовании мультиплексоров есть 2 варианта:

  1. Вы можете последовательно подключить мультиплексоры 2:1, подключив MISO устройства к 0-входу мультиплексора, а ведомый выбор к входному контакту выбора мультиплексора.

  2. вы можете использовать мультиплексор >2, чтобы выбрать правильную линию MISO на основе адреса набора S-линий. Затем с помощью декодера вы можете передать фактический сигнал SS на устройство SPI. Таким образом, вам нужно всего 2 контакта SS для 4 устройств SPI.

,

SD-карты, как известно, плохо взаимодействуют с другими устройствами на одной шине. Особенно с некоторыми адаптерами с плохими схемами переключения логических уровней., @Majenko

Я могу это подтвердить... У меня было так много проблем при совместном использовании (дешевой) карты SD Break и (SPI) SRAM, что в конце концов я купил отдельную карту регистрации SD. Но мне интересно, как реализовать этот «буфер» или какой мультиплексор (и как его использовать)… Можете ли вы объяснить это немного, пожалуйста?, @Michel Keijzers


0

См. приведенную ниже схему для наглядного пояснения того, что объясняется в этой теме в отношении буфера с тремя состояниями. Я успешно использовал эту схему на печатной плате. Я получил эту схему от: © 2017 Вишну М Айеа. www.vishnumaiea.in

,