Введение в проектирование микропроцессорных систем

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

Целью данной курсовой работы является практическое применение этих принципов через проектирование управляющей микро-ЭВМ для электронных весов на базе широко известного микропроцессорного комплекта К580, ядром которого выступает процессор КР580ВМ80А. В ходе работы будут решены задачи по разработке аппаратной и программной частей системы, отвечающей конкретным техническим требованиям.

Анализ технического задания и формализация требований к системе

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

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

Таблица 1. Ключевые технические требования к электронным весам
Параметр Значение Примечание
Диапазон измерения веса 0 – 250 кг Определяет максимальную измеряемую массу.
Точность измерения (дискретность) 500 г Минимальный шаг изменения показаний.
Напряжение питания 5 В Стандартное напряжение для логических схем.
Потребляемая мощность Не более 1,05 Вт Важный параметр для обеспечения энергоэффективности.

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

Разработка структурной схемы микропроцессорной системы

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

В основе нашей системы лежит классическая микропроцессорная архитектура, состоящая из следующих ключевых узлов:

  • Центральный процессорный модуль (ЦПМ): Ядро системы, построенное на микропроцессоре КР580ВМ80А. Он выполняет все вычисления и управляет работой остальных узлов.
  • Система памяти: Включает в себя Постоянное Запоминающее Устройство (ПЗУ) для хранения управляющей программы и Оперативное Запоминающее Устройство (ОЗУ) для временного хранения данных и работы стека.
  • Устройства ввода: Включают аналоговый датчик веса (моделируемый потенциометром) с соответствующим узлом сопряжения (АЦП) и кнопки управления для пользователя (например, «Тара»).
  • Устройства вывода: Цифровой дисплей для отображения результата взвешивания.
  • Системный контроллер и генератор тактовых импульсов: Вспомогательные микросхемы (КР580ВК28/38 и КР580ГФ24), обеспечивающие формирование управляющих сигналов и стабильной тактовой частоты для синхронизации работы всей системы.

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

Анализ ядра системы, микропроцессора КР580ВМ80А

Ключевым элементом разработанной архитектуры является микропроцессор КР580ВМ80А. Выбор этого компонента обусловлен его широкой доступностью, подробной документацией и тем, что он является классическим примером 8-разрядного процессора, идеально подходящего для образовательных целей. КР580ВМ80А представляет собой советский аналог популярного процессора Intel 8080A, выполненный по n-МОП технологии и содержащий около 4758 транзисторов.

Это однокристальный процессор с фиксированной системой команд, обладающий следующими характеристиками:

  • Разрядность шины данных: 8 бит. Это означает, что за один цикл процессор может обрабатывать 8-битные порции данных.
  • Разрядность шины адреса: 16 бит. Это позволяет процессору напрямую адресовать до 2^16 = 65536 байт (или 64 КБ) памяти, а также до 256 устройств ввода и 256 устройств вывода.
  • Тактовая частота: Работает на частоте от 2 до 2,5 МГц, что обеспечивается внешней микросхемой тактового генератора КР580ГФ24.
  • Производительность: Составляет около 100 тысяч операций в секунду. Хотя эта цифра скромна по современным меркам, ее более чем достаточно для решения задачи управления весами.
  • Система команд: Включает 78 основных команд, охватывающих операции арифметики, логики, пересылки данных и управления потоком выполнения программы.

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

Проектирование принципиальной электрической схемы устройства

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

Центральным элементом схемы является микропроцессор КР580ВМ80А. Для его полноценной работы в схему включены следующие обязательные компоненты из комплекта К580:

  1. Генератор тактовых импульсов (КР580ГФ24): Формирует две неперекрывающиеся двухфазные тактовые последовательности, необходимые для синхронизации внутренних процессов процессора.
  2. Системный контроллер (КР580ВК28/38): Декодирует сигналы состояния процессора и формирует управляющие сигналы для системной шины (например, сигналы чтения/записи памяти и портов ввода-вывода).
  3. Шинные формирователи (КР580ВА86/87): Являются буферными усилителями, которые повышают нагрузочную способность шины данных процессора, позволяя подключать к ней множество других микросхем (память, порты).
  4. Контроллер прерываний (КР580ВН59): Позволяет обрабатывать запросы от внешних устройств, временно прерывая основную программу для выполнения срочных задач.

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

Разработка узлов сопряжения с объектом управления и индикации

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

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

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

Проектирование архитектуры программного обеспечения

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

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

  • Подпрограмма инициализации: Выполняется один раз при включении питания. Она настраивает порты ввода-вывода, инициализирует указатель стека в ОЗУ, сбрасывает контроллер прерываний и подготавливает все системные компоненты к работе.
  • Модуль опроса датчика: Отвечает за взаимодействие с АЦП. Он запускает процесс преобразования, ожидает его завершения и считывает полученный цифровой код, соответствующий текущему весу.
  • Модуль обработки данных: Это вычислительное ядро программы. Оно принимает код от АЦП, усредняет его для устранения помех и, используя калибровочные коэффициенты, пересчитывает его в реальное значение веса в килограммах.
  • Модуль вывода на индикатор: Преобразует вычисленное значение веса в двоично-десятичный формат и управляет портами вывода для корректного отображения цифр на дисплее.
  • Основной рабочий цикл (main loop): Бесконечный цикл, который последовательно вызывает модули опроса, обработки и вывода, обеспечивая непрерывное обновление показаний веса на дисплее.

Структура распределения памяти также является частью архитектуры. Программа (прошивка) размещается в ПЗУ, а ОЗУ используется для стека, переменных и промежуточных вычислений. Такая архитектура полностью учитывает особенности процессора КР580ВМ80А, включая его систему из 78 команд и регистровую модель.

Разработка алгоритма управляющей программы и его реализация

После проектирования архитектуры ПО следует детальная разработка алгоритма — пошагового описания логики работы программы. Наиболее наглядно алгоритм представляется в виде блок-схемы, которая затем транслируется в код на языке ассемблера для КР580ВМ80А.

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

Основной алгоритм можно описать следующими шагами:

  1. Старт (включение питания): Выполняется переход на начальный адрес программы в ПЗУ.
  2. Инициализация системы: Настройка стека, портов ввода-вывода, сброс периферийных устройств.
  3. Начало основного цикла: Запуск бесконечного цикла измерений.
  4. Опрос АЦП: Отправка команды на начало преобразования в АЦП.
  5. Ожидание готовности: Циклический опрос флага готовности АЦП.
  6. Чтение данных: Считывание 8-битного кода с АЦП в аккумулятор процессора.
  7. Обработка и фильтрация: Усреднение нескольких последовательных измерений для повышения стабильности показаний.
  8. Пересчет в килограммы: Масштабирование и преобразование двоичного кода в физическую величину.
  9. Преобразование в BCD: Конвертация результата в двоично-десятичный код для удобства вывода на многоразрядный индикатор.
  10. Вывод на индикатор: Поочередная отправка кодов цифр на соответствующие разряды дисплея.
  11. Возврат в начало цикла: Переход к шагу 4 для нового измерения.

Реализация этого алгоритма на ассемблере для КР580ВМ80А требует хорошего знания его системы команд. Например, для цикла ожидания используется команда условного перехода, которая проверяет бит в регистре состояния, а для математических операций — команды сложения, вычитания и сдвигов. Эффективность кода напрямую влияет на быстродействие и точность работы весов.

Комплексная отладка и проведение испытаний системы

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

Процесс отладки целесообразно разделить на несколько шагов:

  1. Аппаратная отладка: После сборки платы производится проверка правильности монтажа. С помощью осциллографа проверяется наличие напряжения питания на всех микросхемах и присутствие стабильных сигналов от тактового генератора КР580ГФ24. Это первичная проверка «здоровья» системы.
  2. Программная отладка: Загрузка и пошаговое выполнение кода с использованием эмулятора или внутрисхемного отладчика. На этом этапе проверяется логика работы программы, правильность вычислений, корректность обращения к ячейкам памяти и портам.
  3. Комплексные испытания: После успешной автономной отладки проводится проверка всей системы в сборе. Ключевую роль здесь играет моделирование датчика потенциометром. Вращая ручку потенциометра, мы имитируем изменение веса и наблюдаем за показаниями на дисплее. Это позволяет проверить корректность работы всей цепочки: от АЦП до алгоритма пересчета и вывода на индикатор.

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

Заключение

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

В ходе выполнения проекта были выполнены следующие основные этапы:

  • Проанализировано техническое задание и определены целевые характеристики устройства.
  • Разработана структурная и подробная принципиальная электрическая схема на основе микропроцессорного комплекта К580.
  • Спроектирована модульная архитектура программного обеспечения.
  • Разработан и реализован на языке ассемблера детальный алгоритм управляющей программы.
  • Описана методика комплексной отладки и испытаний.

В результате была создана целостная проектная документация для микропроцессорной системы, полностью соответствующей исходным требованиям по диапазону измерений (0–250 кг), точности (500 г) и потребляемой мощности (до 1,05 Вт). Данная работа демонстрирует понимание принципов построения МПС и практические навыки их разработки.

Похожие записи