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

 
 
> STM32F373R8 проблема с АЦП+ПДП и сторожем таймером, При работе с таймером в беск. цикле, замедляется сбор данных с АЦП
ZiB
сообщение May 17 2013, 10:11
Сообщение #1


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

Группа: Свой
Сообщений: 122
Регистрация: 26-07-05
Из: Россия, Томск
Пользователь №: 7 109



Добрый день!

Столкнулся с проблемкой на STM32F373R8 (возможно есть и на других мк, пока не было времени проверить).

Системная тактовая частота 12 МГц.

Работаю с АЦП1 (12 битное).
Предделитель АЦП = 2.
АЦП настроено на непрерывное преобразование с минимальным временем выборки.
Частота преобразований получается (12МГц/2)/(14 тактов одно преобразование) = ~430 кГц.

Данные с АЦП забирает ПДП (DMA) контроллер.

Все работает прекрасно.

Однако когда в коде встречается цилический доступ к регистрам сторожевого таймера, то частота преобразований падет до 190 кГц.

Код
    while (1)
    {
        IWDG->KR = 0xAAAA;
    }


Проверял с регистрами IWDG->RLR, IWDG->PR.

Активность таймера не влияет на ошибку (т.е. и со включенным и с выключенным таймером).

При увеличении времени выборки, т.е. при сниженнии частоты преобразования данная проблема исчезает.

Может кто сталкивался с данной проблемкой и знает, где почитать более детально о работе ПДП и задрежках на шинах ?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ZiB
сообщение May 19 2013, 03:44
Сообщение #2


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

Группа: Свой
Сообщений: 122
Регистрация: 26-07-05
Из: Россия, Томск
Пользователь №: 7 109



Назависимый сторожевой таймер, сюдя по описанию одинаково подключен см. скрины из доки.

На пересылку должно уходить не более 14 тактов (АЦП необходимо столько для преобразования данных), если судить по описанию доступ к шине занимает 5 тактов, остаеться ещё 9 тактов, чего тоже достаточно.
Да и раньше это все прекрасно работало на STM32F405 (я и сейчас отдельно проверял, выше уже писал).
Прешел на STM32F3, так как необходимо 16-ти битное АЦП. Все прекрасно запустилось, думал будет сильно шуметь из-за очень плотного монтажа, но получилось хорошо, уровень шума мал.

Попробую ещё на STM32F303 (Discovery), но там АЦП другое.

Работал, бы на ещё меньшей тактовой частоте для меньшего потребления, но необходимо оцифровывать один канал с частотой не ниже 400 кГц.

Хм, на STM32F303, все работает прекрасно... (При чем на 12 МГц, успевает пересылать в два раза больше данных, у него делитель на АЦП от 1.)

Эх, поехал на работу за платой, что-то мне эта проблемка покоя не дает. Хоть бы это мой косяк был, а не косяк в мк.

Забыл скрины подписать. Левый STM32F3, правый STM32F4.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ZiB   STM32F373R8 проблема с АЦП+ПДП и сторожем таймером   May 17 2013, 10:11
- - vlad_new   M3 делит шину между ядром и ДМА с коэффициентом 1:...   May 17 2013, 14:29
|- - jcxz   Цитата(vlad_new @ May 17 2013, 20:29) M3 ...   May 18 2013, 04:27
|- - _Артём_   Цитата(jcxz @ May 18 2013, 07:27) Хм.... ...   May 18 2013, 06:11
|- - jcxz   Цитата(_Артём_ @ May 18 2013, 12:11) Нужн...   May 18 2013, 17:04
|- - _Артём_   Цитата(jcxz @ May 18 2013, 20:04) Просмат...   May 18 2013, 20:49
- - Flexz   Тут еще другое интересно - в других процессорах се...   May 17 2013, 19:31
- - ZiB   Спасибо за ответы. Я пока полностью не разобрался....   May 18 2013, 03:04
- - ZiB   Это, то все понятно (что ЦПУ и ПДП делят шину и ес...   May 18 2013, 06:53
- - Golikov A.   может обращение к сторожевому таймеру вынесено в в...   May 18 2013, 08:10
- - vlad_new   Чего тут предполагать, когда АЦП и сторожевик сидя...   May 18 2013, 10:18
- - ZiB   С чего это? Это где такое написано ?   May 18 2013, 11:17
- - Flexz   Раздел System architecture, почти вся периферия, к...   May 18 2013, 16:32
|- - jcxz   Работать на бОльшей и много спать.   May 19 2013, 03:49
|- - ZiB   Цитата(jcxz @ May 19 2013, 10:49) Работат...   May 19 2013, 11:17
|- - jcxz   Мне трудно судить про ST, я работаю в основном с N...   May 19 2013, 16:39
- - ZiB   Сходил за платой... Нашел место, но не понял прич...   May 19 2013, 06:45
- - ZiB   Да, есть 4-е уровня приоритета для ПДП, но у меня ...   May 20 2013, 02:26
|- - jcxz   Цитата(ZiB @ May 20 2013, 08:26) Да, есть...   May 20 2013, 04:37
- - Flexz   В STM-ках приоритет Bus master-ов не контролируетс...   May 20 2013, 06:17
- - vlad_new   Поставте в while несколько __nop(). Дайте DMA немн...   May 20 2013, 13:53
- - ZiB   Дело, в том, что при любом обращении (хоть в цикле...   May 21 2013, 02:58


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

 


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


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