реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
skripach
сообщение Mar 10 2016, 15:55
Сообщение #16


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



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


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
AlanDrakes
сообщение Mar 11 2016, 15:26
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 2-05-15
Из: Россия, Омск
Пользователь №: 86 474



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

Хорошо. Самый грубый вариант - включить DMA, закольцевать его, и больше на этом канале ничего не запускать.
Из минусов - теряется полностью канал DMA (т.к. более высокий приоритет будет перебивать фоновый, а менее высокий не получит возможности работать), доступ к шине данных так же может быть затруднён (ибо постоянно дёргать пинами - довольно-таки затратно). Так что, я бы не рекомендовал.
Таймеры - вроди бы, должны быть "напрямую" соединены с пинами - так что, вариант неплохой, да и работать они будут независимо, главное, чтобы внутреннее тактирование не менялось.
Но аппаратный мод, как по мне, был бы лучше. Либо вообще поставить внешний генератор и делители. На той же микросхеме, что уже советовалось. Единственное - придётся подобрать подходящую. У меня не вышло - вся логика 74HC* не вытягивает нужных 48МГц, либо едва-едва достаёт.

Сообщение отредактировал AlanDrakes - Mar 11 2016, 15:32
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 11 2016, 15:41
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(AlanDrakes @ Mar 11 2016, 18:26) *
вся логика 74HC* не вытягивает нужных 48МГц, либо едва-едва достаёт.

Бывают и другие серии. 74LVC169.
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 11 2016, 17:24
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(AlanDrakes @ Mar 11 2016, 18:26) *
Хорошо. Самый грубый вариант - включить DMA, закольцевать его, и больше на этом канале ничего не запускать.

Выше уже было сказано - не разгонится он до этих скоростей.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 13 2016, 15:42
Сообщение #20


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(vilkin @ Mar 9 2016, 09:47) *
Есть на плате 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. Ву а ля. Само собой разумеется, надо настроить пины на выход, всё что надо и где надо разрешить и т.д.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 13 2016, 19:45
Сообщение #21


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(=GM= @ Mar 13 2016, 17:42) *
Ву а ля.
И? Что запишем в ARR? Что заставит TIM1_CH1 дернуться, когда таймер досчитает до 4, 6, 8, 12, 14? Аналогично, что будет дергать TIM1_CH2, когда таймер досчитает до 8, 12?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
vilkin
сообщение Mar 14 2016, 10:26
Сообщение #22


Участник
*

Группа: Свой
Сообщений: 66
Регистрация: 13-12-04
Из: Москва
Пользователь №: 1 466



Спасибо всем!
Сделал как порекомендовал 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 штуки всего.
Да оно пока больше и не надо.
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Mar 14 2016, 19:29
Сообщение #23


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(vilkin @ Mar 14 2016, 11:26) *
Спасибо всем!
Сделал как порекомендовал scifi.

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

Сообщение отредактировал KnightIgor - Mar 14 2016, 19:30
Go to the top of the page
 
+Quote Post
vilkin
сообщение Mar 14 2016, 20:03
Сообщение #24


Участник
*

Группа: Свой
Сообщений: 66
Регистрация: 13-12-04
Из: Москва
Пользователь №: 1 466



Цитата(KnightIgor @ Mar 15 2016, 01:29) *
Вообще-то, про MCO я был первым! crying.gif
Не надо плакать. Неправда ваша sm.gif Про MCO я в первом сообщении сам написал... В любом случае, KnightIgor персональное спасибо!
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 14 2016, 20:58
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(KnightIgor @ Mar 14 2016, 22:29) *
Вообще-то, про MCO я был первым! crying.gif

Почётную грамоту сдаю. Всё равно лепить некуда - вся стена занята biggrin.gif
Go to the top of the page
 
+Quote Post
Aaron
сообщение Mar 15 2016, 14:16
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007



хех, а я 3 года назад задание давал студенту - на дискавери платке сделать устройство с настраиваемыми выходами частот, чтобы получить как можно больше каналов. Ляпота получилась! sm.gif
Сам ЦП заводится от внутреннего генератора, а на кварце + PLL заводятся таймеры. Имеем:
* 1 высокоскоростной высокоточный канал до 100 МГц (на MCO)
* несколько низкоскоростных каналов. MCO/2 верхняя граница, а дальше чем ниже частота, тем выше точность установки (если дробные значения неровные)...
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 08:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01479 секунд с 7
ELECTRONIX ©2004-2016