Характеристики на разработването на цифрови устройства, базирани на микроконтролери

6.1.2. Разработка на хардуер и отстраняване на грешки

След като структурата на хардуера и софтуера е разработена, по-нататъшната работа върху контролера може да бъде паралелизирана. Разработката на хардуер включва разработването на обща схематична диаграма, оформление на топологията на платката, сглобяване на макет и нейното автономно отстраняване на грешки. Времето за завършване на тези етапи зависи от наличния набор от доказани функционални и топологични модули, опита и квалификацията на разработчика. На етапа на въвеждане на схематична диаграма и разработване на топология, като правило, се използват общи системи за проектиране като "ACCEL EDA" или "OrCad".

6.1.3. Разработка на софтуер и отстраняване на грешки

Съдържанието на етапите на разработване на софтуер, неговото превеждане и отстраняване на грешки по модели зависи значително от използваните системни инструменти. В момента ресурсите на 8-битовите MCU са достатъчни за поддържане на програмиране на езици на високо ниво. Това ви позволява да се възползвате напълно от структурираното програмиране, да разработите софтуер, използвайки отделно преведени модули. В същото време езиците на ниско ниво като сглобяването продължават да се използват широко, особено при необходимостта да се осигурят контролирани интервали. Задачите за предварителна обработка на данни често изискват използването на трансцендентални функции с плаваща запетая.

За проверка и отстраняване на грешки в софтуера се използват така наречените софтуерни симулатори, които осигуряват на потребителя възможността да изпълнява разработената програма върху програмируемия логически модел на MK. Софтуерните симулатори се разпространяват по правило безплатно и са конфигурирани за няколко MCU от едно и също семейство. Изборът на конкретен тип MC сред семейните модели се осигурява от съответната опция в менюто за конфигурация на симулатора. Това симулира работата на процесора, всички I/O портове, прекъсвания и други периферни устройства. Картата с памет на симулирания MC се зарежда автоматично в симулатора, отстраняването на грешки се извършва в символните обозначения на регистрите.

След като зареди програмата в симулатора, потребителят може да я стартира в поетапни или непрекъснати режими, да задава условни или безусловни точки на прекъсване, да контролира и свободно да модифицира съдържанието на клетките на паметта и регистрите на симулирания MC.

6.1.4. Методи и инструменти за съвместно отстраняване на грешки на хардуер и софтуер

Етапът на съвместно отстраняване на грешки на хардуер и софтуер в реално време е най-отнемащ време и изисква използването на инструменти за отстраняване на грешки. Основните инструменти за отстраняване на грешки включват:

  • емулатори във верига;
  • бордове за развитие (оценителни дъски);
  • монитори за отстраняване на грешки;
  • ROM емулатори.

Вграден емулатор - софтуер и хардуер, които могат да заменят емулирания MC в реална схема. Докингът на емулатора във веригата със системата за отстраняване на грешки се извършва с помощта на кабел със специална емулационна глава, който се вмъква вместо MC в системата за отстраняване на грешки. Ако MC не може да бъде премахнат от системата за отстраняване на грешки, тогава използването на емулатора е възможно само ако този микроконтролер има режим за отстраняване на грешки, в който всички негови щифтове са в трето състояние. В този случай се използва специална адаптерна скоба за свързване на емулатора, който е свързан директно към изходите на емулирания MK.

Емулаторът във веригата е най-мощният и универсален инструмент за отстраняване на грешки, който прави процеса на функциониране на дебъгвания контролер прозрачен, т.е. лесно контролирани, произволно контролирани и модифицируеми .

За по-голямо удобство дъските за разработка са оборудвани и с най-простия инструмент за отстраняване на грешки, базиран на монитор отстраняване на грешки. Има два вида монитори за отстраняване на грешки, един за MCU с външна шина и един за MCU без външна шина.

В първия случай мониторът за отстраняване на грешки се доставя под формата на ROM чип, който се вмъква в специален гнездо на платката за разработка. Платката разполага и с RAM за потребителски програми и комуникационен канал с външен компютър или терминал. Във втория случай платката за разработка има вградени схеми за програмиране за вътрешния ROM на MK, които се управляват от външен компютър. В този случай програмата за монитор просто се въвежда в ROM на MK заедно с кодовете на приложенията на потребителя. Приложната програма трябва да бъде специално подготвена: на необходимите места е необходимо да се вмъкнат повиквания към процедурите за отстраняване на грешки на монитора. След това се провежда пробно пускане. За да направи корекции в програмата, потребителят трябва да изтрие ROM и да презапише. Готовата приложна програма се получава от отстранената грешка чрез премахване на всички повиквания за функции на монитора и самия монитор за отстраняване на грешки. Възможностите за отстраняване на грешки, предоставени от комплекта "платка за разработка плюс монитор", не са толкова гъвкави, колкото възможностите на емулатора във веригата, а някои от ресурсите на MC се вземат за работа на монитора по време на отстраняване на грешки. Независимо от това, наличието на набор от готов софтуер и хардуер, който ви позволява да започнете да инсталирате и отстранявате грешки в проектираната система, без да губите време, е решаващ фактор. Особено когато смятате, че цената на такъв комплект е малко по-малка от цената на по-универсален емулатор.

ROM емулатор - софтуер и хардуер, който позволява подмяна на ROM на отстраняваната грешка на платката и вместо това заместване на RAM, в която програмата може да бъде заредена от компютър чрез един от стандартните комуникационни канали. Това устройство позволява на потребителя да избягва множество цикли на препрограмиране на ROM. ROM емулатор е необходим само за MCU, които имат достъп до външна памет на програмата. Това устройство е сравнимо по сложност и цена с платките за разработка и има едно голямо предимство: гъвкавост. ROM емулаторът може да работи с всякакъв вид MK.

Наскоро се появиха модели на интелигентни ROM емулатори, които ви позволяват да "погледнете" вътре в MC на борда на потребителя. Интелигентните емулатори са хибрид от общ ROM емулатор, монитор за отстраняване на грешки и вериги за бързо превключване на шината. Това създава ефект, сякаш мониторът за отстраняване на грешки е инсталиран на платката на потребителя и в същото време не заема никакви хардуерни ресурси от MC, с изключение на малка област от програмни стъпки, около 4K.

Етапът на съвместно отстраняване на грешки на хардуер и софтуер в реално време е завършен, когато хардуерът и софтуерът заедно осигуряват изпълнението на всички стъпки от системния алгоритъм за работа. В края на етапа отстранената грешка програма се въвежда с помощта на програмиста в енергонезависимата памет на MK и се проверява работата на контролера без емулатор. Той използва лабораторни захранвания. Някои от външните източници на сигнал могат да бъдат симулирани.

Етапът на интегриране на разработения контролер в продукта се състои в повтаряне на работата по съвместно отстраняване на грешки на хардуера и програмата за управление, но когато работи като част от продукта, захранван от стандартен източник и с информация от стандартни източници на сигнали и сензори.

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