Перейти к содержанию
    

STM32F103RB6 необходимо получить сетку частот

Поставьте 4 триггера в одной микросхеме за 3 копейки - железобетонное решение. :1111493779:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, не всякая микросхема на входе эти самые 48МГц переварит, а во-вторых... этот вариант уже был.

 

Хорошо. Самый грубый вариант - включить DMA, закольцевать его, и больше на этом канале ничего не запускать.

Из минусов - теряется полностью канал DMA (т.к. более высокий приоритет будет перебивать фоновый, а менее высокий не получит возможности работать), доступ к шине данных так же может быть затруднён (ибо постоянно дёргать пинами - довольно-таки затратно). Так что, я бы не рекомендовал.

Таймеры - вроди бы, должны быть "напрямую" соединены с пинами - так что, вариант неплохой, да и работать они будут независимо, главное, чтобы внутреннее тактирование не менялось.

Но аппаратный мод, как по мне, был бы лучше. Либо вообще поставить внешний генератор и делители. На той же микросхеме, что уже советовалось. Единственное - придётся подобрать подходящую. У меня не вышло - вся логика 74HC* не вытягивает нужных 48МГц, либо едва-едва достаёт.

Изменено пользователем AlanDrakes

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вся логика 74HC* не вытягивает нужных 48МГц, либо едва-едва достаёт.

Бывают и другие серии. 74LVC169.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо. Самый грубый вариант - включить DMA, закольцевать его, и больше на этом канале ничего не запускать.

Выше уже было сказано - не разгонится он до этих скоростей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть на плате STM32F103RB6 необходимо получить сетку частот. Частоты нужны одновременно 48Мгц, 24Мгц, 12Мгц и 6Мгц.

Можно ли требуемое получить средствами только STM32? Может есть варианты без лишних компонентов?

Варианты есть, можно получить частоты 48 МГц, 24 МГц, 12 МГц и 6 МГц только средствами STM32F103RB6 следующим образом.

Выставляем тактовую частоту 48 МГц и выдаём её на пин МСО. Далее, берём TIM1 (или TIM8), ставим три его канала в режим COMPARE, ремапим соответствующие выходы TIM1_CH1, TIM1_CH2, TIM1_CH3. Затем записываем в регистры TIM1_CCR1, TIM1_CCR2 и TIM1_CCR3 значения 2, 4 и 8. Ву а ля. Само собой разумеется, надо настроить пины на выход, всё что надо и где надо разрешить и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ву а ля.
И? Что запишем в ARR? Что заставит TIM1_CH1 дернуться, когда таймер досчитает до 4, 6, 8, 12, 14? Аналогично, что будет дергать TIM1_CH2, когда таймер досчитает до 8, 12?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем!

Сделал как порекомендовал scifi.

1. Вывел MCO = 48Mhz

2. TIM3 OC1 Mode_PWM1 = 24Mhz

3. TIM3 OC2 Mode_Toggle = 12Mhz

4. TIM4 OC1 Mode_PWM1 = 6Mhz

 

Ну и что бы ноги в куче были сделал PartialRemap_TIM3

И JTAG на SWD переключил, что бы ногу освободить.

Все работает.Таймеров только не осталось. Тут их 4 штуки всего.

Да оно пока больше и не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем!

Сделал как порекомендовал scifi.

Вообще-то, про MCO я был первым! :crying:

Изменено пользователем KnightIgor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще-то, про MCO я был первым! :crying:
Не надо плакать. Неправда ваша :) Про MCO я в первом сообщении сам написал... В любом случае, KnightIgor персональное спасибо!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще-то, про MCO я был первым! :crying:

Почётную грамоту сдаю. Всё равно лепить некуда - вся стена занята :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хех, а я 3 года назад задание давал студенту - на дискавери платке сделать устройство с настраиваемыми выходами частот, чтобы получить как можно больше каналов. Ляпота получилась! :)

Сам ЦП заводится от внутреннего генератора, а на кварце + PLL заводятся таймеры. Имеем:

* 1 высокоскоростной высокоточный канал до 100 МГц (на MCO)

* несколько низкоскоростных каналов. MCO/2 верхняя граница, а дальше чем ниже частота, тем выше точность установки (если дробные значения неровные)...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...