Инфракрасный регистратор движения на базе кристалла ATSAM3S фирмы Atmel
Введение
Инфракрасные детекторы движения существуют уже достаточно давно и широко используются в системах охраны и мониторинга различных объектов. Они преобразуют инфракрасный сигнал, излучаемый человеческим телом, в электрические сигналы, позволяя детектировать движение электроникой. В современных системах охраны и мониторинга при обнаружении движения дополнительно может производиться фиксация изображения, которое сохраняется в памяти устройства или передается на пульт охраны по предусмотренному каналу связи, чтобы оператор мог увидеть происходящие на объекте события.
Эти функциональные возможности определяют состав ключевых компонентов системы, которые в зависимости от конкретной реализации устройства могут отличаться лишь по своим техническим возможностям. Фирма Atmel предложила пример реализации такого изделия, построенного на базе микроконтроллера ATSAM3S (в качестве центрального процессора) с ядром Cortex-M3 и применила в нем широко используемые в таких задачах компоненты других производителей. Этот пример распространяется производителем в исходных кодах, включающих как программную, так и аппаратную реализацию устройства.
Почему ATSAM3S?
Микроконтроллеры серии ATSAM3S имеют важные особенности, которые предоставили возможность получить оптимальную конфигурацию устройства:
- Блок ввода/вывода поддерживает режим параллельного захвата данных на линиях ввода/вывода. Это позволяет:
- использовать недорогие КМОП-матрицы без преобразования интерфейсов;
- осуществить захват данных без участия процессорного ядра за счет передачи изображения под управлением периферийного контроллера DMA, который отправит данные непосредственно в память;
- снизить энергопотребление системы, обеспечив возможность перевода процессорного ядра в режим энергосбережения до получения требуемого количества кадров.
- Производительности микроконтроллера достаточно для выполнения алгоритмов сжатия изображения в формат JPEG, что крайне необходимо для оперативной передачи картинки по «узким» коммуникационным каналам либо хранения большого количества изображений на локальном носителе. Существуют камеры со встроенным сжатием изображения, но они обойдутся заметно дороже.
- В микроконтроллер интегрированы аналоговый компаратор и АЦП, необходимые для детектирования сигнала с пироэлектрического датчика. Имеются встроенные режимы энергосбережения, в том числе с сохранением состояний на линиях ввода/вывода даже в глубоких режимах «сна». Эти функции обеспечивают возможность реализации простого дизайна с минимальным количеством дополнительных компонентов.
В выполненном фирмой Atmel дизайне максимально используются возможности микроконтроллера и задействуются оптимальные для поставленной задачи внешние компоненты.
Структура устройства
На рис. 1 приведена блок-схема предложенного Atmel примера реализации инфракрасного детектора движения с фиксацией изображения. В ней красным выделены блоки, которые необходимы для отладки приложения и отображения результата.
На рис. 2 приведены фотографии макета, реализованного Atmel. В перспективе возможен его выпуск в качестве оценочного набора.
Рис. 2. Внешний вид лицевой и обратной сторон платы детектора:
1 — пироэлектрический сенсор с линзой Френеля; 2 — КМОП-камера; 3 — разъем для подключения беспроводных модулей RZ600; 4 — память PSRAM; 5 — разъем micro USB-AB; 6 — разъем для подключения эмулятора/программатора; 7 — «линия отреза» — линия, за пределами которой начинается область для демонстрации полученной картинки; компоненты за этой линией не нужны в серийном изделии
Питание
Схема питания устройства изображена на рис. 3. Регулятор напряжения MN6 обеспечивает регулируемое выходное напряжение, которое установлено на уровне 3 В. Следует отметить, что для обеспечения работы ядра и контроллера ввода/вывода микроконтроллера SAM3S достаточно напряжения 1,62 В, но 3 В в данном случае требуются для работы аналоговой подсистемы КМОП-камеры. Ток покоя регулятора напряжения составляет 55 мкА в активном режиме, а режим энерго-сбережения в схеме не задействован, поэтому в серийном изделии оправдан выбор другого регулятора напряжения. Элемент MN4 — это термически защищенный прецизионный стабилитрон, необходимый для защиты схемы от всплесков напряжения при различных переходных процессах в системе питания и подключения питания с неверной полярностью. MN5 — фильтр для подавления шумов и электромагнитных помех, приходящих со стороны внешнего источника питания. При реализации питания от батарей фильтр можно исключить. Джампер JP6 предусмотрен для измерения энергопотребления схемы.
Тактирование
На плате устройства использован кварцевый резонатор для высокочастотного генератора и часовой кварц для генератора часов реального времени микроконтроллера ATSAM3S (рис. 4). Первый необходим для обеспечения работы интерфейса USB, а второй — для точных отсчетов времени. Для тактирования процессорного ядра и периферии в качестве опорного источника тактовых сигналов используется встроенный RC-генератор c программируемой частотой 4, 8 или 12 МГц, в котором частота для комнатной температуры может быть выставлена точно, если задействовать калибровочные коэффициенты, записываемые в нестираемую область Flash-памяти при производстве кристаллов. Для тактирования часов реального времени может быть использован низкочастотный RC-генератор. Для запуска ядра и периферии на высоких частотах входная частота с встроенного высокочастотного RC- или кварцевого генератора преобразуется встроенным в кристалл блоком ФАПЧ.
Детектирование движения
В качестве первичного преобразователя инфракрасного сигнала использован сдвоенный пироприемник RE200B фирмы Nicera. Пироприемник снабжен линзой Френеля, формирующей чувствительные зоны для инфракрасного сигнала. Доступный в России аналог RE200B — преобразователь PIS209S тайваньской фирмы Sencera, которая работает на рынке первичных преобразователей с 1992 года и, помимо самих преобразователей, производит линзы Френеля.
Резистор R42 в схеме служит преобразователем тока в напряжение (рис. 5). Это напряжение усиливается 2-каскадным усилителем на 80 дБ. Размах выходного сигнала на выходе усилителя составляет 2900 мВ от пика до пика, измеренных при воздействии излучения «абсолютно черного тела» интенсивностью 420K мкВт/см2. Выходной сигнал в случае движения нарушителя находится в частотном диапазоне от 0,3 до 5 Гц.
Усилитель также осуществляет полосовую фильтрацию на компонентах R37/C45–R39/C50 и R31/C33–R34/C39 в частотном диапазоне сигнала с выхода пироприемника. Максимальное ослабление сигнала в полосе пропускания — –3 дБ, а в полосе заграждения — минимально –40 дБ. На рис. 6 приведены сигналы усилителя: зеленым обозначен сигнал на выходе первого каскада (OUT2), желтым — второго (OUT1). Здесь на отрезке «1» представлен сигнал, возникший при прохождении условного нарушителя в одну сторону, а сигнал на отрезке «2» — в обратную.
Сигнал с выхода усилителя поступает на вход AD0 аналого-цифрового преобразователя — линия PA17 контроллера. В ATSAM3S входы АЦП и аналогового компаратора мультиплексированы, то есть один и тот же вывод может быть использован и как входной сигнал аналогового компаратора. Такая особенность даст возможность осуществить первичное детектирование движения без участия АЦП и процессорного ядра, оценивающего результат преобразования. Это позволит заметно снизить энергопотреб-ление микроконтроллера, особенно при редких событиях.
На рис. 7 изображена схема мультиплексирования входных сигналов аналогового компаратора. Наличие мультиплексора на входе компаратора в данной задаче обеспечит возможность программного переключения отрицательного и положительного входов компаратора и позволит реализовать функцию оконного детектора, определяющего не только положительный, но и отрицательный «уход» входного сигнала.
Значения порогов детектирования задаются резистивным делителем на резисторах R60, R61 и R62. С приведенными номиналами резисторов верхний порог равен 1,7 В, а нижний порог — 1,3 В. Именно этим делителем и задается чувствительность детектора. Также существует возможность задания порога и программно: в ATSAM3S имеется ЦАП, который в дизайне не задействован. Его использование не лучшим образом скажется на энергопотреблении устройства, но придаст дополнительную гибкость конфигурации.
Описанная схема организации детектирования движения может быть немного упрощена: оценку уровня сигнала можно производить непрерывным аналого-цифровым преобразованием на АЦП, встроенном в контроллер ATSAM3S. В этом случае можно избавиться от второго усилительного каскада и задействовать усилитель, встроенный в ATSAM3S на входе АЦП. С коэффициентом усиления 4 входной сигнал с первого каскада (с коэффициентом усиления 60 дБ) в конечном итоге будет усилен на 72 дБ, что уже будет достаточно для получения надежного результата. Естественно, что при таком подходе заметно пострадает энергопотребление системы, так как для оценки полученных данных необходимо еще задействовать процессорное ядро. При этом придется писать дополнительный код, так как такой подход в проекте Atmel не реализован.
При упрощении усилителя лучше не избавляться от фильтра на выходе первого каскада, так как он дополнительно играет роль антиалайзингового фильтра на входе АЦП.
Получение изображения
Дизайн устройства выполнен с использованием КМОП-камеры OV7740 фирмы OmniVision. Эта камера имеет встроенные цепи оцифровки аналогового сигнала с матрицы и первичной обработки изображения. Она способна обеспечить захват изображения с разрешением 640×480 точек с частотой до 60 кадров/с, либо с разрешением 320×240 точек — до 120 кадров/с, а картинка на выходе может быть представлена в форматах RAW RGB или YUV.
На выходе камеры — цифровой параллельный интерфейс, а управление ею осуществляется по шине I2C. В качестве служебных сигналов имеются вход тактирующего импульса и выходы сигналов вертикальной и горизонтальной синхронизации и синхронизации пикселей (рис. 8).
Данные с параллельного интерфейса камеры подключены к линиям ввода/вывода ATSAM3S, при этом не используется интерфейс внешней памяти. Здесь применена встроенная функция параллельного захвата данных непосредственно блоком ввода/вывода. Данные помещаются во внешнюю память под управлением периферийного контроллера DMA без участия процессорного ядра.
Как видно на схеме (рис. 8), для камеры необходимо три различных напряжения питания: DVDD для цифровой подсистемы, DOVDD для блока ввода/вывода, AVDD для аналоговой подсистемы. Аналоговая подсистема и подсистема ввода/вывода питаются от напряжения 3 В, организованного цепями питания, описанными выше, но для предотвращения прохождения по цепям питания помех и паразитных сигналов добавлен LC-фильтр. Для цифровой подсистемы камеры необходимо напряжение питания 1,5 В, поэтому в цепь ее питания добавлен еще регулятор напряжения MN11.
Так как камера при идеальных условиях нужна достаточно редко, то для снижения энергопотребления предусмотрена возможность отключения питания этой системы: на входе предусмотрен ключ, управляемый выходом PC16 микроконтроллера. Запуск системы питания происходит за 0,4 мс, после чего через 1 мс камера готова принимать команды, и затем через дополнительные 5 мс она уже начинает работу в заданной конфигурации.
Камера в этом дизайне используется в режиме 8-битной передачи данных, а в качестве тактирующего сигнала служит сигнал со встроенного в ATSAM3S программируемого генератора тактовых сигналов (рис. 9).
Забегая немного вперед, отметим, что время доступа к внешней памяти, куда сохраняются данные с камеры, подключенной на интерфейс внешней памяти ATSAM3S с 16-битной шиной данных, составляет 55 нс, что ограничивает скорость передачи данных во внешнюю память в режиме чтения изображения в цветном 16-битном RAW-формате. При чтении изображения в 8-битном черно-белом формате, казалось бы, скорость можно удвоить, но здесь ограничение налагает уже сама камера, которая может работать на частоте тактирующего импульса от 6 до 27 МГц. Таким образом, на частоте системной шины (MCK), равной 64 МГц, и при целочисленном делителе этой частоты в программируемом генераторе тактовых сигналов кристалла ATSAM3S получаем, что при передаче цветной картинки допустим тактирующий сигнал частотой MCK/4 (16 МГц), а при передаче черно-белой картинки — MCK/3 (примерно 21 МГц).
Несмотря на эти ограничения, цветная картинка размером 320×240 точек может быть считана с камеры достаточно быстро — за 320×240×2×(1/16) = 9,6 мс.
Схема подключения камеры не имеет согласующих элементов, несмотря на высокую частоту сигналов, передаваемых между камерой и микроконтроллером в параллельном режиме. Здесь согласование линий осуществляется со стороны микроконтроллера за счет интегрированных в ATSAM3S согласующих резисторов: их номинал 36 Ом вместе с волновым сопротивлением выходных буферов ввода/вывода кристалла образует волновое сопротивление 50 Ом. Этот функционал решает две потенциальные проблемы: исключает паразитные пульсации по питанию при одновременном переключении сигналов на параллельной шине камеры и минимизирует «звон» в цепях тактирования.
Для хранения, последующей обработки и сжатия даже одной картинки размером 320×240 точек микроконтроллеру ATSAM3S уже потребуется внешняя память. В этом изделии к интерфейсу внешней памяти ATSAM3S подключена внешняя псевдостатическая память (PSRAM) объемом 512K 16-разрядных слов. Такая память применена ввиду ее малой стоимости в сравнении с обычной статической памятью, а с 16-разрядной организацией — по причине ее большей доступности для Atmel.
На схеме (рис. 10) видно, что в микросхеме используется только младший байт в каждой ячейке памяти. Эта проблема может быть решена с помощью переключения в схеме старшего и младшего байтов внешним управляющим сигналом (рис. 11), тем самым будет задействован 1 Мбайт памяти этой микросхемы.
Следует отметить, что здесь, как и в случае с камерой, предусмотрена возможность отключения питания микросхемы внешней памяти сигналом от микроконтроллера с помощью ключа Q2. Это обусловлено стремлением максимально снизить энергопотребление системы посредством отключения очередного редко используемого потребителя.
Что касается коммуникационных возможностей дизайна, то здесь предусмотрен разъем для подключения радиомодулей RZ600 производства фирмы Atmel, для которых свободно распространяется пакет BitCloud SDK для организации сетей ZigBee.
Программная поддержка
Для поддержки этой разработки фирма Atmel также распространяет программный продукт, в котором реализованы ключевые режимы работы устройства. Имеющиеся в микроконтроллере ресурсы задействованы в коде программ оптимальным образом, а особенное внимание уделено режимам энергосбережения. Так, например, расчетное время жизни батареи емкостью 2,8 А·ч превышает 5 лет при условии детектирования нарушителя не более одного раза в день.
Помимо процедур детектирования картинки и ее считывания с камеры, программный продукт содержит портированный на ATSAM3S код проекта, именуемого IJG (Independent JPEG Group, http://www.ijg.org) версии 8a, в котором реализован алгоритм сжатия картинки в формат JPEG. Микроконтроллер справляется со сжатием картинки размером 320×240 точек за 218 мс и декодированием для отображения на дисплее за 181 мс.
Детально программный продукт Atmel описан в документе 11091A-ATARM, который можно найти на сайте производителя. Сам же проект находится на сайте в разделе SAM3S-PIRRD Motion Detector Camera.
Заключение
Описанный пример является в высокой степени оптимальным способом применения микроконтроллеров ATSAM3S. На базе документации производителя можно либо повторить его с использованием принципиальной электрической схемы, Gerber-файлов печатной платы и списка комплектующих, либо модифицировать под собственные нужды на базе проекта, выполненного в ORCAD. А предоставленные коды программ помогут быстро оценить реальные возможности описанной конфигурации.