Проект одного вечера - bp_Benchmarks
Покрутив платки в руках, захотелось сравнить их производительность. И, если ядро будет предсказуемо, то вот ПЗУ, ОЗУ могут сильно отличаться по задержкам при обращении и в принципе по скорости работы.
В предыдущей части был достигнут положительный результат не только с загрузкой скомпилированного кода, но и с отладкой. Пора писать код!
Недолго думая, за вечер после работы, был набросан проект bp_Benchmarks. В него входят 6 тестов:
- ROM. Пока только чтение из ПЗУ в ОЗУ.
- RAM. Чтение, запись, простая целочисленная математика в ОЗУ.
- ALU. Использование математических функций и вычислений с плавающей точкой.
- ADC speed. Замер скорости чтения АЦП.
- ADC jitter. Замер шума на АЦП.
- GPIO speed. Скорость переключения режима и состояния.
Условия тестирования:
- Тестирование проходит в несколько проходов
- Время выполнения теста измеряется с помощью встроенного в STM32 модуля DWT (Data Watchpoint and Trace unit) и измеряется в тактах процессора
- Вывод результатов через UART между тестами
- Оптимизация кода включена
- Питание платы происходит через ST-Link v2
- Прошивка выполнялась из PlatformIO
- Код тестирования для всех плат одинаковый
Результаты
В таблице результаты по общему результату для каждой платы. Сравнение времени выполнения производилось относительно чипа Orig.
А вот тест номер 5 получился неинформативным. Видимо входное сопротивление АЦП настолько велико, что проводимости текстолита и не отмытого флюса, а также паразитной емкости было достаточно, чтобы исключить колебания значения. Либо наоборот - паразитные емкости внутри кристалла и его входное сопротивление были слишком велики и малы соответственно.
В общем считаю, что для этого теста необходимо подключать ИОН к STM32 и по выдаваемому значению, колебаниям судить сразу и о точности, и о шуме модуля.
Дополнение: попробовал подключить ИОН и повторить тесты, результаты в посте-дополнении.
Остальные модули STM32 не проверялись, потому что вечер закончился, уже время было сна. Но если у вас к проекту есть интерес, то можно его продолжить с расширением количества тестов и повышением их качества.
Файлы с подробным выводом тестов для плат: WHITE, RED, Orig.
Выводы
А выводы достаточно неоднозначные. По ПЗУ клоны оказались далеко впереди, а по другим параметрам очень-очень близко или сильно лучше. В любом случае только один клон и только по одному параметру (и то незначительно) проиграл условному оригиналу. А по остальным был, кстати говоря, самым близким.
Найти проект можно в моем профиле на GitHub: bp_Benchmarks.
Спасибо, что дочитали до конца цикл статей о клонах STM32F103! Жду вашего мнения в комментариях.
Также мне будет очень интересно узнать о вашем опыте работы с клонами STM32.
Жду ваших комментариев)
—————————————————————————
Спасибо, что дочитали статью!
Подпишитесь пожалуйста на мой канал "Заметки Электроника | Alexander.Chad", этим Вы очень сильно поможете мне. Канал существует только за счет наличия и участия подписчиков.
Если Вам понравился материал - поддержите его лайком или даже донатом (ЮMoney). Есть что сказать? Оставьте комментарий! Это тоже будет помощью.
Сейчас канал нуждается в Вас как никогда прежде!