ArduCAM OV2640 и модуль карты microSD — проблемы SPI
Итак, я пытаюсь использовать ArduCAM OV2640 (2MP Mini) для съёмки таймлапса. Конечно, первым делом мне нужно настроить камеру на запись снимка и запись на SD-карту. Дело в том, что сама по себе камера работает отлично, но когда я подключаю SD-карту, что-то происходит, и SPI перестаёт работать (я в общих чертах понимаю, как работает SPI, но не настолько, чтобы быть слишком уж техническим специалистом).
Итак, мой главный вопрос заключается в следующем: может ли устройство, использующее SPI, «использовать» всю шину SPI, чтобы другие периферийные устройства не могли взаимодействовать с микроконтроллером?
И если да, есть ли какое-нибудь программное обеспечение или способ визуализировать это? Например, что-то, что отслеживает шину SPI?
И как на самом деле решить эту проблему? Будет ли практично использовать шилд со встроенным модулем SD-карты? Или использовать логический вентиль для определения, какому устройству разрешить доступ?
Я действительно не очень хорошо в этом разбираюсь, поэтому буду признателен за любую помощь.
РЕДАКТИРОВАТЬ:
Я использую этот модуль камеры с этим модулем SD-карты. Что касается подключения камеры, то оно выглядит следующим образом: 
Общие контакты модуля SD-карты и камеры: VCC, GND, MISO (контакт 12), MOSI (контакт 11) и SCK (контакт 13). У меня для каждого контакта предусмотрен отдельный контакт CS.
1 ответ
Лучший ответ:
В данном случае я не думаю, что устройство «использует SPI, чтобы „занять“ всю шину SPI, не давая другим периферийным устройствам взаимодействовать с микроконтроллером». Думаю, проблема, вероятно, связана со способом подключения SD-карты к шине SPI.
Проблема в том, что многие устройства последовательного периферийного интерфейса (SPI), особенно дешевые, неправильно переводят вывод MISO в состояние высокого импеданса, когда вывод SS подтянут к высокому уровню.
У меня была почти такая же ситуация в одном из моих проектов. В конце концов, я решил её, разместив трёхстабильный буфер на линии MISO для каждого из устройств SPI.
В этом случае я использовал 74HC125 (4-канальный трёхстабильный буфер).
Эта страница на сайте «Лучшая разработка шины SPI за 3 шага» наконец-то помогла мне найти правильный путь. Думаю, объяснения достаточно понятны (по крайней мере, по сравнению со многими другими сайтами, которые я нашёл!).
- Отобразить изображение с SD-карты на ЖК-дисплей ILI9486
- SPI между ведущим arduino и ведомым arduino
- Как использовать SPI на Arduino?
- Как увеличить скорость записи на SD-карту в Ардуино
- SD-карта не инициализируется
- Что означают эти контакты? Куда мне их подключить?
- OVF в последовательном мониторе вместо данных
- Как отправить строку с подчиненного устройства Arduino с помощью SPI?