9. Тестовая программа содержит 3 двумерных массива 16- битных значений, один из которых инициализирован. Функция "main()" копирует первый массив во второй, а потом второй - в третий.
10. Тестовая программа содержит код, который вычисляет ответ на выходе фильтра с длиной ИХ = 17 от имитированного входного воздействия АЦП.
11. Тестовая программа содержит код, который перемножает матрицу 3x4 и матрицу 4x5.
Исходные коды тестовых программ приведены в приложении Г.
В тестировании участвовали 7 МК, включая ATmega128. Для этого был использован компилятор “С” фирмы IAR (см. таблицу 2).
Таблица 2 - Компиляторы для тестирования МК
Микроконтроллер |
Версия "С"
компилятора |
MSP430F135 |
2.21B |
Atmel ATmega8 |
3.10C |
Microchip PIC18F242 |
6.10A |
Generic 8051 |
2.12A |
Renesas H8/300L |
4.20A |
Motorola MC68HC11 |
4.45A |
Atmel ATmega128 |
4.12C |
В таблице 3 приведены коэффициенты деления частоты задающего генератора для формирования сигналов синхронизации тестируемых МК.
Таблица 3 - Коэффициенты деления частоты задающего генератора
Микроконтроллер |
Коэффициент |
MSP430F135 |
1 |
ATmega8 |
1 |
PIC18F242 |
4 |
8051 |
12 |
H8/300L |
2 |
MC68HC11 |
4 |
ATmega128 |
1 |
Для тестирования запустим EWAVR. С помощью команды меню «Open->Workspace» откроем тестовый проект, после чего нажмем сочетание клавиш CTRL-D, после чего начнется компиляция проекта и проект будет загружен в память для исполнения и отладки. Команда меню «View->Profiler» приведет к запуску профилирующей утилиты в нижней части экрана (рисунок 12).
Рисунок 12 - Утилита "Profiler" пакета EWAVR
Следует сначала включить утилиту профилирования. Для этого требуется нажать на кнопку 1 (на рисунке показана в нажатом положении), нажать кнопку 2 очистки результатов предыдущего профилирования, и включить режим автоматического обновления результата кнопкой 3. После чего можно произвести запуск программы нажатием F5. Программа отработает, и в окне Profiler будут показаны результаты профилирования, показанные на рисунке 13.
Рисунок 13 - Результаты профилирования
Параметры на рисунке 13 означают следующее (таблица 4):
Таблица 4 - Значения параметров утилиты "Profiler"
Calls |
Число вызовов функции |
Flat time (cycles, %) |
Время вызова функции (циклы, %), время вызова подфункций исключено |
Accumulated time (cycles, %) |
Время вызова функции (циклы, %), вызовы подфункций включены |
Выделенная строка на рис. 13-2-2 представляет главную функцию, т.е. общее время выполнения.
Таблица результатов на всем наборе тестов показана в таблице 5.
Как видно из вышеприведенных данных, ATmega128 можно назвать лидером на тестовых задачах 3, 4, 6, также показал результат выше среднего на задачах, с которыми и придется столкнуться в ходе выполнения данной работы (выполнение БПФ, нейросетевые операции над большими числами). Исходя из вышесказанного, можно точно сказать, что МК ATmega128 подходит для реализации поставленных задач.
Таблица 5 - Результаты тестирования МК
Применение |
MSP430F135 |
ATmega8 |
PIC18F242 |
8051 |
H8/300L |
MC68HC11 |
ATmega128 |
байт |
|||||||
8- битная математика |
172 |
116 |
386 |
141 |
354 |
285 |
- 137 |
8- битный коммутатор |
180 |
342 |
404 |
209 |
362 |
387 |
- 89 |
16- битная математика + |
172 |
174 |
598 |
361 |
564 |
315 |
- 298 |
16- битная матрица + |
156 |
570 |
846 |
825 |
450 |
490 |
- 3965 |
16- битный коммутатор |
178 |
388 |
572 |
326 |
404 |
405 |
- 98 |
32- битная математика + |
250 |
316 |
960 |
723 |
876 |
962 |
- 763 |
Операции с плавающей точкой +- |
662 |
1042 |
1778 |
1420 |
1450 |
1429 |
- 1666 |
Фильтр с КИХ |
668 |
1292 |
2146 |
1915 |
1588 |
1470 |
- 287356 |
Перемножение матриц |
252 |
510 |
936 |
345 |
462 |
499 |
- 9682 |
Итого |
2808 |
5114 |
9302 |
6880 |
6866 |
6622 |
- 304054 |
В данном случае от устройства контроля требуется выдача какой-либо числовой величины (вероятности). Для этого может быть реализована выдача результата на 2х7 сегментный цифровой индикатор, что и было сделано в разрабатываемом устройстве. Для того, чтобы оптимальным образом использовать порты ввода-вывода МК, была выбрана динамическая индикация и реализована по алгоритму на рисунке 14.
Рисунок 14 - Алгоритм динамической индикации
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.