6.1. Розробка мікропроцесорної системи на основі мікроконтролера
6.1.1. Основні етапи розробки
МПС на основі МК використовуються найчастіше в якості вбудованих систем для вирішення завдань управління деяким об'єктом. Важливою особливістю даного застосування є робота в реальному часі, тобто забезпечення реакції на зовнішні події протягом певного часового інтервалу. Такі пристрої отримали назву контролерів.
Технологія проектування контролерів на базі МК цілком відповідає принципу нерозривного проектування і налагодження апаратних і програмних засобів, прийнятому в мікропроцесорній техніці. Це означає, що перед розробником такого роду МПС стоїть завдання реалізації повного циклу проектування, починаючи від розробки алгоритму функціонування і закінчуючи комплексними випробуваннями в складі вироби, а, можливо, і супроводом при виробництві. Сформована до теперішнього часу методологія проектування контролерів може бути представлена так, як показано на рис. 6.1.
В технічному завданні формулюються вимоги до контролера з точки зору реалізації певної функції управління. Технічне завдання включає в себе набір вимог, який визначає, що користувач хоче від контролера і що розроблювальний прилад повинен робити. Технічне завдання може мати вид текстового опису, що не вільного в загальному випадку від внутрішніх суперечностей.
Мал. 6.1. Основні етапи розробки контролера.
На підставі вимог користувача складається функціональна специфікація, яка визначає функції, виконувані контролером для користувача після завершення проектування, уточнюючи тим самим, наскільки пристрій відповідає висунутим вимогам. Вона включає в себе опису форматів даних, як на вході, так і на виході, а також зовнішні умови, що керують діями контролера.
Функціональна специфікація і вимоги користувача є критеріями оцінки функціонування контролера після завершення проектування. Може знадобитися проведення декількох ітерацій, що включають обговорення вимог і функціональної специфікації з потенційними користувачами контролера, і відповідну корекцію вимог і специфікації. Вимоги до типу використовуваного МК формулюються на даному етапі найчастіше в неявному вигляді.
Етап розробки алгоритму управління є найбільш відповідальним, оскільки помилки даного етапу зазвичай виявляються тільки при випробуваннях закінченого вироби і призводять до необхідності дорогої переробки всього пристрою. Розробка алгоритму зазвичай зводиться до вибору одного з декількох можливих варіантів алгоритмів, що відрізняються співвідношенням обсягу програмного забезпечення та апаратних засобів.
При цьому необхідно виходити з того, що максимальне використання апаратних засобів спрощує розробку і забезпечує високу швидкодію контролера в цілому, але супроводжується, як правило, збільшенням вартості і споживаної потужності. Пов'язано це з тим, що збільшення частки
апаратних засобів досягається або шляхом вибору більш складного МК, або шляхом використання спеціалізованих інтерфейсних схем. І те, і інше призводить до зростання вартості і енергоспоживання. Збільшення питомої ваги програмного забезпечення дозволяє скоротити число елементів контролера і вартість апаратних засобів, але це призводить до зниження швидкодії, збільшення необхідного обсягу внутрішньої пам'яті МК, збільшення термінів розробки і налагодження програмного забезпечення. Критерієм вибору тут і далі є можливість максимальної реалізації заданих функцій програмними засобами при мінімальних апаратних витратах і за умови забезпечення заданих показників швидкодії і надійності в повному діапазоні умов експлуатації. Часто визначальними вимогами є можливість захисту інформації (програмного коду) контролера, необхідність забезпечення максимальної тривалості роботи в автономному режимі і інші. В результаті виконання цього етапу остаточно формулюються вимоги до параметрів використовуваного МК.
При виборі типу МК враховуються наступні основні характеристики: розрядність;
вимоги до джерела живлення і споживана потужність в різних режимах; обсяг ПЗУ програм і ОЗУ даних;
можливості розширення пам'яті програм і даних;
наявність і можливості периферійних пристроїв, включаючи засоби підтримки роботи в реальному часі (таймери, процесори подій і т.п.);
можливість перепрограмування в складі пристрою; наявність і надійність засобів захисту внутрішньої інформації;
можливість поставки в різних варіантах конструктивного виконання; вартість в різних варіантах виконання;
наявність повної документації;
наявність і доступність ефективних засобів програмування і налагодження МК; кількість і доступність каналів поставки, можливість заміни виробами інших фірм.
Список цей далеко не вичерпаний, оскільки специфіка проектованого пристрою може перенести акцент вимог на інші параметри МК. Визначальними можуть виявитися, наприклад, вимоги до точності внутрішнього компаратора напруг або наявність великої кількості вихідних каналів ШІМ.
Номенклатура в даний час МК обчислюється тисячами типів виробів різних фірм. Сучасна стратегія модульного проектування забезпечує споживача різноманітністю моделей МК з одним і тим же процесорним ядром. Така структурна розмаїтість відкриває перед розробником можливість вибору оптимального МК, що не має функціональної надмірності, що мінімізує вартість комплектуючих елементів.
Однак для реалізації на практиці можливості вибору оптимального МК необхідна досить глибоке опрацювання алгоритму управління, оцінка обсягу виконуваної програми і числа ліній сполучення з об'єктом на етапі вибору МК. Допущені на даному етапі прорахунки можуть згодом призвести до необхідності зміни моделі МК і повторної розведення друкованої плати макета контролера. В таких умовах доцільно виконувати попереднє моделювання основних елементів прикладної програми з використанням програмно-логічної моделі обраного МК.
При відсутності МК, що забезпечує необхідні по ТЗ характеристики проектованого контролера, необхідне повернення до етапу розробки алгоритму управління і перегляд вибраного співвідношення між обсягом програмного забезпечення і апаратних засобів. Відсутність відповідного МК найчастіше означає, що для реалізації необхідного обсягу обчислень (алгоритмів управління) за відведений час потрібна додаткова апаратна підтримка. Негативний результат пошуку МК з необхідними характеристиками може бути пов'язаний також з необхідністю обслуговування великого числа об'єктів управління. У цьому випадку можливе використання зовнішніх схем обрамлення МК.
На етапі розробки структури контролера остаточно визначається склад наявних і підлягають розробці апаратних модулів, протоколи обміну між модулями, типи роз'ємів. Виконується попереднє опрацювання конструкції контролера. У частині програмного забезпечення визначаються склад і зв'язку програмних модулів, мова програмування. На цьому ж
етапі здійснюється вибір засобів проектування і налагодження.
Можливість перерозподілу функцій між апаратними та програмними засобами на даному етапі існує, але вона обмежена характеристиками вже обраного МК. При цьому необхідно мати на увазі, що сучасні МК випускаються, як правило, серіями (сімействами) контролерів, сумісних програмно і конструктивно, але розрізняються за своїми можливостями (обсяг пам'яті, набір периферійних пристроїв і т.д.). Це дає можливість вибору структури контролера з метою пошуку найбільш оптимального варіанту реалізації.
Не можна не згадати тут про нову ідеологію розробки пристроїв на базі МК, запропонованої фірмою "Scenix". Вона заснована на використанні високошвидкісних RISC-мікроконтролерів серії SX з тактовою частотою до 100 МГц. Ці МК мають мінімальний набір вбудованої периферії, а все більш складні периферійні модулі емулюються програмними засобами. Такі модулі програмного забезпечення називаються "віртуальними периферійними пристроями", вони забезпечують зменшення числа елементів контролера, часу розробки, збільшують гнучкість виконання. До теперішнього часу розроблені цілі бібліотеки віртуальних пристроїв, що містять налагоджені програмні модулі таких пристроїв як модулі ШІМ і ФАПЧ, послідовні інтерфейси, генератори та
вимірювачі частоти, контролери переривань і багато інших.
6.1.2. Розробка та налагодження апаратних засобів
Після розробки структури апаратних і програмних засобів подальша робота над контролером може бути распараллелена. Розробка апаратних засобів включає в себе розробку загальної принципової схеми, розводку топології плат, монтаж макета і його автономну налагодження. Час виконання цих етапів залежить від наявного набору апробованих функціонально-топологічних модулів, досвіду та кваліфікації розробника. На етапі введення принципової схеми і розробки топології використовуються, як правило, поширені системи проектування типу "ACCEL EDA"
6.1.3. Розробка та налагодження програмного забезпечення
Для перевірки і налагодження програмного забезпечення використовуються так звані програмні симулятори, надають користувачеві можливість виконувати розроблену програму на програмно-логічної моделі МК. Програмні симулятори поширюються, як правило, безкоштовно і сконфігуровані відразу на кілька МК одного сімейства. Вибір конкретного типу МК серед моделей сімейства забезпечує відповідна опція меню конфігурації симулятора. При цьому моделюється робота ЦП, всіх портів введення / виводу, переривань і іншої периферії. Карта пам'яті модельованого МК завантажується в симулятор автоматично, налагодження ведеться в символьних позначеннях регістрів.
Завантаживши програму в симулятор, користувач має можливість запускати її в покроковому або безперервному режимах, задавати умовні або безумовні точки зупинки, контролювати і вільно модифікувати вміст комірок пам'яті і регістрів симулируемого МК.
6.1.4. Методи і засоби спільної налагодження апаратних і програмних засобів
Етап спільної налагодження апаратних і програмних засобів в реальному масштабі часу є найбільш трудомістким і вимагає використання інструментальних засобів налагодження. До числа основних інструментальних засобів налагодження відносяться:
плати розвитку (оціночні плати); монітори налагодження;
Внутрісхемний емулятор - програмно-апаратний засіб, здатне замінити емульований МК в реальній схемі. Стиковка внутрисхемного емулятора з отлаживаемой системою проводиться за допомогою кабелю зі спеціальною емуляціонной головкою, яка вставляється замість МК в отлаживаемую систему. Якщо МК не можна видалити з отлаживаемой системи, то використання емулятора можливо, тільки якщо цей мікроконтролер має оцінний режим, при якому всі його висновки знаходяться в третьому стані. В цьому випадку для підключення емулятора використовують спеціальний адаптер-кліпсу, який підключається безпосередньо до висновків емульованого МК.
Внутрісхемний емулятор - це найбільш потужний і універсальне налагоджувальне засіб, яке робить процес функціонування отлаживаемого контролера прозорим, тобто легко контрольованим, довільно керованим і модифікується.
Для більшої зручності плати розвитку комплектуються ще і найпростішим засобом налагодження на базі монітора налагодження. Використовуються два типи моніторів налагодження: один для МК, що мають зовнішню шину, а другий - для МК, які не мають зовнішньої шини.
У першому випадку оцінний монітор поставляється у вигляді мікросхеми ПЗУ, яка вставляється в спеціальну розетку на платі розвитку. Плата також має ОЗУ для програм користувача і канал зв'язку із зовнішнім комп'ютером або терміналом. У другому випадку плата розвитку має вбудовані схеми програмування внутрішнього ПЗУ МК, які управляються від зовнішнього комп'ютера. При цьому програма монітора просто заноситься в ПЗУ МК спільно з прикладними кодами користувача. Прикладна програма повинна бути спеціально підготовлена: в потрібні місця необхідно вставити виклики налагоджувальних підпрограм монітора. Потім здійснюється пробний прогін. Щоб внести в програму виправлення, користувачеві треба стерти ПЗУ і провести повторну запис. Готову прикладну програму одержують з налагодженої шляхом видалення всіх викликів моніторних функцій і самого монітора налагодження. Можливості налагодження, надані комплектом "плата розвитку плюс монітор", не настільки універсальні, як можливості внутрисхемного емулятора, та й деяка частина ресурсів МК в процесі налагодження відбирається для роботи монітора. Проте, наявність набору готових програмно-апаратних засобів, що дозволяють без втрати часу приступити до монтажу і налагодження проектованої системи, в багатьох випадках є вирішальним фактором. Особливо якщо врахувати, що вартість такого комплекту трохи менше, ніж вартість більш універсального емулятора.
Емулятор ПЗУ - програмно-апаратний засіб, що дозволяє заміщати ПЗУ на отлаживаемой платі, і підставляє замість нього ОЗУ, в яке може бути завантажена програма з комп'ютера через один зі стандартних каналів зв'язку. Цей пристрій дозволяє користувачеві уникнути багаторазових циклів перепрограмування ПЗУ. Емулятор ПЗУ потрібен тільки для МК, які можуть звертатися до зовнішньої пам'яті програм. Це пристрій можна порівняти за складністю і за вартістю з платами розвитку і має одне велике достоїнство: універсальність. Емулятор ПЗУ може працювати з будь-якими типами МК.
Останнім часом з'явилися моделі інтелектуальних емуляторів ПЗУ, які дозволяють "заглядати" всередину МК на платі користувача. Інтелектуальні емулятори представляють собою гібрид зі звичайного емулятора ПЗУ, монітора налагодження і схем швидкого перемикання шини з одного на інший. Це створює ефект, як якби монітор налагодження був встановлений на платі користувача і при цьому він не займає у МК ніяких апаратних ресурсів, крім невеликої зони програмних кроків, приблизно 4К.
Етап спільної налагодження апаратних і програмних засобів в реальному масштабі часу завершується, коли апаратура і програмне забезпечення спільно забезпечують виконання всіх кроків алгоритму роботи системи. В кінці етапу налагоджена програма заноситься за допомогою програматора в незалежну пам'ять МК, і перевіряється робота контролера без емулятора. При цьому використовуються лабораторні джерела живлення. Частина зовнішніх джерел сигналів може моделюватися.
Етап інтеграції розробленого контролера в виріб полягає в повторенні робіт по спільній налагодженні апаратури і керуючої програми, але при роботі в складі вироби, харчуванні від штатного джерела і з інформацією від штатних джерел сигналів і датчиків.
Склад і обсяг випробувань розробленого і виготовленого контролера залежить від умов його експлуатації і визначається відповідними нормативними документами. Проведення випробувань таких функціонально складних виробів, як сучасні контролери, може зажадати розробки спеціалізованих засобів контролю стану вироби під час випробувань.