Меню English Ukrainian російська Головна

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


Налагодження мікроконтролерів за допомогою емулятора ПЗП. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / Мікроконтролери

Коментарі до статті Коментарі до статті

Трудомісткість розробки та налагодження робочої програми електронного пристрою, що містить мікропроцесор, нерідко визначає вартість його розробки загалом. У мікроконтролерах (МК), що інтегрували в собі пам'ять та деякі периферійні пристрої, це виявляється особливо сильно. Один із засобів, що значно полегшують налагодження, - описаний в [1] емулятор ПЗП. У цій статті описується технологія роботи з ним. Можливості налагодження не обмежуються викладеними прийомами. Цей процес, як і проектування в цілому, певною мірою - мистецтво: для одного й того самого інструменту кожен створює "свою музику". Ми будемо вдячні читачам, які поділяться своїми оригінальними засобами та методами налагодження програм МК.

Складність та трудомісткість процесу налагодження програмного забезпечення МК визначається такими факторами [2]:

  • сильним взаємозв'язком програмної та апаратної частин системи;
  • відсутністю безпосереднього доступу до внутрішніх ресурсів та контрольних точок МК;
  • багаторозрядним характером сигналів, складно розподілених у часі;
  • неперіодичністю або дуже низькою частотою повторення сигналів у системі;
  • великою різноманітністю зовнішніх пристроїв та протоколів обміну інформацією з ними.

Традиційна контрольно-вимірювальна апаратура (наприклад, осцилограф) може лише обмеженою мірою використовуватися для налагодження МК.

Найпростіший (і одночасно найнеефективніший) спосіб налагодження - "метод проб і помилок": завантаження програми в репрограмований постійний запам'ятовуючий пристрій (РПЗУ), спроба її виконання, виявлення та виправлення помилок у програмі та апаратурі, стирання РПЗУ, нове завантаження програми і т.д. д. Процеси стирання та запису даних у мікросхему РПЗУ займають багато часу, а після певної кількості циклів перепрограмування вона взагалі виходить з ладу. Багаторазові установки та вилучення мікросхеми знижують надійність електричних контактів у розетці РПЗП. Можливість отримання налагоджувальної інформації про систему практично відсутня.

В даний час МК найчастіше налагоджують крос-кошти на базі персонального комп'ютера. Це дозволяє мінімальною мірою відволікати ресурси МК. Пристрій, що налагоджується, як показано на малюнку, з'єднують з комп'ютером через деякий інструментальний засіб, наприклад, емулятор ПЗУ. Такий комплекс дозволяє завантажувати та редагувати програму, вводити до неї тестові модулі, отримувати певну інформацію про систему та багато іншого, про що ми розповімо нижче.

Хоча емулятори ПЗУ - не єдиний і не найпотужніший налагоджувальний засіб, вони, як і раніше, популярні. Їх "довголіття" пояснюється незалежністю від типу МК (необхідна лише можливість роботи із зовнішньою пам'яттю програм), роботою в реальному масштабі часу, невисокою ціною та доступністю широкому колу розробників апаратури та радіоаматорів. Технологію налагодження програми за допомогою емулятора ПЗУ розглянемо на прикладі МК сімейства MCS-51 (8031, 8051, 80C31, 80С51. КР1816ВЕ31, КР1816ВЕ51, КР1830ВЕ31, КР1830ВЕ.

Приступаючи до налагодження, необхідно перевірити працездатність апаратної частини системи та самого МК. І тому можна скористатися тестами " вільного рахунки " [3]. які полягають у переборі всіх можливих кодових комбінацій лініях портів МК. У процесі тестування лінії портів будуть встановлюватися в стан виведення, тому перш за все переконайтеся за схемою пристрою, що налагоджується, що вони не навантажені на виходи інших елементів. Тимчасово від'єднайте такі навантаження, якщо вони є.

Завантажте емулятор ПЗУ кодами команди "ні операції" (NOP) у межах всього адресного простору програм МК. Для MCS-51 це код 00Н. Виконуючи таку "програму", МК послідовно перебирає всі адреси програмної пам'яті. Проконтролюйте осцилографом сигнали ALE, РМЕ та портів Р0, Р2. Осцилограми на лініях портів повинні відповідати тимчасовим діаграмам двійкового лічильника з урахуванням мультиплексування на Р0 молодшого байта адреси та даних.

Далі перевірте порти Р1 і РЗ, завантаживши в емулятор ПЗУ тестову програму, наведену в таблиці. 1. Вона виводить на лінії зазначених портів послідовність кодів від 00Н до 0FFH, моделюючи восьмирозрядний двійковий лічильник. Якщо осцилограми відповідають необхідним, відновіть відключені від портів навантаження та переходьте до налагодження робочої програми МК. Пам'ятайте, що ви налагоджуєте одночасно програмну та апаратну частини системи, і не забувайте періодично контролювати сигнали осцилографом в контрольних точках. Невідповідність виду сигналів вашим уявленням про них - привід для серйозних роздумів та додаткових перевірок.

Налагодження мікроконтролерів за допомогою емулятора ПЗУ

Для полегшення розробки та налагодження слід дотримуватись модульного принципу програмування, тобто розділяти програму МК на частини за функціональною ознакою. Це дозволить легко переміщати окремі модулі, а за потреби і застосовувати їх в інших проектах. Модуль, який передається управління після включення живлення чи скидання МК, називають головним чи основним. Передавати керування на точку входу в програму слід командою переходу, а не викликом підпрограми, щоб не засмічувати стек адресою повернення.

Щоб уникнути непередбачуваних результатів роботи програми, не забувайте привласнити початкове значення кожної зі змінних до її першого використання. У деяких випадках може знадобитися ініціалізація периферійного обладнання. Блок ініціалізації поміщають на початок основного програмного модуля.

Зразковий вид основного програмного модуля на початку налагодження наведено у табл. 2. Він містить лише точку входу в програму та обробник виходу з неї. Хоча в мікроконтролерах такий вихід використовують вкрай рідко, його необхідно передбачити для коректного завершення аварійних ситуацій. У прикладі після завершення роботи програма "зациклюється". З цього стану її виведе лише перезапуск системи сигналом апаратного скидання.

Налагодження мікроконтролерів за допомогою емулятора ПЗУ

Під час налагодження до основного модуля в міру готовності додають інші модулі. Порядок їх підключення та налагодження відіграє важливу роль. Починати слід із драйверів пристроїв виведення інформації (дисплея, цифроаналогового перетворювача тощо), помістивши їх дзвінки в основний модуль. Потім налагоджують драйвери інших периферійних пристроїв, підпрограми обробки даних і після цього перевіряють спільну роботу всіх програмних модулів. При наявності буквенно-цифрового дисплея драйвер його налагоджують в першу чергу і використовують у подальшому для виведення налагоджувальної інформації, наприклад, вмісту внутрішньої пам'яті даних МК. Якщо використовується такий емулятор ПЗУ, що міститься в ньому інформацію здатні записувати і зчитувати як керуючий комп'ютер, так і пристрій, що налагоджується, МК може помістити налагоджувальні дані у вільну область пам'яті емулятора ПЗУ, а керуючий комп'ютер вважає їх і виведе на свій дисплей.

Наприклад, щоб вивести вміст внутрішнього ОЗП даних МК, з'єднайте його вихід сигналу запису у зовнішню пам'ять даних (WR) із входом сигналу запису емулятора ПЗП та використовуйте підпрограму, наведену в табл. 3. Передбачається, що обсяг пам'яті програм налаштовуваного пристрою не перевищує 32 Кбайт, тому налагоджувальна інформація, що міститься в пам'ять емулятора, починається з адреси 8000Н. Вміст регістрів R0 і R1 пересилається окремо, так як надалі вони використовуються у підпрограмі для організації циклу. Після виведення налагоджувальної інформації програму МК припиняють, зчитують комп'ютером, що управляє, вміст осередків пам'яті емулятора ПЗУ 8000H-807FH, виводять його на дисплей і аналізують. Аналогічним чином можна вивести вміст всіх програмно доступних регістрів МК.

Налагодження мікроконтролерів за допомогою емулятора ПЗУ

Приступаючи до налагодження драйвера периферійного пристрою, тимчасово відключіть від нього МК-керуючі сигнали, щоб уникнути можливого виходу пристрою з ладу через помилки в програмі. Якщо процес носить одноразовий характер, "зацикліть" його і запрограмуйте при необхідності сигнал синхронізації осцилографа Налагоджуйте драйвер, контролюючи осцилографом формовані МК сигнали. Переконавшись у відповідності до тимчасових діаграм керуючих сигналів необхідним, підключіть периферійний пристрій і продовжіть налагодження драйвера на реальній апаратурі. Насамкінець видаліть з програмного модуля налагоджувальні елементи і перевірте його роботу в остаточному вигляді.

Використання спільних ресурсів МК різними модулями досить часто призводить до того, що налагоджена програма перестає працювати при додаванні ще однієї підпрограми. Якщо у програмі використовуються переривання, не забороняйте їх без потреби. Налагоджений модуль не слід видаляти з програми, навіть якщо він не потрібен.

При "зависанні" МК стане в нагоді наступний метод локалізації помилки: введіть у програму контрольні точки, що виводять на дисплей послідовно зростаючі числа. Після "зависання" на дисплеї буде відображено число, яке відповідає останній успішно пройденій контрольній точці. Якщо кілька таких точок потрапили в нескінченний цикл, цифри на дисплеї швидко змінюватимуться. Для того щоб визначити, які саме точки потрапили в цикл, доведеться штучно уповільнити зміну чисел, задавши при виведенні кожного програмну затримку, наприклад, у вигляді холостого циклу. Якщо в системі, що налагоджується, немає вбудованого дисплея, інформацію можна вивести на дисплей керуючого комп'ютера через вільну область пам'яті емулятора ПЗУ.

Налагодивши всі драйвери пристроїв, приступають до налагодження інших підпрограм. Якщо якась із них реалізує складний алгоритм обробки або перетворення даних, виведення на дисплей одного або декількох проміжних значень змінних часто не дає достатньої для аналізу помилок інформації Подолати труднощі і тут допоможе запис налагоджувальної інформації необхідного обсягу у вільну область пам'яті емулятора ПЗП.

Досягши нормальної роботи всіх програмних модулів, можна налагоджувати їх спільно. Виникаючі у своїй проблеми поділяються на дві групи. До першої належать проблеми спільного використання загальних ресурсів МК: арифметико-логічного пристрою, пам'яті даних, портів введення-виведення. Друга пов'язана з роботою мікроконтролерів у реальному масштабі часу.

Системи реального часу зазвичай багатопоточні. Декілька програмних завдань (потоків) виконуються паралельно, взаємодіючи один з одним і використовуючи спільні ресурси. Але в кожний момент МК через свою структуру вирішує лише одну з них, по черзі переключаючись на інші з урахуванням пріоритету. Конфлікти між завданнями виникають як через брак ресурсів, і через дефіцит часу на обробку даних. Тому звертайте особливу увагу на ресурси МК, які у програмних модулях, частіше контролюйте зміна їхнього стану шляхом виведення налагоджувальної інформації. Намагайтеся зменшити кількість глобальних змінних, по можливості замінюючи їх локальними. Слідкуйте за станом стека. Оцінюйте час виконання критичних ділянок програми, перевіряйте систему за різних значень вхідних сигналів, можливих практично.

За допомогою емулятора ПЗУ можна налагодити програму, призначену для роботи у внутрішній пам'яті МК, якщо тимчасово розмістити її у зовнішній пам'яті програм. Оскільки порти Р0 і Р2 виявляться зайнятими обслуговуванням зовнішньої пам'яті, то, якщо залишилися вільними ліній вводу-виведення МК недостатньо, Р0 і Р2 замінюють портами вводу-виводу, адресованими як осередки зовнішньої пам'яті даних. Їх підключають за стандартними схемами, застосовуючи збільшення числа ліній виведення тригерные регістри, а числа ліній введення - елементи з трьома станами виходів.

Налагодивши систему за допомогою емулятора, видаліть з неї налагоджувальні елементи, запишіть програму в ПЗП (або у внутрішню пам'ять програм МК) та перевірте роботу пристрою в остаточному вигляді.

література

  1. Видолоб Р., Кудряшов Ст, Самойлов Ст. Емулятор ПЗУ/ОЗУ RE020. – Радіо, 1997. №11, С. 30-32.
  2. Зеленко Г. В., Іванніков О. Д., Сипчук П. П. Проектування та налагодження мікропроцесорних систем. - М. Машинобудування. 1982.
  3. Вільяме Г. Б. Налагодження мікропроцесорних систем: Пров. з англ. - М Енергоатоміздат. 1988

Автори: Г.Видолоб, В.Самойлов, м.Москва (Зеленоград)

Дивіться інші статті розділу Мікроконтролери.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Новий спосіб управління та маніпулювання оптичними сигналами 05.05.2024

Сучасний світ науки та технологій стрімко розвивається, і з кожним днем ​​з'являються нові методи та технології, які відкривають перед нами нові перспективи у різних галузях. Однією з таких інновацій є розробка німецькими вченими нового способу керування оптичними сигналами, що може призвести до значного прогресу фотоніки. Нещодавні дослідження дозволили німецьким ученим створити регульовану хвильову пластину всередині хвилеводу із плавленого кремнезему. Цей метод, заснований на використанні рідкокристалічного шару, дозволяє ефективно змінювати поляризацію світла через хвилевід. Цей технологічний прорив відкриває нові перспективи розробки компактних і ефективних фотонних пристроїв, здатних обробляти великі обсяги даних. Електрооптичний контроль поляризації, що надається новим методом, може стати основою створення нового класу інтегрованих фотонних пристроїв. Це відкриває широкі можливості для застосування. ...>>

Приміальна клавіатура Seneca 05.05.2024

Клавіатури – невід'ємна частина нашої повсякденної роботи за комп'ютером. Однак однією з головних проблем, з якою стикаються користувачі, є шум, особливо у випадку преміальних моделей. Але з появою нової клавіатури Seneca від Norbauer & Co може змінитися. Seneca – це не просто клавіатура, це результат п'ятирічної роботи розробників над створенням ідеального пристрою. Кожен аспект цієї клавіатури, починаючи від акустичних властивостей до механічних характеристик, був ретельно продуманий і збалансований. Однією з ключових особливостей Seneca є безшумні стабілізатори, які вирішують проблему шуму, характерну для багатьох клавіатур. Крім того, клавіатура підтримує різні варіанти ширини клавіш, що робить її зручною для будь-якого користувача. І хоча Seneca поки не доступна для покупки, її реліз запланований на кінець літа. Seneca від Norbauer & Co є втіленням нових стандартів у клавіатурному дизайні. Її ...>>

Запрацювала найвища у світі астрономічна обсерваторія 04.05.2024

Дослідження космосу та її таємниць - це завдання, яка привертає увагу астрономів з усього світу. У свіжому повітрі високих гір, далеко від міських світлових забруднень, зірки та планети розкривають свої секрети з більшою ясністю. Відкривається нова сторінка в історії астрономії із відкриттям найвищої у світі астрономічної обсерваторії – Атакамської обсерваторії Токійського університету. Атакамська обсерваторія, розташована на висоті 5640 метрів над рівнем моря, відкриває нові можливості для астрономів у вивченні космосу. Це місце стало найвищим для розміщення наземного телескопа, надаючи дослідникам унікальний інструмент вивчення інфрачервоних хвиль у Всесвіті. Хоча висотне розташування забезпечує більш чисте небо та менший вплив атмосфери на спостереження, будівництво обсерваторії на високій горі є величезними труднощами та викликами. Однак, незважаючи на складнощі, нова обсерваторія відкриває перед астрономами широкі перспективи для дослідження. ...>>

Випадкова новина з Архіву

Енергійні вікна 06.04.2011

Норвезька компанія "Енсоль" запатентувала тонкоплівкові сонячні батареї, які складаються з металевих наночастинок, що наносяться на скло у вакуумній камері.

Роботи проводяться у співпраці з фізичним факультетом Лейстерського університету (Англія). До 2016 року фірма сподівається досягти 20-відсоткового ККД своїх батарей. Скло з сонячною батареєю можна склити вікна - вони будуть трохи затемненими, але для сонячних південних районів це тільки плюс.

Інші цікаві новини:

▪ Купе-кросовер Lynk&Co 05+

▪ Найдальший об'єкт Сонячної системи

▪ Азотний алмаз

▪ Глобальне потепління особливо сильно вдарить по США

▪ Занадто хороша пам'ять

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ розділ сайту Дитяча наукова лабораторія. Добірка статей

▪ стаття Історичний шлях – не тротуар Невського проспекту. Крилатий вислів

▪ стаття Як хмарам вдається триматися на небі? Детальна відповідь

▪ стаття Робота з ручною лебідкою та ручною таллю. Типова інструкція з охорони праці

▪ стаття Проста схема біпера. Енциклопедія радіоелектроніки та електротехніки

▪ стаття Зникнення напою. Секрет фокусу

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024