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

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

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

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

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

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

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

- последовательный синхронно-асинхронный  приемопередатчик UART;

 

Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter (UART)) — узел вычислительных устройств, предназначенный для связи с другими цифровыми устройствами. Преобразует заданный набор данных в последовательный вид так, чтобы было возможно передать их по однопроводной цифровой линии другому аналогичному устройству. При этом интервалы времени между передаваемыми блоками данных не являются постоянными: блоки данных выделяются с помощью стартовых и стоповых битов (Асинхронная передача данных). Метод преобразования хорошо стандартизован и широко применялся в компьютерной технике.

- двухпроводной последовательный  интерфейс TWI;

- 16-разрядный таймер/счетчик;

- два 8-разрядных таймера/счетчика;

- 8-разрядный сторожевой  таймер;

- 8-канальный 10-разрядный  аналого-цифровой преобразователь;

- аналоговый компаратор;

- 4-канальный ШИМ;

- четыре 8-разрядных порта  ввода-вывода;

- режимы холостого хода IDLE и хранения POWERDOWN.

Рис. 1

 

1.3.4. Функциональное описание ИС 1887ВЕ1У

Микроконтроллер 1887ВЕ1У содержит 8 Kбайт внутрисистемной программируемой флэш-памяти с возможностью считывания во время записи, ЭСППЗУ емкостью 512 байт, 512 байт СОЗУ, 32 линии ввода-вывода общего назначения, 32 рабочих регистра общего назначения, три гибких таймера/счетчика с режимами сравнения, внутренние и внешние прерывания, последовательный программируемый универсальный синхронноасинхронный последовательный порт UART, побайтно ориентированный двухпроводной последовательный интерфейс, 8-канальный 10-разрядный АЦП с дополнительным дифференциальным входным каскадом с программируемым усилением. Микроконтроллер имеет также программируемый сторожевой таймер с внутренним генератором, последовательный периферийный интерфейс SPI и шесть энергосберегающих режимов (sleep), выбираемых программно. Режим холостого хода останавливает ЦПУ, в то время как СОЗУ, таймеры/счетчики, SPI интерфейс и система прерывания продолжают работать. Режим

микропотребления сохраняет содержимое регистров, но приостанавливает генератор, отключая все остальные функции кристалла до наступления следующего прерывания или общего сброса. В режиме хранения продолжает работать асинхронный таймер, в то время как остальная часть устройства находится в спящем режиме. Режим пониженного шума АЦП останавливает ЦПУ и все периферийные модули для того, чтобы свести к минимуму

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

Прибор изготавливается с использованием технологии по производству нестираемой памяти с высокой плотностью упаковки. Встроенная в кристалл флэш-память с внутрисистемным программированием позволяет перепрограммировать память с помощью последовательного SPI интерфейса или же с помощью также встроенной в кристалл памяти загрузки. Программа загрузки может использовать любой интерфейс для загрузки прикладных программ в флэш-память. Программное обеспечение (ПО) в секции загрузки

флэш-памяти будет продолжать работать во время обновления секции приложений флэш-памяти, благодаря чему обеспечивается реальное считывание во время записи. Благодаря объединению 8-разрядного RISC ЦПУ со встроенной самопрограммируемой флэш-памятью на одном кристалле, контроллер 1887ВЕ1У является маломощным микроконтроллером, обеспечивающим чрезвычайно гибкое и экономичное решение для многих видов применения систем встроенного управления.

ИС 1887ВЕ1У поддерживает полный набор программ и средств системной разработки, включая С-компиляторы, макроассемблеры, средства отладки и моделирования, внутрисхемные эмуляторы и оценочные комплекты.

 

1.3.5.Ядро микроконтроллера

Рис. 2

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

каждый тактовый цикл. Память программ представляет собой внутрипроцессорную перепрограммируемую флэш-память. Регистр файлов с ускоренным доступом содержит 32 8-разрядных рабочих регистра общего назначения с единым временем доступа за тактовый цикл. Это позволяет обеспечить работу АЛУ за один цикл. В типичном режиме работы АЛУ из файла регистра берутся два операнда, выполняется операция, и результат опять сохраняется в файле регистра; все это выполняется за один тактовый цикл.

Шесть из 32 регистров могут использоваться как три 16-разрядных указателя адреса регистра для адресации пространства данных, позволяя обеспечить эффективные вычисления адресов. Один из этих указателей адреса может быть также использован как указатель адреса для таблиц просмотра (look up tables) во флэш-памяти программ. Эти дополнительные регистры функций являются 16-разрядными X-, Y- и Z-регистрами, описанными далее в этом подразделе. АЛУ поддерживает арифметические и логические операции между регистрами или между константой и регистром. АЛУ может выполнить одну операцию с регистром. После арифметической операции регистр состояния обновляется для вывода информации о результатах операции. Поток программы управляется условными и безусловными переходами и командами вызова, которые способны обеспечить непосредственную адресацию ко всему адресному пространству. Большинство команд имеют единый 16-разрядный формат слова. Каждый

адрес программы памяти содержит 16- или 32-разрядную команду.

Пространство флэш-памяти программ разделено на две секции: секцию программы загрузки и секцию прикладной программы. Обе секции имеют специальные блокирующие разряды для защиты записи и считывания/записи. Команда SPM, которая осуществляет запись в секцию флэш-памяти прикладных программ, должна находиться в секции программы загрузки.

Во время запросов на прерывание и исполнение подпрограмм, обратный адрес счетчика программ PC хранится в стеке. Стек расположен в СОЗУ общих данных, его размер ограничен только общим объемом СОЗУ и характером использования СОЗУ. Все программы пользователя должны инициализировать SP во время процедуры сброса (до исполнения подпрограмм или прерываний). Указатель стека SP доступен для считывания/записи в пространстве ввода-вывода. СОЗУ данных легко доступно с помощью пяти различных режимов адресации, поддерживаемых архитектурой микроконтроллера. Гибкий модуль прерывания имеет собственные регистры управления в пространстве ввода-вывода с дополнительным разрядом разрешения общего прерывания в регистре со-

стояния. Все прерывания имеют отдельный вектор прерывания в таблице вектора прерывания. Прерывания имеют приоритет в зависимости от положения их вектора. Чем ниже адрес вектора прерывания, тем выше приоритет.

Пространство памяти ввода-вывода содержит 64 адреса для регистров периферийных компонентов микроконтроллера. Доступ к памяти ввода-вывода может осуществляться напрямую или адресацией пространства данных, следующих за аналогичными адресами файла регистров, 0x20 – 0x5F.

 

Для программирования данного микроконтроллера требуется программатор и программное обеспечение, произведенные Аргуссофт Компани.  

 

1.4.Сброс и обработка прерываний

ИС 1887ВЕ1У содержит несколько различных источников прерывания. Каждое из этих прерываний и отдельный вектор сброса имеют отдельный программный вектор в пространстве памяти программ. Все прерывания имеют свои отдельные разряды разрешения, которые должны быть установлены вместе с установкой разряда разрешения глобального прерывания в регистре состояний для того, чтобы разрешить прерывание. В зависимости от значения программного счетчика, прерывания могут быть автоматически запрещены, когда программируются биты блокировки BLB02 или BLB12. Подобная особенность повышает безопасность программного обеспечения. Для получения подробной информации см. подраздел 3.20 «Программирование памяти». Младшие адреса в пространстве памяти программ, по умолчанию, определены как векторы сброса и прерывания. Перечень прерываний устанавливает также уровень приоритетов для различных прерываний. Чем ниже адрес, тем выше уровень приоритета.

Сброс имеет наивысший приоритет, а следующим является INT0 – запрос 0 внешнего прерывания. Векторы прерывания могут быть перемещены в начало секции загрузки флэш-памяти путем установки разряда IVSEL в регистре управления общим прерыванием (GICR). Для подробного рассмотрения вопроса по «прерываниям» см. соответствующий подраздел. Вектор сброса может быть также перемещен в начало секции загрузки

флэш-памяти с помощью программирования бита BOOTRST.

При возникновении прерывания бит I разрешения глобального прерывания очищается и все прерывания блокируются. Пользовательское ПО может записывать логическую единицу в бит I для разрешения вложенных прерываний. Все разрешенные прерывания могут прерывать текущее прерывание. Разряд I устанавливается автоматически при исполнении возврата из команды прерывания RETI. Существует два основных типа прерываний. Первый тип запускается событием, которое устанавливает флаг прерывания. Для этого типа прерываний программный счетчик переходит на вектор прерываний для исполнения подпрограммы обработки прерываниями, при этом аппаратно очищается соответствующий флаг прерывания. Флаги прерывания могут также очищаться путем записи логической единицы в позицию разряда соответствующего флага. Если возникает условие прерывания в то время, как соответствующий разряд прерывания сброшен, флаг прерывания будет установлен и запомнен до разрешения прерывания или он будет сброшен программным способом. Подобным образом, если

возникает одно или несколько условий прерывания при сброшенном разряде глобального разрешения прерывания I, соответствующий флаг(и) будет установлен и внесен в память до тех пор, пока установится I, а затем будет выполнена обработка прерываний в порядке приоритета. Второй тип прерываний будет запущен как только возникнет условие прерывания. Эти прерывания не обязательно должны иметь флаги прерывания. Если условие прерывания исчезает до разрешения прерывания, то прерывание не будет запущено. После выхода из прерывания микропроцессор всегда возвращается к основной программе и исполняет еще одну команду до обслуживания любого ждущего прерывания. Обратите внимание на то, что регистр статуса не сохраняется автоматически при возврате из процедуры прерывания. Это должно выполняться программно. При использовании команды CLI для блокировки прерывания, прерывания будут немедленно блокированы. Ни одно прерывание не будет выполняться после команды CLI, даже если оно происходит одновременно с командой CLI. Следующий пример показывает, как это может быть использовано для того, чтобы избежать прерываний во время запланированной последовательности записи ЭСППЗУ.

 

1.5.Описание внутрисхемного программатора AS-4

Рис. 3

Программаторы работают со следующими микросхемами:

- AT89S2051/4051/51/52/53/8252/8253 AT86RF401

- ATtiny13/2x/4x/8x, AT90CAN32/64/128, AT90PWM2/3, AT90USB82/162/64x/128x

- ATmega48/8x/16x/32x/64x/128x/256x

- AT25256, AT25HP256, AT25HP512

- AT45DB041, AT45DB081, AT45DB161, AT45DB321, AT45DB642

 

Тип интерфейса : USB

Скорость обмена : 19,2/115,2/921,6 Кбод

Потребляемый ток : не более 30 мА при напряжении 5 В

Напряжение питания : 3,3 …5,0 В

Питающее напряжение на программаторы подается от программируемой платы.

Программаторы комплектуется программой ASISP, предназначенной для программирования микроконтроллера, разработанной в АРГУССОФТ Компани.

Программа ASISP функционирует в среде Windows 2000/XP/7, поддерживает русскоязычный и англоязычный интерфейс и имеет следующие возможности:

- выбор номера используемого порта (COM1…COM255)

- последовательная загрузка двух HEX-файлов по различным адресам

- последовательная загрузка двух EEP-файлов по различным адресам

- просмотра и редактирование содержимого памяти программ и данных

- чтение сигнатуры программируемой микросхемы

- чтение калибровочных байтов микросхемы

- быстрый доступ к операциям чтения/записи/верификации/стирания ПЗУ и ЭСПЗУ

- быстрая загрузка файлов в форматах .HEX .BIN и .EEP

- выбор скорости обмена с компьютером (19,2, 115,2 или 921,6 Кбод)

- выбор алгоритма программирования (стандартный и ускоренный)

- выбор периода SCK в диапазоне от 0,25 мкс. до 150 мкс.

- выбор длительности импульса RESET в диапазоне от 20 мс. до 1000 мс.

- программирование битов защиты и FUSE-битов

- запись в ПЗУ и/или в ЭСПЗУ микросхемы серийного номера изделия с автоинкрементом

- режим автоматического программирования в соответствии с установками в файле проекта

 

На скриншоте изображена работа программы ASISP, где наглядно видно, что записано в микроконтроллер (содержание флеш-памяти вверху, содержание EEPROM внизу)

Рис. 4

Рис. 5

 

1.6. Описание сред и возможностей  программирования микроконтроллеров

Программирование микроконтроллеров обычно осуществляется на языке ассемблера или Си, хотя существуют компиляторы для других языков, например, Форта. Программирование осуществляется либо с помощью программатора, как в нашем случае, но контроллер может прошиваться и с помощью отладочной платы, с возможностью подключения определенного вида контроллеров. Используются также встроенные интерпретаторы Бейсика.

 Известные компиляторы  Си для МК:

 — GNU Compiler Collection - Поддерживает ARM, AVR, MSP430 и многие другие архитектуры

— CodeVisionAVR (для AVR)

— IAR (для любых МК)

— WinAVR (для AVR и AVR32)

— Keil (для архитектуры 8051 и ARM)

— HiTECH (для архитектуры 8051 и PIC от Microchip)

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