УДК 681.3-181.4
М54
Рецензенты:
Кандидат физико-технических наук, генеральный директор
ЗАО «ИНФОРМТЕК»
М.В. Матвеичев
Печатается по решению редакционно-издательского совета Муромского института
М54 ПРОГРАММИРОВАНИЕ АППАРАТНЫХ СРЕДСТВ IBM PC
И учебного стенда SDK -1.1
: ” Персональные ЭВМ и Спец. ЭВМ " / Сост.: М.Н. Кулигин – Муром: Изд.- полиграфический центр МИ ВлГУ, 20011.– … с. - Библиогр.: 19 назв.
Лабораторный практикум предназначен для студентов четвёртого курса, обучающихся по специальностям 230101 ”Вычислительные машины, комплексы, системы и сети”, 230105 ”Программное обеспечение вычислительной техники и автоматизированных систем ”. Он содержат варианты заданий для 5-и лабораторных работ и контрольные вопросы к ним, требования к оформлению отчётов, необходимый теоретический материал
и примеры программ на языке ассемблера для домашней подготовки. В приложении приведено описание системных функций, необходимых для выполнения лабораторных работ.
УДК 681.3-181.4
Муромский институт (филиал)
Владимирского государственного
университета, 2011
ОГЛАВЛЕНИЕ
Введение
Персональные ЭВМ (персональные компьютеры) и спец. ЭВМ, построенные на базе современных микропроцессоров, представляют собой комплекс аппаратных и программных средств, для изучения которых лучше всего использовать “родной” язык микропроцессора (МП) – язык ассемблера.
Он является “естественным” языком низкого уровня, на котором “разговаривает” программист с компьютером. Специализация ЭВМ достигается путем подключения к ней нестандартного оборудования с целью автоматизации управления этим оборудованием, поэтому при решении подобных задач язык ассемблера незаменим – с его помощью программист получает прямой доступ к аппаратным ресурсам компьютера.
Для подключения к компьютеру нестандартных периферийных устройств (ПУ) необходимо овладеть методикой работы с этими устройствами на уровне регистров (портов) и прерываний. Поэтому лабораторные работы, описание которых представлено в данном пособии, рассчитаны как на изучение архитектуры базового микропроцессора IBM PC – совместимого компьютера, так и на приобретение навыков написания программ, работающих с аппаратурой компьютера через порты, прерывания и функции драйверов.
Целью данного учебного пособия является методическое обеспечение по выполнению курса лабораторных работ. В описание каждой лабораторной работы включен необходимый теоретический материал, рассчитанный на самостоятельную домашнюю подготовку.
Структура учебного пособия.
Пособие содержит описания 5 лабораторных работ.
Лабораторная работа №1 – изучение режимов работы, системы команд и дополнительных способов адресации процессоров семейства IA-32.
Лабораторная работа №2 – организация прерываний в IBM PC и программирование контроллера прерываний 8259А.
Лабораторная работа №3 – программирование таймера 8254 и генерация звука в IBM PC.
- Лабораторная работа №4 – проектирование программного обеспечения систем управления на базе учебного лабораторного комплекса SDK -1.1.
Лабораторная работа №5 – изучение возможностей последовательного интерфейса RS-232 и программирование его контроллера.
Описание лабораторной работы включает задание для домашней подготовки, контрольные вопросы, лабораторное задание и необходимый теоретический материал для домашней подготовки.
Основные термины и определения
Интерфейс - это совокупность унифицированных аппаратных, программных и конструктивных средств, необходимых для реализации взаимодействия различных функциональных элементов в системах при условиях, предписанных стандартом и направленных на обеспечение информационной, электрической и конструктивной совместимости указанных элементов.
Устройства сопряжения и интерфейсные устройства предназначены для управления вводом и выводом информации и согласования интерфейсов компьютера с одной стороны и внешних устройств и объекта управления с другой стороны. Конструктивно эти устройства могут выполняться в виде одной БИС, нескольких БИС или в виде отдельной платы. Устройства сопряжения и интерфейсные устройства могут иметь достаточно сложную структуру Выполняемые ими функции могут программироваться, в ряде случаев в состав таких устройств входит микропроцессор. Устройства сопряжения и интерфейсные устройства со сложной структурой иногда называют контроллерами.
Процессор – основная часть ЭВМ, непосредственно осуществляющая процесс обработки данных и управляющая этим процессом.
Микропроцессор (МП) – программно управляемое устройство, осуществляющее процесс обработки цифровой информации и управления им построенное на одной или нескольких интегральных микросхемах. Иными словами микропроцессор это процессор, реализованный на одной или нескольких СБИС.
Оперативная память – память, предназначенная для временного хранения данных и команд, необходимых процессору для выполнения им операций.
Постоянная память - это память, используемая для хранения информации, которая не должна изменяться в ходе работы компьютера.
Прерывание – это аппаратная функция, вызывающая приостановку операций процессора, запоминание его состояния и выполнение специальной программы, которая называется программой обработки прерывания или обработчиком прерывания (ISR).
Общие сведения об архитектуре персонального компьютера и
архитектуре стенда SDK 1.1
Персональный компьютер типа IBM PC имеет традиционную архитектуру микропроцессорной системы и содержит все обычные функциональные узлы: процессор, постоянную и оперативную память, устройства ввода/вывода, системную шину, источник питания (рис.1.1). Основные особенности архитектуры персональных компьютеров сводятся к принципам компоновки аппаратуры, а также к выбранному набору системных аппаратных средств.
Рис. 1.1. Архитектура персонального компьютера типа IBM PC
Функции основных узлов компьютера следующие:
Центральный процессор - это микропроцессор со всеми необходимыми вспомогательными микросхемами, включая внешнюю кэш-память и контроллер системной шины. В большинстве случаев именно центральный процессор осуществляет обмен по системной шине.
Оперативная память может занимать почти все адресуемое пространство памяти процессора. Однако чаще всего ее объем гораздо меньше. В современных персональных компьютерах стандартный объем системной памяти составляет, как правило, от 512 Мбайт до 2 Гбайт. Оперативная память компьютера выполняется на микросхемах динамической памяти и поэтому требует регенерации.
Постоянная память (ROM BIOS — Base Input/Output System) имеет небольшой объем (до 128 Кбайт), содержит программу начального запуска, описание конфигурации системы, а также драйверы (программы нижнего уровня) для взаимодействия с системными устройствами.
Контроллер прерываний (описание функций этого контроллера приведено в разделе 2.2). Все режимы функционирования контроллера прерываний задаются программно процессором перед началом работы.
Контроллер прямого доступа к памяти принимает запрос на ПДП из системной магистрали, передает его процессору, а после предоставления процессором магистрали производит пересылку данных между памятью и устройством ввода/вывода. Все режимы функционирования контроллера ПДП задаются программно процессором перед началом работы. Использование встроенных в компьютер контроллеров прерываний и ПДП позволяет существенно упростить аппаратуру применяемых плат расширения.
Контроллер регенерации осуществляет периодическое обновление информации в динамической оперативной памяти путем проведения по шине специальных циклов регенерации. На время циклов регенерации он становится хозяином (задатчиком) шины.
Часы реального времени и таймер-счетчик - это устройства для внутреннего контроля времени и даты, а также для программной выдержки временных интервалов, программного задания частоты и т.д.
Системные устройства ввода/вывода - это те устройства, которые необходимы для работы компьютера и взаимодействия со стандартными внешними устройствами по параллельному и последовательному интерфейсам. Они могут быть выполнены на материнской плате, а могут располагаться на платах расширения.
Платы расширения устанавливаются в слоты (разъемы) системной магистрали и могут содержать оперативную память и устройства ввода-вывода. Они могут обмениваться данными с другими устройствами на шине в режиме программного обмена, в режиме прерываний и в режиме ПДП. Предусмотрена также возможность захвата шины, то есть полного отключения от шины всех системных устройств на некоторое время.
Важная особенность подобной архитектуры - ее открытость, то есть возможность включения в компьютер дополнительных устройств, причем как системных устройств, так и разнообразных плат расширения. Открытость предполагает также возможность простого встраивания программ пользователя на любом уровне программного обеспечения компьютера.
Учебные микропроцессорные комплексы (стенды) на базе микроконтроллеров предназначены для изучения принципов организации и работы микропроцессорной элементной базы, вспомогательных элементов (память, контроллеры ввода-вывода и др.),получения навыков проектирования и программирования микропроцессорных систем различного назначения.
Внимания заслуживает опыт ООО «ЛМТ» (Санкт-Петербург), которое разработало и последовательно развивает семейство микропроцессорных стендов инструментального и учебного назначения - SDK.
Основу лабораторного комплекса составляет контроллер-конструктор (микропроцессорный стенд) SDK-1.1на базе ОКЭВМ фирмы Analog Devices ADuC812. Сам лабораторный комплекс представляет собой совокупность контроллера-конструктора, подключенного к персональному компьютеру, и программного обеспечения для ПК и SDK-.1.1.
Подключение осуществляется к СОМ-порту ПК через кабель RS232, комплекс инструментальных программ
обеспечивает весь процесс программирования SDK-1.1: компиляцию, доставку
и запуск программ в SDK-1.1.
Главной областью применения микропроцессорного стенда SDK-1.1, безусловно, является обучение различным аспектам встраиваемой вычислительной техники. Студенты имеют возможность ознакомиться на практике с проектированием, программированием, отладкой и использованием создаваемой ими из "конструктора" SDK-1.1. Разнообразные устройства, входящие в состав стенда, позволяют изучить круг вопросов, связанных с организацией взаимодействия
с ними через типичные интерфейсы, применяемые во встраиваемых вычислительных системах.
Микропроцессорный стенд SDK-1.1 построен на базе однокристальной микро-ЭВМ фирмы Analog Device типа ADuC812 (вычислительное ядро MCS-51) и имеет в своем составе разнообразные устройства, предназначенные для ввода, обработки и вывода информации в цифровом и аналоговом виде:
8-ми канальный аналого-цифровой преобразователь:
2-х канальный цифроаналоговый преобразователь;
устройства ввода и отображения информации (матричная клавиатура 4x4 клавиши, текстовый жидкокристаллический дисплей, пьезокерамический
акустический излучатель, набор сигнальных светодиодов и переключателей);
параллельный 16..20-ти разрядный порт:
часы/календарь реального времени:
электрически стираемое программируемое ПЗУ (EEPROM) на кристалле ADuC812 (640 байт):
внешняя память - EEPROM емкостью 128 байт.
Стенд SDK-1.1 может работать полностью автономно от ПК.
Лабораторный комплекс предназначен для освоения студентами архитектуры и методов проектирования:
систем на базе микропроцессоров и однокристальных микро-ЭВМ;
встраиваемых контроллеров и систем сбора данных:
периферийных блоков вычислительных систем:
подсистем ввода-вывода встраиваемых вычислительных систем.
Подготовки программ для микроконтроллера ADuC812 осуществляется на языке программирования Си или Ассемблера (рис. 1.2) на ПК в обычном текстовом редакторе (или средах программирования, IDE, предназначенных для разработки программ под ядро MCS-51), далее программа компилируется в исполняемый модуль, доставляемый в стенд через СОМ-порт ПК с помощью специального программного обеспечения, входящего в состав стенда.
Рисунок 1.2 - Процесс написания программ для SDK-1.1
Программы для стенда располагаются во внешней памяти программ/данных – внешнем ОЗУ объемом 512 Кб. Из этих 512 Кб как память программ (особенности MCS-51) могут использоваться лишь 56 Кб (в стенде первые 8 Кб памяти программ заняты ПЗУ, в котором располагается системное программное обеспечение, отсюда 64 Кб - 8 Кб = 56 Кб). Однако, как показывает практика, программы такого размера для стенда подготавливать не требуется.
В процессе обучения с использованием SDK-1.1 студенты могут на практике ознакомиться с управлением периферийными устройствами, взаимодействующими с вычислителем посредством различных интерфейсов, освоить некоторые специфические аспекты программирования встраиваемых вычислительных систем, эффективного управления ресурсами. В стенде предусмотрена возможность симулировать некоторые внешние сигналы без использования дополнительного оборудования: сигналы внешних прерываний, счетные импульсы таймеров, аналоговые сигналы на входах АЦП. Интересно отметить возможность программного инициирования прерываний, не предусмотренную в MCS-51. однако реализованную в стенде через механизм программного управления состоянием входа внешнего прерывания INT0 ADuC812.
ПЗУ с резидентным программным обеспечением реализовано на кристалле ОЭВМ ADuC812 по технологии FLASH/ЕЕ и может быть перепрограммировано через интерфейс RS232C с обычного ПК. Новые версии резидентного ПО могут доставляться в стенд без использования специальных программаторов, а тем более новых микросхем ПЗУ - достаточно иметь лишь образ доставляемой программы в виде файла и специальную утилиту на ПК.
Некоторые устройства стенда подключены к вычислителю через периферийный расширитель, реализованный на базе ПЛИС небольшой емкости, перепрограммируемой через имеемый в SDK-1.1 JTAG-порт, что дает возможность при желании изменять механизмы работы с этими устройствами.
|