Например TDA7294

Форум РадиоКот • Просмотр темы - Модуль NCO в новых PIC-ах для DDS произвольной формы сигнала
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср май 14, 2025 21:22:21

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 36 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Модуль NCO в новых PIC-ах для DDS произвольной формы сигнала
СообщениеДобавлено: Пн апр 13, 2020 16:10:11 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Модуль NCO (Numerically Controlled Oscillator) является ядром любой микросхемы DDS (прямого цифрового синтеза). Но в специализированных микросхемах старшие разряды (обычно 10...12 из 28...32) сумматора модуля подключены к ROM в которой прописана форма синтезируемого сигнала. То есть на каждый такт суммирования (опорной частоты DDS) генерируется один отсчет выходного сигнала. В модулях NCO PIC-ов, естественно, нет такой возможности и единственная форма сигнала, которую этот модуль может генерировать - импульсы фиксированной длительности синтезируемой частоты следования.
Для синтеза собственно сигналов произвольной формы нужно настроить синтезируемую частоту модуля на частоту ВЫБОРОК синтезируемого сигнала произвольной формы.
Например мы хотим синтезировать синус частотой 1,111 кГц с дискретностью по времени в 256 отсчетов. Значит нам нужно настроить NCO модуль на частоту 284,416 кГц.
Выбираем в качестве накачки NCO осциллятор МК с включенной PLL. Пусть это будет 32 МГц (8 MIPS).
При 20-разрядном сумматоре модуля NCO код искомой частоты (значение инкрементного регистра NCO) будет:
N=FoutDDS*2^20/Fosc=284416*2^20/32000000=9320.
С учетом округления реальная частота составит:
F=32000000*9320/2^20=284424 Гц, а синтезируемый синус будет иметь частоту 1111,03 Гц.
Каждое переполнение модуля NCO помимо генерации импульса настроенной длительности, генерируется прерывание, в котором и следует перегрузить очередное значение сигнала из таблицы в PWM или DAC.
Таким образом, на крошечном и дешевом PIC10F322 можно сделать настоящий DDS. Правда из-за такого способа синтеза на выходе простейшей RC не обойтись, но даже простейший ФНЧ на ОУ даст очень неплохой результат.
При использовании новейших PIC18F25Q43 с DMA и осциллятором 64 МГц описанная задача станет фоновой и не требующей от ядра МК вообще никаких ресурсов кроме нескольких строк в прерывании от DMA один раз на период синтезируемого сигнала. К слову, отпускная стоимость упомянутого PIC18 у Микрочипа, как неожиданно выяснилось - менее 1 бакса... :)

Изображение


Последний раз редактировалось КРАМ Пн апр 13, 2020 17:24:38, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Пн апр 13, 2020 16:13:23 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1464
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14984
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
:hunger:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Пн апр 13, 2020 17:26:37 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3373
Рейтинг сообщения: 0
Чем это лучше обычного ЦАПа? Хотя судя по описанию это больше похоже на ШИМ с переменной скважностью.

КРАМ писал(а):
При использовании новейших PIC18F25Q43 с DMA и осциллятором 64 МГц описанная задача станет фоновой и не требующей от ядра МК вообще никаких ресурсов кроме нескольких строк в прерывании от DMA один раз на период синтезируемого сигнала. К слову, отпускная стоимость упомянутого PIC18 у Микрочипа, как неожиданно выяснилось - менее 1 бакса
Ну если так считать, можно взять STM32F030F4P6 стоимостью 0.25$ работающий на 48 МГц (разгоняется до 96 МГц) и имеющий DMA и 32-ух битный таймер. А дальше DMA + Timer PWM решают задачу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Пн апр 13, 2020 17:31:43 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Чем это лучше обычного ЦАПа? Хотя судя по описанию это больше похоже на ШИМ с переменной скважностью.
.....
....А дальше DMA + Timer PWM решают задачу.

Судя "по описанию", Вы ни хрена ничего не поняли. Учите матчасть.
На STM32 за четверть доллара тоже можно сделать DDS. Только он займет практически все ресурсы МК. И дело тут не в PWM или DAC. Последние вообще в процедуре прямого синтеза лишь преобразуют код в аналог. Основная задача создать генератор этого кода с разрешением (перестройкой) по частоте в доли процента.
ЗЫ. К слову, последнюю неделю переделывал один из наших (в смысле нашей компании) проектов с STM32F051 на упомянутый выше PIC18. Ну то есть такое ощущение, что я пересел с запорожца на мерседес. А задач по сути было две. Синтезировать синус 80...180 Гц и измерять ЧМ сигнал с центральной частотой 8 МГц и изменяемой девиацией от нуля до 2 МГц. Измерять нужно девиацию, частоту модуляции и центральную частоту. Все аппаратно.


Вернуться наверх
 
Открыт интернет-магазин MEAN WELL.Market – весь ассортимент MEAN WELL, выгодные цены

Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России. На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Пн апр 13, 2020 17:54:07 
Поставщик валерьянки для Кота

Карма: 12
Рейтинг сообщений: 532
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978
Рейтинг сообщения: 0
Там еще всякая интересная периферия добавлена в новых PICах: https://www.microchip.com/design-center ... ndependent


Вернуться наверх
 
LED-драйверы MOSO - надежные решения для индустриальных приложений

Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO подробнее>>
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Пн апр 13, 2020 18:01:22 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Вот я как раз для измерений ЧМ сигнала и воспользовался SMT модулем. Плюс к этому полный "коммунизм" с синхронизациями всего от всего, кучей CLC и PWM-ов со своими таймерами, практически неограниченый ремап периферии на пины - ограничения незначительны настолько, что я на двух УАРТах, SPI, SMT, таймере взятом наобум, и так же наобум выбранном PWM угадал на 100% подключение пинов. Расположение которых я взял так, как это было удобно в топологии довольно плотной платы.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 03:13:49 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1464
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14984
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вот мы и наблюдаем результат эволюционного развития "стандартных" семейств в ответ на АРМ технологии...
Давно уже про то говорено было.
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 05:54:46 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Каждое переполнение модуля NCO помимо генерации импульса настроенной длительности, генерируется прерывание, в котором и следует перегрузить очередное значение сигнала из таблицы в PWM или DAC.

----
При использовании новейших PIC18F25Q43 с DMA и осциллятором 64 МГц описанная задача станет фоновой и не требующей от ядра МК вообще никаких ресурсов кроме нескольких строк в прерывании от DMA один раз на период синтезируемого сигнала.


Когда тебе и гонюбесов показали то же самое на stm32 - причем полностью аппаратное , без каких либо прерываний , да и выхлоп БЫЛ 3Хфазного синуса. Напомни мне, кто воротил носом и презрительно фыркал?

http://mcu.goodboard.ru/viewtopic.php?id=31
Цитата:
На STM32 за четверть доллара тоже можно сделать DDS. Только он займет практически все ресурсы МК.

Наглое вранье.

BOB51, оно тебе не надо, так и будет валяться... :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 06:43:08 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1464
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14984
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
dosikus писал(а):
...

BOB51, оно тебе не надо, так и будет валяться... :)))

Точно как и STM32!
:)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 09:31:45 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Когда тебе и гонюбесов показали то же самое на stm32 - причем полностью аппаратное , без каких либо прерываний , да и выхлоп БЫЛ 3Хфазного синуса. Напомни мне, кто воротил носом и презрительно фыркал?

Ты это о ком? :shock:

Наглое вранье.

Пацан сказал - пацан сделал... :)))
Но тебе и делать не требуется. Все что требуется, это рассказать как ты реализуешь, скажем, сетку синусоид с частотами от 100 до 100,99 Гц с шагом в 0,01Гц.
Не нужно код. Просто принцип.
:tea:
Может ты забыл, но я напомню, речь идет о DDS с цифровой перестройкой, а не о простом синтезе какой то синусоиды...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 11:01:42 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Может и не с такой точностью, но уж звездеть о том что DDS сожрет все ресурсы- не надо.
А принцип тебе уже выше на пальцах изложили - Реквесты DMA от 32х битного таймера +PWM (до 4х каналов == до 4х фаз )


Последний раз редактировалось dosikus Вт апр 14, 2020 11:16:02, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 11:13:46 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
А принцип тебе уже выше на пальцах изложили - DMA +PWM на 32х битном таймере.

Ты видимо совсем не в теме... :facepalm:
Досикус, зачем ты лезешь в тему, в которой ВООБЩЕ некопенгаген? Просто позвиздеть ни о чем?
Какое отношение PWM имеет к обсуждаемому вопросу? Какое отношение DMA имеет к обсуждаемому вопросу?
Способ вывода в ЦАП (PWM или потенциальный DAC - неважно), как и сам этот ЦАП тут не обсуждался. От слова вообще.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 11:23:57 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Не уподобляйся местным хомячкам.
Причем здесь DMA ?

Цитата:
При использовании новейших PIC18F25Q43 с DMA и осциллятором 64 МГц описанная задача станет фоновой и не требующей от ядра МК вообще никаких ресурсов кроме нескольких строк в прерывании от DMA один раз на период синтезируемого сигнала.


Однако это твое.

Переброс массива таблицы синуса через DMA в модуль PWM таймера.
У тебя 20битный NCO, в прерывании( о боже) заносится в PWM из таблицы.
Здесь реквест от 32х битного таймера пинает DMA, занося одновременно 4( Карл, 4) значения для 4х PWM выхлопов.
И все это чисто аппаратно - и " задача станет фоновой" и даже без прерываний.
Ну и кто некопенгаген?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 11:34:16 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Ну и кто некопенгаген?

Досикус, ты настолько самоуверен, что продолжаешь нести ахинею и даже не возьмешь за труд ИЗУЧИТЬ вопрос.

Мое упоминание о DMA было ОПЦИОНАЛЬНЫМ, во первых, а во вторых, без АППАРАТНОГО модуля NCO, который собственно и формирует сетку частот высокого разрешения, DMA нахер не нужен... Ну то есть вообще в нем нет никакого смысла. Патамушта при софтверной реализации NCO КАЖДОЕ прерывание от тактирующей накачки потребует вычисления новой суммы, правого сдвига на маскируемое число разрядов для определения указателя на ROM, и лишь потом пересылку из ROM в DAC/PWM. Это классический DDS. Еще хуже будет с софтверным повторением NCO и пересылкой значений по переполнению аккумулятора NCO.
Учи матчасть, Досикус... :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 11:45:21 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Ну и алаверды . Ты видимо уверовал в свою чушь и ее неповторимость...
Ты несешь полную хрень и твой NCO и на не упал.
Вся "сетка частот" формируется таймерами аппаратно и твои "софтверные повторения нахренненужного NCO" и на не упали.
Получаем действительно полностью аппаратное решение супротив жалкого суррогата на пЫк18.
Так что прежде сам RTFM...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 11:49:33 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Вся "сетка частот" формируется таймерами аппаратно...

Ну так в чем проблема, Досикус? Расскажи нам, убогим, как сформировать сетку частот 100 Гц...100,99 Гц с шагом 0,01 Гц?
А то ты юлишь, чего то там несешь про PWM, хотя о нем речи вообще не идет.
PS Ладно, Досикус, ты уже достаточно облажался... Читай THEORY OF OPERATION в даташите на
AD9837


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 12:08:46 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2089
Рейтинг сообщения: 0
Патамушта при софтверной реализации NCO КАЖДОЕ прерывание от тактирующей накачки потребует вычисления новой суммы, правого сдвига на маскируемое число разрядов для определения указателя на ROM, и лишь потом пересылку из ROM в DAC/PWM. Это классический DDS.

Зачем ждать следующего прерывания чтобы сложить пару чисел и взять из таблицы нужное значение? Можно за раз заполнить буфер произвольного размера, что заметно быстрее, а DMA потом из этого буфера будет гнать данные в DAC/PWM.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 12:13:33 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Зачем ждать следующего прерывания чтобы сложить пару чисел и взять из таблицы нужное значение? Можно за раз заполнить буфер

:facepalm:
Это беда.... Милейший, возьмите за труд прочесть теорию, чтобы не писать пургу про заранее заполненный буфер...
Весь смысл DDS - это СКОЛЬЗЯЩАЯ ФАЗА. Это позволяет отказаться от кратности периода синтезируемого сигнала и периода накачки. Это какого же размера нужно иметь буфер, чтобы получить наименьшее общее кратное для частоты накачки и сигнала 100 Гц с шагом в 0,01 Гц? :))) :))) :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 12:16:59 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
PS Ладно, Досикус, ты уже достаточно облажался...


Ну ты и юморист. Описываешь, с щенячьим восторгом свои розовые мечты, позиционируя как убер способности и прерогативу пык.
А когда тебя тыкают носом в то, что уже давно подобное реализовано на stm32 - обвиняешь оппонента в тупости и некомпетентности.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Модуль NCO в новых PIC-ах для DDS произвольной формы сиг
СообщениеДобавлено: Вт апр 14, 2020 12:25:27 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2916
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23676
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
А когда тебя тыкают носом в то, что уже давно подобное реализовано на stm32

Подобное на STM? Ты вообще о чем? Ты меня потчуешь каким то говном вообще из другой оперы.
Еще раз предлагаю не молоть всякую пустопорожнюю пургу, а просто и со вкусом объяснить нам о том, каким образом с помощью таймера АППАРАТНО организовать сетку частот 100 Гц с шагом 0,01 Гц.
И не нужно меня никуда отсылать. Просто расскажи своими словами. Можешь даже только для двух частот: 100,00Гц и 100,01 Гц, например.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 36 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y