Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Проектирование микропроцессорных систем. Учебное пособие
.pdf
Файл Descriptors.c содержит дескриптор и информацию об устройстве,
передаваемую в ПК. USB_Descriptor_HIDReport_Datatype_t – дескриптор
репорта информации об устройстве.
USB_Descriptor_Device_t – дескриптор устройства.
USB_Descriptor_Configuration_t – дескриптор конфигурации.
USB_Descriptor_String_t – строковый дескриптор.
CALLBACK_USB_GetDescriptor – функция отправки дескрипторов в ПК.
Файл GenericHID.h содержит описания используемых дополнительных
библиотек и функций в программе.
Рассмотрим основные функции основного файла GenericHID.
Процедура SetupHardware инициализирует оборудование
микроконтроллера. Данная процедура содержит вызовы функций USB_Init –
для инициализации библиотеки LUFA USB и ADC_Init – для инициализации
АЦП и мультиплексора. Кроме того в данной функции отключается
предделитель частоты микроконтроллера clock_prescale_set(clock_div_1), чем
определяется тактовая частота микроконтроллера в 16 мГц.
Функция USB_Init конфигурирует регистры ADMUX и ADSRA в
соответствии с задачами.
Процедура EVENT_USB_Device_ConfigurationChanged вызывает
отправку конфигурационных дескрипторов USB HID протокола из библиотеки
LUFA USB
Процедура EVENT_USB_Device_ControlRequest контролирует отправку и
прием репортов от устройства к ПК и обратно.
Функция CreateGenericHIDReport(uint8_t* DataArray) вызывается по
таймеру, интервал счета которого равен, согласно спецификации USB, 100 мс.
Данная функция осуществляет отправку массива из 64 байт в ПК. В этой
функции формируется пакет амплитуд гармоник сигнала и номер канала, над
которым проводилась обработка. Размер массива определяется директивой
IN_REPORT_SIZE в файле Descriptors.h и равен 32 байт
81

Функция ProcessGenericHIDReport(uint8_t* DataArray) вызывается по
приходу пакета данных от ПК. В данной функции происходит извлечение байт
из буфера DataArray во временной массив buffer с помощью функции memcpy
для дальнейшего анализа данных. В данном буфере находиться информации о
необходимых каналах для преобразования, заданных оператором в программе
на ПК.
Процедура fft выполняет дискретно преобразование Фурье. Процедура
работает с глобальными переменными, которые определены в начале файла:
– N 512 – количество отсчетов в выборке;
– k 32 – количество гармоник спектра;
– uint8_t out[32] – массив из 32 целых, положительных 8 битных чисел
для хранения амплитуд гармоник;
– char IN[N] – маcсив из N байт, для хранения отсчетов выборки;
– int8_t sina[64], int8_t cosb[64] – массивы из 64 целых, 8 битных чисел
от -127 до 127 для хранения рассчитанных значений sin и cos.;
– uint8_t garmonik[k] – массив из k целых положительных 8 битных
содержащий номера гармоник для расчётов;
– uint16_t index – целая положительная 16 битная переменная для
хранения индекса ячейки таблиц синусов и косинусов;
– int32_t ak, bk – целые 32 битные переменные для расчетов мнимых и
целых частей амплитуд гармоник.
Данная процедура вызывается после завершения преобразования АЦП
всех отсчетов выборки.
ISR(ADC_vect) – определение из вектора прерывания микроконтроллера.
Вызывается по завершению преобразования одного отсчета АЦП. В данном
прерывании производиться считывание значения регистра ADCH АЦП в
соответствующую ячейку массива IN. Расчет индекса массива выполняется при
помощи дополнительной переменно Nn, которая на каждом прерывании
инкрементируется, пока не достигнет значения в N-1. По достижению данного
значения работа АЦП приостанавливается запрещением прерывания, а
82

переменная fft_ready принимает значение true, что запускает преобразование
ДПФ, по окончании которого, переменная Nn обнуляется и процесс аналого –
цифрового преобразования начинается заново.
Расчет ДПФ в прерывании не возможен, так как процесс дискретного
преобразования Фурья ресурсоемок и занимает значительную часть
процессорного времени, что приостанавливает все прерывания
микроконтроллера. В результате чего происходят задержки по отправке
контрольных пакетов USB HID интерфейса, из за чего его работа и связь с ПК
становиться нестабильной.
Преобразование ДПФ запускается в главном цикле программы, что
позволяет прерыванию таймера USB прерывать расчет ДПФ, отправить
контрольный пакет ПК и вернуть управление микроконтроллера функции fft.
Главный цикл программы содержит вызовы функций SetupHardware, sei –
разрешение прерываний и бесконечный цикл, в котором вызываются HID_Task,
USB_USBTask. Кроме того, в этом цикле проверяется состояние переменной
fft_ready, и если оно равно 1, то вызывается функция ДПФ fft. По окончании её
выполнения переменная fft_ready обнуляется, и происходит разрешение
прерывания АЦП, чем инициируется запуск АЦП для получения отсчетов
следующей выборки. По окончанию выполнения функции fft, переменная ready
принимает значении 1, что иницирует отправку пакета амплитуд ПК функцией
CreateGenericHIDReport, в которой проверяется значение данной переменной.
После успешной отправки переменная обнуляется.
5.3 Разработка инструкции пользователя
Руководство пользователя (оператора) должно включать:
1. Назначение программы.
При описании назначения программы необходимо указать сведения о
назначении программы и информацию, достаточную для понимания функций
программы и ее эксплуатации.
83

2. Условия выполнения программы.
Условия выполнения программы должны содержать условия,
необходимые для выполнения программы: минимальный и/или максимальный
состав аппаратурных и программных средств.
3. Выполнение программы.
В разделе Выполнение программы необходимо указать
последовательность действий оператора, обеспечивающих загрузку, запуск
выполнение и завершение программы; привести описание функций, формата и
возможных вариантов команд, с помощью которых оператор осуществляет
загрузку и управляет выполнением программы, а также ответы программы на
эти команды.
4.Сообщения оператору.
В качестве примера приведено руководство пользователя программного
средства, разработанного для учебного стенда охранно-пожарной
сигнализации.
Основной задачей программы является считывание и отображение
состояния охранных и пожарных извещателей стенда, смена режима его
работы, а также имитация срабатывания различных извещателей. Программная
часть (программа для ПК оператора стенда) предназначена для получения
сетевых пакетов с информацией по беспроводной сети Wi-Fi и дальнейшей
обработки, и представления данных в удобном для оператора виде, а также для
отправки команд на плату Arduino для смены режимов работы и имитации
срабатывания извещателей.
Для работы программы нет необходимости устанавливать
дополнительные программные средства. Программа поставляется без файла
установки. В комплекте поставляется исполняемый файл, который может быть
запущен из любого местоположения на ПК.
Для работы программного средства необходимо подключиться на ПК к
беспроводной сети Wi-Fi, которая была создана на модуле связи ESP8266-01.
84

Название сети «STEND», пароль доступа к данной беспроводной сети
«parolstend». Именно по этим данным происходит настройка связи для
дальнейшего принятия пакетов данных. После настройки сети программное
средство начнет принимать сетевые пакеты от аппаратного средства,
расположенного стенде и проводить некоторые вычисления.
Для корректной работы данного программного обеспечения необходимо
наличие ПК с процессором модели Intel Core 2 Duo и выше. Объем оперативной
памяти должен составлять 1 Гбайт. Обязательно наличие сетевой карты с Wi-Fi
модулем или отдельный выносной Wi-Fi модуль. Желательно наличие
установленного интерпретатора Python версии 3.7.3. Ограничения применения
на данное программное обеспечение: данное программное обеспечение не
рекомендуется запускать на ПК с объемом оперативной памяти менее 1 Гбайта
и процессором ниже модели Intel Core 2 Duo. Программное средство
запускается через файл «program.exe». После запуска программного средства
перед пользователем будет открыто окно программы на рисунке 35.
Рисунок 35 – Главное окно программы
В окне программного средства расположены 1 блока для подключения к
серверу, два блока для управления и два блока отображения состояния
извещателей и режима работы. Структурное расположение объектов в
программе на рисунке 36.
85

Рисунок 36 – Структурное расположение блоков в окне программы
В блоке 1 расположена кнопка для подключения клиента к серверу.
Данную кнопку следует нажимать только после установки соединения по сети
Wi-Fi. 2 и 3 блоки предназначены для отправки сообщений, для изменения
режимы работы стенда и для имитации извещателей. В блоке 4 выводятся
данные о режиме работы стенда. В блоке 5 выводятся данные о состоянии
отдельных извещателей.
86

6 Задания для курсовой работы
Курсовая работа должна включать следующие разделы. Описание
технологического процесса, структуры устройства, плана помещения,
территории, для которых разрабатывается микропроцессорная система.
− Обзор существующих аналогов и анализ их недостатков.
− Формулировка требований к проектируемой системе.
− Таблица функций и устройств, обеспечивающих эти функции.
− Таблица контролируемых параметров и месторасположения датчиков.
− Список приборов, входящих в микропроцессорную систему.
− Классификация методов и средств системы.
− Структурная схема проектируемой системы.
− Таблица распределения портов микроконтроллера.
− Электрическая принципиальная схема.
− Перечень элементов к схеме.
− Схема расположения всех приборов на объекте.
− Схема алгоритма программы.
− Текст программы.
− Скриншоты выполнения программы в среде моделирования
PROTEUS [7].
Вариант № 1. Разработка микропроцессорной системы управления
бытовой хлебопечкой.
Задачи.
Провести обзор существующих систем управления хлебопечками.
Описать этапы технологического процесса выпечки хлеба, разработать
структурно-технологическую схему оборудования.
Сформулировать требования и функции, обеспечивающие управление
технологическим процессом выпечки хлеба.
Сформировать список необходимого оборудования.
87

Разработать структурную схему системы управления выпечкой.
Разработать классификацию датчиков температуры.
Осуществить выбор конкретных моделей оборудования и приборов.
Разработать электрическую схему и перечень элементов.
Разработать программное обеспечение.
Провести отладку программы в инструментальной среде.
Требования к микропроцессорной системе.
Время замешивания теста - 10 минут.
Задание (с помощью устройства ввода) времени брожения теста.
Индикация текущего времени.
Задание времени окончания выпечки (с помощью устройства ввода).
Температура брожения теста (27 + 1) С.
Звуковой сигнал при отклонениях температуры.
Управление включением/отключением нагревателя.
Температура выпекания 180 С.
Звуковой сигнал об окончании выпечки.
Вариант № 2. Разработка микропроцессорной системы приточно-
вытяжной вентиляции и кондиционирования помещений офиса.
Задачи.
Составить план помещений офиса и расположения оборудования.
Проанализировать климатические требования к функционированию
оборудования и персонала.
Сформулировать требования и функции проектируемой
микропроцессорной системе управления.
Разработать классификацию выпускаемого оборудования для
поддержания заданного климата в помещениях.
Сформировать список используемых приборов.
Разработать структурную схему проектируемой системы.
Разработать схему контура управления.
88

Осуществить выбор конкретных моделей оборудования и приборов.
Разработать электрическую схему и перечень элементов.
Разработать программное обеспечение.
Провести отладку программы в инструментальной среде моделирования.
Требования к микропроцессорной системе.
1.Запуск приточных систем. По команде включения приточной
вентиляции:
− открывается заслонка наружного воздуха;
− одновременно с открытием заслонки открывается на 100%
регулирующий клапан на теплоносителе;
− через время прогрева (3 мин) и температуре обратного
теплоносителя выше 35 С включается двигатель приточного вентилятора;
− регулирующий клапан переходит в режим поддержания заданной
температуры приточного воздуха и обратной воды по нижнему пределу;
− сблокированные с приточными вытяжные установки включаются
через 60 сек.
2. Защита теплообменника от замораживания. Защита от замораживания
осуществляется в двух режимах работы системы: рабочий, останов.
В рабочем режиме в холодное время года (температура наружного
воздуха ниже +5С) при срабатывании термостата защиты от замораживания по
воздуху или снижении температуры обратного теплоносителя ниже +20 С:
− выдача оператору на пост охраны соответствующего сообщения;
− выключение приточного вентилятора;
− закрытие заслонки наружного воздуха;
− открытие регулирующего клапана на 100%;
Дежурного по инженерным системам здания должен подтвердить
тревогу. При повышении температуры до +35 С, авария по обратной воде
снимается. В случае срабатывания термостата требуется ручной сброс его в
нормальное состояние.
89

В режиме останова в холодное время года при срабатывании термостата
защиты от замораживания по воздуху или снижении температуры обратного
теплоносителя ниже +20 С:
− открытие регулирующего клапана на 100%;
− выдача сообщения на пост охраны.
При повышении температуры до +35С, авария по обратной воде
снимается и система возвращается в режим ожидания.
Количество помещений офиса – 3;
В помещениях размещены средства вычислительной техники;
Обеспечить переключение режимов: режим «Зима» - нагрев воздуха,
режим «Лето» - охлаждение воздуха;
Задание значений температуры с помощью устройства ввода;
Измерение температуры в трех помещениях;
Отображение текущих значений температуры;
Формирование команд на включение и отключение кондиционеров.
Вариант № 3. Разработка микропроцессорной системы управления
промышленным холодильником.
Задачи.
Описать структуру промышленного холодильника, разработать план
расположения камер.
Сформулировать функции проектируемой системы управления.
Разработать классификацию существующего холодильного
оборудования.
Разработать классификацию датчиков температуры.
Сформировать список используемых приборов.
Разработать структурную схему проектируемой системы.
Разработать схему контура управления.
Осуществить выбор конкретных моделей оборудования и приборов.
Разработать план расположения приборов.
Разработать электрическую схему и перечень элементов.
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
