Разработка программного обеспечения блока

Автор работы: Пользователь скрыл имя, 12 Марта 2015 в 07:14, курсовая работа

Краткое описание

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

Вложенные файлы: 1 файл

ДИПЛОМ КОНЕЧНЫЙ.docx

— 2.53 Мб (Скачать файл)

— ICCV8 for AVR

 

Для отладки программ используются программные симуляторы (специальные программы для персональных компьютеров, имитирующие работу микроконтроллера), внутрисхемные эмуляторы (электронные устройства, имитирующие микроконтроллер, которые можно подключить вместо него к разрабатываемому встроенному устройству) и интерфейс JTAG.

При написании дипломного проекта я использовал ICCV8, так как ImageCraft IDE (рис. 6) представляет собой очень простую и в то же время очень эффективную среду разработки для создания приложений, для большого числа семейств микроконтроллеров.

Эта IDE была выбрана мной, так как:

- она имеет удобное расположение окон среды, редактирование файлов, интуитивную настройку параметров.

- высокое качество, с  точки зрения польза/объем, предоставляемой  информации.

- встроенный ANSI Terminal Emulator, для работы с последовательным портом.

- Application Builder для генерации кода инициализации периферии микроконтроллера.

- Code Browser™ для предоставления информации об адресе, типе, объеме памяти всех функций и переменных задействованных в проекте.

- встроенный Flash / EEPROM загрузчик кода, поддерживающий большое количество программаторов.

Рис. 6

 

1.7.Постановка задачи

Требуется разработать программное обеспечение для блока управления временными интервалами (УВИ) на основе российского микроконтроллера МИ 1887ВЕ1У. Блок должен потреблять малое количество электроэнергии при относительно долгом времени работы, для этого у микроконтроллера есть несколько спящих режимов, один из которых будет использоваться в данной задаче. Блок УВИ должен работать в двух режимах.

В режиме 1 происходит считывание и запись кодов, приходящих с блока формирования сигналов и приема квитанции и запись этого кода в память ЭСППЗУ.

В режиме 2 код, заранее записанный в память, считывается из нее. В зависимости от входящего сигнала, микроконтроллер через определенное время, с помощью таймеров, встроенных в микроконтроллер, будет выдавать сигнал через различные интервалы времени, которые будут вызывать срабатывание блока. Максимальное время работы блока от его запуска до срабатывания: девять суток, большую часть времени которого микроконтроллер будет находится в режиме энергосбережения. Сразу после включения блок должен сформировать сигнал готовности через 120секунд, при этом отсчет этого времени должен производится по двум независимым каналам. Выходной сигнал, формируемый при срабатывании блока, должен иметь форму положительного импульса длительностью  0,1 с.  
2. Разработка конфигурации блока управления.

2.1 Разработка структурной схемы  блока управления.

В ходе выполнения дипломного проекта была разработана структурная схема для блока управления временными интервалами. Она изображена на рис. 7.

Рис. 7

Описание структурной схемы блока управления временными интервалами.

Блок выбора режима работы.

Эта часть схемы управляет выбором того, в каком режиме будет работать блок управления временными интервалами (УВИ). Всего режимов работы два. В режиме 1 происходит считывание и запись кодов, приходящих с блока формирования сигналов и приема квитанции и запись этого кода в память. В режиме 2 код, заранее записанный в память, считывается из нее.

Блок формирования сигналов и приема квитанции.

Этот блок управляет формированием кода, который будет определять время выдачи выходного сигнала срабатывания. Код будет сформирован, если блок УВИ работает в режиме 1. После формирования кода и отправки кода на блок обработки внешних сигналов, в блоке обработки внешних сигналов формируется квитанция, которая принимается этим блоком в качестве отчетности того, что информация отправлена и для проверки отправленного на блок ОВС кода. Так же, если блок работает в режиме 2, здесь происходит формирование внешнего сигнала, который, будучи поданным на блок обработки внешних сигналов, вызовет выдачу сигнала срабатывания.

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

Блок управления управляет вычислениями, производимые внутри контроллера. Он отвечает за прирост значений счетчиков, отсчитывающих временной интервал срабатывания изделия. Так же внутри него происходит анализ режима работы микроконтроллера, в зависимости от которого внутри блока УВИ будут совершатся различные операции.

Счетчик временных интервалов запускает отсчет времени для получения требуемого временного интервала.

Блок формирования выходных сигналов в зависимости от работы блока управления формирует выходные сигналы.

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

 

Блок управления, блок обработки внешних сигналов, счетчик временных интервалов и блок формирования выходных сигналов могут быть реализованы на микроконтроллере МИ 1887ВЕ1У.

Микроконтроллер определяет режим работы блока УВИ с помощью блока выбора режима работы.

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

В режиме 2 блок УВИ обеспечивает срабатывание по внешнему сигналу или через временной промежуток, определяемый принятым в режиме 1 кодом, предварительно выдав сигнал готовности. Сигнал готовности и сигнал срабатывания формируются в блоке формирования выходных сигналов и передаются на блок индикации выходных сигналов для фиксирования срабатывания блока при помощи светодиодов.

 

2.2. Разработка принципиальной схемы  блока управления.

 

Согласно приведенной выше структурной схеме были рассчитаны и разработаны схемотехнические решения блоков и узлов, входящих в нее. На основании которых была разработана схема электрическая принципиальная устройства, представленная в приложении 2.

Описание работы схемы.

На входы X1, X2, X3, предназначенные для приема кода срабатывания, поступают цифровые входные сигналы, формирующие временные интервалы срабатывания. Резисторы R1 и R13, R2 и R10, R3 и R6 формируют делители напряжения, предназначенные для формирования однозначно заданного цифрового сигнала на входах PA3, PA4, PA5 микросхемы DD1(1887ВЕ1У). Номиналы резисторов были выбраны следующими R1=R2=R3=10кОм и R6=R10=R13=1МОм. Таким образом при отсутствии сигналов на входах X1, X2, X3 схемы, выводы 44, 41, 40 микросхемы DD1 будут привязаны к земле (нулевой точке) через резисторы R13, R10, R6. При наличии логической 1 на входах Х1, Х2, Х3 схемы, напряжение на входах DD1 будут вычисляться следующим образом:

UPA3 = (UX1*R13)/(R1+R13)

UPA4 = (UX2*R10)/(R2+R10)

UPA5 = (UX3*R6)/(R6+R3)

Для выбранных значений сопротивлений резисторов R1,R2, R3, R6, R10, R13 UPA3 = UPA4 = UPA5

Контактные точки X1, X2, X3 предназначены не только для ввода информации, но и для ее вывода. Для обеспечения двухсторонней линии передачи данных с внешнего устройства.

Резисторы R1, R2, R3 также предназначены для ограничения тока входного и выходного сигналов с целью обеспечения корректной работы микросхемы DD1.

При записи кодов  подается напряжение питания с внешнего устройства к контактной точке X4. Последовательно соединенные резистор R4 и диод VD1 предназначены для ограничения входного тока микросхемы с целью обеспечения корректной работы контроллера. Номинальное значение сопротивления резистора R4 было выбрано равным 220 Ом, исходя из документации на микросхему DD1.   Диод VD1 предназначен для обеспечения отсутствия потенциала в точке X4 при включении основного питания.

При подаче основного питания на контактную точку X6 происходит подача потенциала питания на выводы #VCC и ∩VCC микросхемы DD1 через диод VD2, предназначенный для запрещения подачи питания на основную схему(схемы выходных каскадов) при программировании. Подача потенциала на выводы #VCC и ∩VCC производится через фильтрующий конденсатор C4 обеспечивающий корректную работу микроконтроллера микросхемы DD1 при нестабильном питании, а так же при наличии внешних помех.

Резисторы R11 и R9 и R5, входящие в состав инвертирующего звена, собранного на базе биполярного n-p-n транзистора VT1, предназначены для обеспечения его корректной работы. Резистор R11 так же предназначен для ограничения тока управляющего сигнала, поступающего на 19 вывод (PD3) микросхемы DD1, в дежурном режиме. Резистор R5 предназначен для ограничения тока базы транзистора VT1 при подаче управляющего сигнала (логическая единица) на контактную точку X7. Задачей резистора R9 является обеспечение рабочей точки транзистора VT1. Расчет R11, R9, R5 был проведен на основании технической документации на транзистор VT1 (2Т665А-9 аАО.339.559 ТУ). Номинальные значения сопротивлений соответственно равны:

R11 = 100кОм.

R9 = 100кОм.

R5 = 10кОм.

Задачей выходных цепей R14- HL1, R15- HL2, R16- HL3, R17- HL4, R18 - HL5, R19- HL6 - является индикация выходных сигналов, формируемых на выводах PC0, PC1, PC2, PD1, PD4, PD5 микросхемы DD1. Резисторы R14 - R19 предназначены для ограничения тока выходных сигналов микросхемы DD1. Номинальные значения сопротивлений были рассчитаны на основании технической документации контроллера DD1(К1887ВЕ1У КФДЛ.1295.047ЭТ) и светодиодов HL1 – HL6(3Л341Б аАО.339.189).

Значения сопротивлений равны: R14 = R15 = R16 = R17 = R18 =R19 = 220Ом

Так же в состав схемы электрической принципиальной входит кварцевый резонатор ZQ1 (РК 146*-32,768к-8ДШ аЦО.338.110 ТУ), обеспечивающий частоту тактового сигнала равную 32768 Гц. Конденсаторы C2 и C3 предназначены для формирования скважности тактового сигнала, необходимой для корректной работы микросхемы DD1. Номинальные значения емкостей были выбраны на основании технической документации контроллера DD1(К1887ВЕ1У КФДЛ.1295.047ЭТ).

Так же в состав схемы электрической принципиальной входит разъем программирования XP1 с обвязкой, включающей в себя резисторы R7 и R12, обеспечивающие корректное программирование микросхемы DD1. Номинальные значения резисторов были выбраны на основании технической документации контроллера DD1(К1887ВЕ1У КФДЛ.1295.047ЭТ).

Для обеспечения корректной работы блока УВИ в схеме электрической принципиальной предусмотрена цепь начального обнуления. При подаче одного из питаний( X4 или X6) на выходе интегрирующей цепи(R8 - C1) формируется выходной сигнал с запаздыванием 0,1мс по отношению к фронту сигнала питания. Исходя из заданной величины запаздывания были, рассчитаны номинальные значения емкости конденсатора C1 и сопротивления резистора R8. Полученные значения составили:

C1 = 1100пФ.

R8 = 51кОм.

 

2.3. Разработка алгоритма программы

В дипломном проекте был разработан алгоритм программы для управляющего элемента блока управления временными интервалами. 

Блок-схема алгоритма общей работы программы управляющего элемента блока управления временем срабатывания приведена на рис. 9.

Ход работы программы:

После подачи питания на блок УВИ в микроконтроллере происходит инициация портов. Далее в зависимости от внешнего сигнала выбирается режим работы блока управления временем срабатывания.

Если установлен режим 1 (считывание входного сигнала), то выполняется чтение внешнего сигнала, приходящего на порт микроконтроллера, и запись этого сигнала в EEPROM. После записи с порта  посылается квитанция о правильности пришедшего входного кода.  

Если установлен режим 2, задаются начальные значения таймера-счетчика 1 и таймера-счетчика 2 и разрешаются все виды прерываний. Далее из EEPROM считывается записанный ранее код и запускается первый и второй таймеры, в цикле идет ожидание сигнала готовности, и после выдачи этого сигнала запускается бесконечный цикл, в котором ожидается срабатывание по внешнему сигналу или срабатывание в зависимости от кода через 1, 2, 3, 4, 5 суток или, в случае отсутствия внешнего сигнала и кода на срабатывание, срабатывание произойдет через 9 суток. В этом режиме после выдачи сигнала предварительной готовности микроконтроллер начинает работать в режиме пониженного потребления и выходит из него только для кратковременной проверки отсчета времени.

Блок-схема более подробного алгоритма работы программы управляющего элемента блока приведена на рис. 10, 11, 12, 13, 14, 15, 16, 17, 18, 19.

Ход работы программы:

После запуска блока УВИ в микроконтроллере происходит инициация портов. Далее выбирается режим работы блока управления временем срабатывания, это происходит в зависимости от наличия сигнала на выводе микроконтроллера PB0. Если выбран режим считывания входного сигнала (режим 1), то выполняется чтение сигнала приходящего на порт А и запись этого сигнала в 1 байт EEPROM . После записи с порта А посылается квитанция о правильности пришедшего входного кода.

Если установлен режим 2(режим обработки входного сигнала), то задаются начальные значения таймера-счетчика 1 и таймера-счетчика 2 и разрешаются все виды прерываний. Далее из EEPROM из 1-го байта считывается записанный ранее код и запускается первый и второй таймеры. Далее запускается цикл ожидания сигнала готовности, который передается с PD1 и PD4 через 2 минуты после запуска режима 2, при этом за отсчет времени отвечают таймер-счетчик 1, тактирование которого равно 5 секундам, и таймер-счетчик 2, работающий в асинхронном режиме, тактирование которого тоже равно 5 секундам, и тактовую частоту  которого задает внешний кварцевый резонатор, частота которого равна 32768 Гц, и после выдачи этих сигналов запускается бесконечный цикл, в котором ожидается срабатывание по внешнему сигналу, который приходит на порт B на PB2 или срабатывание по коду через 1 сутки если код равен 0x38, через 2 суток если код равен 0x08, через 3 суток если код равен 0x10 , через 4 суток если код равен 0x20 , через 5 суток если код равен 0x18 или, в случае отсутствия внешнего сигнала и кода на срабатывание, выдача сигнала срабатывания произойдет через 9 суток .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.4. Написание программы

Для микроконтроллеров существует несколько различных языков программирования, но, наиболее подходящими являются Си и ассемблер, потому что в этих языках в реализованы все необходимые возможности по управлению аппаратными средствами микроконтроллеров.

Ассемблер (assembler) - это низкоуровневый язык программирования, который использует непосредственный набор инструкций микроконтроллера. Создание программы на этом языке требует очень хорошего знания системы команд программируемого чипа и большого количества времени на разработку программы. Ассемблер проигрывает Си в скорости и удобстве разработки программ, но имеет заметные преимущества в размере конечного исполняемого кода, а следовательно, и скорости его выполнения.

Язык Си позволяет создавать программы с гораздо большим комфортом, предоставляя разработчику все преимущества языка высокого уровня.

Информация о работе Разработка программного обеспечения блока