Ответы на вопросы (953577), страница 8
Текст из файла (страница 8)
Конечно, столь широкий набор функциональных возможностей делает внутрисхемные эмуляторы наиболее мощным и универсальным средством отладки.
Достоинства и недостатки внутрисхемных эмуляторов.
К достоинствам внутрисхемных эмуляторов следует отнести
-
широкий набор функциональных возможностей, что делает внутрисхемные эмуляторы наиболее мощным и универсальным средством отладки;
-
работу внутрисхемного эмулятора в реальной схеме электронного блока, в котором предполагается робота микроконтроллера или ЦПОС;
-
большую гибкость моделирования временных и электрических характеристик микроконтроллера, что связано с преимущественно программным методом их моделирования
Однако внутрисхемные эмуляторы имеют и недостатки. Основным из них является трудность программного моделирования электрических сигналов на выводах микроконтроллера в реальном масштабе времени. Для адекватного моделирования быстродействие моделирующего процессора или компьютера должно быть существенно выше, чем эмулируемого микроконтроллера, что достижимо далеко не всегда, особенно в случае эмуляции современных высокопроизводительных ЦПОС и микроконтроллеров.
Кроме того, даже в случае работы в замедленном масштабе времени, различные модели внутрисхемных эмуляторов могут иметь разного рода ограничения по контролю и управлению функционированием отлаживаемых устройств, что связано с трудностью их моделирования. Например, это может быть некорректное обрабатывание прерываний в пошаговом режиме, или запрет на использование последовательного порта и т.п..
Внутрисхемный эмулятор PICE-51
PICE-51 — эмулятор нового поколения, созданный с применением передовых технологий разработки аппаратуры и программного обеспечения.
Применение программируемых матриц большой ёмкости позволило резко сократить размеры эмулятора без какого-либо ущерба его функциональным возможностям, минимизировать отклонения электрических и частотных характеристик эмулятора от характеристик эмулируемого процессора и, тем самым, добиться максимальной точности эмуляции на частотах до 30 МГц при напряжениях питания от 3,3 В до 5 В.
Перезагружаемая аппаратная структура эмулятора обеспечивает эмуляцию практически всех микроконтроллеров семейства 8051 как отечественного производства, так и фирм Intel, Philips, Siemens, Atmel, Dallas, Temic, OKI, AMD, MHS и других.
Мощный программный интерфейс в среде Windows, представляет собой интегрированную среду разработки, поддерживающую все этапы разработки программного обеспечения от написания исходного текста программы до её компиляции и отладки. Программа поддержки эмулятора ориентирована на отладку программ на языке высокого уровня по исходному тексту.
Эмулятор состоит из основной платы размером 80 х 76 мм, сменного адаптера под конкретный процессор и сменной эмуляционной головки под конкретный тип корпуса. На основной плате реализованы: трассировщик и процессор точек останова. Плата сменного адаптера содержит эмулирующий процессор под конкретный тип микроконтроллера. Эмуляционные головки обеспечивают установку эмулятора в колодки DIP и PLCC на плате пользователя. Питание эмулятора осуществляется от блока питания +5 В; 0,5 А или непосредственно от отлаживаемого устройства. Связь с компьютером обеспечивается по гальванически развязанному каналу RS-232C на скорости 115 Кбод.
PICE-51 – основная плата
POD-51-XX – сменная эмуляционная головка
ADP-51-XX – сменный адаптер под конкретный процессор
Эмулируемые микроконтроллеры:
-
Intel 8031, 80C31, 8032, 80С32, 8051, 80С51, 8052, 8хС52, 8хС54, 8хС58, 80C152JA/JB/JC/JD, 8xL/C51FA/FB/FC, 8xC51RA/RB/RC, 80C51GB;
-
Philips 8031, 8051, 80С31, 80С32, 8хС51, 8хС52/54/58, 8хС51 FA/FB/FC; 8xC51RA+/RB+/RC+/RD+, 80CL410, 80С552, 80С562, 8ХС550, 8ХС652, 8ХС654, 8ХС528, 8ХС524, 8ХС575, 8ХС576, 80С851, 89С535, 89С536, 89С538;
-
Atmel 89С51, 89С52, 89С55, 89С2051, 89С1051, 89S8252, 89S53 (последние два - только с внешней памятью программ);
-
Siemens SAB501/502/504/505/511/513
-
Dallas Semiconductor 80C310, 8ХС520, 8ХС530; MHS 80C31, 80C51, 80C32, 80C52, 80C154; OW80C31, 80C51, 80C154;
-
AMD 80C31, 80C51, 80C52;
и другие микроконтроллеры семейства 8051.
Характеристики аппаратуры
-
Точная эмуляция — отсутствие каких-либо ограничений на использование программой пользователя ресурсов микроконтроллера.
-
До 256К эмулируемой памяти программ и данных. Поддержка банкированной модели памяти. Распределение памяти между эмулятором и устройством пользователя с точностью до 1-го байта.
-
До 512К аппаратных точек останова по доступу к памяти программ и данных.
-
Аппаратная поддержка для отладки программ на языках высокого уровня.
-
Трассировка 8 произвольных внешних сигналов.
-
4 выхода синхронизации аппаратуры пользователя.
-
Трассировщик реального времени с буфером объёмом от 16К до 64К фреймов по 64 бита с доступом «на лету». Трассировка адреса, данных, сигналов управления, таймера реального времени и 8-ми внешних сигналов пользователя.
-
Программируемый фильтр трассировки.
-
Аппаратный процессор точек останова с возможностью задания сложного условия останова эмуляции по комбинации сигналов адреса, данных, управления, 8-ми внешних сигналов, таймера реального времени, счётчиков событий и таймера задержки.
-
Четыре комплексных точки останова, которые могут быть использованы независимо или в комбинациях по условиям AND/OR/IF-THEN.
-
48-разрядный таймер реального времени.
-
Прозрачная эмуляция — доступ «на лету» к эмулируемой памяти, точкам останова, процессору точек останова, буферу трассировки, таймеру реального времени.
-
Управляемый генератор тактовой частоты для эмулируемого процессора. Возможность плавного изменения тактовой частоты от 500 кГц до 40 МГц.
-
Гальванически развязанный от компьютера канал связи RS-232C со скоростью обмена 115 Кбод.
-
Встроенная система самодиагностики аппаратуры эмулятора.
-
Тактовая частота базового варианта 28 МГц. С быстрой матрицей — 40 МГц.
-
Поддержка низковольтовых микроконтроллеров с напряжениями питания от 3,3 В до 5 В.
-
Двухпортовая память, обеспечивающая доступ «на лету» к памяти программ, внешней памяти данных, точкам останова, трассировщику, процессору точек останова.
-
Установка карты памяти с точностью до 1 байта.
-
Программируемый генератор тактовой частоты эмулируемого процессора.
-
Более точная и надёжная эмуляция — отсутствие кабелей и шлейфов, снижающих надёжность работы и вносящих отклонения в электрические и временные характеристики процессора.
-
Возможность поддержки микроконтроллеров, отличающихся от стандартного 51-го по циклу шины (Dallas 320/520)
-
Более точная эмуляция процессоров 87C51FX/RX+ в режиме внутренней памяти программ при обращении к внешней памяти данных командами MOVX A,@Rx, MOVX @Rx,A
-
Обновление версий эмулятора только заменой программного обеспечения — возможность обновления через web-сервер.
-
Отсутствие конфигурационных перемычек — все установки аппаратных конфигураций осуществляются через программу поддержки
Характеристики программного обеспечения
-
Программное обеспечение ориентировано на работу в среде Windows на IBM-совместимых компьютерах с процессорами типа 386/486/Pentium.
-
Встроенный многооконный редактор предназначен для написания исходных текстов программ. Редактор поддерживает операции с блоками текста, поиск/замену, цветовое выделение синтаксических конструкций языка ассемблера и Си.
-
Неотъемлемая, встроенная и действительно интегрированная среда разработки. Для разработчика стирается грань между редактором и отладчиком.
-
Встроенный менеджер проектов обеспечивает автоматическую компиляцию программ. Все опции задаются в диалоговой форме. Переход от редактирования исходного текста к отладке и обратно происходит «прозрачно», т. е. менеджер проектов автоматически запускает компиляцию проекта при необходимости.
-
PICE-51 обеспечивает символьную отладку и отладку по исходному тексту для программ, созданных с помощью следующих компиляторов:
-
ассемблер ASM51 фирмы Intel;
-
компилятор PL/M фирмы Intel;
-
ассемблер и компилятор Си фирмы IAR Systems;
-
ассемблер и компилятор Си фирмы Avocet Systems Inc./HiTech; -
-
ассемблер и компилятор Си фирмы Keil Software Inc..
-
Автоматическое сохранение и загрузка файлов конфигурации аппаратуры, интерфейса и опций отладки. Обеспечивается совместимость файлов конфигурации с симулятором PDS-51. Обеспечена переносимость проектов между эмулятором PICE-51 и симулятором PDS-51.
-
Возможность настройки цветов, шрифтов и других параметров для всех окон одновременно и для каждого окна в отдельности.
Эмулятор снабжён печатным руководством по эксплуатации и контекстным электронным руководством, в которых детально описаны его принципы работы, команды, меню, горячие клавиши.
Программные отладчики-симуляторы
Программный отладчик-симулятор - программное средство, способное имитировать работу микроконтроллера и его памяти. Как правило, хороший симулятор позволяет пользователю:
Загружать файлы программ во всех популярных форматах;
Контролировать и модифицировать состояние ресурсов симулируемого микроконтроллера. В процессе отладки модель «выполняет» программу, и на экране компьютера отображается текущее состояние модели;
Запускать отлаживаемую программу в пошаговом или непрерывном режимах, вперёд и назад, задавать условные и безусловные точки останова, контролировать и свободно модифицировать содержимое ячеек памяти и регистров симулируемого микропроцессора. С помощью симулятора можно быстро проверить логику выполнения программы, правильность выполнения арифметических операций;
Вести высокоуровневую символьную отладку программ. Такую возможность предоставляют наиболее «продвинутые» отладчики, обычно их называют высокоуровневыми (High-Level Debuggers), и естественно при условии использования компиляторов, поставляющих необходимую отладочную информацию;
Контролировать и модифицировать параметры встроенных периферийных устройств, таких, как таймеры, порты, АЦП, системы прерываний;
Получать, по результатам прогона отлаживаемой программы, статистическую информацию, необходимую для оптимизации её структуры
Некоторые модели симуляторов могут содержать ряд дополнительных программных средств, таких, например, как: интерфейс внешней среды, встроенную интегрированную среду разработки.
Наличие интерфейса внешней среды позволяет пользователю создавать и гибко использовать модель внешней среды микроконтроллера, функционирующую и взаимодействующую с отлаживаемой программой по заданному алгоритму.
Наличие в программной оболочке симулятора элементов интегрированной среды разработки позволяет управлять не только процессом симуляции, но и поддерживает в целом процесс отладки, начиная от написания исходного текста программы до её компиляции и отладки, обеспечивает простое и быстрое взаимодействие с другими инструментальными средствами (внутрисхемным эмулятором, программатором).
В общем случае, различные модели программных отладчиков-симуляторов могут предоставлять пользователю возможности по контролю и управлению функционированием отлаживаемых устройств с разного рода ограничениями. Основными характеристиками, определяющими качество и функциональность симулятора, принято считать:
Перечень корректно поддерживаемых (симулируемых) микроконтроллеров;
Перечень корректно поддерживаемых (симулируемых) встроенных в микроконтроллер узлов периферии;
Скорость, детальность и точность симуляции;
Перечень поддерживаемых компиляторов и форматов.
Очевидной особенностью программных симуляторов является то обстоятельство, что исполнение программ, загруженных в симулятор, происходит в масштабе времени, отличном от реального. Однако низкая цена, возможность ведения отладки даже в условиях отсутствия макета отлаживаемого устройства, делают программные симуляторы весьма эффективным средством отладки. Отдельно необходимо подчеркнуть, что существует целый класс ошибок, которые могут быть обнаружены только при помощи симулятора.
-
Структурная организация микроконтроллера i8051. Общие характеристики. Арифметико-логическое устройство. Назначение выводов. Организация портов ввода вывода. Альтернативные функции.
Структурная организация микроконтроллера i8051.
Общие характеристики.
Микроконтроллер семейства 8051 имеют следующие аппаратные особенности:
-
внутреннее ОЗУ объемом 128 байт;
-
четыре двунаправленных побитно настраиваемых восьмиразрядных порта ввода-вывода;
-
два 16-разрядных таймера-счетчика;
-
встроенный тактовый генератор;
-
адресация 64 КБайт памяти программ и 64 Кбайт памяти данных;
-
две линии запросов на прерывание от внешних устройств;
-
интерфейс для последовательного обмена информацией с другими микроконтроллерами или персональными компьютерами.
Микроконтроллер 8751 снабжен УФ ПЗУ объемом 4 Кбайт.
Функциональная схема микроконтроллера семейства 8051.
Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии. Через четыре программируемых параллельных порта ввода/вывода и один последовательный порт микроконтроллер взаимодействует с внешними устройствами. Основу структурной схемы образует внутренняя двунаправленная8-битная шина, которая связывает между собой основные узлы и устройства микроконтроллера: резидентную память программ (RPM), резидентную память данных (RDM), арифметико-логическое устройство (ALU), блок регистров специальных функций, устройство управления (CU) и порты ввода/вывода (P0-P3).
Арифметико-логическое устройство
8-битное арифметико-логическое устройство (ALU) может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. К входам подключены программно-недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции (DCU) и схема формирования признаков результата операции (PSW).
Простейшая операция сложения используется в ALU для инкрементирования содержимого регистров, продвижения регистра-указателя данных (RAR) и автоматического вычисления следующего адреса резидентной памяти программ. Простейшая операция вычитания используется в ALU для декрементирования регистров и сравнения переменных. Простейшие операции автоматически образуют “тандемы” для выполнения таких операций, как, например, инкрементирование 16-битных регистровых пар. В ALU реализуется механизм каскадного выполнения простейших операций для реализации сложных команд. Так, например, при выполнении одной из команд условной передачи управления по результату сравнения в ALU трижды инкрементируется счётчик команд (PC), дважды производится чтение из RDM, выполняется арифметическое сравнение двух переменных, формируется 16-битный адрес перехода и принимается решение о том, делать или не делать переход по программе. Все перечисленные операции выполняются всего лишь за 2 мкс.
Важной особенностью ALU является его способность оперировать не только байтами, но и битами. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях. Эта способность достаточно важна, поскольку для управления объектами часто применяются алгоритмы, содержащие операции над входными и выходными булевыми переменными, реализация которых средствами обычных микропроцессоров сопряжена с определенными трудностями.