- •Введение
- •1. Основные определения и понятия микропроцессорной техники
- •1.1. Жесткая и гибкая логика
- •1.2. Микропроцессор и «сотоварищи»
- •Контрольные вопросы
- •2. Типы микропроцессорных систем и факторы, влияющие на их быстродействие
- •2.1. Типы микропроцессорных систем
- •2.2. Программируемые логические интегральные схемы
- •2.3. Факторы, влияющие на быстродействие микропроцессоров
- •Контрольные вопросы
- •3.3.1. Команды пересылки данных
- •3.3.2. Арифметические команды
- •3.3.3. Логические команды
- •3.3.4. Команды переходов
- •3.4. Быстродействие процессора
- •4.3.1. Память программ
- •4.3.2. Память данных
- •5.1.2. Микроконтроллеры семейств pic16cxxx и pic17cxxx
- •5.1.3. Особенности архитектуры микроконтроллеров семейства pic16cxxx
- •5.2. Микроконтроллеры подгруппы pic16f8x
- •5.2.1. Основные характеристики
- •5.2.2. Особенности архитектуры
- •5.2.3. Схема тактирования и цикл выполнения команды
- •5.2.4. Организация памяти программ и стека
- •5.2.5. Организация памяти данных
- •5.2.6. Регистры специального назначения
- •5.2.7. Счетчик команд
- •5.2.8. Прямая и косвенная адресации
- •5.2.9. Порты ввода/вывода
- •5.2.10. Модуль таймера и регистр таймера
- •5.2.11. Память данных в рпзу (eeprom)
- •5.2.12. Организация прерываний
- •5.2.13. Специальные функции
- •5.3. Система команд микроконтроллеров подгруппы pic16f8x
- •5.3.1. Перечень и форматы команд
- •5.3.2. Команды работы с байтами
- •5.3.3. Команды работы с битами
- •5.3.4. Команды управления и работы с константами
- •5.3.5. Особенности программирования и отладки
- •6.1. Разработка микропроцессорной системы на основе микроконтроллера
- •6.1.1. Основные этапы разработки
- •6.1.2. Разработка и отладка аппаратных средств
- •6.1.3. Разработка и отладка программного обеспечения
- •6.1.4. Методы и средства совместной отладки аппаратных и программных средств
6.1.2. Разработка и отладка аппаратных средств
После разработкиструктурыаппаратныхипрограммных средствдальнейшая работа над контроллером может быть распараллелена.Разработкааппаратных средстввключает в себяразработкуобщей принципиальной схемы, разводку топологии плат, монтаж макета и его автономнуюотладку. Время выполнения этих этапов зависит от имеющегося набора апробированных функционально-топологических модулей, опыта и квалификации разработчика. На этапе ввода принципиальной схемы иразработкитопологии используются, как правило, распространенные системы проектирования типа «ACCEL EDA» или «OrCad».
Автономная отладкааппаратуры на основе МК с открытой архитектурой предполагает контроль состояния многоразрядных магистралей адреса и данных с целью проверки правильности обращения к внешним ресурсам памяти и периферийным устройствам. Закрытая архитектура МК предполагает реализацию большинства функций разрабатываемого устройства внутренними средствами микроконтроллера. Поэтому разрабатываемый контроллер будет иметь малое число периферийных ИС, а обмен с ними будет идти преимущественно по последовательным интерфейсам. Здесь на первый план выйдут вопросы согласования по нагрузочной способности параллельных портов МК иотладкаалгоритмов обмена по последовательным каналам.
6.1.3. Разработка и отладка программного обеспечения
Содержание этапов разработкипрограммного обеспечения, его трансляции иотладкина моделях существенно зависит от используемых системных средств. В настоящее время ресурсы 8-разрядных МК достаточны для поддержки программирования на языках высокого уровня. Это позволяет использовать все преимущества структурного программирования, разрабатывать программное обеспечение с использованием раздельно транслируемых модулей. Одновременно продолжают широко использоваться языки низкого уровня типа ассемблера, особенно при необходимости обеспечения контролируемых интервалов времени. Задачи предварительной обработки данных часто требуют использования вычислений с плавающей точкой, трансцендентных функций.
В настоящее время самым мощным средством разработкипрограммного обеспечения для МК являются интегрированные средыразработки, имеющие в своем составе менеджер проектов, текстовый редактор и симулятор, а также допускающие подключение компиляторов языков высокого уровня типа Паскаль или Си. При этом необходимо иметь в виду, что архитектура многих 8-разрядных МК вследствие малого количества ресурсов, страничного распределения памяти, неудобной индексной адресации и некоторых других архитектурных ограничений не обеспечивает компилятору возможности генерировать эффективный код. Для обхода этих ограничений разработчики ряда компиляторов вынуждены были перекладывать на пользователя заботу об оптимизации кода программы.
Для проверки и отладкипрограммного обеспечения используются так называемые программные симуляторы, предоставляющие пользователю возможность выполнять разработанную программу на программно-логической модели МК. Программные симуляторы распространяются, как правило, бесплатно и сконфигурированы сразу на несколько МК одного семейства. Выбор конкретного типа МК среди моделей семейства обеспечивает соответствующая опция меню конфигурации симулятора. При этом моделируется работа ЦП, всех портов ввода/вывода, прерываний и другой периферии. Карта памяти моделируемого МК загружается в симулятор автоматически,отладкаведется в символьных обозначениях регистров.
Загрузив программу в симулятор, пользователь имеет возможность запускать ее в пошаговом или непрерывном режимах, задавать условные или безусловные точки останова, контролировать и свободно модифицировать содержимое ячеек памяти и регистров симулируемого МК.