К содержимому
  1. Главная
  2. Документация
  3. Камеры для Arduino и MCU
  4. Вопросы и ответы по SPI-камерам Arducam

Вопросы и ответы по SPI-камерам Arducam

Документация Arducam · перевод arducam-russia.ru

Чтобы проблемы при работе с SPI-камерами Arducam решались быстрее, ниже собраны типичные ошибки, с которыми сталкиваются пользователи.

1. После обновления версии камеры первый байт данных изображения ошибочный, и изображение не получается

При переходе с Arducam Mini 2MP и 5MP на Arducam Mini 2MP Plus и 5MP Plus тайминг чтения данных немного изменился, как показано на рисунке ниже.

Тайминг чтения данных Arducam Mini 2MP / 5MP
Тайминг Arducam Mini 2MP / 5MP

У SPI-камер старой версии 2MP/5MP первый байт — фиктивные недействительные данные. Поэтому при чтении изображения код должен отбросить первый байт — тогда данные будут корректными. Пример кода для платформы Arduino UNO:

Пример кода для Arducam Mini 2MP / 5MP
Пример кода для Arducam Mini 2MP / 5MP (платформа UNO)

Для 2MP Plus и 5MP Plus отбрасывать первый байт не нужно. Пример кода:

Пример кода для Arducam Mini 2MP Plus / 5MP Plus
Пример кода для Arducam Mini 2MP Plus / 5MP Plus

2. Ошибка SPI на некоторых платформах ARM

Для камер новой версии (Arducam 2MP Plus и 5MP Plus) добавьте в код сброс CPLD. Пример кода:

3. Ошибки из-за неточного соблюдения таймингов на разных платформах

  • Тестовый код Arducam написан для платформы Arduino UNO, а у многих пользователей на других платформах, например ARM, возникают ошибки. Поэтому нужно чётко соблюдать тайминги шин I2C и SPI.
  • Требования к операциям I2C — на примере сенсора OV5640.
Временная диаграмма чтения по I2C
Чтение регистра 0 × 300a (рекомендуемая частота тактового сигнала — 100–400 кГц)
  • Требования к операциям SPI. Режим SPI 0 (CPOL = 0; CPHA = 0). Рекомендуемая частота SCLK — 4 МГц; 2MP Plus и новая 5MP Plus поддерживают SCLK 8 МГц.
  • Команда записи: regBit[7] = 1;
  • Команда чтения: regBit[7] = 0;
  • Бывает, что данные начинаются с FFD8 и заканчиваются FFD9, но в середине есть ошибки. Скорее всего, провода SPI слишком длинные, а частота тактового сигнала слишком высокая, что и портит данные. Используйте как можно более короткие провода; если провода длинные, снизьте частоту SPI.
Временная диаграмма чтения и записи по SPI
Временная диаграмма чтения и записи по SPI

4. Не удаётся получить правильное изображение в Host_V2

Чтобы изображение было проще просматривать, Arducam выпустила программу Host_V2. При работе с ней учитывайте следующее:

  • Проверьте, что выбран правильный последовательный порт.
  • Проверьте, что скорость передачи (бод) совпадает с заданной в коде.
  • Иногда USB-порт компьютера выдаёт слишком малый ток, из-за чего данные изображения искажаются. В этом случае установите меньшую скорость передачи и используйте короткий кабель.
Окно программы Arducam Host_V2
Программа Arducam Host_V2

5. Ошибка SD-карты

  • В коде Arducam вывод SD CS определён как 9. Если вы используете не плату-адаптер Arducam, проверьте, что вывод SD CS в вашем оборудовании совпадает с выводом, заданным в коде.
  • Некоторые слоты SD-карт не поддерживают высокоимпедансное состояние. Из-за этого шина SPI остаётся занятой, и SPI-камера одновременно с картой не работает.

6. Сенсор не определяется из-за неверно выбранной аппаратной платформы

  • Библиотека Arducam поддерживает много аппаратных платформ, например Mini 2MP или Mini 5MP Plus. Перед компиляцией кода убедитесь, что в файле memorysaver.h выбрана правильная платформа.
  • На рисунке ниже — пример для Mini 2MP Plus.
Выбор аппаратной платформы в memorysaver.h
Настройка аппаратной платформы

7. Флаг завершения съёмки есть, а изображения нет

Иногда флаг завершения съёмки устанавливается, но изображение получить не удаётся. Причин может быть много. Обратите внимание на следующее:

  1. Проверьте, что оборудование подключено правильно и работает стабильно. Нестабильное оборудование вызывает ошибки в данных изображения, а если потерян заголовок изображения JPEG «FFD8» или окончание «FFD9», изображение не получится.
  2. Сначала проверьте модуль камеры на демонстрационных примерах Arducam. Есть примеры для платформ Arduino UNO и Arducam ESP8266.
  3. На некоторых платформах, например STM32, следите за частотой SPI. Новые камеры поддерживают частоту до 8 МГц, старые — до 4 МГц.

8. Как скачать программу Arducam Host?

  • Для macOS (ArduCAM_Host_V2.0_Mac.app): ArduCAM_Host_V2.0_Mac.app.zip
  • Для Linux (ArduCAM_Mini_V2.0_Linux_x86_64bit): ArduCAM_Mini_V2.0_Linux_x86_64bit.zip

Запросить цену

Укажите количество — пришлём коммерческое предложение.