Введение в проектирование микропроцессорных систем
В современной промышленности и автоматике микропроцессоры и созданные на их основе микро-ЭВМ являются неотъемлемой частью практически всех технических систем. Их широкое распространение обусловлено фундаментальными преимуществами: использование микропроцессорной техники обеспечивает снижение стоимости конечных устройств на порядок по сравнению с системами, построенными на элементах малой и средней степени интеграции. Одновременно с этим достигается значительное уменьшение массогабаритных показателей и энергопотребления. Такой переход на современную элементную базу повышает технологичность и воспроизводимость систем, кардинально расширяя сферы их экономически оправданного применения.
Целью данной курсовой работы является практическое применение этих принципов через проектирование управляющей микро-ЭВМ для электронных весов на базе широко известного микропроцессорного комплекта К580, ядром которого выступает процессор КР580ВМ80А. В ходе работы будут решены задачи по разработке аппаратной и программной частей системы, отвечающей конкретным техническим требованиям.
Анализ технического задания и формализация требований к системе
Основой любого инженерного проекта является четко сформулированное техническое задание. Перед началом проектирования необходимо преобразовать общую цель в набор конкретных, измеримых параметров, которые будут служить критериями оценки успешности разработки. Для наших электронных весов были определены следующие ключевые требования, которые гарантируют их функциональность и эффективность.
Основные технические характеристики разрабатываемой системы представлены в таблице ниже. Эти параметры определяют как пользовательские свойства устройства (диапазон и точность), так и его эксплуатационные качества (энергопотребление).
Параметр | Значение | Примечание |
---|---|---|
Диапазон измерения веса | 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:
- Генератор тактовых импульсов (КР580ГФ24): Формирует две неперекрывающиеся двухфазные тактовые последовательности, необходимые для синхронизации внутренних процессов процессора.
- Системный контроллер (КР580ВК28/38): Декодирует сигналы состояния процессора и формирует управляющие сигналы для системной шины (например, сигналы чтения/записи памяти и портов ввода-вывода).
- Шинные формирователи (КР580ВА86/87): Являются буферными усилителями, которые повышают нагрузочную способность шины данных процессора, позволяя подключать к ней множество других микросхем (память, порты).
- Контроллер прерываний (КР580ВН59): Позволяет обрабатывать запросы от внешних устройств, временно прерывая основную программу для выполнения срочных задач.
Помимо этих микросхем, на схеме показано подключение микросхем ПЗУ (для хранения прошивки) и ОЗУ (для временных данных). Дешифрация адресов для выбора конкретной микросхемы памяти или порта ввода-вывода реализуется с помощью стандартных логических элементов. Тщательное проектирование соединений между процессором, памятью и портами ввода-вывода является залогом стабильной работы всей аппаратной платформы.
Разработка узлов сопряжения с объектом управления и индикации
Чтобы наша цифровая микропроцессорная система могла взаимодействовать с реальным миром, необходимы специализированные узлы сопряжения. В контексте электронных весов это, во-первых, узел получения данных от датчика веса и, во-вторых, узел вывода информации для пользователя.
Поскольку нагрузочный датчик является аналоговым устройством (его выходное напряжение пропорционально приложенному весу), а процессор — цифровым, между ними необходим посредник. Эту роль выполняет аналого-цифровой преобразователь (АЦП). В рамках учебного проекта, где датчик моделируется потенциометром, схема подключения упрощается. Выходное напряжение с потенциометра подается на вход АЦП, который преобразует его в цифровой, 8-битный код. Этот код затем может быть прочитан процессором через один из его портов ввода. Микропроцессор КР580ВМ80А поддерживает до 256 адресуемых портов ввода, что дает большую гибкость в подключении периферии.
Для отображения результата взвешивания используется цифровой индикатор. Управление сегментами индикатора также осуществляется через порты вывода. Процессор вычисляет значение веса, преобразует его в двоично-десятичный код (BCD) и последовательно отправляет коды цифр на дешифраторы, управляющие сегментами дисплея. Таким образом, эти два узла — АЦП и схема индикации — служат мостом между вычислительным ядром и внешним миром.
Проектирование архитектуры программного обеспечения
Аппаратная часть («железо») является лишь носителем, а «оживляет» ее программное обеспечение. Проектирование ПО для встраиваемой системы начинается с разработки его архитектуры — определения основных программных модулей и логики их взаимодействия. Для нашей системы была выбрана модульная структура, что упрощает написание кода, его отладку и дальнейшую модификацию.
Программное обеспечение можно разделить на следующие ключевые блоки:
- Подпрограмма инициализации: Выполняется один раз при включении питания. Она настраивает порты ввода-вывода, инициализирует указатель стека в ОЗУ, сбрасывает контроллер прерываний и подготавливает все системные компоненты к работе.
- Модуль опроса датчика: Отвечает за взаимодействие с АЦП. Он запускает процесс преобразования, ожидает его завершения и считывает полученный цифровой код, соответствующий текущему весу.
- Модуль обработки данных: Это вычислительное ядро программы. Оно принимает код от АЦП, усредняет его для устранения помех и, используя калибровочные коэффициенты, пересчитывает его в реальное значение веса в килограммах.
- Модуль вывода на индикатор: Преобразует вычисленное значение веса в двоично-десятичный формат и управляет портами вывода для корректного отображения цифр на дисплее.
- Основной рабочий цикл (main loop): Бесконечный цикл, который последовательно вызывает модули опроса, обработки и вывода, обеспечивая непрерывное обновление показаний веса на дисплее.
Структура распределения памяти также является частью архитектуры. Программа (прошивка) размещается в ПЗУ, а ОЗУ используется для стека, переменных и промежуточных вычислений. Такая архитектура полностью учитывает особенности процессора КР580ВМ80А, включая его систему из 78 команд и регистровую модель.
Разработка алгоритма управляющей программы и его реализация
После проектирования архитектуры ПО следует детальная разработка алгоритма — пошагового описания логики работы программы. Наиболее наглядно алгоритм представляется в виде блок-схемы, которая затем транслируется в код на языке ассемблера для КР580ВМ80А.
Алгоритм работы электронных весов — это последовательность четко определенных действий, от инициализации системы до циклического измерения и отображения веса.
Основной алгоритм можно описать следующими шагами:
- Старт (включение питания): Выполняется переход на начальный адрес программы в ПЗУ.
- Инициализация системы: Настройка стека, портов ввода-вывода, сброс периферийных устройств.
- Начало основного цикла: Запуск бесконечного цикла измерений.
- Опрос АЦП: Отправка команды на начало преобразования в АЦП.
- Ожидание готовности: Циклический опрос флага готовности АЦП.
- Чтение данных: Считывание 8-битного кода с АЦП в аккумулятор процессора.
- Обработка и фильтрация: Усреднение нескольких последовательных измерений для повышения стабильности показаний.
- Пересчет в килограммы: Масштабирование и преобразование двоичного кода в физическую величину.
- Преобразование в BCD: Конвертация результата в двоично-десятичный код для удобства вывода на многоразрядный индикатор.
- Вывод на индикатор: Поочередная отправка кодов цифр на соответствующие разряды дисплея.
- Возврат в начало цикла: Переход к шагу 4 для нового измерения.
Реализация этого алгоритма на ассемблере для КР580ВМ80А требует хорошего знания его системы команд. Например, для цикла ожидания используется команда условного перехода, которая проверяет бит в регистре состояния, а для математических операций — команды сложения, вычитания и сдвигов. Эффективность кода напрямую влияет на быстродействие и точность работы весов.
Комплексная отладка и проведение испытаний системы
Финальным и одним из самых важных этапов курсового проекта является комплексная отладка и испытание разработанной системы. Цель этого этапа — убедиться, что аппаратная и программная части работают корректно и во взаимодействии, а система в целом соответствует всем техническим требованиям, заявленным в начале.
Процесс отладки целесообразно разделить на несколько шагов:
- Аппаратная отладка: После сборки платы производится проверка правильности монтажа. С помощью осциллографа проверяется наличие напряжения питания на всех микросхемах и присутствие стабильных сигналов от тактового генератора КР580ГФ24. Это первичная проверка «здоровья» системы.
- Программная отладка: Загрузка и пошаговое выполнение кода с использованием эмулятора или внутрисхемного отладчика. На этом этапе проверяется логика работы программы, правильность вычислений, корректность обращения к ячейкам памяти и портам.
- Комплексные испытания: После успешной автономной отладки проводится проверка всей системы в сборе. Ключевую роль здесь играет моделирование датчика потенциометром. Вращая ручку потенциометра, мы имитируем изменение веса и наблюдаем за показаниями на дисплее. Это позволяет проверить корректность работы всей цепочки: от АЦП до алгоритма пересчета и вывода на индикатор.
В ходе испытаний система проверяется на граничных значениях диапазона (близких к 0 и 250 кг) и на стабильность показаний. Успешное прохождение всех тестов подтверждает, что спроектированное устройство работоспособно и готово к защите.
Заключение
В рамках данного курсового проекта была успешно решена задача проектирования микропроцессорной системы управления для электронных весов на базе процессора КР580ВМ80А. Работа охватила все ключевые этапы инженерной разработки, начиная с анализа и формализации технических требований и заканчивая комплексной отладкой готового прототипа.
В ходе выполнения проекта были выполнены следующие основные этапы:
- Проанализировано техническое задание и определены целевые характеристики устройства.
- Разработана структурная и подробная принципиальная электрическая схема на основе микропроцессорного комплекта К580.
- Спроектирована модульная архитектура программного обеспечения.
- Разработан и реализован на языке ассемблера детальный алгоритм управляющей программы.
- Описана методика комплексной отладки и испытаний.
В результате была создана целостная проектная документация для микропроцессорной системы, полностью соответствующей исходным требованиям по диапазону измерений (0–250 кг), точности (500 г) и потребляемой мощности (до 1,05 Вт). Данная работа демонстрирует понимание принципов построения МПС и практические навыки их разработки.