3389 ЦИФРОВЫЕ УСТРОЙСТВА - Страница 2

Разработка аппаратной части МП-устройства

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

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

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

Разработка программного обеспечения МП-устройства

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

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

  • управляющий программный блок ( основная программа);
  • программные блоки связи (интерфейса)  с периферийными и внешними узлами устройства;
  • программные блоки реакций на прерывания;
  • программные блоки разнообразного преобразования данных.

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

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

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

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

  1. Определить, что должен делать модуль.
  2. Определить способы получения модулем исходных данных (через порты ввода–вывода, из памяти , из рабочих регистров) и включить соответствующие операторы.
  3. Определить необходимость предварительной обработки полученных исходных данных (маскирование, сдвиг, масштабирование, перекодировка) и включить соответствующие операторы.
  4. Определить способ преобразования входных данных в требуемые выходные. Используя операторы процедур и условные операторы, отобразить на языке БСА содержание выбранного способа обработки исходных данных.
  5. Определить способы выдачи из модуля обработанных данных (в память, в вызываемую подпрограмму, в порты вывода).
  6. Определить необходимость обработки выводимых данных (изменение формата, перекодировка, масштабирование, маскирование). Ввести соответствующие операторы в БСА.
  7. Проверить работоспособность алгоритма вручную на бумаге путем подстановки  в него реальных данных.
  8. Рассмотреть предельные случаи  и попытаться  определить для информационных объектов, с которыми оперирует алгоритм, граничные значения, при которых  он теряет работоспособность (переполнение разрядной сетки , изменение знака результата операции, деление на ноль и т.п.).
  9. Провести мысленный эксперимент по определению работоспособности алгоритма в реальном масштабе времени (начало работы устройства при включении питания, переход в установившийся режим работы, синхронизация обмена по входу и выходу устройства, критические операторы, которые следует защитить от прерываний, постоянство времени вычисления при реализации алгоритма по разным путям).
  10. Вернуться к п.1 настоящего перечня работ и внести коррективы в БСА по результатам анализа по пп. 7,8,9.

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

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

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

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

Текст программы на языке ассемблера подлежит  преобразованию в объектный модуль программы. Для этого используются специальные средства автоматизации подготовки программ.

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

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

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

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

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

Интеграция аппаратных средств и программного обеспечения МП-устройства

Данный этап разработки относится, по существу, уже к изготовлению, а не к проектированию МП-устройства.

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

Монтирование загруженной  ПЗУ на свое место в аппаратуре разрабатываемого МП-устройства объединяет его аппаратные и программные средства. Полученный прототип (макетный образец) МП-устройства подвергается дальнейшей проработке.

Отладка МП-устройства

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

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

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

 

 

Оценка характеристик МП- устройства

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