Муфты электромонтажные от производителя Fucon

Видеокамера наблюдения с записью информации на SD/MMC карту памяти. Часть 2

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

Электромеханические реле Hongfa – надежность и качество 19 января 2023

Специфическим моментом данного проекта является то, что программное обеспечение микроконтроллера написано на Бейсике. Чаще всего для написания программ для микроконтроллеров используются Си-компиляторы и среда разработки с использованием GCC-AVR компилятора. Однако я выбрал BASCOM-AVR, причиной тому было несколько.

Среда разработки BASCOM-AVR от компании MCS electronics – устойчивый, популярный продукт с огромной пользовательской базой и синтаксисом похожим на Visual Basic. Имеется очень много примеров и основные инструменты, включая симулятор, программатор микроконтроллеров, терминал для последовательной передачи данных.

BASCOM значительно упрощает доступ к аппаратным возможностям микроконтроллера, что очень экономит время. Вам нужны часы реального времени? Только скажите компилятору и он сделает всю тяжелую работу по настройке прерываний и таймера за Вас. Нужен буферизированный ввод/вывод? Вам нужно будет указать лишь размер буфера и скорость передачи. Список возможностей большой, а для нашего проекта пригодится: поддержка инфракрасного дистанционного управления RC5, доступ к АЦП, таймеры и ШИМ.

В программном обеспечении для микроконтроллера одним из важных моментов – программный блок, организующий AVR-DOS файловую систему. Это библиотека для реализации протокола работы с картами памяти SD или MMC, CompactFlash и другими накопителями, подключенных к микроконтроллеру AVR, которая предоставляет программный интерфейс для доступа к накопителям имеющих файловую систему FAT16 или FAT32. Используя эту библиотеку в своей программе Вы сможете создавать и открывать файлы, производить запись и чтение данных, создание и изменение директорий посредством простых команд.
Просматривая on-line справочник, мое внимание привлекла библиотека AVR-DOS с примерами подключения SD/MMC карты памяти к 8-битному микроконтроллеру и в качестве примера программный код из 3-х строчек для микроконтроллера, реализующий запись текстового файла на носитель:

open “README.TXT” for output as #1
print #1, “HALLO FILE!”
close #1

Я не мог не проверить это. Взяв SD карту памяти из фотоаппарата, отладочную плату STK300 производства Atmel и паяльник, и несколько минут спустя, в приложении Блокнот (ОС Windows) успешно открывался файл созданный 8-битным микроконтроллером…

Также основной проблемой было недопущение переполнение диска при работе системы, но при заполнении диска необходимо организовать замену старых файлов новыми. В теории мы можем использовать функцию diskFree(), чтобы узнать объем свободного места на диске, затем найти самый старый файл и удалить его. На практике эти операции занимают слишком много времени, поэтому необходимо их избегать в максимально возможной степени. Более того размер файлов не постоянный и зависит от многих факторов.

Для начала были разработаны определенные правила:

  • Когда диск частично заполнен, достаточно время от времени проверять занимаемый объем. Фалы сохраняются без проблем;
  • При уменьшении свободного места на диске, немного чаще вызывается проверка и избирательно удаляются некоторое количество файлов. Поскольку удаление файлов отнимает драгоценные машинные циклы, эту операцию предпочтительнее проводить когда камера не активна (т.е. не проводится регистрация обстановки);
  • Если дисковое пространство достигает своих пределов – проверки выполняются очень часто и удаление старых файлов должно быть выполнено так или иначе, даже если процессор нуждается в ресурсах для записи, т.к. существует риск переполнения диска.

Основываясь на этих правилах был написан алгоритм, который вычисляет значения двух переменных deleteOnWrite и deleteWhenIdle, хранящие число файлов для удаления соответственно режимам работы регистратора. Алгоритм также вычисляет интервал между проверками, cleanupInterval, согласно вышеописанным правилам и таблице:

Осталось свободного места, МБайт

Количество файлов для удаления каждый  раз при записи нового файла

Количество файлов для удаления когда камера не активна

Временной интервал проверок объема диска

> 60

Нет

Нет

1 час

> 30

Нет

До 1000

½ часа

> 20

1

До 1000

½ часа

> 15

2

До 1000

¼ часа

> 10

3

До 1000

¼  часа

> 5

10

До 1000

5 минут

> 2

30

До 1000

5 минут

менее 2

100

До 1000

1 минута

Если Вам кажется что значение в 1000 снимков велико, полагайте что это лишь небольшой объем относительно емкости карты памяти.

Блок-схема на рисунке должна пролить свет на эвристический механизм.

Речевой синтезатор видеокамеры воспроизводит ряд звуковых файлов и таким образом строит определенные сообщения для пользователя. Вы можете самостоятельно подготовить звуковые файлы со своим голосом (примеры файлов будут предоставлены по окончанию статьи). Основные параметры, которые вам нужно знать для подготовки голосовых файлов для системы: динамический диапазон – 8 бит, частота дискретизации – 11.250 кГц. Можно использовать специальное ПО для редактирования звука и возможно потребуется применить динамическую компрессию, чтобы компенсировать потерю из-за 8-битного диапазона и нормализацию амплитуды. Каждый речевой сегмент сохраняется в файле (т.е. это получаются «сырые» числа, звук без сжатия).

Микроконтроллер, используя имена файлов, выбирает определенные файлы для воспроизведения, а ищет он их в специальной папке с названием «speech». Техника воспроизведения является следующей: выборки данных отправляются напрямую к ШИМ без буферизации. Как ни странно, но появляющиеся непредсказуемые задержки в ходе доступа к диску, добавляют приятный, более мягкий, подобный хору эффект.

В случае необходимости отладки устройства (например, в ходе адаптации своего пульта ДУ) предусмотрен отладочный порт (программная реализация UART). В порт выводится системная информация: объем диска, объем свободного места, размер JPEG файла, детали чтения/записи файла, коды принятых команд с пульта ДУ. Реализован низкоскоростной протокол bit-bang, т.е. Вы подключаете вывод микроконтроллера PC5 к контакту RX COM-порта компьютера с терминальной программой, без каких-либо интерфейсных преобразований.

Исходный код программы для микроконтроллера.

Голосовые образцы - в директории "speech" (англ.)

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

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: The Witness camera. Part 2

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Доброго времени суток народ! Прошу помощи в поисках места где можно купить данную камеру! Желательно в Москве!
  • На "горбушке" огромный выбор лодобных устройств, как российского, так и зарубежного производство. Может можете провести поиск "[COLOR="Blue"]видиорегистратор[/COLOR]". Как пример [url]http://www.planetasb.ru/catalog/videoregistratory/avto-videoregistrator.htm[/url]
  • вы не подскажете пожалуйста где бы взять печатную плату в лейауте ? и есть ли в принципе ?