Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Емулятор ПЗП. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Мікроконтролери Емулятор, що описується в статті, разом з комп'ютером може на час налагодження програмного забезпечення мікропроцесорного пристрою замінити його ПЗУ. Це дозволить оперативно коригувати програму, заощаджуючи час, який інакше було б витрачено на перепрограмування РПЗП. Емулятор працює порівняно повільно, тому що в ньому немає власної оперативної пам'яті. Але з тієї ж причини він простий і дешевий. Одна з проблем, що виникають при розробці мікропроцесорної апаратури - налагодження програми, що записується в ПЗУ. Зазвичай з цією метою використовують звані репрограммируемые ПЗУ (РПЗУ) зі стиранням інформації ультрафіолетовим опроміненням. Оскільки будь-яка зміна програми призводить до необхідності прати РПЗУ і заново записувати інформацію, налагодження забирає багато часу. До того ж після 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 може бути ПЗУ для емулятора. Автори: С.Бєляєв, Д.Чорних, м.Тамбов Дивіться інші статті розділу Мікроконтролери. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Новий спосіб управління та маніпулювання оптичними сигналами
05.05.2024 Приміальна клавіатура Seneca
05.05.2024 Запрацювала найвища у світі астрономічна обсерваторія
04.05.2024
Інші цікаві новини: ▪ Компактна аматорська 4К-відеокамера Sony Handycam FDR-AX100E ▪ Кросівки з функцією автоматичного шнурування Nike HyperAdapt 1.0 Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Вузли радіоаматорської техніки. Добірка статей ▪ стаття Вплив куріння на здоров'я людини. Основи безпечної життєдіяльності ▪ статья Яким видом сміття міські птахи відлякують паразитів у своїх гніздах? Детальна відповідь ▪ стаття Контролер. Посадова інструкція ▪ стаття Сабвуфер для автомобіля. Частина 1. Енциклопедія радіоелектроніки та електротехніки ▪ стаття Залежне включення навантажень. Енциклопедія радіоелектроніки та електротехніки
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |