Главная страница
Навигация по странице:

  • Практическая работа №79. Программные модели аппаратных средств микропроцессорных систем (логические схемы). Цель работы

  • Теоретические сведения.

  • Практическая работа №80. Программные модели аппаратных средств микропроцессорных систем (формирователи импульсов). Цель работы

  • Практическая работа №81. Программные модели аппаратных средств микропроцессорных систем (схемы с памятью). Цель работы

  • УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ Рекомендуемая литература Основные источники

  • Дополнительные источники

  • Методические указания для практических занятий по дисциплине мдк. 02. 01


    Скачать 7.37 Mb.
    НазваниеМетодические указания для практических занятий по дисциплине мдк. 02. 01
    Дата09.09.2022
    Размер7.37 Mb.
    Формат файлаpdf
    Имя файлаMetod_Mikroprocessornye-sistemy_PZ_09.02.01_2020.pdf
    ТипМетодические указания
    #669073
    страница43 из 43
    1   ...   35   36   37   38   39   40   41   42   43
    Практическая часть.
    Перед началом выполнения практической части необходимо ознакомиться с лабораторной установкой на базе платы Freescale и программным обеспечением CodeWarrior. В данной практической работе мы рассмотрим основные особенности формирования исходного текста программы с прерываниями на Си. При программировании на Си Вы должны обязательно реализовать следующие этапы записи исходного текста:
    1. При написании программы обработки прерывания на Си, имя подпрограммы обработки прерывания должно быть объявлено с использованием специальной директивы препроцессора.
    #pragma interrupt_handler 28 В поле следует записать имя подпрограммы прерывания, которое
    Вы будете далее использовать в тексте программы. Приведенная запись информирует компилятор о том, что функция с названным именем является подпрограммой прерывания.
    2. Далее по тексту подпрограмма прерывания оформляется как обычная функция.
    Компилятор в процессе перевода исходного текста этой функции на Си в инструкции ассемблера автоматически подставит в конце подпрограммы команду возврата из прерывания RTI, потому что эта функция была объявлена подпрограммой прерывания (директива #pragma на этапе 1).
    3. Для правильного функционирования МК в процессе прерывания необходимо инициализировать указатель стека. Его значение должно быть равно старшему адресу области оперативной памяти МК, увеличенному на единицу. Поскольку диапазоны памяти пользователя
    (как постоянной, так и оперативной) являются необходимыми установками в конфигурации компилятора, то функция инициализации указателя стека выполняется компилятором автоматически. Поэтому программист не должен записывать какой либо текст в программе для инициализации указателя стека. Зато следует проверить карту памяти в установках компилятора, которая обязательно должна совпадать с реальной проектируемой системой.
    4. Подсистема прерывания будет функционировать корректно, если для нее сформирована таблица векторов прерывания. Мы уже обсуждали, что таблица векторов прерывания в МК B32 находится в области Flash памяти, которая защищена от перезаписи информации. Для того, чтобы пользователь имел возможность записать собственную таблицу векторов сброса и прерывания, в эту нестираемую область памяти записаны фиксированные вектора, которые передают управление по известным адресам в области перезаписываемой EEPROM памяти. По этим адресам программист должен вписать команду безусловного перехода JMP с адресом соответствующей подпрограммы обработки прерывания.
    5. Каждый маскируемый источник запроса на прерывание должен быть разрешен установкой соответствующего бита в регистре управления периферийного модуля. Мы рассмотрим, как это записать на Си в последующих примерах.
    6. После установки всех индивидуальных битов на разрешение прерывания, необходимо сбросить глобальную маску прерывания I. На ассемблере для этого используют команду CLI.
    При программировании на Си мы также воспользуемся этой командой, посредством следующих макросов:

    348
    Далее по тексту программы, если необходимо разрешить прерывания, то следует ввести
    CLI ( ).
    Контрольные вопросы
    1) Последовательность действий МК при выполнении исполняемой программы.
    2) Состояния сброса МК.
    3) Состояния прерывания МК.
    4) Маскируемые и немаскируемые прерывания.
    5) Вектора исключений.
    6) Система приоритета для исключений.
    7) Регистры подсистемы прерывания.
    8) Процесс перехода к системе прерывания.
    9) Программная реализация систем сброса.
    10) Программная реализация систем прерывания.
    Практическая работа №79. Программные модели аппаратных средств
    микропроцессорных систем (логические схемы).
    Цель работы: определение состава аппаратуры и программного обеспечения типовой микропроцессорной системы.
    Теоретические сведения.
    В настоящее время все вычислительные средства любого уровня строятся с использованием элементной базы одного типа – больших и сверхбольших интегральных схем
    (БИС и СБИС). Архитектурные особенности и мощное аппаратное обеспечение ПК типа IBM PC позволяет использовать такие ЭВМ в качестве управляющих или в качестве контроллеров в автоматических системах и под- системах, несмотря на концептуальную неприспособленность
    ЭВМ с «изолированной шиной» для управления объектами. Высокое быстродействие аппаратуры ПК и использование однозадачной операционной системы, например, MS DOS, обеспечивает малое время реакции всей вычислительной системы на события во внешней среде.
    Запросы прерываний и их восприятие и обработка являются единственными средствами взаимодействия управляющих ЭВМ и объектов управления во внешней, по отношению к ядру
    ЭВМ, среде. Малое время реакции на запросы прерываний, формирующихся по событиям во внешней среде, является единственным критерием выбора операционных систем (ОС) для работы в реальном времени (ОС РВ). По этому критерию ни одна из современных многозадачных ОС не может конкурировать с MS DOS. При включении электропитания ПК сначала выполняется программа само- тестирования POST, по результатам работы которой заполняется область дан- ных BIOS в оперативной памяти ЭВМ. Размещение в памяти разнообразных данных, описывающих аппаратуру и программное обеспечение ЭВМ, выполня- ется стандартным образом для всех поколений ПК.
    Практическая часть.
    Программа, текст которой содержит Листинг 1, копирует в оперативную память содержимое некоторых элементов области данных BIOS и интерпретирует их в форме, доступной для восприятия человеком- оператором. Кроме того, для определения аппаратной

    349
    конфигурации ПК ис- пользуются некоторые службы BIOS и DOS. Программа обращается к системной области памяти, что для непривилегированных пользователей запрещено в ОС
    Windows 2000/XP.

    350

    351

    352

    353

    354

    355 1. В интегрированной среде программирования (IDE) BorlandC++ вер.3.1 набрать текст программы, который содержит Листинг 1. По желанию студента текст программы можно модифицировать в соответствии с индивидуальным стилем программирования.
    2. В тексте программы операторы подробно прокомментировать.
    3. Выполнить трансляцию и отладку программы.
    4. Выйти из IDE в ОС и выполнить программу.
    5. Зафиксировать результаты выполнения программы для представления в отчёт по лабораторной работе.
    Содержание отчёта
    Отчёт должен содержать подробно прокомментированный листинг программы ревизии системных ресурсов ПК, описание результатов работы программы и выводы по результатам исследования.
    Практическая работа №80. Программные модели аппаратных средств
    микропроцессорных систем (формирователи импульсов).
    Цель работы: изучение способов обращения к специализированным внешним устройствам микропроцессорных систем (МПС), определение и анализ со держимого внешнего запоминающего устройства (ВЗУ) ПК – NVRAM (NonVolatile RAM) или CMOS памяти.
    Теоретическая часть.
    Термин CMOS описывает технологию производства микросхемы часов реального времени (RTC – Real-Time Clock) и некоторого количества ячеек памяти в её составе.
    Микросхема часов реального времени изготавливается по технологии КМДП (CMOS), когда элементной базой БИС являются экономичные по потребляемой от источника электропитания мощности комплимен- тарные логические элементы структуры «металл-диэлектрик-

    356
    полупроподник». Необходимость включения CMOS памяти в состав аппаратуры ПК крайне сомнительна и её наличие можно отнести к странностям архитектуры ПК типа IBM PC. При включении электропитания ПК сначала выполняется программа самотестирования POST, по результатам работы которой заполняется область данных BIOS в оперативной памяти ЭВМ.
    Внешнее ЗУ (NVRAM) также хранит некоторые данные, описывающие текущую конфигурацию ПК. Обычно эти данные дублируют содержимое области данных BIOS, но иногда эти данные вносятся в NVRAM оператором вручную. Размещение в памяти и внешнем ЗУ разнообразных данных, описывающих аппаратуру и программное обеспечение ЭВМ, выполняется стандартным образом для всех поколений ПК.
    Практическая часть.
    Программа, текст которой содержит Листинг 2, копирует в оперативную память содержимое первых 64 ячеек внешнего ЗУ и интерпретирует их в форме, доступной для восприятия человеком-оператором. Програм ма обращается к ячейкам внешнего ЗУ, используя метод регистровой косвенной адресации. В регистр внешнего устройства с адресом 0х70 заносится адрес реги- стра (ячейки памяти ВЗУ), к которому нужно обратиться, а затем после некоторой задержки считывается содержимое этого регистра по адресу 0х71. По странной случайности из ВЗУ можно таким способом считать закодированный пароль входа в программу
    BIOS Setup, задавая адреса восьми ячеек выше адреса 0х77. Кроме того, программа записывает содержимое первых 64 регистров ВЗУ в текстовый файл на магнитном диске.

    357

    358 1. В интегрированной среде программирования (IDE) BorlandC++ вер.3.1 набрать текст программы, который содержит Листинг 2. По желанию студента текст программы можно модифицировать в соответствии с индивидуальным стилем программирования.
    2. В тексте программы операторы подробно прокомментировать.
    3. Выполнить трансляцию и отладку программы.
    4. Выйти из IDE в ОС и выполнить программу.
    5. Зафиксировать результаты выполнения программы для представления в отчёт по лабораторной работе.
    Содержание отчёта
    Отчёт должен содержать подробно прокомментированный листинг программы анализа энергонезависимой внешней памяти ПК, описание результатов работы программы и выводы по результатам исследования.

    359
    Практическая работа №81. Программные модели аппаратных средств
    микропроцессорных систем (схемы с памятью).
    Цель работы: изучение способов обращения и структуры специализированных внешних устройств микропроцессорных систем (МПС).
    Теоретическая часть.
    Любой ПК типа IBM PC содержит устройство, называемое системным таймером. Адреса всех регистров таймера 8254 (К1810ВИ54) размещены в адресном пространстве внешних устройств, а его выходные сигналы используются в качестве управляющих в некоторых узлах системы. Микросхема таймера содержит три однотипных узла – каналы 0, 1 и 2. Выходной сигнал канала 0 подаётся на линию номер 0 запроса прерываний системного контроллера прерываний.
    Системный контроллер прерываний состоит из двух каскадно включенных микросхем
    8259 (К1810ВН59) и на вход запроса на прерывания IRQ0 и подаётся выходной сигнал канала 0 системного таймера. Системный контроллер преры- ваний инициализируется при включении ПК программой POST и вырабатывает прерывание INT 8h приблизительно 18,2 раза в секунду
    (точное значение - 1193180/65536 раз в секунду), что определяется инициализацией микросхемы системного таймера. При инициализации системы ПК BIOS устанавливает свой обработчик для прерывания таймера. Этот обработчик каждый раз увеличивает на 1 текущее значение четырехбайтовой переменной, располагающейся в области данных BIOS по адресу 0000:046Ch – счетчик тиков таймера. Если этот счетчик пере- полняется (прошло более 24 часов с момента запуска таймера), в ячейку 0000:0470h заносится 1.
    Другое действие, выполняемое стандартным обработчиком прерывания таймера – контроль за работой двигателей накопителя на гибком магнитном диске (НГМД). Если после последнего обращения к НГМД прошло более 2 секунд, обработчик прерывания выключает двигатель. Ячейка с адресом 0000:0440h содержит время, оставшееся до выключения двигателя.
    Это время постоянно уменьшается обработчиком прерывания таймера. Когда оно становится равно 0, обработчик выключает двигатель НГМД. Последнее действие, которое выполняет обработчик прерывания таймера – вызов прерывания INT 1Ch. После инициализации системы вектор INT 1Ch указывает на команду IRET, т.е. ничего не выполняется. Программа пользователя может установить собственный обработчик этого прерывания для того чтобы выполнять какие-либо периодические действия. Необходимо отметить, что прерывание INT 1Ch вызывается обработчиком прерывания INT 8h до сброса контроллера прерывания, поэтому во время вы- полнения прерывания INT 1Ch все аппаратные прерывания запрещены. В частности, запрещены прерывания от клавиатуры. Обработчик прерывания INT 1Ch должен заканчиваться командой IRET. Если же вы подготавливаете собственный обработчик для прерывания INT 8h, пе- ред завершением его работы необходимо сбросить контроллер прерываний. Это можно сделать, например, так: 16 mov al, 20h out 20h, al Таймеры 8253 (КР1810ВИ53) и 8254
    (КР1810ВИ54) состоят из трёх независимых каналов, или счётчиков. Каждый канал содержит регистры:
    ♦состояния канала RS (8 разрядов);
    ♦управляющего слова RSW (8 разрядов);
    ♦буферный регистр OL (16 разрядов);
    ♦регистр счетчика CE (16 разрядов);
    ♦регистр констант пересчета CR (16 разрядов).
    Каналы таймера подключаются к внешним устройствам при помощи трёх линий:
    ♦GATE – управляющий вход;
    ♦CLOCK – вход тактовой частоты;
    ♦OUT – выход таймера.
    Регистр счётчика CE работает в режиме вычитания. Его содержимое уменьшается по заднему фронту сигнала CLOCK при условии, что на входе GATE установлен уровень лог. 1. В зависимости от режима работы таймера при достижении счётчиком CE нуля тем или иным образом изменяется выходной сигнал OUT. Буферный регистр OL предназначен для запоминания текущего содержимого регистра счётчика CE без остановки процесса счёта. После

    360
    запоминания буфер- ный регистр доступен программе для чтения. Регистр констант пересчёта
    CR может загружаться в регистр счётчика, если это требуется в текущем режиме работы таймера. Упрощенная схема взаимодействия регистров канала приведена на рис. 3.1.
    Возможны шесть режимов работы таймера. Они разделяются на три типа:
    ♦ режимы 0, 4 – однократное выполнение функций;
    ♦ режимы 1, 5 – работа с перезапуском;
    ♦ режимы 2, 3 – работа с автозагрузкой.
    В режиме однократного выполнения функций перед началом счёта содержимое регистра констант пересчёта CR переписывается в регистр счётчика CE по сигналу CLOCK, если сигнал
    GATE установлен в лог. 1. В дальнейшем содержимое регистра CE уменьшается по мере прихода импульсов CLOCK. Процесс счёта можно приостановить, если подать на вход GATE уровень логического 0. Если затем на вход GATE подать лог. 1, счёт будет продолжен дальше.
    Для CR CE OL Управляющая логика канала GATE CLOCK OUT повторения выполнения функции необходима новая загрузка регистра CR, т.е. повторное программирование таймера.
    При работе с перезапуском не требуется повторного программирования таймера для выполнения той же функции. По фронту сигнала GATE значение константы из регистра CR вновь переписывается в регистр CE, даже если текущая операция не была завершена. В режиме автозагрузки регистр CR автоматически переписывается в регистр CE после завершения счёта.
    Сигнал на выходе OUT появляется только при на- личии на входе GATE уровня лог. 1. Этот режим используется для создания программируемых импульсных генераторов и генераторов прямоугольных им- пульсов, например, со скважностью 2 (меандра).
    В ПК типа IBM PC задействованы все три канала таймера и при включении ПК программа POST инициализирует их. Канал 0 используется в системных часах времени суток (не следует путать с часами реального времени, реализованными на другой микросхеме). Этот канал работает в режиме 3 и используется как генератор импульсов с частотой при- мерно 18,2 Гц.
    Именно эти импульсы (тики) вызывают аппаратное прерывание с вектором 8h (INT 8h).
    Канал 1 используется для регенерации содержимого динамической памяти компьютера.
    Выход канала OUT используется для запроса к каналу прямого доступа контроллера DMA, который и выполняет обновление содержимого памяти. Пользователю не следует перепрограммировать этот канал, так как это может привести к нарушениям в работе основной оперативной памяти персо- нального компьютера.
    Канал 2 подключен к громкоговорителю компьютера и может быть использован для генерации различных звуков или музыки, либо как генератор случайных чисел. Канал использует режим 3 таймера 8253/8254. Регистрам таймера соответствуют четыре порта ввода/вывода со следующими адресами в адресном пространстве внешних устройств ПК:
    ♦ 40h – канал 0;
    ♦ 41h – канал 1;
    ♦ 42h – канал 2;
    ♦ 43h – управляющий регистр.
    Формат управляющего регистра приведён на рисунке ниже. Поле BCD определяет формат константы, использующейся для счёта – двоичный или двоично-десятичный. В двоично- десятичном режиме константа задаётся в диапазоне 1–9999. Поле M определяет режимы работы микросхемы 8254:
    ♦ 0 – прерывание от таймера;
    ♦ 1 – программируемый ждущий мультивибратор;
    ♦ 2 – программируемый генератор импульсов;
    ♦ 3 – генератор меандра;

    361
    ♦ 4 – программно-запускаемый одновибратор;
    ♦ 5 – аппаратно-запускаемый одновибратор.
    В ПК в каналах 0 и 2 используется режим 3. Поле RW определяет способ загрузки констант через однобайтовый порт. Если в этом поле задано значение 00, это управляющее слово будет использоваться для фиксации текущего содержимого регистров счетчика CE в буферном регистре OL с целью чтения программой. Это код команды CLC – фиксация регистров. Код канала, для которого будет выполняться фиксация, должен быть указан в поле SC. Поля M и
    BCD при этом не используются. Поле SC определяет номер канала, для которого предназначено управляю- щее слово. Если в этом поле задано значение 11, будет выполняться чтение со- стояния канала (команда RBC). Формат управляющей команды RBC (чтение слова состояния канала) представлен на следующем рисунке:
    С помощью этой команды выполняется операция чтения состояния каналов и запоминание регистра счётчика CE каналов. Можно выполнять эти операции, как для отдельных каналов, так и для всех каналов одновременно, если устано- вить соответствующие биты (1, 2, 3) в 1. Формат слова состояния канала напоминает формат регистра управляющего слова, за исключением двух старших разрядов 7 и 6:

    362
    Разряд FN используется, в основном, в режимах 1 и 5 для определения, произошла ли загрузка константы из регистра CR в регистр счётчика CE. Разряд OUT позволяет определить состояние выходной линии канала OUT в момент выполнения команды RBC. Для программирования канала таймера необходимо выполнить следующую последовательность действий:
    ♦ вывести в порт управляющего регистра с адресом 43h управляющее слово;
    ♦ требуемое значение счетчика посылается в порт канала (адреса 40h...42h), причём вначале выводится младший, а затем старший байты значения счётчика. Сразу после этого канал таймера начнёт выполнять требуемую функцию.
    Для чтения текущего содержимого счётчика CE необходимо выполнить следующее:
    ♦ вывести в порт управляющего регистра код команды CLC (команда запо- минания содержимого регистра CE);
    ♦ вывести в порт управляющего регистра код команды запроса на чте- ние/запись в регистры канала (поле RW должно содержать 11);
    ♦ двумя последовательными командами ввода из порта нужного канала вве- сти младший и старший байты текущего состояния счетчика CE.
    Перепрограммирование каналов таймера выполняется тогда, когда требуется повысить, например, точность измерения времени, выполняемого с помощью канала 0 таймера. При инициализации таймера частота этих импульсов устанавливается равной 18,2 Гц. По окончании измерений режим работы канала необходимо восстановить для правильного функционирования всей микропроцессорной системы.
    Канал 2, подключенный к громкоговорителю, может использоваться для генерации различных звуков или даже для воспроизведения музыки. Этот же канал может быть использован для генерации случайных чисел. Описание работы. Таймер является неотъемлемой частью вычислительной микропроцессорной системы – персонального компьютера типа IBM PC и для управления им и его использования для управления вычислительной системой в составе системного программного обеспечения предусмотрены специальные программы. В Листинге 3 приведен текст пользовательской программы, с по- мощью которой выполняется управление каналами таймера с целью задания временных интервалов и частот для генерируемого каналом 2 звукового сигна- ла.

    363
    Практическая часть.
    1. В интегрированной среде программирования (IDE) BorlandC++ вер.3.1 набрать текст программы, который содержит Листинг 3. По желанию студента текст программы можно модифицировать в соответствии с индивидуальным стилем программирования.
    2. В тексте программы операторы подробно прокомментировать.
    3. Выполнить трансляцию и отладку программы.
    4. Выйти из IDE в ОС и выполнить программу.
    5. Зафиксировать результаты выполнения программы для представления в отчёт по работе. Обратить внимание на случайный характер последовательности чисел, считанных как текущее содержимое регистров счётчиков.
    Содержание отчёта

    364
    Отчёт должен содержать подробно прокомментированный листинг програм- мы управления системным таймером ПК, описание результатов работы про- граммы и выводы по результатам исследования.
    УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ
    ДИСЦИПЛИНЫ
    Рекомендуемая литература
    Основные источники:
    1. Микропроцессорные системы [Электронный ресурс] : учебное пособие для вузов / Е.К.
    Александров [и др.]. — Электрон. текстовые данные. — СПб. : Политехника, 2016. — 936 c. —
    978-5-7325-1098-0. — Режим доступа: http://www.iprbookshop.ru/59491.html
    2. Алиев, М.Т. Микропроцессоры и микропроцессорные системы управления. 8- разрядные процессоры семейства AVR: лабораторный практикум : учебное пособие / М.Т.
    Алиев, Т.С. Буканова. — Йошкар-Ола : ПГТУ, 2016. — 64 с. — ISBN 978-5-8158-1775-3. —
    Текст : электронный // Электронно-библиотечная система «Лань» : [сайт]. — URL: https://e.lanbook.com/book/92576 3. Богданов А.В. Микропроцессорные устройства релейной защиты и автоматизации в электроэнергетических системах [Электронный ресурс] : учебное пособие / А.В. Богданов, А.В.
    Бондарев. — ЭБСЭлектрон. текстовые данные. — Оренбург: Оренбургский государственный университет, ЭБС АСВ, 2016. — 82 c. — 8-987-903550-43-2. — Режим доступа: http://www.iprbookshop.ru/69913.html
    Дополнительные источники:
    1. Шишов, О.В. Аналого-цифровые каналы микропроцессорных систем управления : учебное пособие / О.В. Шишов. – М. ; Берлин : Директ-Медиа, 2015. – 211 с. : ил., схем., табл. –
    ISBN
    978-5-4475-5273-2
    ;
    То же
    [Электронный ресурс].

    URL: http://biblioclub.ru/index.php?page=book&id=363927 (11.01.2016).
    1   ...   35   36   37   38   39   40   41   42   43


    написать администратору сайта