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

 
 
> Sinus 2kHz на К1986ВЕ92QI, Использование DMA+DAC
Konrad
сообщение Sep 6 2016, 19:46
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 7-04-08
Пользователь №: 36 555



Коллеги, нужен совет.

Хочу с помощью имеющихся в МК К1986ВЕ92QI ЦАП и DMA генерировать синус 2 кГц.
Для своих целей я задействовал таймер 1. Когда происходит событие CNT=ARR, формируется запрос DMA, и DMA-контроллер должен очередное табличное значение функции отправить в ЦАП.
У контроллера DMA есть несколько режимов работы: основной, автозапрос, пинг-понг и др. Из документации не совсем ясна разница между ними, но в ходе экспериментов я выяснил, что в режимах основной и автозапрос при поступлении от таймера одиночного запроса, контроллер DMA пересылает подряд в ЦАП весь массив значений, чего мне не нужно... А вот в режиме пинг-понг в ответ на запрос происходит пересылка одного значения и декремент счетчика числа передач. В итоге я остановился на режиме пинг-понг, и всё работает, но есть одно "но", которое меня смущает...
По завершении цикла DMA счетчик передач становится = 0, и чтобы зациклить процесс приходится разрешать прерывание от DMA и в нем переинициализировать управляющие слова основной и альтернативной структур DMA-канала. В принципе, это не фатально, в моем случае прерывание возникает раз в 500 мкс, но в примерах для STM32, что я встречал, прерывания не используются - только инициализация и всё...
Например:
http://chipspace.ru/stm32-dac-3/

Кто-нибудь может сказать: можно ли на этом МК решить мою задачу без использования прерывания от DMA? Так чтобы синус формировалсяисключительноаппаратными средствами.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Lerk
сообщение Sep 8 2016, 07:30
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 5-05-11
Пользователь №: 64 797



Цитата(Konrad @ Sep 6 2016, 22:46) *
Коллеги, нужен совет.

Хочу с помощью имеющихся в МК К1986ВЕ92QI ЦАП и DMA генерировать синус 2 кГц.


Если вам нужен фиксированной частоты, купите себе готовый генератор синуса - есть такие даже с приемкой "5". СКВТ запитываете?

PS. на мой взгляд ЦПУ должен заниматься более интеллектуальными задачами, чем генерация синуса.
Go to the top of the page
 
+Quote Post
Konrad
сообщение Sep 9 2016, 10:02
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 7-04-08
Пользователь №: 36 555



Цитата(Lerk @ Sep 8 2016, 11:30) *
Если вам нужен фиксированной частоты, купите себе готовый генератор синуса - есть такие даже с приемкой "5". СКВТ запитываете?

PS. на мой взгляд ЦПУ должен заниматься более интеллектуальными задачами, чем генерация синуса.


в точку. Я делаю АЦП-ВТ. Поскольку функций больше никаких на устройство не возлагается, то почему бы и не сделать генератор на МК...

Цитата(HardEgor @ Sep 7 2016, 21:45) *
Стоит почитать форум на milandr.ru, довольно активный и описывается много тонкостей по этим контроллерам.


читал, кое-что почерпнул. Форум был довольно активным, но сейчас представители компании в большинстве случаев хранят молчание...

Цитата(VAI @ Sep 7 2016, 22:07) *
Ещё на хабре был цикл статей с общим названием "Переходим с STM32 на российский микроконтроллер К1986ВЕ92QI".
Вот статья по Вашей теме. Остальные можно найти самому.
https://habrahabr.ru/post/255513/


Читал. Автор не ас, но статьи полезные.
Go to the top of the page
 
+Quote Post
Lerk
сообщение Sep 12 2016, 07:05
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 5-05-11
Пользователь №: 64 797



Цитата(Konrad @ Sep 9 2016, 13:02) *
в точку. Я делаю АЦП-ВТ. Поскольку функций больше никаких на устройство не возлагается, то почему бы и не сделать генератор на МК...


Вероятно, что дешевле будет поставить готовый АЦПВТ. На вскидку есть производства нпо физика, нииэмп и ожидается миландр. (может кого и забыл) Сравнительный анализ решений можете провести самостоятельно sm.gif Впрочем, если начальство говорит собирать конструктор, то тут уж не поспоришь smile3009.gif
Go to the top of the page
 
+Quote Post
Konrad
сообщение Sep 16 2016, 18:14
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 7-04-08
Пользователь №: 36 555



Цитата(Lerk @ Sep 12 2016, 11:05) *
Вероятно, что дешевле будет поставить готовый АЦПВТ. На вскидку есть производства нпо физика, нииэмп и ожидается миландр. (может кого и забыл) Сравнительный анализ решений можете провести самостоятельно sm.gif Впрочем, если начальство говорит собирать конструктор, то тут уж не поспоришь smile3009.gif


Это макет пока, но вообще там упор на спецстойкость... Так что готовые решения не особо подходят
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Konrad   Sinus 2kHz на К1986ВЕ92QI   Sep 6 2016, 19:46
- - amiller   Цитата(Konrad @ Sep 6 2016, 23:46) По зав...   Sep 7 2016, 03:25
- - ViKo   А еще у STM32 есть прерывание на половине буфера П...   Sep 7 2016, 05:08
- - jcxz   Цитата(Konrad @ Sep 7 2016, 01:46) но в п...   Sep 7 2016, 06:34
|- - ViKo   Цитата(jcxz @ Sep 7 2016, 09:34) Я могу в...   Sep 7 2016, 08:25
|- - jcxz   Цитата(ViKo @ Sep 7 2016, 14:25) Так, мож...   Sep 7 2016, 08:33
- - редактор   Не обязательно использовать прерывание, можно пере...   Sep 7 2016, 07:26
- - HardEgor   В примерах в Milandr.MDR1986BExx.1.4.2.pack есть г...   Sep 7 2016, 08:23
|- - Konrad   Цитата(HardEgor @ Sep 7 2016, 12:23) В пр...   Sep 7 2016, 10:26
|- - jcxz   Цитата(Konrad @ Sep 7 2016, 16:26) Ну, эт...   Sep 7 2016, 11:21
|- - HardEgor   Цитата(Konrad @ Sep 7 2016, 17:26) Спасиб...   Sep 7 2016, 17:45
- - редактор   ЦитатаИмеющий то же самое ядро Cortex-M4? Это М3.Н...   Sep 7 2016, 12:22
|- - jcxz   Цитата(редактор @ Sep 7 2016, 18:22) Если...   Sep 7 2016, 12:46
- - Obam   А почему никто не посоветовал обратиться за поддер...   Sep 7 2016, 13:06
- - VAI   Ещё на хабре был цикл статей с общим названием ...   Sep 7 2016, 18:07


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

 


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


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