МПС РОССИИ РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ОТКРЫТЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ Утверждено деканом факультета «Управление процессами перевозок» Одобрено кафедрой «Вычислительная техника» МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ Рабочая программа и задание на курсовой проект с методическими указаниями для студентов IV курса специальности 220100. ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ, КОМПЛЕКСЫ СИСТЕМЫ И СЕТИ (ЭВМ) Москва – 2002 Программа разработана на основании учебной программы по данной дисциплине, в соответствии с государственными требованиями к уровню подготовки инженера специальности 220100. С о с т а в и т е л и: - д. т. н., профессор Г.В. Самме к.т.н., доцент А.Е. Ермаков Р е ц е н з е н т: - проф. каф. "Автоматики и телемеханики Дмитренко И.Е. Курс -4 Всего - 170 ч. Лекционные занятия - 12 ч. Лабораторные занятия - 12 ч. Самостоятельная работа - 101 ч. Курсовой проект - 1 (количество) Зачет - 1 (количество) Экзамен - 1 (количество) 2 РАБОЧАЯ ПРОГРАММА 1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ Целью дисциплины является изучение студентами специальности 220100 современного состояния, тенденций и перспектив развития микропроцессоров (МП) и микропроцессорных систем (МПС), методики проектирования и отладки аппаратного и программного обеспечения МПС различных классов и назначений. В результате изучения дисциплины студенты ДОЛЖНЫ: 1. ЗНАТЬ основные типы МП, подходы, основные этапы и особенности проектирования как отдельных подсистем, так и всей МПС в целом, архитектуру мультимикропроцессорных систем и области их использования, средства разработки и отладки МПС; 2. УМЕТЬ выбрать и обосновать элементную базу МПС, спроектировать МПС под конкретные условия ее применения, разработать прикладное программное обеспечение на машинно - ориентированном языке Ассемблере, настроить и испытать МПС, подготовить и выпустить соответствующую нормативно - техническую документацию. Дисциплина Микропроцессорные системы связана с предшествующими курсами: “Схемотехника ЭВМ”, “Теория автоматов”, “Технология программирования” и является базой для изучения таких дисциплин как: “Организация ЭВМ, комплексов и систем”, “Периферийные устройства”, “Системное программное обеспечение”. 2. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ ВВЕДЕНИЕ В настоящее время на основе МП строятся практически все универсальные и специализированные ЭВМ, подавляющее большинство периферийных устройств, системы промышленной автоматики, связи, управления транспортом и т.п. Столь обширная область применения МП обусловлена их значительными функциональными возможностями, гибкостью, обеспечиваемой на программном уровне, высокой надежностью, малыми габаритами и низкой стоимостью. В свою очередь это порождает проблему обслуживания и модернизации этих устройств, выполненных с использованием МП. Причем, с этим сталкиваются специалисты, не имеющие специальной подготовки в области проектирования МПС. С учетом изложенного, знание принципов функционирования МП и МПС, методов разработки аппаратных и программных средств систем, технического обслуживания МПС должно являться неотъемлемым элементом подготовки инженеров специальности 220100. 3 2.1. МИКРОПРОЦЕССОРЫ И МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ Тенденции развития МП и МПС. Определение МП и МПС. Классификация и основные технические характеристики МП. Понятие МП комплекта больших интегральных схем (БИС). Трехшинная архитектура МПС. Дуализм МПС - аппаратное и программное обеспечение. Л. [ 1, 3, 6, 7, 10, 11 ]. Методические указания Микропроцессор - это микросхема или совокупность нескольких микросхем, предназначенных для преобразования данных под управлением программы, записанной в памяти. МП является основной микросхемой микропроцессорного комплекта (МПК). Под МПК понимают совокупность микросхем, совместимых по технологическому и конструктивному признакам и позволяющие строить на их основе МПС. Микропроцессорной системой обычно называют специализированную информационновычислительную или управляющую систему, построенную на основе МПК БИС. Следует обратить внимание на дуализм микропроцессорной техники. МПС - это программно управляемая система , которая функционирует благодаря наличию как аппаратной части, так и программного обеспечения. Все многообразие выпускаемых МП можно классифицировать по следующим признакам: по виду обрабатываемой информации МП делятся на цифровые (подавляющее большинство современных МП) и аналоговые; по разрядности обрабатываемых данных МП делятся на 4-х, 8-ми, 16-ти, 32-х и 64-х разрядные; по области применения МП можно разделить на универсальные и специализированные, которые, в свою очередь подразделяются на: однокристальные ОМЭВМ (микроконтроллер), RISC МП, арифметические сопроцессоры, транспьютеры и цифровые процессоры обработки сигналов (ЦПОС). Как и любое другое функционально сложное изделие МП принято характеризовать параметрами функционирования, к которым относятся: разрадность шин данных и адреса, объем адресуемой памяти, число команд, функциональная мощность комады типа “регистр - регистр“ и т.д. С другой стороны МП - интегральная микросхема, которая характеризуется статическими и динамическими параметрами (входные и выходные токи и напряжения, времена задержек, тактовая частота и т.д.). Архитектура отражает структуру МПС, способы представления и форматы данных, форматы управляющих слов, способы обращения ко всем доступным для пользователя элементам структуры, реакцию МП на внешние 4 сигналы. В свою очередь под структурой понимают совокупность компонентов и связей между ними. При построении МПС, как правило, используют магистрально-модульный принцип. Вопросы для самопроверки 1. Дайте определение МП, его назначение, опишите тенденции развития МП техники. 2. Дайте определение МПК БИС. 3. Перечислите и опишите основные характеристики МП. 4. Дайте определение МПС, перечислите области применения. 5. Какие компоненты входят в МПС? Опишите структура связей компонентов в МПС. 6. Перечислите типовой набор управляющих сигналов и приведите временную диаграмму работы МПС. 2.2. УНИВЕРСАЛЬНЫЕ МИКРОПРОЦЕССОРЫ Архитектура 8-ми разрядных МП. Программистская модель МП. Стековая память. Система команд МП. Способы адресации. Временная диаграмма работы МП: машинный такт и машинный цикл. Работа МПС в режимах: обмена с памятью и портами ввода/вывода, прерывания, прямого доступа к памяти. Развитие способов адресации в МП семейства I80x86. Виртуальная память. Кэш-память. Защита памяти. Особенности архитектуры 16-ти, 32-х и 64-х разрядных МП. Интерфейсные БИС: контроллер системной шины, программируемый контроллер прерываний, контроллер прямого доступа к памяти, программируемый параллельный порт, универсальный синхронно-асинхронный приемопередатчик, арбитр системной шины, программируемый таймер и системный тактовый генератор. Л. [ 1, 3, 6, 9, 17 - 20, 23]. Методические указания Под универсальными МП понимается широкий класс устройств, предназначенных для построения на их основе ЭВМ общего применения. Наиболее яркими представителями универсальных МП являются БИС семейства 80x86 фирмы Intel, на основе которых выпускаются IBM совместимые персональные компьютеры. Аналогичные МП, совместимые по системе команд с МП фирмы Intel, выпускают фирмы AMD, Cyrix и т.д. Фирма Motorola также производит универсальные МП семейства 68000. Изучение принципов работы универсальных МП рекомендуется начинать с рассмотрения структуры и программистской модели 8-ми разрядного МП КР580ВМ80А (функциональный аналог I8080). Особое внимание следует обратить на режимы работы МП: ожидание, захват и 5 прерывание, а также на выполнение МП команд во времени (временная диаграмма работы). Изучая управление памятью МПС, следует познакомиться со способами адресации (непосредственная, прямая, косвенная, регистровая, относительная, индексная, страничная и др.) и методами организации стековой, виртуальной и кэш-памяти. Кроме этого, следует уделить внимание программным и аппаратным способам защиты памяти. Страничная организация памяти реализована в МП I8086 (функциональный аналог К1810ВМ86), виртуальную память поддерживает МП I80286, а кеш-память I80386 и более старшие модели МП. Одним из способов обмена данными МПС с ПУ является прямой доступ к памяти (ПДП). В этом режиме передача данных между ПУ и памятью МПС происходит без участия МП и управляется специализированным контроллером, который называется контроллер ПДП. Данный контроллер обеспечивает операцию быстрого ввода-вывода блоков данных и разгружает МП от управления операциями передачи данных от ПУ в память. В процессе работы МПС возникают события, требующие немедленной реакции со стороны МП на них. Это осуществляется с помощью механизма прерываний. Прерывания инициируются запросами на прерывания. Прерывание состоит в том, что МП прерывает обработку текущей программы и переходит к выполнению некоторой программы, специально предназначенной для обработки этого запроса прерывания. Для реализации механизма прерываний в МПС, обычно, использутся программируемый контроллер прерываний. Вопросы для самопроверки 1. Какую информацию можно получить из анализа временных диаграммах выполнения команд? 2. Дайте характеристику способам адресации. 3. Как организованы стековая, виртуальная и кэш-память? 4. Какое место занимают дескрипторы и теги в работе памяти? 5. Сравните два способа организации передачи данных: программноуправляемый и ПДП. 6. Как работает контроллер ввода-вывода и контроллер ПДП? 7. Как обеспечивается организация ввода-вывода информации в МПС? 8. Перечислите характеристики системы прерывания. 9. Что определяет глубина прерываний? 10. Что такое вектор прерывания? 6 2.3. МИКРОКОНТРОЛЛЕРЫ Архитектура микроконтроллеров (однокристальные микро-ЭВМ): арифметико-логическое устройство, внутренняя память данных и программ, порты ввода/вывода, таймер - счетчик, универсальный асинхронный приемопередатчик, схема прерываний. Особые режимы работы ОМЭВМ. Система команд ОМЭВМ. Временная диаграмма работы. Методика построения контроллеров на основе ОМЭВМ и разработки прикладного программного обеспечения (ППО)на языке Ассемблер. Кросс-средства разработки ППО контроллеров. Методика отладки ППО. Л [2, 4, 5] Методические указания Однокристальные микроконтроллеры представляют собой приборы, которые включают в себя все составные части “голой” ЭВМ: микропроцессор, память данных и программ, а также программируемые порты ввода/вывода, интервальные таймеры-счетчики, схемы обработки прерываний и универсальный асинхронный приемо/передатчик. Поэтому эти микросхемы еще называют однокристальные микро - ЭВМ (ОМЭВМ). В настоящее время промышленостью выпускаются 4-х, 8-ми, 16-ти и 32-х разрядные ОМЭВМ. Четырехразрядные ОМЭВМ, в основном, выпускаются японскими фирмами и используются в простейших котроллерах, предназначенных для управления бытовой техникой и игрушками. У нас в стране эти микроконтроллеры представлены сериями 1814, 1820, 1829, 1868. Для построения промышленных контроллеров используются 8-ми разрядные ОМЭВМ. К ним относятся широко распространенные БИС семейства 8031, 8048, 8049, 8051, 80С51, аналогичные микросхемы фирм Siemens, Altera, Dallas Semicondacter и др. Отечественные микроконтроллеры той же разрядности представлены сериями 1816, 1830, 1831, 1836 и др. Шестнадцати и тридцатидвухразрядные ОМЭВМ обладают существенно большими вычислительными возможностями и позволяют строить на их основе бортовые и промышленные компьютеры. В настоящее время в устройствах промышленной автоматики наибольшее распространение получили 8-ми разрядные ОМЭВМ. Поэтому основное внимание следует уделить изучению принципов работы этих ОМЭВМ. Проектирование контроллеров на основе ОМЭВМ представляет собой многоступенчатый интерактивный процесс. В процессе проектирования используют средства диагностики и отладки, кросс-средства, программноаппаратные эмуляторы. Эти средства обеспечивают минимальные затраты времени на проектирование. 7 Вопросы для самопроверки 1. Укажите основные особенности архитектуры ОМЭВМ. 2. Опишите адресное пространство БИС К1816ВЕ51 (К1830ВЕ51). 3. Опишите формат и типы команд. 4. Для чего предназначены таймеры-счетчики ОМЭВМ и в каких режимах они могут работать? 5. Как осуществляется обработка запросов прерываний в ОМЭВМ? 6. В чем заключается специфика проектирования МПС на основе ОМЭВМ? 2.4. СПЕЦИАЛИЗИРОВАННЫЕ МИКРОПРОЦЕССОРЫ И МУЛЬТИМИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ Специализированные МП: арифметические сопроцессоры; МП с сокращенным набором команд (RISC МП); транспьютеры; цифровые процессоры обработки сигналов (ЦПОС). Области применения специализированных МП. Архитектура арифметических сопроцессоров. Способы взаимодействия центрального и арифметического МП. Определение RISC МП и транспьютеров, особенности их архитектуры. Механизм перекрывающихся регистровых окон. Функционирование RISC МП. Система команд транспьютера. ЦПОС: определение, особенности архитектуры, базовые операции. ЦПОС с гарвардской архитектурой. Систолические матрицы. Мультимикропроцессорные системы: определение, классификация по Флину, основные конфигурации и области их применения. Л. [ 1, 8, 10, 11 ] Методические указания К специализированным МП относится широкий класс микропроцессорных БИС, предназначенных для построения на их основе процессоров обработки сигналов, высокопроизводительных рабочих станций и серверов, цифровых устройств обработки изображений, нейроноподобных вычислительных систем и т.д. Эти МП строятся по нетрадиционной архитектуре, что позволяет существенным образом повысить производительность вычислительной системы. Вычислительные системы называются мультимикропроцессорными, если они содержат несколько процессоров, работающих с общей оперативной памятью.С помощью мультипмикророцессорных систем решают задачу дальнейшего повышения быстродействия ЭВМ путем распараллеливания во времени выполнения программы или параллельного выполнения программ. Конфигурация мультимикропроцессорной ситемы определяется перечнем решаемых задач и может существенно отличаться в зависимости от требований надежности , 8 реализации режимов реального масштаба времени и т.д. В соответствии с классификацией, предложенной Флинном, различают следующие типы ЭВМ (соответственно МП): ОКОД (одиночный поток команд, одиночный поток данных) - к ним относятся универсальные МП, построенные по классической фоннеймановской архитектуре; ОКМД (одиночный поток команд, множественный поток данных) - в этой системе содержится несколько одинаковых сравнительно простых быстродействующих процессоров, соединенных друг с другом и памяью регулярным образом так, что образуется регулярная матрица, в узлах которой размещаются МП; МКОД (множественный поток команд, одиночный поток данных) система имеет регулярную структуру в виде цепочки последовательно соединенных процессоров; МКМД (множественный поток команд, множественный поток данных) - в этой системе содержится несколько независимых процессоров, обрабатывающих несколько независимых потоков данных. Примерами такой архитектуры являются мультимикропроцессорные матрицы (транспьютеры). В настоящее время при построении мультимикропроцессорных систем получили структуры типа ОКОД, ОКМД и МКМД. Вопросы для самопроверки 1.Основные свойства мультимикропроцессорных систем. 2. Какими преимуществами обладают мультимикропроцессорные системы по сравнению с многомашинными ВС? 3. Какая область применения мультимикропроцессорных систем? 4. Какие отличительные черты у транспьютерных систем ? 5. Укажите область применения транспьютерных систем, RISC МП и ЦПОС. 3. ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ЛАБОРАТОРНЫХ РАБОТ 1. Изучение структурной схемы и программно эмулятора ОМЭВМ К1830ВЕ31 (К1816ВЕ31). 2. Исследование особенностей выполнения арифметических и логических операций и операций с битами ОМЭВМ. 3. Исследование работы таймера/счетчика ОМЭВМ. 4. Исследование работы универсального асинхронного приемопередатчика ОМЭВМ. 5. Исследование работы схемы прерываний ОМЭВМ. 9 4. ИНФОРМАЦИОННО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ 4.1. Перечень обязательной литературы 1.кропроцессорные системы. Под редакцией Д.В. Пузанкова-СанктПетернбург. Политехника 2002. 2. Схемотехника электронных систем. Микропроцессоры и микроконтроллеры. Санкт-Петербург «БХВ-Петербург» 2004. 4.2. Перечень рекомендуемой литературы 3 Каган Б.М. Электронные Электронные вычислительные машины и системы. - М.: Энергоатомиздат, 1991. - 592 с. 2.Каган Б.М., Сташин В.В. Основы проектирования микропроцессорных устройств автоматики. - М.: Энергоатомиздат, 1987. - 304 с. 4.Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник: В 2 т. /Н.Н.Аверьянов, А.И.Березенко и др.; Под ред. В.А. Шахнова. - М.: Радио и связь, 1988. 5.Сташин В.В., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. М.: Энергоатомиздат, 1990. - 224 с. 6.Однокристальные микроЭВМ./ Боборыкин А.В., Липовецкий Г.П. и др. М.: МИКАП, 1994. - 400 с. 7.Морисита И. Аппаратные средства микроЭВМ. - М.: Мир, 1988. - 280 с. 8.Русак И.М., Луговский В.П. Технические средства ПЭВМ: Справочник/Под ред. И.М. Русака. - Мн.: Выш. шк., 1996. - 504 с. 9.Фрир Дж. Построение вычислительных систем на базе перспективных микропроцессоров. - М.: Мир, 1990. - 413 с. 10.Майоров С.А. и др. Введение в микроЭВМ. - Л.: Машиностроение, 1988. 304 с. 11.Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов. - М.: Радио и связь, 1988. - 368 с. 12.Корячко В.П. Микропроцессоры и микро-ЭВМ в радиоэлектронных средствах. - М.: Высшая школа, 1990. - 407 с. 13.Стрыгин В.В. и др. Основы вычислительной микропроцессорной техники и программирование. - М.: Высшая школа, 1989. - 475с. 14.Горбунов В.Л. и др. Справочное пособие по микропроцессорам и микроЭВМ. - М.: Высшая школа, 1988. - 272 с. 15.Шевкопляс Б.В. Микропроцессорные структуры. Инженерные решения: Справочник. - М.: Радио и связь, 1990. - 512 с. 16.Кеннет Дж. Данхоф, Кэрол Л. Смит. Основы микропроцессорных вычислительных систем. - М.: Высшая школа, 1986. - 287 с. 10 17.Шилейко А.В. и др. Микропроцессоры. - М.: Радио и связь, 1986. - 112 с. 18.Токхайм Р. Микропроцессоры. Курс и упражнения. - М.: Энергоатомиздат, 1988. - 336 с. 19.Микропроцессорный комплект К1810. Структура, программирование, применение. Под ред. Ю.М. Казаринова. - М.: Высшая школа, 1990. - 269 с. 20.Страус Э. Микропроцессор 80286. Рязань, Москва, Ульяновск. Versus LTD . 1992. - 221 с. 21.Брамм П., Брамм Д. Микропроцессор 80386 и его программирование. - М.: Мир, 1990. - 448 с. 22.Уильямс Г.Б. Отладка микропроцессорных систем. - М.: Энергоатомиздат, 1988. - 253 с. 23.Бродин В.Б., Шагурин И.И. Микропроцессор i486. Архитектура, программирование, интерфейс. - М.: “ДИАЛОГ-МИФИ”, 1993. - 240 с. 24.Холленд Р. Микропроцессоры и операционные системы: Краткое справочное пособие. М.: Энергоатомиздат, 1991. - 192 с. 25.Программирование микропроцессорных систем. Под ред. В.Ф. Шаньгина. М.: Высшая школа, 1990. - 303 с. 26.Григорьев В.Л. Программирование однокристальных микропроцессоров. М.: Энергоатомиздат, 1987. - 288 с. 27.Гуртовцев А.Л. и др. Программы для микропроцессоров: Справочное пособие. - Минск. Вышэйшая школа, 1989. - 352 с. 11 ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ 1. Общие требования к курсовому проекту Курсовой проект выполняется в 8 семестре после изучения основного лекционного материала. Каждый студент должен выполнить в требуемом объеме проект в соответствии с индивидуальным заданием, приобрести навыки проектирования аппаратной части МПС и разработать подпрограмму обработки данных в соответствии с индивидуальным заданием. 2.Задание на курсовое проектирование Разработать МПС обработки первичной информации, поступающей с двоичных датчиков, на основе ОМЭВМ К1830ВЕ31 или ее функционального аналога и составить подпрограмму преобразования данных. Вариант задания определяется по трем последним цифрам учебного шифра студента в соответствии с табл. 1.1. Таблица 1.1 Цифра шифра 0 1 2 3 4 5 6 7 8 9 Подпрограмма ПК1 ВИ3 ЗПР ОПВД ВИ2 ПК2 ПВВ ВИ4 ВД ВИ1 Число каналов ввода вывода 8 20 16 16 24 12 32 8 44 4 12 18 20 14 28 10 40 6 48 2 Объем памяти, Кбайт ПЗУ ОЗУ 0,5 16 1 16 2 12 4 8 8 16 12 10 16 8 16 2 32 4 40 1 Примечания. 1. По последней цифре шифра определяется подпрограмма обработки данных: ПК1 - перевод десятичного числа ХХХ в двоичное; ВИ3 - измерение длительности входного импульса положительной полярности, длительностью от 10 мс до 50 мс, с помощью таймера счетчика; ЗПР - обработка запроса прерывания, поступившего по входу INT0 или INT1; ОПВД - опрос группы двоичных датчиков; ВИ2 - формирование временного интервала длительностью от 10 мс до 65 мс с помощью таймера счетчика по прерыванию; ПК2 - перевод 16-ти разрядного двоичного числа в десятичное; ПВВ - ввод/вывод информации по последовательному порту; 12 ВИ4 - подсчет внешних событий на заданном интервале времени; ВД - вывод информации на 4 - х разрядный семи сегментный индикатор; ВИ1 формирование временного интервала длительностью от 50 мс до 200 мс с помощью вложенных циклов. Конкретные значения временных интервалов, размерность групп датчиков, числа и т.п. уточняются у преподавателя. 2. По предпоследней цифре определяется число каналов ввода и вывода информации МПС для взаимодействия с объектом управления. 3. По третьей цифре - объем внешней памяти программ (ПЗУ) и данных (ОЗУ). Для выполнения курсового проекта необходимо: изучить рекомендуемую литературу и настоящие методические указания; определить свой вариант задания; разработать электрическую схему МПС; составить подпрограмму обработки данных, отладить ее с помощью программного эмулятора и получить листинг программы. 3.Объем и содержание курсового проекта Курсовой проект состоит из пояснительной записки и графической части. Пояснительная записка, объемом 15 - 20 страниц, должна включать: 1. Задание на проектирование и исходные данные. 2. Теоретический вопрос. 3. Описание принципа работы разрабатываемой МПС, включающее функциональные схемы, временные диаграммы работы и т. д. 4. Расчет электрических параметров разработанной МПС. 5. Блок-схему алгоритма работы МПС, реализующую заданную подпрограмму. 6. Текст подпрограммы с необходимыми комментариями. Графическая часть должна содержать электрическую принципиальную схему разработанной МПС. Графические материалы должны быть оформлены с соблюдением требований ЕСКД. Допускается выполнять чертежи электрических схем на миллиметровке. МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ОСНОВНЫМ РАЗДЕЛАМ КУРСОВОГО ПРОЕКТА 1. Теоретический вопрос В этой части проекта необходимо изложить особенности построения МПС на основе ОМЭВМ К1830ВЕ31под заданные условия функционирования. Работу над данной частью проекта рекомендуется начать с изучения лекционного материала и учебной литературы [3...5]. Не следует 13 переписывать вопрос целиком из каких-либо монографий или учебников. В тексте обязательно должны быть ссылки на используемые литературные источники. 2.Разработка МПС под заданные условия работы Проектирование МПС на основе ОМЭВМ К1830ВЕ31 (далее по тексту ВЕ31) - достаточно простая инженерная задача, так как многие решения являются стандартными, а микро - ЭМВ содержит все необходимые компоненты системы, в том числе 4 двунапраленных восьмиразрядных порта ввода/вывода (см. Приложение). Однако, для многих применений число линий ввода/вывода оказывается недостаточным, поскольку требуется проводить опрос значительного количества датчиков и осуществлять управление многими исполнительными механизмами. В условиях применения внешней памяти программ и данных эта проблема еще более обостряется т.к. для связи с внешними объектами остается всего лишь два порта ввода/вывода. Кроме этого, в процессе разработки МПС приходится решать задачу согласования уровней сигналов, формируемых датчиками, нагрузочной способности ВЕ31 и выходных ключей, скорости работы ОМЭВМ и остальных компонентов МПС. С учетом изложенного, рассмотрим типовые решения сформулированных задач. 2.1.Синхронизация ОМЭВМ Работу всех внутренних блоков ОМЭВМ синхронизирует устройство выработки временных интервалов, которое в свою очередь управляется внутренним тактовым генератором. Период следования синхроимпульсов тактового генератора определяется частотой кварцевого резонатора, LC цепочки или периодом следования сигналов внешнего источника. Схемы подключения кварцевого резонатора, LC - цепочки и внешнего источника приведены на рис. 1. Практически все команды ОМЭВМ выполняются за один или два машинных цикла, который имеет фиксированную длительность и состоит из шести состояний S1...S6. В свою очередь каждое состояние включает в себя две фазы Р1 и Р2, длительность которой равна периоду следования тактовых импульсов t. Таким образом длительность каждого машинного цикла ТЦ равна двенадцати периодам тактовых импульсов T Ц 12 t . 14 Для синхронизации работы остальных компонентов МПС можно использовать сигнал ALE, который дважды формируется в течении одного машинного цикла. Рис. 2 иллюстрирует сказанное. 2.2. Использование внешней памяти Все ОМЭВМ серии 1830 (1816) имеют несколько адресных пространств, функционально и логически разделенных за счет разницы в механизмах адресации и сигналах управления записью и чтением: внешняя память программ (ВПП); резидентная память данных (РПД); внешняя память данных (ВПД). 15 использовать ВПП, объем которой может Структура адресного пространства ВЕ31 показана на рис. 3. Слева приведены адреса соответствующих областей памяти. Микро - ЭВМ ВЕ31 не имеет внутренней памяти программ. Поэтому для ее работы необходимо достигать 64 Кбайта. Функциональная схема подключения ВПП к ОМЭВМ показана на рис. 4. При обращении к ВПП всегда формируется 16 - разрядный адрес, младший байт которого выдается через порт Р0, а старший - через порт Р2. Причем порт Р0 используется в режиме временного мультиплексирования: в начале каждого машинного цикла обращения к ВПП (фаза S2Р1) через порт Р0 выдается младший байт адреса, который должен быть зафиксирован во внешнем регистре RG по отрицательному фронту сигнала ALE (рис. 5); низкий уровень сигнала PME, формируемый в течении фаз S3Р1 ... S4Р1 машинного цикла, разрешает выборку байта данных из ПЗУ, который затем поступает на линии порта Р0 и вводится в ОМЭВМ. В качестве регистра RG рекомендуется использовать восьмиразрядный параллельный регистр 16 защелку типа ИР22. Следует особо подчеркнуть, что на вывод DEMA ВЕ31 должен быть подан низкий уровень напряжения. В некоторых МПС, рассчитанных на обработку больших массивов данных, РПД может оказаться недостаточно. В этом случае возникает необходимость использования внешнего оперативного запоминающего устройства (ОЗУ), которое может быть подключено к ОМЭВМ так, как это показано на рис. 6. При этом обращение к ВПД возможно только с помощью команд MOVX. Команды MOVX @Ri, A и MOVX A, @Ri формируют восьмиразрядный адрес, который выдается на ОЗУ через порт Р0. Команды MOVX @DPTR, A и MOVX A, @DPTR формируют 16-ти разрядный адрес, младший байт которого выдается через порт Р0, а старший - через порт Р2. Так же как и при работе с ВПП, байт адреса, выдаваемый через порт Р0, должен быть зафиксирован во внешнем регистре по отрицательному фронту сигнала ALE, т.к. в дальнейшем линии порта Р0 используются для чтения или записи информации в/из ОМЭВМ. При этом чтение информации 17 стробируется сигналом RD, формируемым ВЕ31, а запись - сигналом WR. На рис. 7 показана временная диаграмма работы ОМЭВМ в режимах обмена данными с ВПД. 2.3. Расширение каналов ввода/вывода информации Как уже указывалось выше число линий ввода/вывода ВЕ31 во многих реальных применениях оказывается недостаточным. Для расширения каналов ввода/вывода обычно используют такие стандартные схемотехнические приемы как сканирование матрицы датчиков, опрос группы канальных приемо - передатчиков с тремя состояниями на выходе, мультиплексирование входных данных, стробируемый параллельный вывод информации, использование быстродействующего последовательного канала связи и т.д. В качестве примера расширения числа линий ввода информации рассмотрим фрагмент схемы, приведенной на рис. 8. Микросхемы D1 и D2 представляют собой сдвоенные мультиплексоры 4 в 1 типа КП2 (КП12) и могут передавать информацию от 16 двоичных датчиков на четыре линии порта Р1 (Р1.0...Р1.3) ОМЭВМ. Выводы Р1.4 и Р1.5 используются для выбора группы, состоящей из 4 - х датчиков, опрашиваемых в данный момент времени. Так как нагрузочная способность выходных буферов портов ввода/вывода невысока, то рекомендуется использовать буферные схемы при подключении значительной нагрузки. В рассматриваемом примере эту роль 18 играют инверторы D3. При этом вносимая корректируется программным способом. ими инверсия легко Расширение каналов вывода информации обычно достигается за счет использования нескольких регистров, стробируемых различными синхросигналами, либо за счет использования последовательного канала связи. На рис. 9 приведен фрагмент схемы с параллельным выводом информации, а на рис. 10 с последовательным. Строго говоря, схема на рис. 9 реализует параллельно последовательный вывод информации, т.к. 6 - ти разрядные данные устанавливаются на выходах параллельных регистров D5, D6 последовательно во 19 времени, по мере подачи на их тактовые входы стробирующих импульсов, вырабатываемых на выходах Р1.6 и Р1.7. Разрядность выводимой информации в рассматриваемом примере легко может быть увеличена до 24 бит, если стробирующие импульсы формировать с помощью дешифратора 2 в 4. При этом адресные входы дешифратора следует подключить к выводам Р1.6 и Р1.7, а его выходы - тактовым входам соответствующих параллельных регистров. При последовательном выводе информации байт данных записывается в буфер данных последовательного порта, работающего в режиме 0. Эти данные выводятся на выход RXD (альтернативная функция вывода Р3.0) в последовательном коде. Вывод данных синхронизируется по выходу TXD (альтернативная функция вывода Р3.1). Эти выходы связаны с соответствующими входами сдвигового регистра типа ИР8, где и осуществляется преобразование последовательного кода в параллельный. Как следует из рассмотренных примеров, комбинируя те или иные методы опроса датчиков и вывода информации можно достаточно легко организовать требуемое число каналов ввода/вывода в МПС. 3. Расчет электрических параметров разработанной МПС В этой части курсового проекта необходимо рассчитать следующие электрические параметры МПС: потребляемую мощность; коэффициент нагрузки по всем выходам всех микросхем; динамические характеристики. Потребляемая мощность разработанной МПС определяется как сумма средних потребляемых мощностей всех компонентов, т.е. n PМПС Pс рi , i 1 где Pсрi - средняя потребляемая мощность i-ой микросхемой; n - количество микросхем. 20 Коэффициент нагрузки выходов рассчитывается по формуле Kн I OL где I OL n - выходной ток низкого уровня i - го выхода; I ILi 1 n I ILi , 1 - сумма токов низкого уровня входов, подключенных к данному выходу (КН должен быть больше 2). Расчет коэффициентов нагрузки удобно оформить в виде таблицы. Оценка динамических характеристик разрабатываемой МПС необходима для решения следующих задач: согласование скорости работы ОМЭВМ с остальными компонентами системы; расчет времени отклика при изменении информации на входах. При решении первой задачи прежде всего необходимо сопоставить время установления считанного байта данных (команды) из ВПП ( tSUПЗУ ) и время выборки данных из ПЗУ ( tA ). При этом должно выполняться условие (1) t A t SUПЗУ , где tSUПЗУ = 5 t - 150 нс. В том случае, если условие (1) не выполняется необходимо уменьшить частоту кварцевого резонатора, задающего длительность периода тактовой частоты. Замечание. Для микросхем серии 1830 (1816) на величину t накладываются следующие ограничения 83 нс < t < 263 нс. При работе с ВПД требования к быстродействию используемых микросхем ОЗУ менее жесткие, по сравнению с памятью программ. Однако и в этом случае необходимо убедиться в том, что время установления сигналов данных D0...D7 относительно сигнала ALE ( tSUОЗУ ) больше времени цикла записи/чтения (tCY ) ОЗУ, т.е. выполняется условие (2) t CY t SUОЗУ , где tSUОЗУ = 8 t - 150 нс. В отличии от комбинационных схем, где изменение сигнала на любом входе приводит к адекватной реакции выхода с определенной задержкой, в МПС время отклика на изменение информации зависит от многих факторов. Во - первых, изменения на входах не будут обнаружены до тех пор, пока не наступит момент их опроса. Во - вторых, реакция на то или иное изменение не произойдет, пока не выполнится соответствующая часть программы обработки. Кроме этого время реакции зависит от длительности машинного цикла, количества и формата команд в программе обработки. Таким образом время реакции в общем виде можно представить как n T Р T Ц ( COM i m j ) , i1 где COMi - i - я команда подпрограммы обработки; 21 mJ - количество машинных циклов, за которое выполняется i - я команда; n - общее количество команд в подпрограмме. В том случае, если необходима “немедленная” реакция МПС на какоелибо воздействие, то рекомендуется эти сигналы подключать ко входам прерываний. 4. Разработка и отладка подпрограммы обработки данных Разработка прикладного программного обеспечения на языке Ассемблере - творческая задача, требующая от программиста отличного знания программистской модели ОМЭВМ, состава и формата команд, способов адресации операндов и т.д. Однако существуют формальные правила составления программ, соблюдение которых позволяет даже начинающему разработчику составлять работоспособные программы. Подробно эти правила рассмотрены в [4], согласно которым для получения текста исходной программы необходимо выполнить следующую последовательность действий: составить подробное описание исходной задачи; выполнить инженерную интерпретацию задачи, желательно с привлечением того или иного аппарата формализации (сети Петри, графа автомата и т.п.); разработка блок-схемы алгоритма работы МПС; разработка детализированных блок-схем алгоритмов отдельных процедур, выделенных на основе модульного принципа составления программ; распределение рабочих регистров и памяти ОМЭВМ; составление текста исходной программы. Исходный текст программы на языке Ассемблера имеет определенный формат, состоящий, обычно, из четырех полей: МЕТКА МНЕМОНИКА ОПЕРАНД КОММЕНТАРИЙ. Поля отделяются друг от друга произвольным числом пробелов. Метка. Метка - это имя, состоящее из букв латинского алфавита и стоящее в начале строки. После метки ставится двоеточие. В директивах Ассемблера .EQUAL и .REG метка принимает значение выражения, стоящего за директивой. В остальных случаях метка принимает значение $ (текущее значение счетчика команд). Перед директивами ORG, IF и ELSE использование меток запрещено. Мнемоника. В поле Мнемоника записывается мнемоническое обозначение команды ОМЭВМ или псевдокоманды ассемблера. Операнды. В этом поле указываются операнды, участвующие в операции. Команды ассемблера могут быть без-, одно- или двухоперандными. Операнды разделяются запятой. Операнд может быть задан непосредственно или в виде его адреса (прямого или косвенного). Непосредственному операнду обязательно должен предшествовать префикс ( # ). В качестве непосредственного операнда 22 можно указывать число или символическое имя. Прямой адрес операнда может быть задан мнемоническим обозначением, числом или символическим именем. Указанием на косвенную адресацию служит префикс @. В командах передачи управления операндом может быть число, метка, косвенный адрес или выражение. Используемые в качестве операндов символические имена должны быть определены в программе, а числа представлены с указанием системы счисления, для чего используется суффикс (буква, стоящая после числа): В для двоичной, Q - для восьмеричной, H - для шестнадцатеричной. Число без суффикса по умолчанию считается десятичным. Комментарий. Поле комментария всегда начинается после символа (;) и игнорируется Ассемблером. В нем допускается использовать любые символы. Чаще всего это поле используется программистом для пояснения логической организации программы. Директивы Ассемблера. Строка программы может содержать директиву или команду. Директивы, в отличие от команд, не исполняются ОМЭВМ и предназначены, в основном, для управления трансляцией программы. Исключение составляют директивы .ASCII и .ASCIZ, в которых остаток строки является аргументом директивы. Последняя строка программы должна содержать директиву END. Ниже приводится список директив Ассемблера: ORG - изменение текущего значения счетчика команд; .EQUAL - определение имени; .REG - определение имени бита; DB - набор байт; DW - набор слов; BLKB - блок байт; BLKW - блок слов; АSCII - набор байт - кодов символов; ASCIZ - набор байт - кодов символов с 0-м байтом; DEBUG - разрешение трансляции команды BREAK; NODEBUG - запрет трансляции команды BREAK; INSERT - включение файла в программу; IF - директива условной трансляции; ELSE - директива альтернативной трансляции; END - конец программы или блока условной трансляции. После составления текста программы необходимо получить объектный код, т.е. набор двоичной информации, содержащий коды команд и данных. Для простых программ объектный код может быть получен вручную. Однако для более сложных программ требуются специальные средства, позволяющие осуществить трансляцию программы в автоматическом режиме. В настоящее время для ОМЭВМ серии 1830 разработано значительное количество кросс - средств, которые не только обеспечивают 23 ввод и трансляцию программ составленных на языке Ассемблер, но и позволяющие проводить отладку программ. Ввод и редактирование заданных подпрограмм обработки данных рекомендуется выполнять с использованием программной среды РЕТРО, которая выгодно отличается от аналогичных русифицированным интерфейсом и развитой системой помощи. Состав среды РЕТРО приведен в приложении 2. Система функционирует на ПЭВМ типа IBM PC/AT под управлением операционной системы MS DOS версии 3.3 и выше. Вызов редактора и транслятора РЕТРО осуществляется в режиме командной строки путем набора ключевого слова >petpo. После этого экран переформатируется и на него выводится основное окно редактора. Вход в меню команд осуществляется нажатием клавиши F10. Файл, содержащий текст исходной программы, должен иметь расширение .ass и составляется по правилам, приведенным выше. Трансляция программы проводится путем нажатия клавиши F9. Предварительно, в пункте меню OPTIONS, подпункте COMPILER необходимо выбрать опцию “External files .tsk + .lst”. В файле с расширением .tsk будет содержаться объектный код программы, а в файле с расширением .lst - ее листинг. Отладку разработанной программы рекомендуется выполнять с помощью широко распространенного программного эмулятора ОМЭВМ FD51, который позволяет выполнить загруженную программу (файл с расширением .tsk) по шагам с просмотром результатов после каждого шага и в непрерывном режиме с остановом по точкам прерывания, задаваемых пользователем. Более подробно возможности эмулятора описаны в файле FD51.DOC. После запуска эмулятора в режиме командной строки необходимо загрузить объектный модуль по команде: L <тип памяти> [<начальный адрес>], [путь]<имя файла.расширение> где в угловые скобки заключены обязательные параметры, а в квадратные необязательные; тип памяти - может быть I, E, P. В соответствии с этим параметром файл загружается во внутреннюю, внешнюю или программную памяти, соответственно; начальный адрес указывается только при загрузке чисто двоичного кода; путь указывается только в том случае, если файлы с расширением .tsk находятся в другой директории. После загрузки объектного модуля можно просмотреть и модифицировать содержимое регистров ОМЭВМ, ячеек памяти и флагов, вывести на печать или дисковые носители дисассемблированный текст, дампы памяти и т.д. Следует отметить, что наилучшие результаты позволяют получить программно - аппаратные эмуляторы, позволяющие проводить отладку прикладного программного обеспечения в реальном масштабе времени в 24 составе проектируемой МПС. Однако такие системы требуют аппаратной части и в учебном процессе практически не используются. 25 Приложение 1 Условное обозначение ОМЭВМ К1830ВЕ31 (ВЕ51) графическое Приложение 2 Состав среды РЕТРО petpo.exe comp51.exe petpo.doc petpo2.doc comp51.hlp context.hlp debhelp.hlp petpo.cfg mouse.com rk89.com debag.deb reg51.def petpo.opt petpo.ovr - редактор, транслятор и отладчик; - транслятор; - описание редактора, системы команд ОМЭВМ и т.д.; - описание версии 2 системы; - описание работы с транслятором; - файлы помощи; - служебные файлы. 26 Д.т.н., проф. Г.В.САММЕ, к.т.н., доц. А.Е.ЕРМАКОВ МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ Рабочая программа и задание на курсовой проект 27