Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Эмулятор ПЗУ. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

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

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

Решить проблему поможет эмулятор, принципиальная схема которого показана на рис. 1. Вместо микросхемы ПЗУ емкостью до 64 Кбайт в предназначенную для нее панель отлаживаемого устройства вставляют вилку ХР1. В зависимости от типа ПЗУ может измениться только порядок подключения проводов эмулятора к контактам вилки (приведенный на схеме соответствует микросхеме 27512 емкостью 64 Кбайт).

Эмулятор ПЗУ
(нажмите для увеличения)

Вилку ХР2 соединяют с розеткой параллельного порта LPT1 любого IBM-совместимого персонального компьютера (ПК). Так как порт предназначен в основном для передачи данных внешнему устройству (принтеру), он имеет 12 выходных и всего пять входных линий. Это вынуждает мультиплексировать принимаемый компьютером 16-разрядный адрес ПЗУ, что, конечно, сказывается на скорости эмуляции.

Эмулятор состоит из следующих функциональных блоков: тактового генератора (DD1.1-DD1.2), синхронизатора тактовых импульсов (DD2.2, DD3.1), устройства запуска (DD2.1), счетчика импульсов (DD4), формирователя импульсов записи блоков адреса (DD1.5, DD3.3), регистра данных (DD5) и мультиплексора адреса (DD6, DD7).

Работа начинается с приходом от микропроцессорного устройства низкого уровня сигнала CS на вход S (вывод 4) триггера DD2.1 (временные диаграммы сигналов изображены на рис. 2).

Эмулятор ПЗУ

Последний переходит в состояние, соответствующее логической 1 на прямом выходе (вывод 5), соединенном с входом D (вывод 12) триггера DD2.2. По спаду тактового импульса (это обеспечивает инвертор DD1.4) логическая 1 появляется и на выходе (вывод 9) DD2.2, разрешая прохождение тактовых импульсов на выход элемента DD3.1. Их подсчитывает счетчик DD4, выходные сигналы двух младших разрядов которого управляют мультиплексорами адреса DD6 и DD7. Адрес ПЗУ передается в ПК четырьмя четырехразрядными группами: А0 - A3, А4 - А7, А8 - А11, А12 - А15. Для его приема служат входы ERROR. SLCT, АСК, РЕ параллельного порта.

Счетчик DD4 охвачен обратными связями таким образом, что его коэффициент пересчета равен 5. Именно столько периодов тактовых импульсов занимает цикл эмуляции. В первых четырех импульсы с выхода элемента DD3.4, поступая на вход BUSY порта LPT одновременно с переключением мультиплексоров. синхронизируют процедуру чтения адреса компьютером. В пятом периоде компьютер выдает на выходы DATA1 -DATA8 байт данных, который должен находиться в эмулируемом ПЗУ по заданному адресу. Этот байт заносится в регистр DD5. По окончании периода триггер DD2.1 возвращается в исходное состояние. Правда, последнее произойдет лишь при условии, что сигнал CS к этому моменту закончился. В противном случае описанный цикл повторится.

Эмулятор собран на двусторонней печатной плате, чертеж которой показан на рис. 3. На плате предусмотрены группы контактных площадок X1-Х4, к которым припаивают провода, идущие к вилкам ХР1 и ХР2.

Эмулятор ПЗУ
(нажмите для увеличения)

Вместо микросхем, указанных на принципиальной схеме, допустимо использовать их функциональные аналоги из любых серий ТТЛ или ТТЛШ (К155. К555. КР1533. КР531). При замене микросхемы DD1 может потребоваться подборка элементов тактового генератора (R1, R3,С2), от частоты повторения импульсов которого зависит скорость эмуляции. Устанавливать частоту выше 100 кГц не рекомендуется, так как это может привести к сбоям.

Вилку ХР1 можно изготовить из неисправного РПЗУ со стиранием ультрафиолетовым облучением. Разбив прозрачное окно, следует удалить тонкие проводники, соединяющие кристалл с контактными площадками корпуса. Провода кабеля припаивают к внешней части выводов с таким расчетом, чтобы они не мешали вставлять бывшую микросхему в панель.

Описанный выше алгоритм работы эмулятора требует перевода микропроцессорного устройства в пошаговый режим. Он удобен для первого "прогона" программы и начальных этапов ее отладки. Чтобы работать в непрерывном режиме, необходимо дополнить эмулятор устройством синхронизации, собрав его по схеме, показанной на рис. 4. Оно предназначено для микропроцессора КР580ВМ80А с тактовым генератором КР580ГФ24 и было испытано на компьютере "Радио-86РК". Для микропроцессоров других типов в синхронизатор возможно потребуется внести изменения.

Эмулятор ПЗУ

В таблице приведена процедура эмуляции ПЗУ компьютером с максимальной скоростью. Она написана на языке АССЕМБЛЕРа, встроенного в систему программирования Borland Pascal, и предназначена для использования в программах, разрабатываемых с помощью этой системы. Глобальной переменной pDATA типа pointer в главной программе должно быть присвоено значение адреса первого элемента массива байтов, содержащего образ эмулируемого ПЗУ. Обмен данными идет с максимальной скоростью за счет минимизации числа обращений к памяти ПК и использования для временного хранения данных регистров процессора (обращение к памяти занимает в несколько раз больше времени, чем операция регистр-регистр).

Эмулятор ПЗУ
(нажмите для увеличения)

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

Ключами, заданными в командной строке или в конфигурационном файле, устанавливают режим эмуляции, выбирают файл с образом эмулируемого ПЗУ. Приоритет командной строки выше, чем конфигурационного файла.

Предусмотрены следующие ключи:

-sf - самая быстрая эмуляция (используется рассмотренная выше процедура);

-sns - режим, несколько медленнее предыдущего, так как предусмотрен опрос клавиатуры и выход нажатием клавиши [Esc];

-sp - самый медленный режим. На экран монитора выводится адрес каждой ячейки ПЗУ, к которой обращается отлаживаемое устройство, и данные из нее. Отображается также процесс чтения четвертей адреса. Это удобно на начальных этапах отладки микропроцессорного устройства, поскольку позволяет следить за ходом выполнения его программы;

-f имя_файла - задает имя файла с образом ПЗУ:

/у - отключает контроль равенства длины файла образа ПЗУ информационной емкости последнего;

/? - выводит на экран справку о режимах работы эмулятора.

Нажатие клавиши [F2] останавливает текущий процесс считывания адреса и переводит программу в режим ожидания нового.

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

Такой файл может быть создан с помощью кроссассемблера TASM, если вызвать его командной строкой

TASM.EXE -85 -g3 PROG.ASM

Здесь ключ -85 устанавливает тип процессора (8085), для которого предназначена транслируемая программа PROG.ASM, a -g3 задает вывод результата в двоичном виде. Полученный в результате трансляции файл PROG.OBJ может служить образом ПЗУ для эмулятора.

Авторы: С.Беляев, Д.Черных, г.Тамбов

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Оптимальная продолжительность сна 12.11.2025

Сон играет ключевую роль в поддержании здоровья, когнитивных функций и общего самочувствия. Несмотря на широко распространенный стереотип о восьмичасовом сне, последние исследования показывают, что оптимальная продолжительность сна для большинства здоровых взрослых ближе к семи часам. Эволюционный биолог из Гарварда, Дэниел Э. Либерман, утверждает, что традиционная норма восьми часов сна - это скорее культурное наследие индустриальной эпохи, чем биологическая необходимость. По его словам, полевые исследования, проведенные в сообществах, не использующих электричество, показывают, что средняя продолжительность сна составляет 6-7 часов, что значительно отличается от общепринятого стандарта. Современные эпидемиологические данные подтверждают этот взгляд. Исследования выявили так называемую "U-образную кривую" зависимости между продолжительностью сна и рисками для здоровья. Минимальные показатели заболеваемости и смертности наблюдаются именно у людей, спящих около семи часов в сутки. ...>>

Дефицит кислорода усиливает выброс закиси азота 12.11.2025

Парниковые газы играют ключевую роль в изменении климата, а закись азота (N2O) - один из наиболее опасных среди них. Этот газ не только втрое сильнее углекислого газа в удержании тепла, но и разрушает озоновый слой. Недавнее исследование американских ученых показало, что микробы в зонах с низким содержанием кислорода активно производят N2O, усиливая глобальные климатические риски. Команда из Университета Пенсильвании изучала прибрежные воды у Сан-Диего и провела наблюдения на глубинах от 40 до 120 метров в Восточной тропической северной части Тихого океана - одной из крупнейших зон дефицита кислорода. Исследователи сосредоточились на том, как морские микроорганизмы превращают нитраты в закись азота. В ходе работы выяснилось, что существует два пути образования N2O. Один путь начинается с нитрата, другой - с нитрита. На первый взгляд более короткий путь должен быть эффективнее, однако микробы, использующие нитрат, продуцируют больше газа, поскольку этот "сырьевой" источник более д ...>>

Омега-3 помогают молодым кораллам выживать 11.11.2025

Сохранение коралловых рифов становится все более актуальной задачей в условиях глобального изменения климата. Молодые кораллы особенно уязвимы на ранних стадиях развития, когда стрессовые условия и нехватка питательных веществ могут привести к высокой смертности. Недавнее исследование ученых из Технологического университета Сиднея показывает, что специальные пищевые добавки способны существенно повысить выживаемость личинок кораллов. В ходе работы исследователи разработали особый состав "детского питания" для коралловых личинок. В него вошли масла, богатые омега-3 жирными кислотами, а также важные стерины, необходимые для формирования клеточных мембран. Личинки, получавшие эти добавки, развивались быстрее, становились крепче и демонстрировали более высокую устойчивость к стрессовым факторам. Особое внимание ученые уделили липидам. Анализ показал, что личинки активно усваивают эти вещества, что напрямую влияет на их жизнеспособность. Стерины, содержащиеся в корме, повышают устойчи ...>>

Случайная новость из Архива

Игра в Тетрис избавит от мучительных воспоминаний 11.05.2012

Долгое время посттравматическое стрессовое расстройство (PTSD) было проблемой только тех, кто пережил насилие, автокатастрофы, стихийные бедствия, травмы и т.д. Однако в ходе войны в Ираке и Афганистане появилось так много пациентов с PTSD (не менее 25 % вернувшихся солдат), что Пентагону пришлось обратить на это внимание и выделить немалые деньги на решение данной проблемы.

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

Оказывается, помочь может: старая игра "Тетрис". Ученые выяснили, что игра в "Тетрис" специфическим образом нагружает мозг и мешает ему зафиксировать травматические воспоминания. Таким образом, если сразу же после тяжелого переживания или страшного происшествия сесть играть в "Тетрис", то игра помешает недавно пережитому опыту превратиться в яркие устойчивые воспоминания.

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

В результате выяснилось, что люди, которые играли в "Тетрис", имели в среднем 2 воспоминания о страшном видео, в то время как у других их было 4-5.

Разумеется, недельный мониторинг и видео нельзя сравнить с полноценным выздоровлением после ужасного опыта боевых действий или других событий непосредственно связанных со смертью и травмированием людей. Однако результаты 'Тетрис-терапии' обнадеживают, и ученые собираются продолжить исследования в полевых условиях - непосредственно в местах ведения боевых действий. Видимо, эксперименты будут проводиться с солдатами, которые только вернулись из серьезной переделки.

Другие интересные новости:

▪ Заспинный помощник

▪ Солнечные батареи из лунного грунта

▪ Луна постепенно увеличивает продолжительность дня на Земле

▪ Ловите нейтрино

▪ Медузы древних морей

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Большая энциклопедия для детей и взрослых. Подборка статей

▪ статья Кишмя кишит. Крылатое выражение

▪ статья Когда начали носить первые украшения? Подробный ответ

▪ статья Обслуживание челюстного лесопогрузчика в качестве грузоподъемного средства. Типовая инструкция по охране труда

▪ статья Трехканальная цветомузыкальная приставка с компрессорами. Энциклопедия радиоэлектроники и электротехники

▪ статья Усилитель проигрывателя аудиокассет. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2025