Разработка копировщика флоппи дисков (Floppy Deuce). Часть 4
STM32CubeMX. Конфигурирование таймера для захвата (измерения длительности) сигналов INDEX , READ_DATA и вывода сигнала WRITE_DATA.
Для захвата сигналов INDEX, READ_DATA и вывода сигнала WRITE_DATA будем использовать таймер TIM2. Функциональную диаграмму таймера можно посмотреть на картинке:
Назначение выводов таймера TIM2.
На вкладке Pinout ищем элемент TIM2 и конфигурируем его как показано на картинке
- канал 1 будет производить захват сигнал INDEX
- канал 2 будет производить захват сигнала READ_DATA в режиме чтения флоппи диска
- канал 3 будет выводить сигнал WRITE_DATA в режиме записи дорожки флоппи диска
Конфигурирование TIM2.
Переходим на вкладку Configuration. На этой вкладке в разделе Control появилась кнопкаTIM2
Нажимаем кнопку TIM2 для конфигурации таймера. В появившемся окне на вкладке Parameter Settings производим настройку параметров работы таймера как показано на картинке
- Счетчик таймера будет сбрасываться по сигналу INDEX
- Канал 1 будет производить захват сигнала INDEX по отрицательному фронту
- Канал 2 будет производить захват сигнала READ_DATA по отрицательному фронту
- В режиме записи дорожки в регистр Compare канала 3 будем заносить данные для вывода сигнала WRITE_DATA
Переходим на вкладку NVIC Settings и разрешаем прерываний от таймера
Переходим на вкладку GPIO Settings и производим настройки согласно картинке
На вход микроконтроллера PA0 (канал 1 таймера) будет подаваться сигнал INDEX, а на вход PA1 (канал 2 таймера) сигнал READ_DATA.
Эти настройки таймера позволят производить измерение длительности сигналов INDEX и READ_DATA с точностью 1/96000000 сек.,
что приблизительно равно 10.416 нс (точности более чем достаточно).
На этом мы завершили конфигурирование таймера TIM2.
Комментарии
Трекбэков
Всего трекбэков 0
Ссылка трекбэка: