Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 16.02.2016, 17:18  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

На двух таймерах. Смотрите
AN2592 Application note
How to achieve 32-bit timer resolution using the link system in STM32F10x microcontrollers
Реклама:
STM32F0 вне форума  
Сказали "Спасибо" STM32F0
pambaru (16.02.2016)
Непрочитано 16.02.2016, 18:10  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Должно получиться.
В регистр ARR - период/2
В регистры сравнения на 90 ... сдвинутый эквивалентный код.
Выхода сравнений в режим переключения (togle).
Impartial вне форума  
Сказали "Спасибо" Impartial
pambaru (16.02.2016)
Непрочитано 16.02.2016, 18:34  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,365
Сказал спасибо: 85
Сказали Спасибо 625 раз(а) в 377 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Примерно усек. Но это если сами импульсы перекрываются, как на картинке стр. 15 AN2592.
А если импульсы очень коротки, т.е. их длительность значительно менее полупериода и задержек между фазами, они никак между собой не перекрываются. Т.е. toggle mode уже не пройдет, т.к. задержка между импульсами значительно больше их длительности.
Получается в этом случае уже не сделать?
pambaru вне форума  
Непрочитано 16.02.2016, 18:44  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от nerozero Посмотреть сообщение
STM32F103 + USB + USB-FS, CDC. часто все подвисает наглухо от импульсных помех. Незнаю как диагностировать куда все это дело вываливается.
Проконтролируйте прерывание обработки автомата состояний юсб.
Начните с SOF.
Обычно при сбое нужно все перезапускать как при сбросе. Отловить сбой можно по сбою автомата состояний. Им управляет хост.
Impartial вне форума  
Непрочитано 16.02.2016, 18:48  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от pambaru Посмотреть сообщение
реализовать аппаратно на одном таймере 4 выхода, одинаковые прямоугольники, сдвинутые по фазе на 90 градусов относительно друг друга
Вы же сами такую задачу поставили.
Сообщение от pambaru Посмотреть сообщение
А если импульсы очень коротки, т.е. их длительность значительно менее полупериода и задержек между фазами, они никак между собой не перекрываются.
Это уже совсем другая задача.
Чем нужно управлять?
Impartial вне форума  
Непрочитано 17.02.2016, 08:05  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,365
Сказал спасибо: 85
Сказали Спасибо 625 раз(а) в 377 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Impartial Посмотреть сообщение
Вы же сами такую задачу поставили.
Я не говорил, что импульсы перекрываются. Я писал, что сдвиг фаз 90 град., импульсы прямоугольные. А перекрытие может быть, а может и не быть (короткие импульсы).
pambaru вне форума  
Непрочитано 17.02.2016, 10:21  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Да можно попробовать и на одном таймере, через DMAR.
STM32F0 вне форума  
Непрочитано 17.02.2016, 20:35  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Попробовал, работает через DMAR. Т.е. таймер и ДМА по переполнению, крутится само, без вмешательства. Оно?
Миниатюры:
Нажмите на изображение для увеличения
Название: PWMx4.png
Просмотров: 90
Размер:	72.8 Кб
ID:	88240   Нажмите на изображение для увеличения
Название: PWMx4_2.png
Просмотров: 68
Размер:	70.0 Кб
ID:	88241  
STM32F0 вне форума  
Сказали "Спасибо" STM32F0
pambaru (18.02.2016)
Непрочитано 18.02.2016, 08:01  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,365
Сказал спасибо: 85
Сказали Спасибо 625 раз(а) в 377 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Да, то что надо!
А теперь, поясните, плз, верно ли я понял,
1. DMA конфигурируем на запись из буфера памяти в DMAR, кольцевой режим. В буфере лежат значения регистров CCR1 - CCR4, 4x4=16 значений.
2. Выставляем в DIER таймера биты CC1DE - CC4DE.
3. В DCR выставляем трансфер в 4 слова и адрес CCR1.
4. Запускаем все это хозяйство.

Теперь по каждому событию capture compare у нас прописываются новые CCRx и видим то, что нужно
Верно?
pambaru вне форума  
Непрочитано 18.02.2016, 12:18  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от pambaru Посмотреть сообщение
1. DMA конфигурируем на запись из буфера памяти в DMAR, кольцевой режим. В буфере лежат значения регистров CCR1 - CCR4, 4x4=16 значений.
Да.
Код:
const uint16_t Duty_Cycle_Table[] = 
{
//  CCR1 CCR2 CCR3 CCR4
    
     50,   0,   0,   0,
      0,  50,   0,   0,
      0,   0,  50,   0,
      0,   0,   0,  50    
};
Сообщение от pambaru Посмотреть сообщение
2. Выставляем в DIER таймера биты CC1DE - CC4DE.
Нет. Только лишь
Код:
TIMx-›DIER  |= TIM_DIER_UDE;   // Update DMA request enable
Сообщение от pambaru Посмотреть сообщение
3. В DCR выставляем трансфер в 4 слова и адрес CCR1.
Не адрес, а смещение
Код:
TIMx-›DCR = ((4 - 1) ‹‹ 8) + (((uint32_t)&TIMx-›CCR1 - (uint32_t)&TIMx-›CR1) ›› 2);
А в счётчик ДМА занести 16.
Код:
DMA_TIM_DMAR-›CNDTR = 16;        // DMA channel x number of data register
Сообщение от pambaru Посмотреть сообщение
4. Запускаем все это хозяйство.
Да, сначала ДМА, потом таймер.
Сообщение от pambaru Посмотреть сообщение
Теперь по каждому событию capture compare у нас прописываются новые CCRx и видим то, что нужно
Нет.
Цитата:
по переполнению
Т.е. частота выходного сигнала в 4 раза меньше. И не забыть включить прелоад.
Код:
TIMx-›CCMR1 |= (TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1PE); // PWM Mode1
TIMx-›CCMR1 |= (TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2PE); // PWM Mode1    
TIMx-›CCMR2 |= (TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3PE); // PWM Mode1    
TIMx-›CCMR2 |= (TIM_CCMR2_OC4M_1 | TIM_CCMR2_OC4M_2 | TIM_CCMR2_OC4PE); // PWM Mode1

Последний раз редактировалось STM32F0; 18.02.2016 в 12:23.
STM32F0 вне форума  
Сказали "Спасибо" STM32F0
pambaru (19.02.2016)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 09:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot