Я на него и намекал NCO может выдать как меандр, так и импульсы определенных длительностей. Диапазон частот большой, шаг перестройки очень маленький, настройка и перенастройка - пара-тройка строк.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
А как вам такой вариант: dds на Атмега168 16МГц, точность установки 2Гц, от 0Гц до 80000Гц?Спойлер
Код:
// 32 значения амплитуды, одно полное колебание сигнала мяяяяандер uint8_t 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 };
// Пусть нам нужно генерировать частоту 80000 Гц, учитывая, что основную процедуру таймер у нас исполняет 160000 раз в секунду #define n_counter 32768UL // 65536 / (160000 / 80000) = 32768
Что? Специально написал // Timer Period: 6,25 us, время нахождения в прерывании при оптимизации -Os 3,375us Грубо 6,25 - 3,375 = 2,875us 2,875us - это ваше время, делайте с ним что хотите, это грубо, я не считал такты и прочее. Кроме всего прочего, при выходе из прерывания, даже если его зажать прерываниями, выполнится хотя бы одна команда основной программы - это закон.
// Timer Period: 6,25 us - это константная величина, она не зависит от генерируемой частоты в данном коде.
Грубо говоря у вас 40% свободного времени, мало, гоните частоту МК выше, эти чипы спокойно гонятся до 27МГц, а не которые экземпляры работают и на 32МГц.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Вот так сойдет, измерено на реальном железе прибором DM90AСпойлер Процент заполнения при 79998 DM90A показывает 51,4% При 112Гц показывает ровно 50,0%.
этошуткатакой? То есть вы всерьез полагаете, что при накачке такого DDS частотой 160 кГц можно получить вменяемый меандр с частотой в десятки килогерц? Кроме тотального и лютого джиттера вы там больше ничего не увидите... Кроме бездумного применения формул стоит хоть немного понимать их физический смысл. Интегрирующие приборы тут ничего не покажут.
Принцип генерации в DDS всегда одинаков, независимо от кода, который у конкретного персонажа может быть каким угодно смешным или серьезным. С частотой клоков накачки аккумулятор фазы увеличивается на аргумент DDS и переполнение аккумулятора генерирует частоту выходного сигнала. Проблема метода в том, что при близких значениях частоты накачки и частоты генерации В ПОРАЖЕННЫХ ТОЧКАХ возникает джиттер с уровнями соизмеримыми с периодом генерируемого сигнала. Поэтому работоспособность на небольшом количестве точек - это ни о чем.
Тут обсуждались встроенные решения. Тем более, что речь идет даже не о меандре, а об импульсах, что сделает при внешнем ДДС необходимым дополнительный навес для формирования этого импульса. Именно поэтому выбор МК с модулем NCO на борту решит все эти задачи и не потребует лишних ног в МК.
NCO против AD9833, одно есть в продаже, другого нет, да и то на пиках, ни знаю на авр есть или нет, не нашел. Конечно можно и на PIC10F322, в общем я ту тему прочитал, спасибо. Еще и про импульс надо подумать. Когда то людей и цешка устраивала, а теперь подавай прибор стоимостью 1к даларосов.
Любой чип можно купить. Все зависит только от желания и финансов. Платы с новыми чипами, ПИК или АВР, и встроенными программатором-дебаггером стоят 12-15 баксов. Это только для ознакомления конечно же. Сами МК естественно стоят меньше доллара. NCO в Атмелах, насколько я знаю, нет.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Не думаю, что есть хоть малейший смысл ставить 7-долларовый огромный корпус для задачи, которая в самом крайнем случае решается на 10м пике в корпусе SOT23-6 за 0,5 доллара. Это если опустить разбор с совсем не простой микросхемой для задачи, которая не решается библиотекой HAL непосредственно.
и управляем внутренним генератором свободных колебаний?
Каким еще "генератором свободных колебаний"? Вы вообще о чем? В PIC10F322 есть модуль NCO. Он позволяет реализовать DDS. То есть прямой цифровой синтез частоты с требуемыми автором топика характеристиками. Задание частоты можно выполнить программным UART или SPI. Так же можно взять 8-пиновый PIC16F15313, тогда UART, SPI и I2C будут хардварными.
Значит на AVR это не реализовать? Или придется делать связку AVR+555? Может AD9833 нельзя к AVR подключить? КРАМ, С AD9833 подаю меандр на ножку AVR с прерыванием (по нарастающему фронту) и формирую необходимую длительность импульса, этим же самым AVR управляю AD9833. Что не так? Тема в разделе AVR, вот когда перейдет в раздел PIC, будете PIC рекламировать.
Комплекс неполноценности? Мне фиолетово в каком разделе обсуждается проблема. ТС начал ее, исходя из AVR. Но если целесообразность подсказывает иные решения (совсем не обязательно ПИКи, есличо), то нужно эту целесообразность озвучить. Отдельный DDS, естественно, тоже можно применить. И импульс необходимой длительности можно сформировать в МК, подав на него меандр с внешней DDS. Только наверное стоит подумать как хардварно запускать Output Compare от этого меандра, а не в прерываниях бездарно сидеть и дополнительный джиттер плодить... Ну и денег внешний аналог-девайсовый DDS стоит изрядных... Опять же PIC тут конкурировал не с AVR, а с внешним аппаратным DDS, если вы это сами не поняли...
Значит на AVR это не реализовать? Или придется делать связку AVR+555?
555-ый таймер вообще никак поставленную задачу не решает. Дело ведь не в регулировке частоты, а в ВЫСОКОМ РАЗРЕШЕНИИ этой регулировки. Задачу внутренними ресурсами AVR решить невозможно. Тупо не хватит скорости.
Какое отношение ГУН и ФД имеют к DDS и хотелкам автора темы? Тем более, какое отношение PLL в МК имеют к поставленной задаче? Вы хотя бы знакомились с ограничениями PLL в МК?
Ну ТС не обозначил что хочет только DDS. А например для связки 4046 и МК нужно 3 ноги: выход опорной частоты (10 Гц например),вход счетного таймера, выход OCR таймера. Таймер используется как управляемый счетчик-делитель. В таком случае даже прерывания не нужны. Цена вопроса - 0,6$ за 4046.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 53
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения