Важная информация
RSS лента

gordiole

Разработка копировщика флоппи дисков (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.

Обновлено 04.04.2017 в 12:56 gordiole

Метки: Нет Добавить / редактировать метки
Категории
Без категории

Комментарии

Трекбэков