Считыватель Rfid и экран SD-карты не работают вместе

Недавно я столкнулся с проблемой, которая не даёт мне покоя уже несколько дней. Я хочу сделать проект с использованием считывателя RFID и регистрировать данные на SD-карте с помощью Arduino Nano, но, судя по всему, что бы я ни делал, я не могу заставить их работать вместе по SPI. Они оба работают по отдельности, а SD-шилд работает параллельно со считывателем RFID, но RFID не работает параллельно с SD-шилдом.

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

Я заметил, что считыватель RFID работает нормально, когда я отсоединяю вывод MISO от SD shield. Я пробовал ставить диод между SD MISO и цифровым выводом 12, я пробовал добавлять подтягивающие резисторы на оба вывода SS, я пробовал добавлять резисторы на линии MISO, я пробовал подтягивать HIGH к SS, который я не использую, и LOW к тому, который я хочу активировать. Похоже, ничего не работает, и у меня закончились идеи. Последнее, что я попробую, это подключить модули к отдельным VCC, но я не верю, что это что-то изменит.

Надеюсь, кто-нибудь даст совет по моей проблеме.

Заранее спасибо

, 👍1


2 ответа


Лучший ответ:

0

SD-карты (или, точнее, их коммутационные платы) не склонны подчиняться правилам в отношении SPI. В частности, вывод MISO не устанавливается на высокий импеданс, когда не выбран выбор ведомого устройства.

Вы можете исправить это с помощью буфера с тремя состояниями, на который вы подаете линию miso SD-карты и который контролируется выбором подчиненного устройства. Выход из буфера идет на MISO Arduino.

,

0

Единственный способ заставить его работать — купить отдельную плату регистрации данных SD (в которой есть карта SD через SPI).

Когда я использовал SRAM (SPI) вместе с SD-картой (SPI), это никогда не работало. По крайней мере, на Arduino (Uno или Mega).

,