Например TDA7294

Форум РадиоКот • Просмотр темы - Генератор с длительностью импульсов 20us с частотой 80Khz
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 07:41:22

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


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



Начать новую тему Ответить на тему  [ Сообщений: 95 ]    , , 3, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 09:58:44 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
КРАМ, Я делал делитель опорной частоты на счетчиках, ГУН на 531ГГ1 и подавал выходы на фазовый детектор, который управлял ГУН. Мог выставить любую частоты до 50Мгц с точностью 1 Гц. Это не NCO?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 10:25:19 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Нет, это не NCO. Принцип работы NCO я чуть ранее уже упомянул. То, о чем говорите вы, называется ФАПЧ (PLL) и ничего общего с прямым цифровым синтезом (DDS) не имеет. А вот NCO как раз и является ядром любого DDS.
DDS, в отличии от PLL, может управлять частотой с точностью до мгновенной фазы. А разрешение по частоте зависит только от разрядности аккумулятора фазы. Элементарно получить шаг в 0,001 Гц.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 11:39:42 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 44
Зарегистрирован: Ср янв 04, 2012 11:57:40
Сообщений: 394
Откуда: Алчевск
Рейтинг сообщения: 0
КРАМ а какое количество точек минимально достаточно для таблицы в 1024? Пробовал до 1/8 таблицы. Сглаживал фильтром второго порядка.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 11:40:51 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
КРАМ, теперь понятно, почему я и разобрал свой ФАПЧ, а оставил китайский DDS FY3200S. Век живи, век учись.
С пиками я не дружу, а на stm32 нет NCO?


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 12:53:20 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Пробовал до 1/8 таблицы. Сглаживал фильтром второго порядка.

Вообще то от количества точек зависит частотное расстояние до кратных спектров. При 2 отсчетах на период спектры смыкаются. Отсюда делайте вывод о необходимой чистоте спектра и требуемого подавления на этих самых кратных спектрах.

Добавлено after 5 minutes 25 seconds:
а на stm32 нет NCO?

Нет. В мощных контроллерах обычно нет специфической периферии. Если уже вы поставили МК за 7 баксов, то добавить еще 4 за приличный DDS уже нет проблем. А вот в 8-битниках тема с набором специально заточенной периферии и относительно слабым ядром для ее конфигурирования вполне актуальна для бюджетных решений.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 16:31:28 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Как бы я не старался, как бы я не мучился, но с Атмеги dds - только показометр получается.

Будем отталкиваться от 80кГц.
У числа 80000 всего 40 делителей на которые это число делится нацело.
Вот они
Спойлер1, 2, 4, 5, 8, 10, 16, 20, 25, 32, 40, 50, 64, 80,  100,  125,  128,  160,  200,  250,  320,  400,  500,  625,  640,  800, 1 000, 1 250, 1 600, 2 000, 2 500, 3 200, 4 000, 5 000, 8 000, 10 000, 16 000, 20 000, 40 000, 80 000
К примеру 3200Гц, 80000/3200 = 25 ровно. Джиттер отсутствует.
Тогда как 3340Гц, 80000/3340 = 23,95209581 - вот тут будет джиттер.

То же самое если тактовую 16МГц делить на эти числа.

То есть что бы мне получить идеальные 3340Гц, я должен тактировать МК от 15998600Гц.

КРАМ, если вам не трудно,чтобы раcставить все точки над i и подвести окончательный итог,
в протеусе есть модель PIC10F322 с пометкой NC0, частота 3340Гц импульс 10us, hex файл плиз.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 18:01:33 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Вы ничего не поняли. Джиттер в ДДС есть почти всегда. И если соотношение частот накачки и выхода выбрано большим, то этот джиттер лежит на уровнях ниже -60 дБ к основной гармонике. Генерация меандра с линейной ЧМ и центральной частотой примерно 4 кГц на NCO в 10F322 дает очень пристойный звук. У меня так работает аларм на металломагнитодетекторах в серийных изделиях.
Там код простейший. В прерываниях по таймеру инкрементируется/декрементируется регистр частоты модуля. Так и гоняется тон от минимального до максимального порога.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 21:04:17 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Я имел ввиду импульс 10us. Как?
У этого PIC с NCO набор какой-то скудный, ЦАПа на выходе NCO нет - синус не получить,
один меандр, ШИМ то хоть может это NCO что бы из таблицы синус брать?
Хотя я документацию по диагонали смотрел.

Вы этот ПИК предложили, хоть бы пример какой выложили.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 22:10:04 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Хотя я документацию по диагонали смотрел.

Оно и видно... :tea:
Импульсы на выходе NCO можно получить с помощью Ripple-таймера этого модуля. Длительность устанавливается в регистре NCO1CLK битами N1PWS. При накачке 16 МГц длительность можно выбрать максимум 8 мкс, а при накачке 8 МГц - получается либо 8, либо 16 мкс. Если использовать внешнюю накачку, то при выборе частоты 12,8 МГц и N1PWS=111 (128 тиков) выйдет как раз 10 мкс.
Синус формируется элементарно. Берется таблица синуса, а частота на выходе NCO синтезируется кратно выше по длине таблицы.
Например, при таблице в 64 отсчета нужно генерировать частоту в 64 раза выше. В прерывании от NCO очередное значение таблицы загружается в PWM. Вот и вся хитрость.
Примеры кода я писать не буду принципиально. Это слишком простая в смысле кода задача. Достаточно принципов функционирования. Их я и объясняю. Довольно подробно.
Если у вас будут проблемы с кодом, задавайте конкретные вопросы по коду, а не просите готовенькое.
ЗЫ. В догон. На таком бюджетном МК писать на Си слишком расточительно. АСМ там простой и позволяет вытянуть максимум по скорости в такого рода задачах. А от скорости зависит и чистота спектра синтезируемого сигнала.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вс фев 14, 2021 23:06:51 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
КРАМ, гладко было на бумаге, да забыли про овраги. Для синусных таблиц оперативки маловато.

Добавлено after 11 minutes 2 seconds:
Re: Генератор с длительностью импульсов 20us с частотой 80Khz
Dimon456, там нужен ГУН и частотомер в обратную связь. На пиках отличные частотомеры получаются.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 04:38:43 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Господин Линьков, как же вам в голову пришла идея держать таблицу КОСТАНТ в ОЗУ? :dont_know:
:)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 06:51:52 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 44
Зарегистрирован: Ср янв 04, 2012 11:57:40
Сообщений: 394
Откуда: Алчевск
Рейтинг сообщения: 0
Я держал в ОЗУ, формировал из пзу с учётом амплитуды (0-100%)и формы (пять встроенных). Форму можно было подгружать по uart, пока не пригодилось ))).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 09:07:17 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Вы этот ПИК предложили, хоть бы пример какой выложили.

Вот тут oleg110592 выкладывал пример. Даже два.

Добавлено after 20 minutes 21 second:
Re: Генератор с длительностью импульсов 20us с частотой 80Khz
Кстати, схожая штука имеется и у 51-х МК от Силабса. Она есть и в старых типа C8051Fxxx, и в новых EFM8.
Эта независимая от ядра "штука" называется PCA - Programmable Counter Array, имеющая несколько каналов входа/выхода.
Одна из возможных его функций - Frequency Output Mode. Разница с ПИКовой на мой взгляд в основном в разрядности - всего 8 бит. Формула частоты смены состояния выходного пина та же (с учетом битности).
Для примера вот RM на первую базовую серию EFM8BB1, раздел 15 на весь модуль и страница 151 конкретно на этот функционал.

P.S. Платка с EFM8BB10F8G в "кузове" QSOP-24, минимальным обвесом и программатором-отладчиком стоит всего $6.25, и у меня она имеется :hunger:

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 10:43:31 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
Господин Линьков, как же вам в голову пришла идея держать таблицу КОСТАНТ в ОЗУ? :dont_know:
:)))

Теперь понятно, почему у меня был самый быстрый синус на самом медленном проце.:)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 12:28:32 
Друг Кота
Аватар пользователя

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

Не надо фантазировать. Чтение флеша в подавляющем количестве архитектур незначительно дольше, а часто и равно по времени чтению ОЗУ. Если говорить о синтезе синусоиды, то таблица во флеше вообще никак не повлияет на скорость. Ибо период отсчетов НА ПОРЯДКИ больше ничтожных пары...тройки лишних машинных циклов


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 16:37:53 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Zhuk72, и КРАМ, я вас правильно понял, что бы проверить мне и собственными глазами убедиться в отсутствии фазового дрожания я должен скачать компилятор под PIC10F?
Хорошо, какой самый минимальный компилятор который соберет эти три несчастные строчки?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 17:26:21 
Друг Кота
Аватар пользователя

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

А в этом есть какая то проблема? Скачать нужно среду разработки, причем можно даже компактный MPLAB 8.92.
Нащщет компилятора я сомневаюсь, однако... Проще написать на MPASM, который входит в среду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 17:27:51 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Хорошо, какой самый минимальный компилятор который соберет эти три несчастные строчки?

можно онлайн попробовать
https://mplabxpress.microchip.com/mplabcloud/ide
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Пн фев 15, 2021 18:31:39 
Родился
Аватар пользователя

Зарегистрирован: Сб янв 30, 2021 16:34:46
Сообщений: 19
Рейтинг сообщения: 0
Привет всем :))
попробывал этот код:
Код:
#include <tiny44.h>

#define n_counter1 32768 //  65536 / (160000 / 80000) = 32768
char period[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 };

// Timer 0 output compare A interrupt service routine
      interrupt [TIM0_COMPA] void timer0_compa_isr(void)
  {
      static unsigned  int gen_counter = 0;

      gen_counter = gen_counter + n_counter;
      if (period[(gen_counter>>11)] == 1){ PORTA |= (1<<(PORTA0));  }else{  PORTA &= (~(1<<(PORTA0))); }

  }

void main(void)
{
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=0
PORTA=0x00;
DDRA=0xFF;




// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 16000,000 kHz
// Mode: CTC top=OCR0A
// OC0A output: Disconnected
// OC0B output: Disconnected
// Timer Period: 6,25 us
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (1<<WGM01) | (0<<WGM00);
TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00);
TCNT0=0x00;
OCR0A=0x63;
OCR0B=0x00;


// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=(0<<OCIE0B) | (1<<OCIE0A) | (0<<TOIE0);

#asm("sei")

while (1)
      {



      }
}



Это прсто, компактно, гениально!!!
Растущй фронт и спадающий фронт ровный во всем диапозоне! :)) 1-80KHz.

Dimon456 - Тебе респект! так держать. :beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор с длительностью импульсов 20us с частотой 80Kh
СообщениеДобавлено: Вт фев 16, 2021 08:20:42 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Zhuk72, и КРАМ, я вас правильно понял, что бы проверить мне и собственными глазами убедиться в отсутствии фазового дрожания я должен скачать компилятор под PIC10F?

Могу на днях, если не к спеху, то в выходные дни, на живом изделии запустить и выложить диаграмму с логического анализатора. Правда у меня не 10-й ПИК, а 16F18446. У него NCO 20-битный. Надеюсь на небольших частотах мой китайский Салеае покажет честную картинку.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


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

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


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

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


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

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


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