Example PinToggle for ARMGS10

Материал из eeWiki - открытая энциклопедия по электронике
Перейти к: навигация, поиск

Программа измерения скорости программного переключения
внешнего сигнала на плате ARMGeoSpyder 1.0

Архив с проектом программы: Файл:ARMGS10 Test pin toggle.zip

Условия загрузки и запуска проекта аналогичны условиям приведенным в Пример первой программы на ARMGeoSpyder 1.0
Оптимизация программного кода отключена.
Программа выполняется во внутреннем ОЗУ микроконтроллера.

Вид окна программы:
ARMGS10 TPT 1.jpg

Для управления внешним сигналом сначала включаем его на вывод в строках 15,16 а потом непосредственно переключаем его уровень в цикле в строках 23..28.

Чтобы яснее увидеть эффект кэширования написано несколько последовательно команд переключения уровня сигнала.

Осциллограма получившегося сигнала с момента его старта:
ARMGS10 PinToggle oscillogram.jpg

Как видно из-за эффекта кэширования длительность первых импульсов может на 20..30% отличаться от длительности последующих импульсов.

При частоте работы ядра 208 МГц и частоте тактирования периферии портов ввода/вывода равной 13 МГц минимальное время переключения внешнего сигнала достигало 132 нс.

При максимально допустимых параметрах: частоте работы ядра 260 МГц и частоте тактирования периферии портов ввода/вывода равной 20 МГц минимальное время переключения внешнего сигнала достигало 100 нс. Т.е. частота переключения достигала 5 МГц

При экстремальном оверклокинге: частоте работы ядра 377 МГц и частоте тактирования периферии портов ввода/вывода равной 25 МГц минимальное время переключения внешнего сигнала достигало 71 нс. Т.е. частота переключения достигала 7 МГц

Замечено что повышение частоты тактирования периферии не влияете на скорость переключения сигналов. Влияние оказывает увеличение частоты тактирования ядра и соответственно частоты системной шины (HCLK)