Аппаратные средства информационных систем

Применение современных микроконтроллеров как одного из перспективных аппаратно-программных средств информационных систем. Общие принципы построения микроконтроллеров, их типовая структура. Разработка программы расчета задержек на языке ассемблер.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.04.2019
Размер файла 719,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Аппаратные средства информационных систем

1. Цель работы

Освоение и получение навыков практического применения современных микроконтроллеров как одного из перспективных аппаратно- программных средств информационных систем.

2. Задача работы

Разработка программы расчета задержек на ассемблере для PIC микроконтроллеров в среде MPLAB IDE, компиляция кода для PIC микроконтроллеров.

3. Краткие теоретические сведения

Общие принципы построения микроконтроллеров

Микроконтроллер - это электронное устройство, реализованное в виде одной микросхемы и предназначенное для управления другими элек- тронными устройствами и объектами. Иногда микроконтроллер (МК) называют однокристальным контроллером. Как всякое устройство управления, МК собирает исходную информацию, обрабатывает ее и формирует сигналы управления. Обработка входных сигналов происходит, как правило, в цифровой форме с помощью цифрового процессора - центрального процессорного устройства (ЦПУ). Помимо ЦПУ современные микроконтроллеры содержат целый арсенал встроенных цифровых и аналоговых периферийных блоков и модулей, обеспечивающих прием, передачу и обработку поступающей информации. Так, прием сигналов осуществляется с помощью специальных портов ввода-вывода. Для преобразования аналоговых сигналов в цифровую форму применяются аналого-цифровые преобразователи. Программа управления процессом обработки поступающих сигналов хранится в специальных ячейках памяти - регистрах. Временные параметры задаются тактовым генератором и набором таймеров.

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

В настоящее время выпускается целый ряд МК. Все эти приборы можно условно разделить на три основных класса:

· 8-разрядные микроконтроллеры для встраиваемых приложений;

· 16- и 32-разрядные микроконтроллеры специального применения;

· цифровые сигнальные процессоры.

Наиболее распространенным представителем семейства МК являются 8-разрядные приборы, широко используемые в промышленности, бытовой и компьютерной технике. Они прошли в своем развитии путь от простейших приборов с относительно слаборазвитой периферией до современных многофункциональных контроллеров, обеспечивающих реализацию сложных алгоритмов управления в реальном масштабе времени. Причиной жизнеспособности 8-разрядных МК является использование их для управления реальными объектами, где применяются, в основном, алгоритмы с преобладанием логических операций, скорость обработки которых практически не зависит от разрядности процессора. Росту популярности 8- разрядных МК способствует и постоянное расширение номенклатуры изделий, выпускаемых такими известными фирмами, как Intel, Microchip, Atmel, Motorola и многими другими.

Современные 8-разрядные микроконтроллеры обладают, как правило, рядом отличительных признаков:

· модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется линейка МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации;

· использование закрытой архитектуры, которая характеризуется отсутствием линий магистралей адреса и данных на выводах корпуса микроконтроллера;

· расширение числа режимов работы периферийных модулей, которые

задаются в процессе инициализации регистров специальных функций МК.

Следует отметить также наличие в МК различных производителей набора типовых функциональных периферийных модулей, таких как тай- меры, модуль прерываний, контроллеры последовательных интерфейсов, компараторы, аналого-цифровые преобразователи и др.

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

Рис.1. Типовая структура микроконтроллера

Процессорное ядро микропроцессора обычно включает в себя:

· центральный процессор;

· схему синхронизации;

· схему управления режимами МК;

· модуль прерываний;

· системную магистраль в составе шин данных и адреса.

Центральный процессор, функции которого обычно выполняет так

называемое арифметико-логическое устройство (АЛУ), предназначен для того, чтобы производить различные операции с числами. Последовательность этих операций называется программой. Каждая операция (инструкция) представляет собой определенный числовой код и записывается в память. Те числа, с которыми процессор выполняет свои операции, называются данными. Данные, так же как и программный код, записываются в память.

Память - это набор ячеек триггеров или регистров для хранения информации. Различают несколько видов памяти. Намять, называемая ПЗУ (постоянное запоминающее устройство), или ROM (read only memory), предназначена для длительного хранения информации. Информация в ПЗУ сохраняется даже при выключении и снятии напряжения питания с микроконтроллера. Память, называемая ОЗУ (оперативное запоминающее устройство), или RAM (random access memory), предназначена для временного хранения промежуточных вычислительных результатов. При выключении питания записанная в ОЗУ информация теряется.

Режим работы МК задается специальной схемой управления режимами. С точки зрения энергопотребления различают два основных режима: активный режим и режим пониженного энергопотребления.

Активный режим, в технической документации обычно называемый как Run Mode, является основным для МК. В этом режиме МК выполняет заданную рабочую программу и все его ресурсы доступны. В режиме пониженного энергопотребления, называемом также Wait Mode, центральный процессор прекращает работу, но продолжают функционировать периферийные модули, которые контролируют состояние объекта управления. При необходимости сигналы от периферийных модулей переводят МК в активный режим. Эти сигналы называются прерываниями и обрабатываются Модулем прерываний.

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

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

Любой запрос прерывания поступает на обработку, если прерывания в МК разрешены и разрешено прерывание по данному запросу. Адрес, который загружается в программный счетчик при переходе к обработке прерывания, называется "вектор прерывания".

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

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

Имеющиеся в МК таймеры применяются для формирования различных интервалов времени. Кроме того, в некоторых МК таймеры могут работать в режиме счетчика и подсчитывать поступающие на них импульсы. Для связи с внешними устройствами в МК используются порты ввода/вывода.

В зависимости от реализуемых функций различают:

· однонаправленные порты, предназначенные только для ввода или только для вывода информации;

· двунаправленные порты, направление передачи которых определяется в процессе инициализации и настройки МК;

мультиплексированные порты, отдельные линии которых используются совместно со встроенными в МК периферийными устройствами дополнительных модулей. В качестве дополнительных модулей обычно выступают компараторы, аналого-цифровые и цифро-аналоговые преобразователи и другие функциональные элементы.

В зависимости от набора и числа возможных командных кодов про- цессорное ядро современных микроконтроллеров реализуется на одном из двух принципов построения процессоров:

· процессоры сCISC-архитектурой (ComplicatedInstructionSet Computer), использующую так называемую полную систему команд;

· процессоры с RISC-архитектурой (Reduced Instruction Set Computer), использующую сокращенную систему команд.

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

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

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

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

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

Размещение специальной, часто используемой при вычислениях области буферной памяти - так называемого стека в общей памяти облегчает доступ к его содержимому. Фон-неймановская архитектура является в настоящее время основной архитектурой персональных компьютеров семейства x86.

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

Микроконтроллеры с CISC-процессорами имеют большой набор команд с развитыми возможностями адресации, давая разработчику возмож- ность выбрать наиболее подходящую команду для выполнения необходимой операции. Выборка команды на исполнение осуществляется побайтно в течение нескольких циклов работы микроконтроллера. Время выполнения команды может составлять от 1 до 12 циклов тактового генератора. В микроконтроллерах с процессорами с RISC-архитектурой набор исполняемых команд сокращен до минимума. Основная идея RISC архитектуры - это тщательный подбор комбинаций кодов операций, которые можно было бы выполнить за один такт тактового генератора. Основной выигрыш от такого подхода - резкое упрощение аппаратной реализации центрального процессора и возможность значительно повысить его производительность. Однако для реализации сложных операций приходится комбинировать разрешенные команды. При этом все команды имеют формат фиксированной длины, обычно 8, 12 или 16 бит.

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

Рис. 3. Фон-неймановская архитектура микроконтроллера между областями программ и данных, что существенно повышает гибкость системы с точки зрения разработчика программного обеспечения

Размещение специальной, часто используемой при вычислениях области буферной памяти - так называемого стека в общей памяти облегчает доступ к его содержимому. Фон-неймановская архитектура является в настоящее время основной архитектурой персональных компьютеров семейства x86.

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

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

4. Ход выполнения задания

Программирование проходило на языке ассемблера для PIC micro в среде MPLAB v7.50. При программировании микроконтроллеров в большинстве случаев используется язык ассемблер - язык программирования низкого уровня, использующий мнемонические (символьные) обозначения команд.

Задержка - это сегмент программы, который ничего не делает, но обеспечивающий временной простой в ходе выполнения программы на определенное время. Разберем классический пример, обеспечивающий задержку на 10 машинных циклов (10 мкс):

1я строчка - определяем в "шапке" адрес регистра под число.

2я - записываем число 3 в аккумулятор W.

3я - копируем из аккумулятора в Reg_1.

Это были подготовительные моменты. Далее собственно сама задержка.

4я строчка - уменьшить Reg_1 на единицу и результат сохранить Reg_1.

5я строчка - переход по метке wr на четвертую строчку.

Очевидно, что 4я и 5я строчка в цикле выполнятся 2 раза. Это значит что команды, связанные с переходами на другие команды, выполняются за 2 машинных цикла. А если нам надо обеспечить задержку не в 10 мкс, а 11 мкс, тогда достаточно в самом конце кода дописать строчку с командой NOP (пустышка), которая как и большинство команд выполняется за 1 мкс. А если нам нужна задержка для мигалки на 0,5 сек или на 1 сек, то тогда нам надо написать код, который будет занимать 500000 и, соответственно, 1000000 машинных циклов. Скачиваем программу Pause_2, которая выдаёт код по заданному количеству машинных циклов

После того, как исходный текст программы написан, его необходимо скомпилировать.

Для компиляции в MPLAB нажимаем Project -> Make (или с клавиатуры кнопку F10). После нажатия должно появиться окно следующего вида:

Рис. 4. Окно для компиляции

Если ошибок в тексте программы нет - то прогресс-полоса с процентами в этом окне зелёного цвета. Если ошибки есть - то прогресс-полоса красного цвета.

Принципиальная электрическая схема

Рассматриваемые проекты разработаны под микроконтроллер типа PIC16F84A. Это микроконтроллер с флэш-памятью (индекс F), что позволяет его гарантировать перепрограммировать 100000 раз, т.е. он не одноразовый. Этот МК нельзя назвать "навороченным", но, тем не менее, для обучения и для повторения интересных и полезных проектов его можно и нужно использовать (можно использовать PIC16F628A как совместимый, распространенный и более дешевый).

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

Эта схема нам пригодится для программирования МК под имеющиеся электрические соединения.

Рис.5. Принципиальная электрическая схема

По номиналам детали могут отличаться на +/-20%. Транзистор любой кремниевый с похожей цоколевкой и проводимостью. Кварц строго на 4 МГц. В плате могут быть использованы сопротивления любых типов, подходящих по габаритам; электролитические конденсаторы общего применения типа К50-6, К50-16 и подобные; неполярные конденсаторы типа КМ, КД, К10-17 и аналогичные. Для коммутирования могут быть использованы тактовые кнопки подходящих посадочных габаритов, например, TS-A1PS-130, TS-A6PS-130 и пр. Электромагнитный излучатель звука со встроенным генератором типа hcm1206x или аналогичный со схожими габаритами.

Рассмотрим разводку печатной платы в формате Sprint-Layout.

Рис.6. Вид со стороны печати

Рис.7. Вид со стороны элементов

Порты ввода и вывода в МК

За работу каждого порта в PIC16F84A отвечают по два регистра специального назначения (в скобках указаны соответствующие адреса этих регистров в области оперативной памяти):

Порт А

Порт Б

TRISA (h85) или (h05)

PORTA (h05)

TRISB (h86) или (h06)

PORTB (h06)

Биты в регистрах TRISA и TRISB определяют направление работы каждой ножки МК. По умолчанию все ножки работают на вход (все биты в регистрах установлены в единицу).

Рассмотрим соответствие битов в регистрах TRISA и TRISB реальным ножкам в портах МК на примере PIC16F84A.

бит

7

6

5

4

3

2

1

0

TRISA

_

_

_

RA4

3 выв.

RA3

2 выв.

RA2

1 выв.

RA1

18 выв.

RA0

17 выв

TRISB

RB7

13 выв.

RB6

12 выв.

RB5

11 выв.

RB4

10 выв.

RB3

9 выв.

RB2

8 выв.

RB1

7 выв.

RB0

6 выв.

Рис.8. порты МК на примере PIC16F84A

Разберем работу ножек на вход. В этом режиме работы мы можем программно определить наличие логических уровней сигнала на входе через регистры PORTA и PORTB. В главе 1 мы давали понятие сигнала. Напряжение на ножке близкое к 0 вольт установит соответствующий бит соответствующего порта в ноль. Наоборот, напряжение близкое к 5 вольт установит соответствующий бит соответствующего порта в единицу.

А теперь разберем работу ножек на выход. В этом режиме путем записи единицы в соответствующий бит соответствующего порта мы установим на реальной ножке единичный логический уровень или 5 вольт. И наоборот, записав ноль в соответствующий бит соответствующего порта мы установим на реальной ножке нулевой логический уровень или 0 вольт.

Текст программы

В предыдущем разделе мы получили неоценимый опыт работы с ножками порта МК.

В этом примере мы оживим работу нашего МК, попеременно устанавливая высокий и низкий уровни сигналов на одних и тех же ножках.

Рассмотрим следующую программу.

LIST P=PIC16F84A

__CONFIG H3FF1

STATUS EQU H0003

PORTB EQU H0006

TRISB EQU H0006

Reg_1 EQU H000C

Reg_2 EQU H000D

Reg_3 EQU H000E

org 0 ; начало программы

; подготовительные моменты

bsf STATUS,5 ; переход в Банк 1

clrf TRISB

bcf STATUS,5 ; переход назад в Банк 0

; установка сигналов на порту В

m1 movlw b11111111 ; запись в аккумулятор

movwf PORTB ; перенос из аккумулятора в порт

call Pause ; переход на метку (с возвратом)

clrf PORTB ; "очистка" порта

call Pause ; переход на метку (с возвратом)

goto m1 ; переход на метку (зацикливание)

;delay = 500000 machine cycles

Pause movlw .85

movwf Reg_1

movlw .138

movwf Reg_2

movlw .3

movwf Reg_3

wr decfsz Reg_1, F

goto wr

decfsz Reg_2, F

goto wr

decfsz Reg_3, F

goto wr

return

end ; конец программы

Разбор описания программы

В шапке программы появилось обозначение трех регистров общего назначения как, например, Reg_1 EQU H000C . Имена регистров выбраны по причине рациональности использования как в плане перечисления, так и в плане восприятия.

Далее следует сегмент установки сигналов на порту. Сначала устанавливается на всех ножках сигнал высокого уровня (2 команды). Затем выдерживается пауза 0,5 сек (светодиоды включены). Затем порт очищается, что приводит к установке сигналов низкого уровня. Снова пауза (светодиоды выключены). И, наконец, переход к началу, что зацикливает нашу программу.

Переход к сегменту паузы производится командой call Pause.

Сегмент паузы осуществляет задержку в программе длительностью 0,5 сек. Мы использовали программу Pause ver1.2 для создания сегмента паузы. Нами был выбран путь меньшего сопротивления.

; установка сигналов на порту В

m1 movlw b11111111 ; запись в аккумулятор

movwf PORTB ; перенос из аккумулятора в порт

call Pause1 ; переход на метку (с возвратом)

clrf PORTB ; "очистка" порта

call Pause2 ; переход на метку (с возвратом)

goto m1 ; переход на метку (зацикливание)

;delay = 500000 machine cycles

Pause1 movlw .85

movwf Reg_1

movlw .138

movwf Reg_2

movlw .3

movwf Reg_3

wr1 decfsz Reg_1, F

goto wr1

decfsz Reg_2, F

goto wr1

decfsz Reg_3, F

goto wr1

return

;delay = 1000000 machine cycles

Pause2 movlw .173

movwf Reg_1

movlw .19

movwf Reg_2

movlw .6

movwf Reg_3

wr2 decfsz Reg_1, F

goto wr2

decfsz Reg_2, F

goto wr2

decfsz Reg_3, F

goto wr2

return

Здесь два сегмента паузы помеченные метками Pause1 и Pause2. Для правильности работы сегментов метки wr в соответствующих сегментах паузы переименованы в wr1 и wr2.

Рис. 9. Окно исходного текста программы среды разработки в MPLAB IDE v 7.50

Заключение

микроконтроллер информационный программа расчет

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

Размещено на Allbest.ru


Подобные документы

  • Описание функциональных блоков микрокомпьютера. Основы построения программных средств. Принципы соединения аппаратных средств микропроцессорных систем. Разработка электрической принципиальной схемы и программы функционирования на языке Ассемблер.

    курсовая работа [176,8 K], добавлен 12.01.2015

  • Применение и развитие измерительной техники. Сущность, значение и классификация информационных измерительных систем, их функции и признаки. Характеристика общих принципов их построения и использования. Основные этапы создания измерительных систем.

    реферат [25,9 K], добавлен 19.02.2011

  • Понятие CASE-средств как программных средств, которые поддерживают процессы создания и сопровождения информационных систем (ИС). Особенности IDEF-технологии разработки ИС. Описание нотации IDEF0. Разработка функциональных моделей бизнес-процесса.

    презентация [399,8 K], добавлен 07.04.2013

  • Задачи информационных потоков в логистике. Виды и принципы построения, структура и элементы информационных логистических систем, основные требования к ним. Рекомендации по созданию, внедрению и режиму работы информационных систем в сфере логистики.

    реферат [25,9 K], добавлен 14.01.2011

  • Общие принципы построения и основные этапы проектирования корпоративной информационной системы. Архитектура и требования, предъявляемые к системе. Метод функционального моделирования SADT. Основные средства языка UML. Аппаратно-программная платформа.

    дипломная работа [867,2 K], добавлен 20.05.2015

  • Составляющие информационных систем: определение, соотношение, изменчивость, выбор подхода к проектированию. Принципы построения корпоративных систем. Обзор технических решений для построения локальных вычислительных систем. Схемы информационных потоков.

    курсовая работа [571,6 K], добавлен 16.10.2012

  • Методология структурного анализа и проектирования информационных систем. Базовый стандарт процессов жизненного цикла программного обеспечения. Цели и принципы формирования профилей информационных систем. Разработка идеальной модели бизнес-процессов.

    презентация [152,1 K], добавлен 07.12.2013

  • Эволюция технического обеспечения. Основные требования, применение и характеристики современных технических средств автоматизированных информационных систем. Комплексные технологии обработки и хранения информации. Создание базы данных учета и продажи.

    курсовая работа [127,1 K], добавлен 01.12.2010

  • Структурные подразделения и отделы организации, ее технические программные средства. Разработка приложений обработки данных на ассемблере, языке программирования высокого уровня. Тестирование и оптимизация программных модулей. Разработка документации.

    отчет по практике [175,0 K], добавлен 30.09.2022

  • Жизненный цикл информационных систем, методологии и технологии их проектирования. Уровень целеполагания и задач организации, классификация информационных систем. Стандарты кодирования, ошибки программирования. Уровни тестирования информационных систем.

    презентация [490,2 K], добавлен 29.01.2023

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.