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

по -разному преломляются на различных этапах их существования.

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

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

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

С точки зрения контроля и диагностики МПС данный этап имеет следующие особенности:

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

Все эти причины делают задачи контроля и диагностики на этапе разработки МПС наиболее сложными, а требования к квалификации персонала весьма высокими.

Инструментальные средства контроля и диагностики на этом этапе должны отвечать следующим требованиям:

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

    На этапе производства микропроцессорной системы на первый план выдвигаются требования:

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

    Контроль на этом этапе проводится с использованием отработанных тестовых программ . Тестирование проводится на специально разработанных контрольных стендах (в случае достаточно большого объема производства), предназначенных для выдачи тестовых воздействий и автоматического анализа реакций на них. Как правило, на этом этапе проводится только контроль работоспособности системы по принципу "годен - не годен". Определение места и характера неисправности проводится более высококвалифицированным персоналом в ходе отдельного процесса.

    Контроль в процессе эксплуатации , как правило, проще, чем на предыдущих этапах, по следующим причинам:

    • вероятность появления двух и более неисправностей одновременно весьма мала;
    • обычно требуется контроль правильности работы только при решении конкретных задач, при этом тесты поставляются вместе с самим изделием.

Однако требования к инструментальным средствам, предназначенным для эксплуатационного обслуживания МПС, весьма противоречивы.

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

Рассмотрим теперь собственно инструментальные средства контроля и отладки микропроцессорных систем.

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

Средства контроля и отладки должны:

  • управлять поведением системы и/или ее модели;
  • собирать информацию о поведении системы и/или ее модели, обрабатывать и представлять на удобном для разработчика уровне;
  • моделировать поведение внешней среды проектируемой системы.

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

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

При автономной отладке аппаратуры могут потребоваться приборы, умеющие:

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

Для автономной отладки аппаратуры на схемном уровне широко используются осциллографы, вольтметры, амперметры, частотомеры, генераторы импульсов , сигнатурные анализаторы. На более высоком уровне применяют внутрисхемные эмуляторы, эмуляторы ПЗУ , логические анализаторы , платы развития, а также специальные отладочные средства, которые встраиваются в БИС на этапе их разработки.

Министерство общего и профессионального образования

Российской Федерации

Тульский Государственный Университет

Кафедра Электронных Вычислительных Машин

Пояснительная записка

к курсовому проекту по дисциплине «Микропроцессорные системы»

Проектирование микропроцессорной системы для идентификации объекта управления

Специальность: 220100

Обозначение КП: К2.006.106

Руководитель работы: Венцлавович Ю.Р.

ВВЕДЕНИЕ

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

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

Задачами курсового проекта является:

· практическое овладение методикой проектирования микропроцессорных систем;

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

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

· получение навыков разработки аппаратного и программного обеспечения микропроцессорной системы;

· дальнейшее развитие навыков функционально-логического, схемотехнического и конструкторского проектирования, оформления и выпуска конструкторской документации в соответствии с ГОСТ.

Для решения перечисленных задач необходимы знания не только курса “Микропроцессорные системы”, но и ряда смежных дисциплин, а также умение пользоваться нормативно-справочной информацией.

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1. Алгоритм обработки входных данных.

Модель объекта заданна уравнением:

где: ai (i=1,…,r) и bi (i=1,…,l) - неизвестные параметры;

xn - ненаблюдаемый шум;

xn-i и zn-i - наблюдаемые переменные.

Оценки параметров определяются итерационной процедурой фильтра Калмана:


где: j = T

q = T

s02 - дисперсия независимого ненаблюдаемого шума xn

1. Характеристики входной информации:

число источников входной информации - 8;

мин/макс уровень изменения входных сигналов - 3/4;

минимальная дисперсия погрешности измерений, ґґ10-2 - ssи2 = 5;

максимальная дисперсия погрешности измерений, ґґ10-2 - ssc2 = 50;

1. Требуемые характеристики выходной информации:

число потребителей выходной информации - 1;

ограничение на время запаздывания выходной информации относительно входной (время формирования ответной реакции), мс - 0,15;

2. Требуемые общие характеристики МПС:

тип связи с источником входной информации - последовательная;

тип связи с потребителем выходной информации - последовательная;

3. Конструктивные параметры:

корпус Desktop - 152х533х419мм

тип платы - Baby-AT 8,57х13,04 дюйма

тип монитора - SVGA 15"

блок питания - 250 Вт

4. Группа эксплуатации - транспортируемые и портативные, предназначенные для длительной переноски людьми на открытом воздухе или в неотапливаемых наземных и подземных сооружениях, работающие и не работающие на ходу.

Климатические факторы

изменение температуры окружающей среды

пониженная температура, Со -50

время выдержки, час 2-6

повышенная температура, Со 60

время выдержки, час 2-6

повышенная влажность

относительная влажность, % 93

температура, Со 40

время выдержки, час 72

пониженная температура

предельная -50

рабочая -10

повышенная температура

предельная 50

рабочая 60

пониженное давление

температура -10

давление, Па 6,1*104

время выдержки, час 2-6

атмосферные осадки

интенсивность дождя, мм/мин 3

время выдержки, час 0,33

морской туман

температура 27

время выдержки, час 48

Механические

вибрации на одной частоте

частота, Гц 20

ускорение, g 2

время выдержки, час 0,5

вибрации в диапазоне частот

диапазон частот, Гц 10-70

ускорение, g 0,8-3,8

удары многократные

число в минуту 40-80

ускорение, g 15

общее число ударов 12000

АНАЛИЗ АЛГОРИТМА ВЫЧИСЛЕНИЙ

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


Входной информацией в данном курсовом проекте является входные и выходные значения параметров идентифицируемого объекта (xn и zn). Графически алгоритм вычисления вектора оценок q = изображен на рис. 2.

По изображенному алгоритму была написана программа на языке С, моделирующая процесс вычислений производимых МПС. Листинг программы находится в приложении 1, результат моделирования приведен в приложении 2.

ОПРЕДЕЛЕНИЕ СОСТАВА МПС

Центральную часть разработанной структуры микропроцессорной системы составляет центральный процессор, построенный на основе микропроцессора (МП) и выполняющий основные функции процесса обработки информации и управления этим процессом. Внутренняя память МПС (для хранения программ и данных) - полупроводникового типа, размещается на одной плате вместе с CPU, она представлена в виде модулей постоянной (ROM). Микропроцессор управляется генератором синхросигналов (G). В системе также присутствует математический сопроцессор (FPU).

МПС связана с окружающей средой с помощью источников входной информации и потребителей выходной информации. В качестве источников Sn используются датчики, измеряющие значения переменных наблюдаемого объекта, например, технологического процесса. В качестве потребителей Dn могут служить исполнительные механизмы различных типов (клапаны, задвижки, преобразователи и усилители сигналов и т.п.).

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

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

Длительность цикла Тс определяется из выражений:

1. Разрядность АЦП

1. Округление результата оптимальное


где h - шаг дискретизации по уровню сигнала

1. Точность преобразования


1. Время преобразования

1. Длительность цикла

где tn - время преобразования значения сигнала в цифровой код,

m - количество источников входной информации.

Определив ограничение на длительность Тс, можно определить ограничение на длительность такта работы процессора


РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Листинг программы оценки параметров объекта приведен в приложении 3.

Вся программа располагается в ПЗУ и состоит из двух функциональных блоков: блока инициализации МПС (настройка нужным образом процессора, сопроцессора, инициализация переменных) и рабочей части, которая в режиме реального времени производит прием и обработку данных (схема алгоритма обработки входной информации изображена на рис.2).

Все ПО составлено на языке ассемблера выбранного МП, который позволяет непосредственно получить двоичные ("объектные") коды команд, записываемые далее в ПЗУ. При включении питания или по сигналу RESET управление передается модулю инициализации, который устанавливает систему в исходное состояние.

Программа самостоятельно обрабатывает ситуацию деления на ноль. Отключение питания или другие неотложные события, как, например аппаратный сбой, не оказывает критического воздействия на МПС и не могут вывести ее из строя. Из чего можно сделать вывод, что для МПС не требуются обработчики прерываний.

Обмен с внешней средой осуществляется через 8-ми разрядные последовательные порты ввода/вывода за один цикл ввода и вывода соответственно. Программное обеспечение оптимизировано по скорости выполнения для выбранного микропроцессора и использует преимущества 32-х разрядной обработки данных и взаимодействия с внешними устройствами.

ВЫБОР МПК И РАЗРАБОТКА АРХИТЕКТУРЫ МПС

Выбор осуществлялся между МПК на базе процессора 8086 и МПК на базе процессора 80386 фирмы Intel. Для оценки времени задержки выходных данных посчитаем количество тактов, необходимое каждому процессору для выполнения расчетов. Результаты сравнения представлены в таблице 1.

Таблица 1


При частоте синхронизации 33 МГц, время одного такта составляет 30 нс, из чего следует, что время необходимое для приема, обработки и выдачи результата составляет:

*4892 = 146760 нс = 0.147 мс,

при допустимом времени задержки 0.15 мс.

Таким образом, был выбран микропроцессорный комплект на базе микропроцессора 80386 фирмы Intel с частотой 33 МГц, который наиболее полно удовлетворяет предъявленным требованиям и ограничениям. Этот МПК является однокристальным микропроцессором с фиксированной системой команд и архитектурой. С помощью интерфейсных БИС и прикладного программного обеспечения осуществляется настройка МПС на заданный класс алгоритмов. При проектировании МПС требуются средства подготовки и отладки программ.

Микропроцессор работает на частоте 33 МГц; обрабатывает входные данные целого типа формата байт. Поступающая в МПС информация хранится в виде вектора (одномерный массив), часть промежуточных результатов и констант храниться в виде массивов, соответствующих размерностей.

МПС, для реализации своих задач, содержит в своем составе следующий набор БИС:

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

· арифметический сопроцессор i80387;

· генератор тактовой частоты 82384;

· приемопередатчик данных 8286;

· защелки адреса 8282;

· МС статического ОЗУ КМ185РУ8, МС ПЗУ КР556РТ20 и набор МС, формирующих управляющие сигналы (1533ИД3, 1533ИД14, 1533ЛА3);

· МС универсального синхронно-асинхронного приемопередатчика (KP580BB51A), предназначенную для последовательного протокола обмена данными.

ПРОЕКТИРОВАНИЕ ПРОЦЕССОРА МПС

проектирование микропроцессорный программный

На этом этапе разрабатывается процессор. Исходной информацией при разработке процессора является его архитектура. На ее основании разрабатывается структура процессора и его интерфейс с системной шиной.

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

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

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

Состав средств доступа к СШ определяется типом шины. Разрабатываемая МПС является однопроцессорной и в ней используется однопользовательская СШ. В этом случае шиной управляет сам процессор и дополнительных средств управления не требуется.

Интерфейс адресной шины реализуется буферным регистром адреса, а интерфейс шины данных - шинным формирователем. Ток нагрузки шинных формирователей и буферных регистров интерфейса определяет нагрузочную способность системной шины.

Расчет нагрузочной способности шины адреса:

Т.к. в один момент времени может работать модуль ОЗУ или модуль ПЗУ.

Iвых182 = max{4* IвхПЗУ1, 4* IвхОЗУ1} = max{4*4×10-5, 4*0.04} = 0.16mA £ 32mA

Iвых082 = max{4* IвхПЗУ0, 4* IвхОЗУ0} = max{4*0.25, 4*0.45} = 1.8mA £ 5 mA

Расчет нагрузочной способности шины данных:

Т.к. в один момент времени может работать модуль ОЗУ или порт вывода.

Iвых186 = max{IвхОЗУ1, IвхIOP1} = max{0.04, 0.0007} = 0.04mA £ 32mA

Iвых086 = max{IвхОЗУ0, IвхIOP0} = max{0.3, 0.05} = 0.3mA £ 5mA

Расчет нагрузочной способности линий CS для ОЗУ и ПЗУ из дешифратора:

Iвых1DC = max{4* IвхПЗУ1, 4* IвхОЗУ1} = max{4*4×10-5, 4*0.04} = 0.16mA £ 0.4mA

Iвых0DC = max{4* IвхПЗУ0, 4* IвхОЗУ0} = max{4*0.25, 4*0.9} = 3.6mA £ 8 mA

Расчет нагрузочной способности линий W/R для ОЗУ из МС 8282:

Iвых182 = 4* IвхОЗУ1 = 4*0.04 = 0.16mA £ 32mA

Iвых082 = 4* IвхОЗУ0 = 4*0.45 = 1.80mA £ 5mA

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

Тактовый генератор 82384, используемый в системах на базе МП i80386, вырабатывает тактовые сигналы для выполнения синхронных операций различных компонентов системы. На выходе CLK2 схемы генератора формируются импульсы с частотой равной частоте внешнего кварца (33 МГц), а на выходе CLK - с частотой вдвое меньшей. Сигналы на выходе CLK и сигналы внутренней синхронизации МП совпадают по фазе. Выравнивание фаз этих сигналов происходит по срезам сигнала RESET.

Сигнал RESET служит для установки в исходное состояние МП и других компонентов системы и формируется генератором от внешней RC - цепочки. Сигнал ADS# обеспечивает требуемые времена установки и удержания для сигнала CLK2, а сигнал ADS0# используется совместно с CLK для управления периферийными устройствами. Вывод F/C# заземляется, т.к. применяется кварцевый резонатор.

Регистры защелки адреса 8282, выполняют функции интерфейса шины адреса, в следствии чего повышается нагрузочная способность шины адреса. Данные в в регистры защелкиваются по фронту сигнала ADS#, поступающего с тактового генератора. Входной сигнал OE# - отключение третьего состояния выходов, находится в активном состоянии.

Шинные формирователи 8286, выполняют функции интерфейса шины данных, для повышения нагрузочной способности шин данных. Входной сигнал T - задает направление передачи данных. Входной сигнал OE# - отключение третьего состояния выходов, находится в активном состоянии.

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

Между МП 80386 и сопроцессором 80387 имеются следующие соединения:

· выходы BUSY#, ERROR#, PEREQ сопроцессора 80387 подключаются к соответствующим выводам МП 80386;

· вход RESET сопроцессора 80387 подключается к выходу RESET тактового генератора 82384;

· входы выбора микросхемы арифметического сопроцессора 80387 (CS1#, CS2) непосредственно подключаются к выходам M/IO# и A31 соответственно. Для циклов с сопроцессором сигнал А31 всегда имеет высокий уровень, а сигнал M/IO# - всегда низкий уровень напряжения;

· вход команды сопроцессора 80387 (CMD0#) отделяет данные от команд. Этот вход подключается к выходу А2. МП 80386 выводит адрес 800000F8h при записи команды, и адрес 800000FCh - при записи или считывании данных;

· все 32 линии (D31-D0) шины данных МП 80386 непосредственно подключаются к шине данных сопроцессора 80387;

· входы READY#, ADS#, W/R# сопроцессора 80387 подключаются к соответствующим выводам МП 80386. Сопроцессор 80387 использует сигналы READY# и ADS# для отслеживания активности магистрали и того момента времени, когда могут быть опрошены сигналы W/R#, CS1#, CS2 и сигналы разрешения состояния (STEN);

· сигнал STEN является сигналом выбора микросхемы 80387. Он может быть установлен на высоком уровне напряжения. Если же один и тот же МП 80386 работает с несколькими сопроцессорами 80387, то сигнал STEN может использоваться для активизации одного из них в конкретный момент времени;

· выход готовности (READYO#) является дополнительным выходом. Он может быть использован для генерации состояния ожидания, требуемого сопроцессором.

Если МП 80386 обнаруживает команду сопроцессора, он автоматически генерирует один или более циклов ввода-вывода по адресам 800000F8H и 800000FCH. Процессор выполняет все необходимые магистральные циклы с памятью и передачи к сопроцессору 80387 и от него. Все обмены с сопроцессором 80387 являются 32-разрядными. Если по какой-либо причине используется 16-разрядная подсистема памяти, то МП 80386 автоматически выполняет преобразования перед передачей данных к арифметическому сопроцессору или от него.

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

В псевдосинхронном режиме сигнал СКМ имеет низкий уровень. Ко входу CLK2 сопроцессора 80387 должен быть подключен источник тактовой частоты. Синхронной с МП 80386 является только интерфейсная логика сопроцессора 80387. Внутренняя логика сопроцессора 80387 работает от источника тактовой частоты со входа 80387 CLK2.

В синхронном режиме сигнал СКМ имеет высокий уровень и вход 80387 CLK2 никуда не подключается. Сопроцессор 80387 работает от основного тактового сигнала CLK2. Операции арифметического сопроцессора полностью синхронны с работой МП 80386.

Сопроцессор 80387 использует два метода для взаимодействия с МП 80386. Первый используется, когда операции с сопроцессором инициирует МП 80386. Это происходит во время исполнения команды сопроцессора (команды ESC) и осуществляется под контролем программы. Взаимодействие по второму методу осуществляется, когда сопроцессор использует сигнал PEREQ для запроса, чтобы МП 80386 начал передачу операндов к системной памяти или от нее. Эти передачи осуществляются по требованию сопроцессора, поэтому они асинхронны с выполнением команд МП 80386. Передачи данных для сопроцессора имеют тот же самый приоритет на магистрали, что и передачи данных под управлением программы.

ОРГАНИЗАЦИЯ МИКРОПРОЦЕССОРА

В 80386 имеются две раздельные шины: шина адреса и шина данных. Шина данных - 32-разрядная и двунаправленная. В большинстве применяемых модулей для высокоcкоростной локальной шины используются 32 разряда адреса, передаваемого по адресной шине, из них 2 младших разряда дешифрируются в 4 сигнала строба данных (каждый из этих сигналов разрешает или запрещает передачу соответствующего байта данных, сигналы BE0#-BE3#), а остальные 30 разрядов представляют собой двоичный код адреса. Для управления обменом по шине адреса и шине данных используются соответствующие управляющие сигналы.

Изменяемая ширина (разрядность) шины данных позволяет процессору взаимодействовать как с 32-х, так и с 16-разрядными внешними шинами в синхронном режиме.

Выводы микропроцессора:

· Синхросигнал (CLK2)

CLK2 обеспечивает основную синхронизацию работы 80386. Эта тактовая частота делится пополам для того, чтобы сформировать внутреннюю процессорную тактовую частоту, используемую при выполнении команд внутри процессора.

· Шина данных (D0-D31)

Двунаправленные с тремя состояниями линии шины данных обеспечивают перемещение данных от 80386 к другим устройствам. Наличие высокого уровня напряжения на входах/выходах шины данных обозначает наличие кодов логической единицы "1" на этих выводах. Шина данных может передавать данные как на 32-, так и на 16-разрядные шины благодаря тому, что есть возможность изменения размера шины данных; размер шины данных определяется значением входного сигнала BS16#. При любой операции записи (включая циклы останова и выключения) 80386 всегда передает все 32 разряда данных, даже если в текущем цикле размер шины обмена равен 16 разрядам.

· Шина адреса (BE0#-BE3#, A2-A31)

Эти выходы с тремя состояниями обеспечивают физическую адресацию памяти или адресацию устройств ввода/вывода. Шина адреса обеспечивает физическое пространство адресов памяти объемом 4 гигабайта (от 00000000H до FFFFFFFFH) и пространство адресов ввода/вывода объемом 64 килобайта (от 00000000H до 0000FFFFH) для обращения к устройствам ввода/вывода.

Значения сигналов стробов данных BE0#-BE3# определяют соответственно те байты 32-разрядной шины данных, которые участвуют в текущей передаче. Это особенно удобно для взаимодействия с внешней аппаратурой.

· Сигналы определения типа цикла шины (W/R#, D/C#, M/IO#, LOCK#)

Эти выходы с тремя состояниями определяют тип текущего цикла шины. В зависимости от значения W/R# все циклы подразделяются на циклы записи и циклы чтения. D/C# разделяет все циклы на циклы обмена данными и циклы обмена управляющими сигналами. M/IO# отличает циклы обращения к памяти от циклов обращения к устройствам ввода/вывода. По сигналу LOCK# различаются циклы с блокированной шиной.

· Указатель 16-разрядной шины (BS16#)

Благодаря сигналу BS16# осуществляется непосредственная связь 80386 с 32-разрядной и 16-разрядной шинами данных. Установка активного уровня этого входа приведет к тому, что в текущем цикле шины обмен будет производиться только по младшей половине шины данных (D0-D15) в соответствии со значениями сигналов BE0# и BE1#. Дополнительное влияние сигнала BS16# (установленного в активное состояние) не проявится, если в текущем цикле сформированы активные уровни только сигналов BE0# или BE3#, действие сигнала BS16# (активного уровня) заставит процессор 80386 выполнить необходимые переключения для правильной передачи старшего (их) байта (ов) по линиям D0-D15.

В данной работе этот сигнал всегда установлен в пассивное состояние и обмен с памятью производится только 32 разрядными данными.

· Сигналы прерывания INTR, NMI

Могут прерывать или приостанавливать выполнение процессором текущего набора инструкций. Так как обработка прерываний не требуется, то эти сигналы не используются.

· Сигнал сброса (установки в исходное состояние)(RESET).

Этот входной сигнал останавливает выполнение любой операции и переводит 80386 в состояние, известное как состояние сброса. Сброс 80386 производится установкой активного уровня сигнала RESET в течение 15-ти или более периодов CLK2. Сигнал RESET может быть асинхронным по отношению с CLK2. Если необходимо, фаза внутреннего синхросигнала процессора, а также целое состояние 80386 могут быть полностью синхронизированы с внешними схемами.

Описание функционирования шины 80386 имеет отдельные параллельные шины: шину адреса и шину данных. Шина данных 32-х разрядная и двунаправленная. Ширина шины адреса 32 разряда: из них 30 старших разрядов адрес операнда и 2 разряда формируются из 4х сигналов стробов данных каждый из которых служит для выборки соответствующего байта в операнде. Тип каждого цикла шины определяется тремя сигналами: M/IO#, W/R# и D/C#. Одновременно с этими сигналами устанавливается достоверный адрес на линиях BE0#BE3# и A2-A31. Сигнал строба адреса указывает на выдачу процессором 80386 нового типа цикла шины и адреса. В рабочем состоянии шина выполняет один из ниже перечисленных циклов шины:

Таблица 1. Определение цикла шины

ТИП ПЕРЕДАЧИ

Подтверждение прерывания

Специальные циклы BE0-BE3

Считывание данных из ввода-вывода

Запись данных во ввод-вывод

Предвыборка (считывание) команд из памяти

(зарезервирован)

Считывание данных из памяти

Запись данных в память


РАЗРАБОТКА ПОДСИСТЕМЫ ПАМЯТИ МПС

При проектировании ЗУ МПС решались задачи разработки схемы накопителя информации и схемы сопряжения ОЗУ и ПЗУ с системной шиной.

Потребность в оперативной памяти определяется по ассемблерной программе:

· данные под временные переменные - 688 байт;

· объем памяти под код программы составляет 928 байт.

Особенность построения модулей памяти для микропроцессора 80386 состоит в том, что для обращения к данным используется 32-х разрядная шина данных (т.е. обмен производится по 4 байта, нужный байт выбирается по сигналам выбора байтов BE0#-BE3#). На основании этого модули памяти строятся из четырех банков с разрядностью 1 байт.

Накопитель OЗУ строится на основе микросхем КМ185РУ8 статического типа размерностью 256´8, с временем записи/считывания 45нс, Рсс = 915мВт. Накопитель ПЗУ строится на основе микросхем 556РТ17 размерностью 512´8, с временем считывания 50нс, Рсс = 998мВт.

Из временных диаграмм приведенных в приложении 4 следует, что организация тактов ожидания при обращении к памяти не требуется, т.к. циклы чтения/записи укладываются во временные ограничения - два цикла процессора T1 + T2 = 1/33МГц + 1/33МГц = 61нс.

Адресный выход МП A11 и выход M/IO# используются для выбора одного из адресуемых пространств, а сигналы BE0#, BE1#, BE2#, BE3# используются для выбора адресуемого байта в модулях ОЗУ или ПЗУ.

Объем памяти был выбран исходя из потребностей системы и адресное пространство МПС разделено и доступно для использования следующим образом:

Диапазон адресов

Адресуемое пространство

Порты ввода/вывода

ОЗУ объемом 1Кбайт

ПЗУ объемом 2Кбайта


РАЗРАБОТКА ПОДСИСТЕМЫ ВВОДА-ВЫВОДА

Подсистема ввода-вывода МПС представляет собой совокупность каналов ввода-вывода, каждый из которых обслуживает отдельные ВУ. Канал содержит средства сопряжения с СШ (интерфейс ВУ) и средства управления вводом-выводом и реализуется аппаратными средствами и программным обеспечением.

Так как в МПС информация поступает от восьми датчиков, то в процедуре ввода, прежде чем приступить к приему данных, последовательно выбирается ВУ, с которым будет производиться обмен. Нужный датчик задается в цикле, путем записи в регистр DX его номера. Используя данный номер, аппаратными средствами (дешифратор адреса и средствами управления) разрешается прием от источника с заданным номером. Интерфейс канала реализуется на основе портов ввода-вывода.

Подключение МС последовательного порта.

Интерфейсы последовательных каналов В/В реализуются на БИС программируемого интерфейса последовательной связи, например, КР580ВВ51А.

БИС КР580ВВ51А представляет собой универсальный синхронно-асинхронный приемопередатчик последовательной связи, выполняющий функции приема и преобразования параллельных форматов слов данных в последовательные форматы со служебными символами для передачи по КС (каналу связи) и последовательных форматов, принимаемых из КС слов данных в параллельный формат для ввода в процессор. БИС может быть запрограммирована для работы в 5 режимах: асинхронная передача, асинхронный прием, синхронная передача, синхронный прием с внутренней синхронизацией, синхронный прием с внешней синхронизацией. Контролируются ошибки в принимаемых словах данных на четность или нечетность, ошибки в структуре кода при асинхронном приеме, возникающие вследствие отсутствия стоповых битов, а также ошибки наложения, возникающие в результате нарушения синхронизации обмена, когда очередное слово поступает до считывания предыдущего. Скорость обмена до 64000 бод.

Управление передачей.

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

· TxRDY (Transmitter Ready): Этот выход сигнализирует системному блоку, что передатчик готов получить символ данных. TxRDY автоматически сбрасывается по переднему фронту выходного сигнала WR, когда символ данных загружается из системного блока;

· ТхС (Transmit Clock): Тактирование передачи управляет скоростью, с которой должен передаваться символ. В синхронном режиме скорость в битах в секунду равна частоте ТхС. Задний фронт сигнала ТхС сдвигает последовательные данные.

Передача данных.

При синхронной передаче выход TxD постоянно находится в маркерном уровне, пока система не пошлет свой первый символ, который является символом синхронизации КР580ВВ51А. Все биты выдвигаются по заднему фронту ТхС.

Когда передача началась, поток данных на выходе TxD должен продолжаться со скоростью ТхС. Если система не обеспечивает КР580ВВ51А символами данных до того, как буфер передачи становится пустым, то в поток данных будут автоматически вставляться символы синхронизации. В этом случае бит ТхЕ в регистре состояния переключается в высокое состояние для сигнализации того, что КР580ВВ51А пуст и передаются символы синхронизации. ТхЕ не переходит в низкое состояние, когда выдвигается символ синхронизации. Бит состояния ТхЕ сбрасывается автоматически при записи в КР580ВВ51А символа данных.

Управление приемом.

· RxRDY (Receiver Ready): Этот выход показывает, что КР 580ВВ51А содержит символ, готовый для передачи в системный блок;

· RхС (Receiver Clock) : Тактовая частота приемника управляет скоростью, с которой должен приниматься символ. Скорость следования битов равна действительной частоте RxC.

Прием данных.

Приемник получает последовательные данные, преобразует их в параллельный формат, проверяет на биты или символы, которые зависят от метода связи, и посылает обработанный символ в системный блок. Вход последовательных данных приходит на вывод RxD и тактируется по переднему фронту RxC.

Процедура программирования КР580ВВ51А.

КР580BB51A загружается набором управляющих слов, определяющих среду связи. Управляющие слова разбиваются на два формата: инструкция режима и инструкция команды. Инструкция режима и команды должны соответствовать определенной последовательности для надлежащей работы устройства. Инструкция режима должна быть вставлена непосредственно после операции сброса, перед использованием КР580ВВ51А для связи. Требуемые символы синхронизации для выбранного метода связи загружаются после этого в КР580ВВ51А. Все управляющие слова, записанные в КР580ВВ51А после инструкции режима, будут обозначать инструкцию команды. Сопрягается КР580ВВ51А с системными шинами процессора через выводы шины данных D7-D0, управляемые сигналами выборки БИС, чтения, записи, подаваемыми на входы CS, C/D, RD, WR. Управление входом C/D выполняется с линии А2.

Для чтения/записи данных из портов ввода/вывода достаточно только обращение к соответствующему адресному пространству.

РАЗРАБОТКА ТЭЗА

Конструктивно препроцессор при заданном размере плат может быть выполнен на одном ТЭЗе. Кроме микросхем ТЭЗ включает:

· 1 разъем типа СНП34-90;

· 1 разъем типа PS9 - для подачи напряжения питания и заземления;

· фильтрующие конденсаторы: 2 электролитических и 6 (1 штука - на 5 микросхем) керамических КМ-51-Н90-0.05, устанавливаемые на плате в непосредственной близости от микросхем;

· кварцевый резонатор и колебательный контур на 33МГц.

· Для подачи уровня "1" в данной работе вместо резисторов номиналом 1К используются "лишние" линии логического элемента 2И-НЕ, на входы которого поданы "0".

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

Тепловой режим обеспечивается средствами естественного воздушного охлаждения, и плата выполненна на металлической основе, рассеивающей тепло. В целях защиты элементов и печатной платы от влаги ТЭЗ покрывается лаком ПФЛ-86.

ЗАКЛЮЧЕНИЕ

При проектировании микропроцессорной системы использовалось следующее программное обеспечение:

· Borland C++ 3.1 и Turbo Assembler 3.1 - для оценки размера программы МПС;

· система автоматизированного проектирования Visio 4.5 и Microsoft Word 2000 -для оформления конструкторской документации.

В результате выполнения курсового проекта была построена МПС на базе микропроцессора i80386DX33 для которой можно оценить следующие технические характеристики:

· разрядность, бит - 32;

т.к. разрядность шины данных - 32 бита

· быстродействие (RG-RG), опер/с: - 6.6*106;

т.к. МП 80386 выполняет одну команду в среднем за 5 тактов, в итоге быстродействие определяется: 33МГц / 5 = 6.6*106 опер/с

· объем внутренней памяти, Кбайт: - ОЗУ - 1, ПЗУ -2;

· максимальная скорость обмена данными, Кбод: - 64;

· потребляемая мощность, Вт: - 17.25;

· напряжение питания, В (Гц): - 220 (50),

В ходе выполнения курсового проекта были решены следующие задачи проектирования МПС:

· моделирование источников входной информации, заданного алгоритма и потребителей выходной информации;

· определение параметров элементов МПС по результатам моделирования;

· синтез и разработка функциональных и принципиальных схем МПС;

· разработка программного обеспечения МПС;

· разработка конструкции и конструкторской документации проекта (чертежи и пояснительная записка).

Критерий качества системы равен:

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

· Микропроцессор 80386: Справочник /К. Паппас, У. Марри / М.: Радио и связь, 1993.-320 с.

· Процессор 80386DX в схеме персонального компьютера / Поляков А.В. -М.:ИКС, 1994.

· Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2 т./ Под ред. В. А. Шахнова.- М.: Радио и связь, 1988.- 368 с.: ил.

· Логические ИС КР1533, КР1554: справочник. В 2 т. /Под ред. И. И. Петровского, БИНОМ, 1993, с ил.

· Применение микросхем памяти в электронных устройствах, О. Н. Лебедев, М.: Радио и связь, 1994. - 216 с.: ил.

· ГОСТ 2.743-91 ЕСКД. Обозначения условные графические в схемах. Элементы цифровой техники.

· ГОСТ 2.708-81 ЕСКД. Правила выполнения электрических схем цифровой электрической техники.

· ГОСТ 2.755-87 ЕСКД. Обозначения условные графические в схемах. Устройства коммутационные и соединения контактные.

· Токарев В. Л. Микропроцессорные системы: методические указания по выполнению лабораторных работ и курсового проекта для студентов специальности 220100 дневного и вечернего обучения. - Тула: ТГУ, 1997. - 48 с.

· Матикашвили Т.И. Оформление документов по программированию и цифровой электронике Тула: ТГТУ, 1994. -44с.

ПРИЛОЖЕНИЕ 1

Листинг программы моделирования объекта наблюдения и МПС

#include

#include

#include

{();();= 0.0;= 0.0;(O, 0, sizeof(float)*(R+L));(fi, 0, sizeof(char)*(R+L));(r, 0, sizeof(float)*(R+L)*(R+L));(i=0; i

{(i=R-1; i>0; i--) fi[i] = fi;(i=R+L-1; i>R-1; i--) fi[i] = fi; = z; fi[R] = x;= ((float)rand()/RAND_MAX)*sigma;= ((float)rand()/RAND_MAX)*2-1;= 0.0;(i=0; i

{(j=i+1; j

{= r[i][j]; r[i][j] = r[j][i]; r[j][i] = tmpr;

}(chisl, 0, sizeof(float)*(R+L)*(R+L));(i=0; i

{(j=0; j

{(l=0; l

{[i][j]+=chline[l]*r[l][j];

}(i=0; i

{(j=0; j

{[i][j]-=chisl[i][j]/znam;

}[i] = rfi[i]/znam;

}= 0.0;(i=0; i

ПРИЛОЖЕНИЕ 2

Результаты моделирования объекта наблюдения и МПС

Step 1: fi = [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ]= 0.405= [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ]2: fi = [ 0.405 0.022 0.000 0.000 0.000 0.000 0.000 0.000 ]= 0.578= [ 0.930 0.413 0.000 0.000 0.000 0.000 0.000 0.000 ]3: fi = [ 0.627 0.653 0.022 0.000 0.000 0.000 0.000 0.000 ]= -0.322= [ 0.322 0.021 -0.001 0.000 0.000 0.000 0.000 0.000 ]4: fi = [ 0.696 -0.774 0.653 0.022 0.000 0.000 0.000 0.000 ]= -0.092= [ 0.303 0.005 -0.001 -0.001 0.000 0.000 0.000 0.000 ]5: fi = [ 0.048 0.973 -0.774 0.653 0.022 0.000 0.000 0.000 ]= 0.386= [ 0.821 0.377 -0.409 0.030 0.704 0.000 0.000 0.000 ]6: fi = [ 0.853 -0.425 0.973 -0.774 0.653 0.022 0.000 0.000 ]= 0.091= [ 0.875 0.411 -0.429 0.033 0.765 -0.305 0.000 0.000 ]7: fi = [ 0.835 0.225 -0.425 0.973 -0.774 0.653 0.022 0.000 ]= -0.242= [ 0.467 0.233 -0.247 -0.026 0.375 -0.109 0.007 0.000 ]8: fi = [ 0.225 0.266 0.225 -0.425 0.973 -0.774 0.653 0.022 ]= -0.028= [ 0.485 0.220 -0.242 -0.018 0.348 -0.126 0.054 -0.202 ]9: fi = [ 1.007 -0.375 0.266 0.225 -0.425 0.973 -0.774 0.653 ]= -0.008= [ 0.491 0.212 -0.238 -0.020 0.336 -0.103 0.020 -0.259 ]10: fi = [ -0.216 -0.940 -0.375 0.266 0.225 -0.425 0.973 -0.774 ]= 0.372= [ 0.821 0.451 -0.467 -0.260 0.789 -0.323 0.299 -0.482 ]11: fi = [ 0.701 0.817 -0.940 -0.375 0.266 0.225 -0.425 0.973 ]= 0.084= [ 0.836 0.462 -0.436 -0.218 0.702 -0.320 0.297 -0.439 ]12: fi = [ 1.047 -0.970 0.817 -0.940 -0.375 0.266 0.225 -0.425 ]= -0.256= [ 0.504 0.263 -0.249 -0.070 0.431 -0.131 0.026 -0.285 ]13: fi = [ 0.533 -0.762 -0.970 0.817 -0.940 -0.375 0.266 0.225 ]= -0.020= [ 0.522 0.260 -0.247 -0.071 0.436 -0.138 0.026 -0.289 ]14: fi = [ 0.117 -0.969 -0.762 -0.970 0.817 -0.940 -0.375 0.266 ]= 0.023= [ 0.343 0.263 -0.251 -0.073 0.239 -0.135 0.019 -0.291 ]15: fi = [ 0.939 0.325 -0.969 -0.762 -0.970 0.817 -0.940 -0.375 ]= -0.204= [ 0.330 0.176 -0.220 -0.037 0.259 -0.124 0.048 -0.136 ]16: fi = [ 0.648 -0.632 0.325 -0.969 -0.762 -0.970 0.817 -0.940 ]= 0.048= [ 0.343 0.272 -0.217 -0.043 0.247 -0.112 0.052 -0.237 ]17: fi = [ 0.753 0.478 -0.632 0.325 -0.969 -0.762 -0.970 0.817 ]= 0.552= [ 0.765 0.439 -0.471 -0.201 0.673 -0.355 0.232 -0.404 ]18: fi = [ 0.559 -0.946 0.478 -0.632 0.325 -0.969 -0.762 -0.970 ]= 0.023= [ 0.776 0.442 -0.450 -0.203 0.675 -0.358 0.225 -0.410 ]19: fi = [ 0.974 -0.256 -0.946 0.478 -0.632 0.325 -0.969 -0.762 ]= -0.030= [ 0.767 0.419 -0.408 -0.212 0.673 -0.359 0.229 -0.404 ]20: fi = [ 0.954 0.139 -0.256 -0.946 0.478 -0.632 0.325 -0.969 ]= -0.368= [ 0.517 0.275 -0.246 -0.015 0.438 -0.150 0.006 -0.256 ]21: fi = [ 1.736 0.134 0.139 -0.256 -0.946 0.478 -0.632 -0.325 ]= -0.045= [ 0.502 0.267 -0.248 -0.065 0.441 -0.150 0.056 -0.258 ]22: fi = [ 0.679 -0.488 0.134 0.139 -0.256 -0.946 0.478 -0.632 ]= 0.222= [ 0.664 0.329 -0.357 -0.126 0.545 -0.222 0.103 -0.349 ]23: fi = [ 0.685 0.531 -0.488 0.134 0.139 -0.256 -0.946 0.478 ]= 0.176= [ 0.675 0.341 -0.357 -0.115 0.558 -0.236 0.122 -0.346 ]24: fi = [ 1.015 -0.361 0.531 -0.488 0.134 0.139 -0.256 -0.946 ]= -0.220= [ 0.587 0.294 -0.397 -0.122 0.442 -0.245 0.111 -0.217 ]25: fi = [ 0.755 0.111 -0.361 0.531 -0.488 0.134 0.139 -0.256 ]= -0.173= [ 0.546 0.277 -0.362 -0.136 0.499 -0.218 0.071 -0.251 ]26: fi = [ 0.420 0.660 0.111 -0.361 0.531 -0.488 0.134 -0.139 ]= 0.310= [ 0.596 0.297 -0.314 -0.118 0.516 -0.186 0.091 -0.296 ]27: fi = [ 1.239 -0.775 0.660 0.111 -0.361 0.531 -0.488 -0.134 ]= 0.119= [ 0.615 0.321 -0.276 -0.078 0.532 -0.152 0.114 -0.301 ]28: fi = [ 0.242 -0.715 -0.775 0.660 0.111 -0.361 0.531 -0.488 ]= -0.093= [ 0.610 0.315 -0.297 -0.096 0.526 -0.163 0.102 -0.302 ]29: fi = [ 0.610 -0.327 -0.715 -0.775 0.660 0.111 -0.361 0.531 ]

ПРИЛОЖЕНИЕ 3

Листинг программы прошивки ПЗУ

TEXT segment byte public "CODE"cs:_TEXT, ds:_TEXT 100h

; Процедура инициализации

; Обнуление O

;di,offset Oax,dses,axax,axcx,16stoswstart:word ptr x,0word ptr x+2,0word ptr z,0word ptr z+2,0

; r -> единичная матрица

mov word ptr i,0

@1@58:bx,word ptr icl,5bx,clax,word ptr icl,2ax,clbx,axword ptr r,16256word ptr r,0word ptr iword ptr i,8 short @1@58

; Настройка портов ввода-вывода

@1@581:dx,4al,11110101B ; ассинхр.,

; 6 бит символа, четный паритет

mov al,00111110B ; приемикdx,al@1@581dx,4al,11111101B ; ассинхр.,

; 8 бит символа, четный паритет

mov al,00110011B ; передатчикdx,al

; Обработка данных

mov cx,8dx,0bx,0

@1@1599:dx,4al,dxbyte ptr fi,albx@1@1599

; Обнуляем rfi

;di,offset rfiax,axcx,16stosw

; Вычисление rfi

@1@198:word ptr j,0

@1@226:bx,word ptr jal,byte ptr fiah,0word ptr temp,axword ptr tempbx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr rbx,word ptr ibx,cldword ptr rfibx,word ptr ibx,cldword ptr rfiword ptr jword ptr j,8short @1@226word ptr iword ptr i,8short @1@198

;word ptr znam+2,0word ptr znam,0

; Вычисление znam

;word ptr i,0si,sicl,2si,clsi,offset rfi

@1@450:bx,word ptr ial,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr dword ptr znamdword ptr znamsi,4word ptr isi,offset rfi+32short @1@450

;ax,word ptr sigmaword ptr temp,axword ptr tempdword ptr znamdword ptr znam

; Транспонирование r

@1@590:ax,word ptr iaxword ptr j,ax@1@674

@1@618:bx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axax,word ptr rword ptr temp,axax,word ptr rword ptr temp+2,axdx,bxbx,word ptr jcl,5bx,clax,word ptr icl,2ax,clbx,axax,word ptr rword ptr temp+4,axax,word ptr rword ptr temp+6,axax,word ptr tempword ptr r,axax,word ptr temp+2word ptr r,axbx,dxax,word ptr temp+4word ptr r,axax,word ptr temp+6word ptr r,axword ptr j

@1@674:word ptr j,8@@28@1@618

@@28:word ptr iword ptr i,8@@29@1@590

; Обнуление chisl

;di,offset chislax,axcx,128stosw

; Вычисление chline

@1@814:bx,word ptr jal,byte ptr fiah,0word ptr temp,axword ptr tempbx,word ptr icl,2bx,cldword ptr rfibx,word ptr jbx,cldword ptr chlineword ptr jword ptr j,8short @1@814

; Вычисление chisl

@1@926:word ptr l,0ax,word ptr icl,5ax,cldx,word ptr jcl,2dx,clax,dxsi,ax

@1@982:bx,word ptr lcl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr rbx,word ptr lbx,cldword ptr chlinedword ptr chisldword ptr chislword ptr lword ptr l,8short @1@982word ptr jword ptr j,8short @1@926word ptr iword ptr i,8@@30@1@786

; Вычисление r

@1@1206:word ptr j,0

@1@1234:bx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr chisldword ptr znamdword ptr rdword ptr rword ptr jword ptr j,8short @1@1234

; Вычисление k

;bx,word ptr icl,2bx,cldword ptr rfidword ptr znamdword ptr kword ptr iword ptr i,8@@31@1@1206

;word ptr e,0word ptr e+2,0

; Вычисление e

;word ptr i,0si,sicl,2si,clsi,offset O

@1@1486:bx,word ptr ial,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr dword ptr edword ptr esi,4word ptr isi,offset O+32short @1@1486

;al,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr edword ptr e

; Вычисление O

@1@1850:bx,word ptr icl,2bx,cldword ptr kdword ptr edword ptr Odword ptr Oword ptr iword ptr i,8short @1@1850

;ax,100word ptr temp,axax,0word ptr temp+2,axcx,8bx,0

@1@1860:dword ptr Odword ptr tempword ptr temp+4al,byte ptr temp+420h,albx,4@1@1860calc

;db 2 dup (?)db 2 dup (?)db 2 dup (?)dd 0.5db 4 dup (?)db 4 dup {?}db 4 dup (?)db 256 dup (?)db 32 dup (?)db 32 dup (?)db 8 dup (?)db 8 dup (?)db 4 dup (?)db 32 dup (?)db 4 dup (?)db 256 dup (?)db 32 dup (?)

TEXT endsinit

ПРИЛОЖЕНИЕ 4

Временные диаграммы работы системы

Рисунок 1. Цикл чтения из ОЗУ

Рисунок 2. Цикл записи в ОЗУ

Рисунок 3. Цикл чтения из ПЗУ

Значение

логика прерываний запоминает уровень приоритета обслуживаемого прерывания. При выполнении команды RET уровень приоритета сохраняется и следующим может быть обслужено только прерывание с более высоким уровнем приоритета. Команда RETI отличается от команды RET тем, что она сбрасывает уровень приоритета, что позволяет обслуживать запросы на прерывания с низким уровнем приоритета.

К типовым условным операциям относятся команды JZ и JNZ, JC

и JNC. Две последних включены в группу «булевых». В команде CJNE сначала сравниваются, по правилам вычитания целых чисел, два байта

и в соответствии с результатом сравнения устанавливается флаг C. Затем, в случае их несовпадения, выполняется ветвление.

В команде DJNZ в качестве счетчика может использоваться не только один из регистров текущего регистрового банка Rn, n=0...7, но и прямо адресуемая ячейка памяти данных DSEG. При исполнении команды сначала выполняется декремент счетчика и, если содержимое счетчика не равно нулю, ветвление.

3. Проектирование микропроцессорных систем

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

3.1. Этапы проектирования

Особенностью МПС является то, что сами они встраиваются (интегрируются) в некоторый объект. Это предполагает, что перед разработчиком МПС такого рода стоят задачи полного цикла проектирования, начиная от разработки алгоритма функционирования и заканчивая комплексными испытаниями в составе изделия, а возможно, и сопровождением при производстве. Основные этапы проектирования МПС отображены на рис. 28 .

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

сти. На этом этапе явно или неявно формулируются требования к типу

используемого микропроцессора или микроконтроллера.

Этап разработки алгоритма является наиболее ответственным,

поскольку ошибки этого этапа обнаруживаются при испытании закон-

ченного изделия и приводят к дорогостоящей переработке всей МПС.

Прорабатывается несколько вариантов алгоритма, обеспечивающих

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

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

отличаются соотношением объема программного обеспечения и аппа-

Технические требования к микропроцессорной системе

Коррекция

алгоритма

управления

Разработка алгоритма

Библиотека

функционально-

Разработка структуры аппаратных и

топологических

программных средств

Коррекция

Разработка программы

Разработка аппаратуры

Коррекция

исходного

(исходный текст)

(принципиальныесхемы,

топология плат)

топологии

Трансляция программы

Монтаж макета

Отладка программы

Автономная отладка

на модели

аппаратуры

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

средств системы в реальном масштабе времени

Интеграция микропроцессорной системы в изделие

Испытание изделия

Микропроцессорная система, соответствующая тех-

ническим требованиям

ратуры. Критерием выбора является реализация максимального числа функций программным способом при наименьших аппаратных затратах, обеспечивающая заданные показатели быстродействия и надежности в полном диапазоне эксплуатационных воздействий. Часто определяющим требованием является возможность размещения кода программы во внутренней памяти микроконтроллера, что позволяет обеспечить его защиту от несанкционированного доступа. На этом этапе окончательно определяется тип микроконтроллера и важнейших схем обрамления (память, ПЛИС, интерфейс, АЦП, и т. п.).

На этапе разработки структуры МПС окончательно определяет-

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

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

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

та команда и т.д.) и ошибками алгоритма. Содержание этих этапов при разработке программ на языке ассемблера приведено ниже.

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

PCAD и OrCAD (CAD – computer aided design – автоматизированное проектирование). Эффективность работы с ними значительно зависит от имеющегося в распоряжении разработчика объема библиотек используемых элементов.

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

Для локализации динамических ошибок используются логические анализаторы. Логические уровни сигналов системной магистрали или отдельных шин и линий в режиме приема постоянно записываются в память типа FIFO. Прекращение записи производится при появлении выбранного события (совпадение заданного и фактического адреса на ША, кодов команд на ШД или появление короткого импульса помехи). В это время в памяти содержится вся предшествующая данному событию информация. Анализируя предысторию события, записанную в памяти, можно определить и причину появления сбоя в работе МПС. Информация на дисплее может быть представлена в графическом виде, в виде двоичного, шестнадцатеричного кода или мнемоники команд. Логические анализаторы состояний выполняют запись с тактовой частотой МПС. Для фиксации быстро протекающих процессов используются временные логические анализаторы, у которых тактовая частота записи в память значительно превышает тактовую частоту МПС.

Совместная отладка аппаратных и программных средств в реальном масштабе времени выполняется с помощью эмуляторов ПЗУ и внутрисхемных эмуляторов под управлением инструментальной ЭВМ.

Процесс проектирования микропроцессорных систем включает три этапа (рис. 1.1): 1) системный; 2) функционально– схемотехнический; 3) отладка и оценка характеристик.

Рис. 1.1. Этапы проектирования МПС

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

В настоящее время в связи с развитием возможностей БИС и СБИС наблюдается тенденция возложения на аппаратные средства таких функций, которые до недавнего времени выполнялись только программным способом. Интеграция программных возможностей в аппаратных конструкциях, главным образом в виде микропрограмм ПЗУ или «математических» кристаллов, – направление, которое находит все более широкое применение в микропроцессорных системах. Многие функции операционной системы уже начинают реализовываться аппаратным методом путем размещения программ в кристаллах ПЗУ. Возможно, придет очередь и аппаратной реализации функций языков программирования.

Важным моментом системного этапа проектирования является выбор элементной базы, базового МПК, т.е. типа микропроцессорного семейства, и других БИС. На основе этого этапа составляется техническое задание (ТЗ).

Этап системного проектирования в основном эвристический, и его результатом является структурная схема микропроцессорной системы и ТЗ, где указаны все требования, которым должна удовлетворять разрабатываемая МПС.

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

1) необходимость совместной разработки и отладки технических средств и программного обеспечения, ориентированного на конкретную структуру технических средств;

2) использование принципиально новых методов и средств разработки и отладки микропроцессорных систем, таких как внутрисхемные эмуляторы, логические и сигнатурные анализаторы, отладочные комплексы и средства автоматизации программирования;

3) сильная взаимосвязь и даже интеграция этапов проектирования, при которой разработчик должен одновременно обладать опытом проектирования микропроцессорных систем, а также разбираться в конкретной области их применения.

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

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

Проектирование системы завершается опытными испытаниями разработанной МПС в системе, для которой она предназначалась, оценкой полученных характеристик. Если результаты оценки не удовлетворяют требованиям ТЗ, то выполняется анализ причин и на его основе – перепроектирование отдельных модулей МПС или всей системы в целом.

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

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

Дальнейшие стадии проектирования выполняются обычно в виде опытно-конструкторских работ и требуют привлечения большого числа исполнителей.

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

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

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

Магистральный способ обмена информацией в отличие от способа организации произвольных связей (по принципу «каждый с каждым») позволяет упорядочить и минимизировать число связей в МПС. Он обеспечивает обмен информацией между функциональными и конструктивными модулями различного уровня с помощью магистралей, объединяющих входные и выходные шины. Различают одно-, двух-, трех- и многомагистральные связи. Необходимо отметить взаимосвязь схемотехнических и структурных решений, которые проявляются при реализации данного способа обмена в виде создания специальных двунаправленных буферных каскадов с тремя устойчивыми состояниями и использовании временного мультиплексирования каналов обмена.

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

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

При разработке архитектуры МПС (системный этап) необходимо решить следующие задачи:

Дать описание концептуальной структуры функционального поведения системы с позиций учета интересов пользователя при ее построении и организации вычислительного процесса в ней;

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

Описать характеристики внутренней организации потоков данных и управляющей информации;

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

Основные этапы проектирования МПС приведены на рис. 3.1.

На начальной стадии проектирования МПС может быть описана на одном из следующих концептуальных уровней: “черный ящик”, структурный, программный, логический, схемный.

На уровне “черного ящика” МПС описывается внешними спецификациями, где перечисляются внешние характеристики.

Рис. 3.1. Этапы проектирования МПС

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

Программный уровень разделяется на два подуровня (команд процессора и языковый) и МПС интерпретируется как последовательность операторов или команд, вызывающих то или иное действие над некоторой структурой данных.

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

Схемный уровень базируется на описании работы элементов дискретных устройств.

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

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

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

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

Управляемость – свойство системы, при котором ее поведение поддается управлению, т.е. имеется возможность остановить функционирование системы в определенном состоянии и заново запустить систему.

Наблюдаемость – свойство системы, позволяющее проследить за поведением системы, за сменой ее внутренних состояний.

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

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

Наиболее типичными этапами проектирования и разработки МПС являются: формализация требований к системе; разработка структуры и архитектуры МПС; разработка и изготовление аппаратурных средств и программного обеспечения системы; комплексная отладка и приемосдаточные испытания.

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

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

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

Контрольные вопросы

1. Поясните понятия модульности, магистральности и микропрограммируемости МПС при проектировании.

2. Перечислите задачи, решаемые разработчиками при проектировании МПС.

3. Перечислите основные этапы проектирования МПС.

4. Назовите концептуальные уровни описания МПС при проектировании и разработке.

5. Перечислить основные методы контроля правильности проектирования МПС.

6. Какими свойствами должна обладать проектируемая МПС для выполнения этапа ее отладки?

7. Перечислите виды неисправности при проектировании МПС.

8. Назовите причины физической и субъективной неисправностей МПС.

9. Поясните понятия: диагностика неисправности, отладка.