Исследование и разработка акустического дефектоскопа на основе метода свободных колебаний (Квалификационная работа бакалавра), страница 11

В качестве языка программирования для реализации устройства был выбран высокоуровневый язык программирования Си (ANSI C), имеющий следующие преимущества перед альтернативным вариантом языка реализации, ассемблером:

- Наглядность логической структуры программы.

- Инкапсуляция машинно-специфического взаимодействия.

- Отделение бизнес-логики от аппаратной части устройства

- Возможность реализации, отладки программы в полнофункциональных средах разработки, поддерживающих стандарт ANSI C (Borland C++ Builder, Microsoft Visual Studio).


5.4.2 Выбор компилятора

Итак, первым необходимым инструментом является компилятор языка высокого уровня. Выше уже было решено, что устройство будет разрабатываться с его использованием.

После рассмотрения ряда наиболее распространенных компиляторов высокого уровня avrgcc /25/, AVR Code Vision /24/, ICC /27/ был выбран AVR Code Vision. Его преимущества для решения данной задачи по сравнению с другими компиляторами:

- Встроенная интегрированная среда разработки, включающая в себя редактор кода с подсветкой синтаксиса и менеджером проектов. Немаловажная деталь, которой не хватает в avrgcc и ICC, которые в стандартной поставке являются просто утилитами командной строки.

- Встроенный конструктор кода, позволяющий за минимальное время получить проект с готовой функциональностью.

- Высокоэффективная оптимизация и использование памяти. Например, константы помещаются только во FLASH-память, экономя тем самым SRAM (на сегодняшний момент данная функциональность отсутствует в остальных компиляторах языков высокого уровня).

- Стандартная поддержка терминала, жидкокристаллического индикатора.

- Встроенный программатор.

- Работа под ОС Microsoft Windows 95, 98, Me, NT 4.0, 2000 and XP.

Данные характеристики делают AVR Code Vision подходящим для задач реализации акустического дефектоскопа. Стоит отметить, что на официальном веб-сайте программы /24/ для скачивания версия с ограничением размера кода 2 кб. Внешний вид среды разработки представлен на рисунке 15 (взято с официального веб-сайта).

Рисунок 15 - Внешний вид среды разработки AVR Code Vision


5.4.3 Выбор среды моделирования

Для того, чтобы промоделировать работу микроконтроллерного устройства целиком, требуется моделирующая программа. Существуют два подхода к решению проблемы моделирования готового микроконтроллерного устройства в CAD-системах:

- Интегральный метод.

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

- Локальный метод.

Выборочное моделирование требуемого функционала. Под ним понимается тестирование отдельных функциональных узлов применительно к МК.

Рассмотрим достоинства и недостатки обоих методов. Первый метод используется обычно на заключительной фазе разработки готового устройства или в случае, когда разбиение устройства на блоки по функциональному признаку относительно МК затруднено. Его недостаток – значительные затраты ресурсов ПК при запуске моделирования, хотя на данной фазе разработки нас интересует только одна цепь (к примеру, система индикации).

Второй метод чаще используется на стадии отладки отдельных функциональных блоков устройства, когда из «обвязки» МК выделяется интересующая разработчика цепь (цепи), которая затем моделируется отдельно от основного устройства. В данной работе для тестирования работы с АЦП, проверки работы БПФ, работы с индикатором был использован локальный метод моделирования. Это позволило в 2-5 ускорить процесс разработки.

В качестве средства моделирования был использована система Proteus VSM (Virtual Simulation Model) /28/. Причинами выбора послужили следующие характеристики:

- Моделирующая система на основе комбинации стандарта де-факто ядра моделирования PSpice и анимированных компонентов.

- Модельный ряд микропроцессоров AVR в ней представлен в полном объеме, в том числе модель ATmega128.

- Поддержка формата прошивок, генерируемых компилятором AVR CodeVision. Соответственно, поддерживается отладка как на уровне ассемблерного кода, так и на уровне высокоуровневого языка.

- Свыше 6000 электрорадиоэлементов  в стандартной поставке.

На сайте /28/ в разделе «Competitive analysis» проводится подробный сравнительный анализ Proteus VSM и конкурирующих средств моделирования микропроцессорных устройств.

Для реализации устройства, разрабатываемого в данной работе, особенно важны наличие анимированных компонентов (светодиодных и ЖК-индикаторов, переменных резисторов и кнопочных пультов), полная поддержка семейства МК ATmega и возможность работы с файлами, генерируемыми CodeVision.  Все это делает Proteus VSM подходящим для реализации акустического дефектоскопа.


5.4.4 Выбор нейроэмулятора

Для обучения нейросети (НС) с учителем и, в итоге, формирования матрицы синаптических коэффициентов, требуется нейроэмулятор. Для этого был использован нейроэмулятор «Модели», разработанный Охониным В.А. Данные нейроэмулятор имеет следующие свойства, делающие его подходящим для реализации поставленных выше задач:

- Высокое качество работы НС. Как показано в /29/, данный нейроэмулятор является лучшим в своем классе.

- Выдача матрицы синаптических коэффициентов и других параметров НС. Многие нейроэмуляторы не предоставляют данной функциональности, или предоставляют ее за дополнительную оплату.

- Полностью известная структура НС.

- Работа в качестве надстройки к распространенной офисной программе Microsoft Excel, стандартом де-факто представления табличных данных, что обеспечивает простую манипуляцию с ними, генерацию данных встроенными средствами Excel при обучении и тестировании.

- Бесплатность.


6 Реализация устройства

6.1 Обучение нейронной сети

Для обучения НС в данной работе был применен метод обучения с учителем. Рассмотрим его подробнее.