🔍 Поиск работ

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ДАТЧИКА ДАВЛЕНИЯ НА ОСНОВЕ МЕТОДА БЕЗОПАСНОГО ДОСТУПА К РЕГИСТРАМ МИКРОКОНТРОЛЛЕРА

Работа №209392

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы198
Год сдачи2021
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
3
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 2
ВВЕДЕНИЕ 8
1 ОБЗОР ОТЕЧЕСТВЕННЫХ МИКРОКОНТРОЛЛЕРОВ И МЕТОДОВ
ПРОГРАММНОЙ РЕАЛИЗАЦИИ РЕГИСТРОВ 11
1.1 Постановка задачи 11
1.2 Обзор периферийных блоков микроконтроллера для датчика
давления 11
1.3 Анализ требований к программному обеспечению и выбор модели
микроконтроллера 19
1.4 Обзор требований к надежности датчиков и методов ее
обеспечения 38
Выводы по разделу один 45
2 СОЗДАНИЕ НОВОГО МЕТОДА БЕЗОПАСНОГО ДОСТУПА К
ПРОГРАММНОЙ РЕАЛИЗАЦИИ РЕГИСТРОВ 47
2.1 Постановка задачи 47
2.2 Обзор принципов нового подхода 48
2.3 Реализация нового подхода 55
2.4 Сравнение стандартного метода CMSIS с новым SVD 65
Выводы по разделу два 72
3 РАЗРАБОТКА ОБЩЕЙ АРХИТЕКТУРЫ ДЛЯ ДАТЧИКА
ДАВЛЕНИЯ 74
3.1 Постановка задачи 74
3.2 Концепция встроенного программного обеспечения датчика 74
3.3 Применение простого планировщика в ПО датчика 80
3.4 Общая архитектура ПО для датчика давления 94
Вывод по разделу три 99
4 РАЗРАБОТКА ДЕТАЛЬНОЙ АРХИТЕКТУРЫ ДЛЯ ДАТЧИКА
ДАВЛЕНИЯ 101
4.1 Постановка задачи 101
ЕДЕНИЕ 4.2 Разработка классов для измерения давления и термокомпенсации 101
4.3 Разработка классов для выходного аналогового сигнала и его
термокоррекции 116
4.4 Разработка классов для связи датчика с ПК по протоколу Modbus 123
Вывод по разделу четыре 138
ЗАКЛЮЧЕНИЕ 139
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 143
ПРИЛОЖЕНИЯ 149
ПРИЛОЖЕНИЕ А. Базовый класс для работы с регистром 149
ПРИЛОЖЕНИЕ Б. Режим доступа к регистрам 150
ПРИЛОЖЕНИЕ В. Доступ к полю регистра 151
ПРИЛОЖЕНИЕ Г. Значения регистров 152
ПРИЛОЖЕНИЕ Д. Описание полей и значений регистров 155
ПРИЛОЖЕНИЕ Е. Файл main 157
ПРИЛОЖЕНИЕ Ж. Класс Adc 159
ПРИЛОЖЕНИЕ Й. Класс Adcui 160
ПРИЛОЖЕНИЕ К. Класс Pwm 163
ПРИЛОЖЕНИЕ Л. Класс Timer 165
ПРИЛОЖЕНИЕ М. Класс Uart 167
ПРИЛОЖЕНИЕ Н. Класс Dac 170
ПРИЛОЖЕНИЕ П. Класс Filter 172
ПРИЛОЖЕНИЕ Р. Класс LinkLayer 173
ПРИЛОЖЕНИЕ С. Класс NVParam 175
ПРИЛОЖЕНИЕ Т. Класс Range 176
ПРИЛОЖЕНИЕ У. Классы AduConstructor, PduConstructor, AduStructure и
PduStructure 177
ПРИЛОЖЕНИЕ Ф. Классы AoTask, ProtocolTask, BoardTemperatureTask, DiagnosticTask, EepromDriver и SPI 181


В связи с ростом требований, направленных на совершенствование технологических процессов на предприятиях, возникли предпосылки четвертой промышленной революции. Она предполагает самое активное использование датчиков для измерения физических величин [1, с. 8].
Актуальность данной темы подтверждается 719 постановлением правительства РФ «О подтверждении производства промышленной продукции на территории Российской Федерации», а именно: стоит потребность в создании датчика на основе отечественной элементной базы. И одной из ключевых частей в создании датчика является разработка программного обеспечения (ПО) для микроконтроллера (МК).
В настоящее время в качестве элементной базы используются импортные компоненты в различных областях техники, что порождает в своей основе проблему потребности в импортозамещении [2, с. 310].
Новизна выпускной квалификационной работы заключается в том, что предложен новый усовершенствованный метод безопасного доступа к программной реализации регистров МК, обеспечивающий надежность ПО датчика. Также новизна подтверждается созданием ПО для датчика на базе отечественного микроконтроллера, которое не имеет аналогов на рынке.
Практическая значимость заключается в том, что данное ПО на российском микроконтроллере можно использовать для создания конкурентно способных датчиков давления.
Одной из востребованных в измерении физических величин является давление. Давление - физическая величина сплошной среды, количественно равная силе, которая давит на единицу площади, перпендикулярную поверхности [3, с. 351].
Микроэлектроника является катализатором развития в научно-технической области. Ни одно из направлений техники не может существовать без применения микропроцессоров. Процесс создания микропроцессорной техники построен на
достижениях в различных областях от физики взаимодействия ядер до химических свойств металлов [4, с. 3].
Для управления работой микроэлектронной частью датчика используется программное обеспечение.
Программное обеспечение представляет собой быстро развивающуюся отрасль информационных технологий, на основе которой реализуется механизм работы различных устройств от калькуляторов до компьютеров. Программное обеспечение - это программные ресурсы, которые применяются для управления микропроцессором [5, с. 3].
Программное обеспечение должно соответствовать требованиям функциональной безопасности согласно ГОСТ IEC 61508-3-2018. С данной точки зрения для разработки программного обеспечения микроконтроллеров целесообразно использовать объектно-ориентированное программирование, так как оно позволяет обеспечить надежность ПО за счёт применения статического полиморфизма, метапрограммирования, принципа SFINAE и др.
Принцип объектно-ориентированного программирования (ООП) построен на применении объектов - сложных структур, которые представляют из себя данные или операции над ними. Благодаря свойствам инкапсуляции и абстрагирования обращение к данным происходит без прямого доступа. Данным принципам следуют методы полиморфизма и наследования. ООП имеет большие перспективы в развитии сложных информационных систем и в минимизации затрат человеческих ресурсов для разработки кода [6, с. 5].
Полиморфизм предназначен для предания программе модифицируемости. Если связь функции с ее реализацией и подстановка определенного типа данных на место обобщенного реализуется на стадии трансляции программы, значит действует статический полиморфизм.
В связи с вышеизложенным тема магистерской диссертации имеет название: «Разработка программного обеспечения для датчика давления на основе метода безопасного доступа к регистрам микроконтроллера».
Таким образом, целью работы является разработка программного обеспечения на базе отечественного микроконтроллера с использованием метода безопасного
доступа к регистрам, не имеющего аналогов на рынке.
Задачи:
1) провести обзор отечественных микроконтроллеров и методов программной реализации регистров;
2) создать новый метод безопасного доступа к программной реализации регистров;
3) разработать общую архитектуру для датчика давления;
4) разработать детальную архитектуру для датчика давления.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках обзора отечественных микроконтроллеров и методов программной реализации регистров, основываясь на литературе [1] - [61], были сделаны следующие выводы:
а) На основе анализа требований к датчику, были сформированы требования к микроконтроллеру - должны быть использованы:
- сигма-дельта АЦП ввиду своих точностных характеристик;
- блок UART для работы МК с ПК по Modbus ввиду наличия доступных средств подключения;
- модуль SPI для работы с EEPROM ввиду простоты реализации;
- три таймера: один с применением ШИМ для формирования токовой петли, второй - для Modbus, третий для операционной системы;
- температурный рабочий диапазон от -20 до +85 C согласно требованиям ТЗ.
- встроенный температурный датчика для термокоррекции выходного аналогового сигнала ввиду отсутсвия монтажа дополнительных схем;
- ток потребления МК должен уложиться в 2,6 мА для формирования петли 420 мА;
- цена должна быть пропорциональна выполненным требованиям.
Также ввиду отсутствия надежных операционных систем реального времени, была поставлена задача в реализации новой системы, котороя бы соответствовала требованиям ГОСТ [15].
б) в качестве микроконтроллера, на основе которого будет построен датчик, был выбран МК К1986ВЕ4У, вследствие удовлетворения вышеизложенным требованиям. Экспериментальный ток потребления МК с сигма-дельта АЦП составил 2,51 мА, а минимальная частота тактирования, на которой может работать МК без потери точности, это 1 МГц.
В результате анализа существующих методов программной реализации регистров МК было диагностировано, что ни один из методов Ken Smith в статье [17] и Niklas Hauser [18] не соответствует приведенным требованиям:
- запрет возможности записи регистра, поля, или значения регистра
предназначенных только для чтения;
- запрет возможности чтения регистра, поля, или значения регистра
предназначенных только для записи;
- запрет доступа к битам регистров, не определенных спецификацией микроконтроллера;
- запрет установки или чтения полей и значений одного регистра в другой регистр (по имени поля или значения);
- устранение ошибки при написании кода проверки установки или сброса отдельных битов регистров.
2) В рамках создания нового метода безопасного доступа к программной реализации регистров были сделаны следующие выводы:
а) созданный новый метод реализации регистров на основе SVD файлов превосходит методы N.Hauser [17], K.Smith [18], STM32CUBEMX по следующим параметрам, что обеспечит высокую надежность создания ПО и устройств в целом:
- запрет возможности записи регистра, поля, или значения регистра
предназначенных только для чтения;
- запрет возможности чтения регистра, поля, или значения регистра
предназначенных только для записи;
- полная синхронизация регистров микроконтроллера со спецификацией;
- запрет проверки установки или сброса значений регистра неописанных в спецификации;
- отсутствие накладных расходов для доступа к регистру, его полям и значениям;
- простота использования и описания.
Автоматическая генерация программной реализации регистров использует SVD-файл, который, например, предоставляется фирма Миландр [24]. На основе этого файла можно сгенерировать полное описание полей и значений регистров в соответствии с предложенной структурой. Генератор разработан на основе десериализатора CMSIS-SVD файлов [25]. Был протестирован данный метод путем генерации файлов новой программной реализации регистров и отладки микроконтроллера - ПО оказалось работоспособным.
г) Сравнение одинакового кода, выполняющие одинаковые настройки периферийных модулей для стандартной реализации CMSIS и новой - SVD показывает, что код новой реализации без использования оптимизации, не только понятнее и компактней на языке высокого уровня С++ (см. рисунки 38 и 39), но и имеет высокую надежность (см. рисунки 36 и 37), так как помогает диагностировать ошибки, которые не способна обнаружить стандартная реализация CMSIS, также новая реализация занимает меньше инструкций на ассемблере (см. рисунки 40 и 41), то есть имеет большее быстродействие.
3) В рамках разработки общей архитектуры для датчика давления были сделаны следующие выводы:
а) Анализ концепции встроенного ПО показал, что для временного разграничения измерительных процессов датчика: измерение давления, температуры, преобразования ШИМ и др. обычно используется стандартная система реального времени, однако она имеет множество недостатков, некоторые из которых это:
- отсутствие быстрого переключения контекста;
- большой объем занимаемой памяти.
б) Использование простого планировщика, описанного в статье [27] - SST в программном обеспечении датчика понижает потребление памяти по сравнению со стандартными системами реального времени почти в 10 раз и ускоряет переключение контекста, так же повышает надежность, вследствие отсутствия применения бесконечны циклов.
На основе простого планировщика была создана общая архитектура датчика давления, на основе которой была разработана детальная.
4) В рамках создания детальной архитектуры были сделаны следующие выводы:
а) Разработана детальная архитектура по части измерения давления и его термокоррекции. Был сделан вывод, что при нормализации кода, приведенная погрешность уменьшилась в 1000 раз.
б) Разработаны классы для выходного аналогового сигнала и его термокоррекции на основе широтно-импульсной модуляции. Была выбрана линейная модель преобразования в выходной аналоговый сигнал, ввиду свойств физического процесса.
в) Создана детальная архитектура ПО для связи датчика с ПК по протоколу Modbus, было решено использовать три типа команд: read holding registers - для чтения всех коэффициентов характеризации, write holding registers - для записи коэффициентов характеризации и read input registers - для чтения значения давления. И протестировано разработанное ПО, удовлетвоярющее поставленным требованиям.



1. Шваб, К. Четвертая промышленная революция: книга / К.Шваб; пер. АНО ДПО «Корпоративный университет Сбербанка». - М.: «Эксмо», 2016. - 138 с.
2. Аминев, Д.А. Исследование возможности импортозамещения микроконтроллеров семейства SAM D20 компании Atmel отечественными аналогами / Аминев Д. А., Охломенко И. В., Никитенко М. В., Сачкова Н. А., Гусева П. А. // Системы управления связ и безопасности. - 2006. №1. - С. 310 - 327.
3. Фрайден, Дж. Современные датчики: справочник / Дж. Фрайден: пер. с англ. А. Заболотной. - М.: Издательство Техносфера, 2005. - 592с.
4. Коледов, Л. Л. Технология и конструкции микросхем, микропроцессоров и микросборок: учебное пособие / Л. Л. Коледов. - СПб.: Издательство «Лань», 2009. - 400 с.
5. Голицына, О.Л. Программное обеспечение: учебное пособие / О.Л. Голицына, Т.Л. Портыка, И.И. Попов. - М.: Издательство «ФОРУМ», 2010. - 448 с.
6. Барков, И. А. Объектно-ориентированное программирование: учебник / И. А. Барков. - СПб: Лань, 2019. - 699 с.
7. Васильев, А.С. Основы программирования микроконтроллеров: учебнометодическое пособие / А.С. Васильев, О.Ю. Лашманов, А.В. Пантюшин. - СПб: НИУ ИТМО, 2016. - 95 с.
8. Рандин, Д.Г. Микроконтроллеры: учебно-методическое пособие / Д.Г. Рандин. - Самара: АСИ СамГТУ, 2018. - 82 с.
9. Микросхемы АЦП и ЦАП: справочник. - М.: ДМК Пресс, 2010. - 432 с.
10. Темербаев, С.А. Управление данными в технических системах: учебное пособие / С.А. Темербаев, В.П. Довгун, И.Г. Важенина и др.. - Красноярск: СФУ,
2018. - 193 с.
11. Болл, С.Р. Аналоговые интерфейсы микроконтроллеров: учебное пособие / С.Р. Болл. - Москва: ДМК Пресс, 2010. - 354 с.
12. Зубкова, Т.М. Технология разработки программного обеспечения: учебное пособие / Т.М. Зубкова. - Санкт-Петербург: Лань, 2019.- с. 324.
13. Каширин, И.Ю. От Си к Си++: учебное пособие / И.Ю. Каширин, В.С. Новичков. - 2-е изд., стер. - М.: Горячая линия-Телеком, 2012. - 334 с.
14. Борисов, С.В. Программирование на языке С++: методические указания / С.В. Борисов, О.Б. Пащенко, И.Л. Серебрякова, В.П. Степанов. - Москва: МГТУ им. Н.Э. Баумана, 2017. -76 с.
15. ГОСТ IEC 61508-3-2018. Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. - М.: Изд-во «Стандартинформ», 2018. - 113 с.
..61


Работу высылаем на протяжении 30 минут после оплаты.




©2026 Cервис помощи студентам в выполнении работ