Файл: Автоматизация и управление.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 211

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Рисунок 2.19 Принципиальная схема блока управления шлагбаумом

            1. Блок контроллера

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

Прежде всего, необходимо определиться с блоком управления, который должен быть представлен контроллером или микрокомпьютером. В последнее время широкое распространение получили одноплатные компьютеры RaspberryPi, и микроконтроллеры семейства ARM.

И в одной, и в другой платформе можно найти специализированные платы, которые сильно выделяются среди прочих какой-нибудь особенностью. Производительность контроллера составляет одно ядро и от десятков до сотен мегагерц. А в микрокомпьютере – одно или более ядер и от сотни до тысячи мегагерц. В микрокомпьютере можно реализовать многозадачность, управляемую ОС.

При этом контроллер потребляет всего от единиц до десятков миллиампер. Возможны недели работы от батареек.

Можно выбрать практически любой язык программирования, будь то Python, JavaScript, Bash и десяткки других, поддерживаемых ОС, для программирования микрокомпьютера. Контроллер можно запрограммировать только на ограниченном количестве языков программирования. Чаще всего используется С/С++. Также в контроллере отсутствуют возможности для работы с видео. Микрокомпьютер обладает OpenCV, аппаратными видеокодеками, HDMI–выходом. Ещё в микрокомпьютере есть возможность для работы со звуком. В него включена поддержка MP3/OGG/WAV на уровне ОС. Но и на мощных контроллерах
возможен синтез звука. Нужны дополнительные модули.

Таким образом, несмотря на меньшую производительность, контроллеры не сильно уступают, а в чем–то даже превосходят одноплатные компьютеры. Большим плюсом контроллеров является большая длительность работы от батареек за счет меньшего энергопотребления, а также лучшая скорость реакции в проектах критичных ко времени, а также меньшая стоимость. Недостатки представляют собой ограниченный выбор языков программирования и невозможность работы с видео. Конкретно для устройства, разрабатываемого нами это не является критичным, так как функционала языка C вполне хватит для решения поставленной задачи, а работа с видео или компьютерным зрением в данном проекте не предусмотрена. Следовательно, логичным будет остановиться на семействе контроллеров ARM как целесообразном контроллере с точки зрения экономической эффективности. Ниже предоставим краткий обзор наиболее распространенных плат данного семейства.

К областям применения ядра ARM7 относятся:

  • телекоммуникации контроллеры GSM-терминалов;

  • обмен данными – средства преобразования протоколов и модемы;

  • портативные вычисления Palmtop-компьютеры;

  • портативные измерительные устройства карманные устройства сбора данных;

  • автомобильную технику устройства управления двигателями;

  • информационные системы Smart-карты;

  • средства отображения JPEG-контроллеры.

Все контроллеры семейства LPC2000 построены на основе ЦПУ ARM7. Ядро ARM7 является RISC-устройством, предполагающим использование небольшого числа команд и соответственно состоящего из относительно небольшого количества логических элементов. Благодаря

этому процессор ARM7 идеально подходит для использования во встраиваемых системах. Он имеет высокую производительность, низкое

энергопотребление и занимает небольшую часть общей площади кристалла.

Краткий обзор преимуществ и недостатков контроллеров показан в таблице 2.1

Таблица 2.1 Сравнительная таблица контроллеров

Название

Выбор языков программировани я

Невозможност ь работы с видео

Большая длительност ь работы без

батареек

Возможность использовони я модулей

звука

ARM7 LPC148

+

-

+

+

RaspberryP

i

+

+

+

+


В качестве основного управляющего контроллера был выбран контроллер ARM7 LPC148. Также к нему мы подключаем LCD дисплей и подаём напряжение 5 В.

На рисунке 3.1 изображена функциональная схема блока контроллера

В работе используется ARM7 на базе контроллера NXP контроллера LPC2148 на базе TDMI. Кроме того, ARM7 представляет собой баланс между классическими и новыми сериями Cortex. ARM7 отлично подходит для NXP. Это подходит для новичков, чтобы получить подробное представление об аппаратной и программной реализации.

Контроллер LPC2148 [5,6] изготовлен NXP Semiconductor (Phillips), и он предварительно загружен множеством встроенных функций и периферийных устройств. Это делает его более эффективным и надежным выбором для разработчиков приложений высокого класса.

Пин-диаграмма контроллера LPC2148 [6,7] изображена
на рисунке

2.20.


Рисунок 2.20 – Пин-диаграмма контроллера LPC2148

Порты P1.16-P1.31 являются портами входа/выхода общего назначения. Фактически, количество доступных GPIO зависит от использования альтернативных функций.

Порт 0 - это 32-разрядный порт ввода-вывода с индивидуальным контролем направления для каждого бита. Всего 28 контактов порта 0 могут использоваться как двунаправленные цифровые входы / выходы общего назначения, в то время как P0.31 обеспечивает только функции цифрового вывода. Работа контактов порта 0 зависит от штыря. Выводы P0.24, P0.26 и P0.27 недоступны.

Порт 1 представляет собой 32-битный двунаправленный порт ввода- вывода с индивидуальным контролем направления для каждого бита. Работа контактов порта 1 зависит от штыря. Штыри от 0 до 15 порта 1 недоступны.

Порт 0 и порт 1 контролируются через две группы регистров.

Регистр значений столбцов GPIO - IOPIN. Текущее состояние конфигурируемых портов GPIO всегда можно считывать из этого регистра независимо от направления вывода.

Регистр управления режимом порта GPIO - IODIR. Этот регистр индивидуально контролирует направление каждого порта.

Регистры вывода порта GPIO - IOCLR. Этот регистр управляет состоянием выходных контактов. Написание вырабатывает минимумы в соответствующих портах портов и очищает соответствующие биты в регистре IOSET. Написание нулей не влияет.

Регистры набора выходных данных GPIO - IOSET. Этот регистр управляет состоянием выходных контактов в сочетании с регистром IOCLR. Написание вырабатывает максимумы на соответствующих штырьках портов.
Написание нулей не влияет.

Это набор регистров, используемых для настройки выводов ввода- вывода. Теперь перейдем к отдельным регистрам в глубину.

Регистр IOSEL0. Порт 0 имеет 32 контакта (от P0.0 до P0.31). Каждый вывод может иметь несколько функций. В RESET все контакты сконфигурированы как контакты GPIO. Однако мы можем переконфигурировать, используя регистры IOSEL0 и IOSEL1.

Регистр IOSEL0 используется для выбора функции от P0.0 до P0.15. Каждый вывод имеет до 4 функций, поэтому для выбора функции предусмотрено 2 бита / вывода в IOSEL0:

  • функция 0 (00) (Функция по умолчанию = GPIO);

  • функция 1 (01);

  • функция 2 (10);

  • функция 3 (11).

Регистр IOSEL1 используется для выбора функции Pins P0.16 - P0.31. Регистр IOSEL2 используется для выбора функции контактов P1.16 -

P1.31.

Регистр IO0DIR используется для настройки контактов Port 0-P0 в качестве входных или выходных контактов:

  • выходной штырь = 1;

  • входной штырь = 0.

Пример: IO0DIR = 0x0000FFFF означает, что от P0.0 до P0.15 сконфигурированы как выходные выводы, а P0.16 - P0.31 сконфигурированы как входные контакты.

Регистр IO1DIR используется для конфигурирования контактов порта 1

  • P1 в качестве входных или выходных контактов:

    • выходной штырь = 1;

    • входной штырь = 0.

Пример: IO1DIR = 0xAAAAAAAA означает, что даже контакты (P1.0, P1.2, P1.4 и т. д.) конфигурируются как входные контакты, а нечетные контакты (P1.1, P1.3, P1.5 и т. д.) конфигурируются как входные штырьки.

Регистр