Емулятор із газового обладнання навіщо потрібен. Як це працює? Який емулятор підійде

Емулятор із газового обладнання навіщо потрібен. Як це працює? Який емулятор підійде

25.05.2019

16 відповідей

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

Основна ідея:

Емуляція працює, керуючи поведінкою процесора та окремих компонентів. Ви будуєте кожну окрему частину системи, а потім з'єднуєте частини так само, як проводи в апаратне забезпечення.

Емуляція процесора:

Існує три способи обробки емуляції процесора:

  • Інтерпретація
  • Динамічна перекомпіляція
  • Статична перекомпіляція

З усіма цими шляхами ви маєте спільну мету: виконайте частину коду, щоб змінити стан процесора і взаємодіяти з "обладнанням". Стан процесора – це конгломерація регістрів процесора, обробників переривань тощо. Для цільового процесора. Для 6502 у вас буде число 8-розрядних цілих чисел, що представляють регістри: A, X, Y, P і S; у вас також буде 16-розрядний регістр PC.

З інтерпретацією ви починаєте з IP (покажчик інструкції - також званий PC, лічильник програм) та читаєте інструкцію з пам'яті. Ваш код аналізує цю інструкцію та використовує цю інформацію для зміни стану процесора, вказаного вашим процесором. Основна проблема з інтерпретацією у тому, що вона дуже повільна; щоразу, коли ви обробляєте цю інструкцію, ви повинні її декодувати та виконувати необхідну операцію.

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

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

  • Код, який не знаходиться в програмі для початку (наприклад, стислий, зашифрований, згенерований/змінений під час виконання тощо), не буде перекомпільовано, тому він не запускатиметься
  • Було доведено, що пошук всього коду в даному двійковому еквіваленті еквівалентний проблема із зупинкою

Вони об'єднуються, щоб зробити статичну перекомпіляцію повністю нездійсненною у 99% випадків. Для отримання додаткової інформації Майкл Стейл провів велике дослідження статичної перекомпіляції – найкраще, що я бачив.

Інша сторона емуляції процесора – це спосіб взаємодії з обладнанням. Це дійсно має дві сторони:

  • Час процесора
  • Обробка переривань

Час роботи процесора:

Деякі платформи – особливо старі консолі, такі як NES, SNES тощо. - вимагають, щоб ваш емулятор мав строгий час для повної сумісності. За допомогою NES у вас є PPU (блок обробки пікселів), який вимагає, щоб процесор акуратно поміщав пікселі в свою пам'ять. Якщо ви використовуєте інтерпретацію, ви можете легко підраховувати цикли та емулювати правильний час; з динамічною/статичною перекомпіляцією, все це/багато/складніше.

Обробка переривань:

Переривання – це основний механізм, з яким процесор взаємодіє з обладнанням. Як правило, ваші апаратні компоненти повідомляють CPU про те, що його перериває. Це досить просто – коли ваш код видає задане переривання, ви дивитеся таблицю обробника переривань та викликаєте правильний зворотний виклик.

Емуляція обладнання:

Є дві сторони для емуляції апаратного пристрою:

  • Емуляція функціональності пристрою
  • Емулювання реальних інтерфейсів пристрою

Візьмемо випадок жорсткого диска. Емуляція функціональності забезпечується створенням резервних сховищ, процедур читання/запису/форматування тощо. Ця частина, зазвичай, дуже проста.

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

Я заглибився б у подробиці, але є мільйон способів, якими ви можете піти з ним. Якщо у вас є якісь конкретні питання, не соромтеся запитувати, і я додам інформацію.

Ресурси:

Я думаю, що тут було дуже добре введення, але є додаткові тонни. Я більш ніж щасливий допомогти з будь-якими питаннями; Я був дуже розпливчастим здебільшого просто через величезну складність.

Обов'язкові посилання у Вікіпедії:

Загальні ресурси емуляції:

  • Zophar - ось де я почав з емуляції, спочатку завантажив емулятори і зрештою пограбував їх величезні архіви документації. Це найкращий ресурс, який у вас може бути.
  • NGEmu – Не так багато прямих ресурсів, але їх форуми непереможні.
  • RomHacking.net - Розділ документів містить ресурси щодо архітектури машин для популярних консолей.

Проекти емулятора для посилання:

  • - це платформа емуляції.NET, написана в Nemerle і що перекомпілює код на С# на льоту. Відмова від відповідальності: Це мій проект, тому перепрошую за безсоромну версію.
  • BSnes – дивовижний емулятор SNES з метою забезпечення точності циклу.
  • MAME - аркадний емулятор. Чудова рекомендація.
  • 6502asm.com - Це емулятор JavaScript 6502 з прохолодним невеликим форумом.
  • dynarec"d 6502asm - Це невеликий злом, який я зробив за день або два. Я взяв існуючий емулятор від 6502asm.com і змінив його, щоб динамічно перекомпілювати код JavaScript для збільшення швидкості.

Посилання на перекомпіляцію процесора:

  • Дослідження статичної перекомпіляції, зроблене Майклом Стелом (посилання на вище), завершилося в цій статті, і ви можете знайти джерело і такі.

Додавання:

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

Можливо, найбільш захоплююча річ в емуляції прямо зараз - libcpu, розпочата вищезгаданим Майклом Стілом. Це бібліотека, призначена для підтримки великої кількостіядер процесора, які використовують LLVM для перекомпіляції (статичні та динамічні!). Він отримав величезний потенціал, і я думаю, що він робитиме великі речі для емуляції.

Хлопець на ім'я Віктор Мойя дель Барріо написав дисертацію на цю тему. Багато хорошої інформації на 152 сторінках. Ви можете завантажити PDF.

Якщо ви не хочете реєструватися в scribd, ви можете використовувати Google для заголовка PDF, "Вивчення методів програмування емуляції". Для PDF існує кілька джерел.

Емуляція може бути складною, але насправді вона набагато простіше, ніж моделювання.

Будь-який процесор зазвичай має добре написану специфікацію, яка описує стани, взаємодії тощо.

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

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

Звичайно, емулятори для відеоігор зазвичай опікуються продуктивністю, тому вони не використовують наївні реалізації, а також включають код, який взаємодіє з ОС хост-системи, наприклад, для малювання та звуку.

Враховуючи дуже повільну продуктивність старих відеоігор (NES/SNES тощо), емуляція на сучасних системах є досить простою. Насправді, ще більш дивно, що ви могли просто завантажити набір з кожної гри SNES будь-коли або будь-якої гри Atari 2600, вважаючи, що коли ці системи були популярні, маючи вільний доступ до кожного картриджа, це було б мрією.

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

Однак є дуже відомий виняток, званий "UltraHLE" (). UltraHLE, один із найвідоміших емуляторів, коли-небудь створених, емулював комерційні ігри Nintendo 64 (з гідною продуктивністю на домашніх комп'ютерах) у той час, коли це вважалося неможливим. Насправді Nintendo все ще випускала нові назви для Nintendo 64, коли була створена UltraHLE!

Вперше я бачив статті про емулятори в друкованих журналах, де раніше я бачив їх лише в Інтернеті.

Концепція UltraHLE полягала в тому, щоб уможливити неможливе шляхом емуляції викликів бібліотеки C замість викликів на рівні машини.

Створивши власний емулятор мікрокомп'ютера BBC 80-х (тип VBeeb у Google), вам потрібно знати кілька речей.

  • Ви не емулюєте реальну річ як таку, це буде репліка. Натомість ви емулюєте State. Гарним прикладомкалькулятор, реальна річ має кнопки, екран, футляр і т.д. Але для емуляції калькулятора потрібно лише наслідувати кнопки вгору або вниз, які сегменти РК-дисплея включені і т.д. В принципі, набір чисел представляючи всі можливі комбінації речей, які можуть бути змінені в калькуляторі.
  • Вам потрібно тільки щоб інтерфейс емулятора з'являвся і поводився як справжня річ. Чим переконливіше це, тим ближча емуляція. Те, що відбувається за лаштунками, може бути чим завгодно. Але для простоти написання емулятора існує ментальне відображення, яке відбувається між реальною системою, тобто чіпами, дисплеями, клавіатурами, друкованими платами та абстрактним комп'ютерним кодом.
  • Щоб емулювати комп'ютерну систему, найпростіше розбити її на дрібніші шматки і наслідувати цим шматкам індивідуально. Потім поєднайте всю партію для готового продукту. Дуже схоже на набір чорних ящиків із входом та висновком, який чудово піддається об'єктно-орієнтованому програмуванню. Ви можете поділити ці шматки, щоб полегшити життя.

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

Так, ви повинні інтерпретувати весь двійковий код машинного коду "вручну". Мало того, що більшість часу вам також доводиться моделювати деякі екзотичні апаратні засоби, які не мають еквівалента на цільовій машині.

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

Коли ви розробляєте емулятор, ви інтерпретуєте складання процесора, над якою працює система (Z80, 8080, PS CPU тощо).

Вам також необхідно емулювати всі периферійні пристрої, які мають система (відеовихід, контролер).

Ви повинні почати писати емулятори для simpe систем, таких як старий добрий Game Boy (який використовує процесор Z80, я не помиляюся) АБО для C64.

Емулятор дуже складно створити, тому що є багато хаків (як у незвичайному ефекти), проблеми із синхронізацією тощо, які ви повинні імітувати.

Це також покаже вам, чому вам потрібний процесор з кількома ГГц для емуляції 1 МГц.

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

Вихлопні гази, що виділяються автомобілем, містять небезпечна речовина NOx. Призначення SCR – мінімізація обсягів негативних викидів за допомогою сечовини AdBlue. Реактив дозволяє виконати отруйної речовинина воду та азот.
EGR – використовується аналогічно SCR зниження викиду оксиду азоту. Пристрій виконує перенаправлення газів, що відпрацювали, у впускний колектор.
AdBlue використовується SCR для мінімізації обсягів викиду NOx у відпрацьованих газах.
AdBlue – рідка речовина, яка не має запаху та не є токсичним елементом.
Сечовину в країнах Північної Америки називають DEF, а європейські державиназивають реактив AdBlue.

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

У SCR часто виникають несправності, що стало додатковим аргументом на користь відключення сечовини AdBlue.
Контролем упорскування реактиву та функціонування панелі приладів займається спеціальний блок DCU або програмний модуль у пристрої контролю рухового агрегату. Ці пристосування точно визначають обсяги постачання сечовини та створюють сигнал для модуля дозування. У комплексі передбачено замкнутий цикл контролю.

Замерзання Adblue відбувається за температурних показників -11 градусів Цельсія. Деактивація рухової системи може спричинити кристалізацію реактиву.

Щоб захистити SCR, у разі низькотемпературної роботи, слід прогріти AdBlue перед стартом рухового агрегату. Процес подачі сечовини можливий після повного розморожування реактиву.
У разі роботи вантажних автомобілівУ холодних умовах РФ деактивація сечовини імітатором даних стане правильним рішенням.

Як працює емулятор Adblue

  • У транспортний засіб, що працює на базі ЄВРО-5, емулятор AdBlue монтують через модуль CAN. Помилки в системі AdBlue – неприпустимі!
  • Усі дані приладів AdBlue копіюються в блок пам'яті емулятора.
  • Активація емулятора AdBlue запускає процес відправки сигналу, за допомогою CAN модуля, в систему скопійованих машин збережених даних про справність пристрою AdBlue.
  • Під час руху машини імітатор AdBlue виконує обмін даними з певними блоками автомобіля і здійснює відправку модифікованих даних з імітованими відомостями про споживання сечовини.

Зараз ринок наповнений різноманітними емуляторами сечовини від широкого спектру виробників із КНР. Наша компанія віддає перевагу перевіреним постачальникам високоякісного обладнання. Тому ми успішно допомагаємо автомобілістам з машинами класу ЄВРО-5 і допомагаємо мінімізувати матеріальні вкладення, пов'язані з виконанням ремонтних заходів штатного устрою сечовини.

Емулятор форсунок необхідний для інжектора. Встановлення та підключення емулятора форсунок ГБО 2 покоління мають кілька обов'язкових умов, які потрібно виконати для продуктивної роботи системи.

Емулятор форсунок – що це?

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

Важливо! За відсутності електронного пристрою механізм вийде з ладу або відмовиться працювати.

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

Важливо! Бензонасос при переході на газ не відключається, оскільки бензин охолоджує та омиває свою частину системи, у тому числі форсунки бензинового типу. Також у бензобаку має бути паливо.

Крім цього, необхідно враховувати, що прогрівання двигунів виробляється бензином, а не газом. В іншому випадку система вимкнеться або може отримати пошкодження.

Інжектор має ряд необхідних датчиків. Для емулятора лямбда зонд для ГБО 2-го покоління є дуже складним механізмом, який в основному регулює ЕБО під час роботи на бензині для надходження палива. При переході на газ ланцюг передачі розривається, і вторинний емулятивний лямбда зонд створює передачу відразу на контролер. Якщо використовувати первинний датчик, то машина одразу перейде в аварійний стан, оскільки ЕБУ покаже, що датчик несправний.

Електроніка у інжекторної машинидуже чутлива, тому краще установкою та налаштуванням займатися самостійно, лише за наявності певного досвіду.

У цілому, емулятор має кілька функцій, які є дуже важливими. Ці функції регулюють роботу всього переходу та подальшого процесу:

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

Також варто враховувати, що інжектор з правильно налаштованим електронним механізмом має переваги. автоматичному режимітобто перехід з бензину на газ відбудеться практично моментально після повороту запалювання. Але для цього потрібна температура двигуна близько сорока градусів.

На нашому сайті є статті про різні газові форсунки:

Встановлення та налаштування

Встановлення та налаштування пристрою виконуються одночасно, оскільки в протилежному випадку можуть виникнути проблеми. Будь-яке неправильне підключення може призвести до таких наслідків:

  • неправильна робота під час запалювання, у тому числі відсутність надходження газу;
  • нестійкий процес роботи при холостому ходіз газом;
  • обмерзання редуктора;
  • спостерігаються провали у роботі чи після холостого ходу.

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

Для самостійної установкисхема підключення емулятора форсунок ГБО 2 покоління є досить складною, але, за наявності досвіду, можна все зробити правильно. Крім цього, варто пам'ятати кілька простих правил:

  • стандартний опір електронного механізму має бути близько 100 ОМ;
  • встановлення пристрою має враховувати наявність чи відсутність саморегуляції;
  • для кожного інжектора є свій механізм, наприклад, для «європейців» підійде пристрій із маркуванням EI, а для японців – JI. Це дозволить підібрати пристрій з відповідними роз'ємами та характеристиками;
  • варто враховувати кількість циліндрів, оскільки відповідно до цього йде індивідуальний підбір емулятора;
  • потрібна межа затримки переходу варіюється від нуля до 5 секунд. Діапазон встановлюється відповідно до конфігурації двигуна індивідуально, одразу після монтажу.

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

У складнішому варіанті підключення емулятора йде через перемикач ГБО. У цьому випадку буде потрібне регулювання затримки відповідно до експериментальної роботи, тобто необхідний рівень затримки позначений досвідченим шляхом. Це відбувається через різні індивідуальні особливості кожного двигуна. За наявності датчиків знадобиться встановлення лямбда зонда емулятивного типу. Він також зветься кисневий. При його встановленні в ЕБУ приходитиме сигнал про норму палива, що дозволить машині не перейти на аварійний режим.

Читайте , як правильно чистити та замінювати газові форсунки.

На закінчення

Влаштування емулятивного характеру є імітатором роботи елемента бензинового типу з електронним характером. Найкраще встановлювати цей пристрійпри переобладнанні інжектора на ГБО 2 покоління, тому що наступні модифікації вже мають даний елемент.

Для кожного ЕБУ є власний індивідуальний механізм, який треба підбирати за характеристиками. Сам процес із вбудовування в систему повинен проводитись професіоналами. Це дозволяє усунути недоліки, що виникли першому етапі.

Останнім часом тренд на встановлення газобалонного обладнанняДруге покоління на інжекторний автомобіль істотно пішов на спад. Але, досить велика частка автомобілістів, як і раніше, цікавляться тим, як встановити і які конструктивні особливостіпотрібно вносити в автомобіль у своїй. Сьогодні ми розповімо про вузол системи без якого неможливо встановити ГБО 2 покоління на інжекторний автомобіль - це емулятор форсунок.

Навіщо потрібний емулятор форсунок

Робота інжекторного автомобілянеможливе без електроніки. Ебу сучасного «залізного коня» керує роботою бензинових інжекторів, правильно дозуючи упорскування палива, а також стежить за всілякими неполадками системи. Виробляючи установку ГБО 2 покоління на інжекторний ДВЗ, ми фактично повертаємось на крок назад і отримуємо карбюраторну систему. Для стабільної роботиГБО 2 покоління на інжекторному ДВЗнам необхідно вимкнути бензинові форсунки. При цьому електронний мозок авто обов'язково діагностує, що інжектори відключені та видасть повідомлення про помилку "check engine". Щоб це повідомлення не з'являлося, а ЕБУ «думав», що вся система працює в штатному режимі і потрібен емулятор форсунок ГБО.

Слід зазначити, що за допомогою цього пристрою можна виставити необхідну тимчасову затримку під час переходу двигуна з газу на бензин і назад. Зазвичай час затримки виставляється індивідуально для кожного ДВЗ та водія і знаходиться в проміжку від 0 до 5 секунд. Робиться це для плавної зміни палива, щоб водій не помічав момент переходу, а також для запобігання тому, що двигун захлихне.

Таким чином, емулятор форсунок ГБО 2 покоління виконує три основні функції:

  1. При переході двигуна газ відключає бензинові інжектори;
  2. Після відключення бензинових інжекторів емулює їхню роботу, подаючи ЕБУ автомобіля сигнал штатної роботифорсунок.
  3. ЕБУ бачачи, що ніяких несправностей немає, не видає на панель приладів помилку «check engine».

Зверніть увагу! На ГБО 4 покоління емулятор форсунок окремо не докуповується, тому що цей вузол вже вбудований в електронний газовий блок управління.

Маркування емулятора форсунок

Щоб правильно вибрати пристрій імітації інжекторів для свого автомобіля, потрібно знати кількість циліндрів у Вашому ДВС, а також розбиратися в маркуванні цих виробів.

Основна схема маркування виглядає так:
Виробник, тип ГБО, тип емулятора, кількість циліндрів. Наприклад, маркування «STAG2 E4» означає, що цей виріб виробника STAG, підходить для ГБО 2 покоління, має електронне керуванняі призначене для 4 циліндрових ДВЗ.

Аналогічно "Stag2E-6" - виробник STAG, підходить для ГБО 2 покоління, має електронне управління і призначене для 6 циліндрових ДВС.

також в обов'язковому порядкуТреба розуміти який роз'єм має бути на пристрої.

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

Підключення емулятора форсунок

Насамперед варто відзначити, що підключення емулятора форсунок ГБО 2 покоління найкраще доручити досвідченому майстру установнику, щоб при самостійному підключенні не вивести з ладу електроніку автомобіля.

При самостійному підключенні пристрою обов'язково переконайтеся у таких моментах:

  • Більшість бензинових інжекторів мають опір 100 Ом. Переконайтеся, що пристрій, який Ви бажаєте встановити, підтримує саме цей опір. Зазвичай опір вказують у технічні характеристикиВироби.
  • Переконайтеся, що роз'єм на емуляторі такий самий, як і на Вашому автомобілі.
  • Переконайтеся, що пристрій підтримує необхідну Вам кількість циліндрів ДВС.
  • Уважно вивчіть схему підключення, вона повинна бути в комплекті разом з пристроєм.

Загальна схема підключення емулятора форсунок виглядає так:

11. ВНУТРІСХЕМНІ ЕМУЛЯТОРИ

11.1. ПРИНЦИП РОБОТИ ВНУТРІШНІХХЕМНИХ ЕМУЛЯТОРІВ

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

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

Насправді, «хороший» внутрисхемный емулятор робить процес функціонування налагоджуваного контролера прозорим, тобто. легко контрольованим, довільно керованим та модифікованим по волі розробника.

Конструктивно емулятори можуть бути вбудовані в ПК (тобто вставляються в слот комп'ютера), або виносні (в окремому корпусі, з'єднані з ПК через паралельний LPT порт або послідовний порт RS-232).

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

Емулятор зазвичай підтримує якесь одне сімейство мікропроцесорів (на-

приклад INTEL 8031/8051/8052, INTEL 8080/8085 або ATMEL AVR), а конкретний мікропроцесор у сімействі визначається змінним емуляційним модулем. Таким чином можна нарощувати парк емульованих процесорів, набуваючи додаткових емуляційних модулів.

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

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

Однак є дуже істотна відмінністьемулятора від реального МП: при встановленні в конструктив прототипу реального МП без емулятора відсутня можливість контролювати внутрішній стан і управляти поведінкою прототипу,

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

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

Більш повного виявлення логічних помилок в ПС необхідно по можливості найбільшу частину ПС виконати і перевірити тільки в складі емулятора без підключення прототипу МПС. Після виявлення помилок цьому етапі слід переходити до інших етапів налагодження МПС.

Емулятори можуть містити елементи логічного аналізатора - трасувальник і процесор точок зупинки(Breakpoint Processor – ВР). Трасувальник запам'ятовує пройдений процесором шлях, причому непотрібну інформацію можна ігнорувати (наприклад, запам'ятати лише звернення до програмної пам'яті у певній області адресного простору). ВР дозволяє встановлювати точки зупинки, аналізуючи стан процесора (наприклад зупинитися після циклу з N звернень до комірки А, за умови що в комірку під час переривання була записана величина X). Треба наголосити, що і трасувальник, і ВР-процесор працюють у темпі реального часу.

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

11.2. ПЕРШІ ВНУТРІСХЕМНІ ЕМУЛЯТОРИ

Навіть на початку розробок вбудованих мікроконтролерів внутрішньосхемні емулятори були найдосконалішим інструментом. У 1975 році компанія Intel створила свій перший справжній внутрішньосхемний емулятор MDS-800, призначений для мікропроцесорів 8080. Щоправда, це були досить дорогі (1975 року MDS-800 коштував 20 тис. дол.) і громіздкі системи (MDS-800 мав екран, клавіатуру та два дисководи для гнучких дисків діаметром 20 см).

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

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

У чому емулятори були схожі на монітори, так це в орієнтації на мову асемблера. Так було в 70-х роках минулого століття, коли жодна мова високого рівня не могла зрівнятися з нинішньою поширеністю в індустрії вбудованих комп'ютерів мови Сі. Та й код, створюваний першими компіляторами мов високого рівня, не був достатньо компактним, щоб умістити його у системах, що вбудовуються.

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

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

Також одним із недоліків перших емуляторів була низька швидкодія послідовних ліній зв'язку. Хоча 9600 бод досить висока швидкість, на завантаження програми міг піти значний час. Крім того, був потрібен час і на генерацію таблиці символів.

11.3. КЛАСИФІКАЦІЯ ВНУТРІШНІХХЕМНИХ ЕМУЛЯТОРІВ ТА ЇХ ФУНКЦІОНАЛЬНІ МОЖЛИВОСТІ

11.3.1. Класифікація внутрішньосхемних емуляторів

Функціонально внутрішньосхемні емулятори діляться на стикувані із зовнішньою обчислювальною машиною (зазвичай це буває IBM PC) і автономно, що функціонують.

Автономні внутрішньосхемні емулятори мають індивідуальні обчислювальні ресурси, засоби введення-виведення, не вимагають для своєї нормальної роботистикування з будь-якими зовнішніми обчислювальними засобами, але за це користувачеві доводиться розплачуватися або значно вищою ціною, або зниженими функціональними та сервісними можливостями в порівнянні з аналогічними моделями, що стикуються з IBM PC.

11.3.2. Функціональні можливості ВРЕ

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

Також суттєво полегшити роботу розробника може наявність у програмній оболонці емулятора вбудованого редактора, вбудованого менеджера проектів та системи управління. Тоді стирається грань між написанням програми, її редагуванням та налагодженням. Перехід від редагування вихідного тексту до налагодження

роботи власне емулятора і назад відбувається «прозоро» та синхронно з активізацією відповідних вікон, менеджер проектів автоматично запускає компіляцію в міру потреби та активізує відповідні вікна програмного інтерфейсу.

При роботі внутрішньосхемного емулятора у складі інтегрованого середовища так само просто можна здійснити і перехід до налагодження проекту за допомогою наявного відладчика-симулятора або розпочати занесення в ПЗП мікроконтролера налагодженою програмою.

Деякі моделі внутрішньосхемних емуляторів можуть надавати користувачам інші додаткові можливості. Серед них відзначимо одну, хоча й досить специфічну, але в ряді випадків важливе значення: можливість побудови багатоемуляторних комплексів, необхідних для налагодження мультипроцесорних систем. Відмінною особливістю такого комплексу є можливість синхронного керування (з одного комп'ютера) кількома емуляторами.

11.3.3. Переваги та недоліки внутрішньосхемних емуляторів

До переваг внутрішньосхемних емуляторів слід віднести

широкий набір функціональних можливостей, що робить внутрішньосхемні емулятори найбільш потужним та універсальним засобом налагодження;

роботу внутрішньосхемного емулятора в реальної схеми електронного блоку, В якому передбачається робота мікроконтролера або ЦПОС;

велика гнучкість моделювання тимчасових та електричних характеристикмікроконтролера, що пов'язано з переважно програмним методом їх моделювання

Однак внутрішньосхемні емулятори мають недоліки.

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

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

11.4. СУЧАСНІ ВНУТРІСХЕМНІ ЕМУЛЯТОРИ

Сучасний емулятор, як і вся електронна техніка, став меншим у розмірах, швидше в операціях, набув безліч функцій і став коштувати набагато дешевше. Все цим він зобов'язаний "втраті" вбудованого екрану, клавіатури та флоппі-дисків, завдяки чому вдалося підвищити його надійність та здешевити виробництво. У той же час підвищилася швидкість обчислень емулятора, що забезпечило емуляцію операцій, що не впливає на основний режим роботи, в реальному масштабі часу зі швидкістю, про яку ще кілька років тому доводилося тільки мріяти. Останнє пояснюється тим, що, в цілому, швидкодія цільових систем, що вбудовуються, в порівнянні з емуляторами, зросла не настільки сильно. У них, як і раніше, використовується 8-МГц мікро-

процесор сімейства 8051, тоді як у хост-системі на місці 16-МГц процесора 80286 вже стоїть Pentium4 з робочою частотою 2000 МГц.

Нарешті, внутрішньосхемні емулятори звільнилися від асемблера і можуть працювати з мовами високого рівня (як мінімум з Сі).

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

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

адреси виконаних інструкцій (а також не завантажених та проігнорований-

мітки кодів та назви змінних, зовнішні сигнали, порти і т.д.

стану шини, результати команд читання/запису, підтвердження переривань та

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

Повинна також існувати можливість об'єднання цих режимів з метою, наприклад, трасування на основі абсолютних циклів з відображенням ситуації до (або після) події як операторів мови високого рівня.

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

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

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

щоб створити в майбутнього користувача враження практично тих же можливостей, що й у дорожчих ВРЕ. Враження зберігається до тих пір, поки ви не почнете цим ВСЕ користуватися і не виявите, що за ефективністю він не порівняти зі справжнім емулятором, особливо там, де вам потрібні його можливості як системи "жорсткого" реального часу.

Ця нова дешева технологія породила безліч так званих універсальних емуляторів, які можуть працювати з кількома сімействами мікропроцесорних пристроїв. Однак якби все було так просто, застосування FPGA-матриць для випуску багатоархітектурних емуляторів привабило б багатьох провідних виробників ВРЕ. І за вартістю було б чудово, проте на практиці так не сталося!

Однією з "минучих" проблем в історії внутрішньосхемних емуляторів виявилася проблема послідовних з'єднань. В ті часи, коли швидкість передачі паралельними лініями зв'язку становила 1200, 2400, 4800 і (при відомому старанні) 9600 бод, панацеєю вважалося з'єднання персонального комп'ютера і ВСЕ паралельними лініями зв'язку. Деякі виробники навіть вбудовували емулятор безпосередньо на персональний комп'ютер! Сучасні ж послідовні лінії цілком нормально працюють на швидкості 115 200 бод. Навіть великі програми завантажуються за секунди. Паралельні шини пішли зі сцени, у багатьох системах поступившись місцем лініям Ethernet.

11.5. НОВІ МОЖЛИВОСТІ ВНУТРІШНІХХЕМНИХ ЕМУЛЯТОРІВ

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

11.5.1. Аналіз використання коду

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

Аналіз використання даних визначає, до яких сфер даних здійснювався доступ у процесі тестування, дозволяючи виявляти потенційно небезпечні операції читання (READ), що виконуються до ініціалізації даних операцією запису (WRITE). Для атестації програми, що вбудовується, вона повинна працювати на цільовому обладнанні в режимі реального часу. Таке можливе лише з використанням ВСЕ. На симуляторі може бути виконаний і аналіз використання коду, проте не в реальному апаратному оточенні, до того ж ПЗУ-монітор (якщо не поставляється у складі продукту) змінює розподіл пам'яті (і в будь-якому випадку не забезпечує роботу в реальному масштабі часу).

11.5.2. Підрахунок часу виконання

Підрахунок часу виконання прикладних програм вимагає від симуляторів роботи у режимі справжнього, "жорсткого", а чи не псевдореального часу. Симулятори можуть показувати тривалість виконання в циклах і відсотках, але не в мілісекун-

крышу. Одна з переваг сучасних емуляторів, на яку часто не звертають уваги, їх здатність визначати, за бажанням користувача, чистий час виконання функцій, тобто тривалість їх виконання, як з урахуванням, так і без урахування часу роботи підпрограм і бібліотечних функцій, що викликаються. Припустимо, треба дізнатися, скільки часу займає виконання функції, що містить безліч операторів IF. Безглуздо прораховувати прямо все можливі варіантивиконання цієї функції (хоча володіти кишеньковим калькулятором ви навчитеся майстерно). Емулятор, видаливши всі вкладені підпрограми, точно визначить тривалість виконання основного функції тіла.

11.6. ВНУТРІСХЕМНИЙ ЕМУЛЯТОР МІКРОКОНТРОЛЕРІВ СІМЕЙСТВА

Можливості "реального" внутрішньосхемного емулятора проілюструємо на прикладі моделі PICE-51 вітчизняної фірми "Фітон".

11.6.1. Загальний опис PICE-51

PICE-51 - емулятор нового покоління, створений із застосуванням нових технологій розробки апаратури та програмного забезпечення(Рис. 11.1).

Мал. 11.1. Зовнішній виглядвнутрішньосхемного емулятора PICE-51

Застосування програмованих матриць великої ємності дозволило різко скоротити розміри емулятора без будь-яких збитків його функціональним можливостям, мінімізувати відхилення електричних і частотних характеристик емулятора від характеристик емульованого процесора і, тим самим, досягти максимальної точності емуляції на частотах до 30 МГц при напругах живлення. до 5 ст.

Перезавантажувальна апаратна структура емулятора забезпечує емуляцію практично всіх мікроконтролерів сімейства 8051 як вітчизняного виробництва, і фірм: Intel, Philips, Siemens, Atmel, Dallas, Temic, OKI, AMD, MHS та інших.

Потужний програмний інтерфейс у середовищі Windows, являє собою інтегроване середовище розробки, що підтримує всі етапи розробки програмного забезпечення.

забезпечення від написання вихідного тексту програми до її компіляції та налагодження. Програма підтримки емулятора орієнтована на налагодження програм мовою високого рівня за вихідним текстом.

Емулятор складається з основної плати PICE-51 розміром 80 х 76мм, змінного адаптера під конкретний процесор POD-51-XX та змінної емуляційної головки ADP-51-XX під конкретний тип корпусу (рис. 11.2). На основній платі реалізовані: трасувальник, процесор точок зупинки. Плата змінного адаптера містить процесор, що емулює, під конкретний тип мікроконтролера. Емуляційні головки забезпечують встановлення емулятора в колодки DIP та PLCC на платі користувача. Живлення емулятора здійснюється від блока живлення +5 В, 0,5 А або безпосередньо від пристрою, що налагоджується. Зв'язок з комп'ютером - гальванічно розв'язаним каналом RS-232C на швидкості 115 КБод.

Мал. 11.2. Структура емулятора PICE-51

11.6.2. Характеристики апаратури

Точна емуляція – відсутністьбудь-яких обмежень використання програмою користувача ресурсів мікроконтролера.

До 256K емульованої пам'яті програм та даних. Підтримка банкованої моделі пам'яті. Розподіл пам'яті між емулятором та пристроєм користувача

з точністю до 1-го байта.

До 512K апаратних точок зупиняється доступ до пам'яті програм і даних.

Апаратна підтримка для налагодження програм мовами високого рівня.

Трасування 8 довільних зовнішніх сигналів.

4 виходи синхронізації апаратури користувача.

Трасувальник реального часу з буфером об'ємом від 16К до 64K фреймів по 64 біти з доступом "на льоту". Трасування адреси, даних, сигналів керування, таймера реального часу та 8 зовнішніх сигналів користувача.

Програмований фільтр трасування.

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

Чотири комплексні точки зупинки, які можуть бути використані незалежно або в комбінаціях за умовами AND/OR/IF-THEN.

48-розрядний таймер реального часу.

Прозора емуляція - доступ "на льоту" до пам'яті, що емулюється, точок зупинки, процесору точок зупинки, буферу трасування, таймеру реального часу.

Керований генератор тактової частоти для емульованого процесора. Можливість плавної зміни тактової частоти від 500 кГц до 40 МГц.

Гальванічно розв'язаний від комп'ютера канал зв'язку RS-232C зі швидкістю обміну 115 КБід.

Вбудована система самодіагностики апаратури емулятора.

11.6.3. Характеристики програмного забезпечення

Програмне забезпечення орієнтоване працювати серед Windows на IBMсумісних комп'ютерах з процесорами типу 386/486/Pentium;

Вбудований багатовіконнийредактор призначено для написання вихідних текстів програм. Редактор підтримує операції з блоками тексту, пошук/заміну, виділення кольорів синтаксичних конструкцій мови асемблера і Сі;

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

PICE-51 забезпечує символьне налагодження та налагодження за вихідним текстом для програм, створених за допомогою таких компіляторів:

o асемблер ASM51 фірми Intel;

o асемблер MCA-51 фірми Фітон/МікроКосм; o компілятор PL/M фірми Intel;

o асемблер і компілятори фірми IAR Systems;

o асемблер та компіляторСі фірмиAvocet Systems Inc./HiTech ;o асемблер та компілятор

терфейсу та опцій налагодження. Забезпечується сумісність файлів конфігурації із симулятором PDS-51. Забезпечено переносимість проектів між емулятором PICE-51 та симулятором PDS-51;

Можливість налаштування кольорів, шрифтів та інших параметрів для всіх вікон одночасно та для кожного вікна окремо;

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

Таблиця 11.1. Порівняльні характеристики деяких емуляторів для мікроконтролерів сімейства 8051

постачальник

Емульовані мікро-

Усі відомі

Усі основні

Усі основні

Усі основні

контролери сімейст-

різновидно-

різновиди

різновидно-

різновиди

Максимальна частота

емуляції

Максимальний обсяг

емульованої пам'яті

Можливості перерас-

Блоками по

Блоками по

Блоками по 16

З точністю до

розподіл пам'яті

1-го байта

між емулятором та

пристроєм користува-

До 16 K фрей-

До 32 K фрей-

До 4 K фрей-

До 64 К фрей-

Буфер трасування

мов по 48 біт

мов по 80 біт

мов по 48 біт

мов по 64 біти

Доступ "на льоту" до

емульованої пам'яті та

Корпус

Весь емулятор -

ISA формат,

в емуляційний-

кабелі 2 мет-

мм, кабель,

мм, кабель,

ній голівці

розміром

Ціна за порівнянну

конфігурацію постав-

ки: підтримка 80С51,

25 MHz, 128K RAM,

буфер трасування

об'ємом 16K кадрів

Висновок

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

Емулятор дозволяє розробнику здійснити прогін програми (або фрагментів програми) в реальному часі, вести покрокову налагодження програми, запуск про-

© 2023 globusks.ru - Ремонт та обслуговування автомобілів для новачків