Автор Тема: Универсальный Цифровой Блок Управления (ЦБУ) всем трансивером  (Прочитано 135922 раз)

0 Пользователей и 10 Гостей просматривают эту тему.

Оффлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1179
Там по ссылке, ниже, есть документация "User Manual". PDF-файл. Там подробно..

Оффлайн Игорь 2

  • Administrator
  • *****
  • Сообщений: 20748
Спасибо. Сейчас более интересно было прогнать синтез с этой опорой.
В общем, пока никакого криминала не найдено - все палки SI, которые на частотах до 20 МГц (верхняя частота опоры) находятся по уровню -60 дБ, успешно съедаются моим синтезом, и по уровню, по крайней мере, -130 дБ не просматриваются.  1999
Завтра ещё всё очень внимательно проверю. 1yep
К слову, на частотах выше 20 МГц, на выходе SI довольно сильно выходят, как минимум, две симметричные палки по уровню -50 дБ, причём, на совсем близких отстройках, и, остаётся только посочувствовать тем энтузиастам, которые эту микросхему напрямую используют в первом гетеродине - избирательность по ложным каналам подобных "приёмников" не выдерживает абсолютно никакой критики... 44443 pl33 lol22
Ничего невозможного нет

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Игорь, прямо на плате нужен электролит (у меня 330) помехи летят от платы, но емкость по 3.3 решает проблемы.
Кнопки работают по прерываниям, так что помехозащиту нужно делать ... с вас 50 Гц летит, а прерыванию много не надо. Емкости помогут. Если совсем туго будет, то нужно тогда все-таки увеличить ток через контакты с помощью резистора 3.3к на питалово 3В.

Вот так в самом стм-е сделано....
Да да, я знаю, у меня ничего не получится )))

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Цепляете на ADC
Владимир, все методы известны ))) и опробованы. В трансивере именно так и работает. Только там есть недостаток...емкость на землю долго заряжается и разряжается, ацп успевает промежуточное значение считать и как результат - нажал одну кнопку, а отработала другая.

Сейчас буду делать только через экспандер 64 кнопки по оному прерыванию. На энкодерах проверил - все ровно и без дребезга.
Этот мини проект - промежуточный и развития у него не будет ... слишком много ограничений.
Да да, я знаю, у меня ничего не получится )))

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Сделайте хоть секунду реакцию, это вполне нормально, как сейчас работать вообще невозможно...
Подумаю сегодня над алгоритмом.
Да да, я знаю, у меня ничего не получится )))

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Сразу вопрос - что там по помехам от него ждать, кроме палок от кварцев на 8 МГц? Опрос кнопок/валкодера, как я понял, статичный, и i2c по-моему, молчит, если перезапись не требуется?
все молчит во время приема
и2с начинает что-то передавать если надо частоту в сишку.
кнопки в статике ...ждут нажатия.
дисплей не перерисовывается в цикле, только если значения поменялись.

Кстати именно по этой причине я ару для монстра делал на ацп встроенных в плату (их там 3) - чтоб не шумело, а цап по spi с частотой 6мгц одну посылку делает и замолкает.
Да да, я знаю, у меня ничего не получится )))

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Слушайте, по кнопкам. может кнопки переделать на подключение к питанию, а не замыкании на массу?
У меня там референсный стабилизатор стоит на 2.5в для ацп ару...я забыл сказать., а у вас нет его. питание пляшет и пипец он думает что кнопки нажимаются.

вот так....
Да да, я знаю, у меня ничего не получится )))

Оффлайн veso74

  • Hero Member
  • *****
  • Сообщений: 955
... и, остаётся только посочувствовать тем энтузиастам, которые эту микросхему напрямую используют в первом гетеродине ...
Это Ваше (вероятно первое?) впечатление, при самой простой алгоритм? загрузка данных в Si.

Против Ваших слов: есть много моментов, которые изменяют выходной спектр на алгоритмическом уровне. Я даю вам подсказку, чтобы проверить: проверьте спектр при FXTAL = 25 000 000 Hz и при на реальной частоте кварца, примерно FXTAL = 25 004 945 Hz. Будете неприятно удивлены тем, что делает коэффициент. Еще подсказка: коефициент деления 1 048 575 = 0xFFFFF, не нужно всегда такой. При сокращении дроби часто делитель не максимален, а может принимать небольшие значения. (у вас не получится проверка: при Вашем алгоритм делителя всегда есть и деления у его на максимум 0xFFFFF).

Иначе как будто Вы ехали на спортивной автомобиле по проселочной дороге: он не движется быстро, даже не нормально не может.

Спектр напрямую зависит от загружаемых данных. Не менее важное: замечательная работа за одну ИС на цена 1€.
В остальном я уверен: "они" умеют делать другие синтезаторы. Но не будут 1€.
« Последнее редактирование: Декабрь 13, 2019, 09:39:53 am от veso74 »

Оффлайн Игорь 2

  • Administrator
  • *****
  • Сообщений: 20748
Емкости помогут. Если совсем туго будет, то нужно тогда все-таки увеличить ток через контакты с помощью резистора 3.3к на питалово 3В.

Да это давно сделано, но ближайшая земля довольно далеко (там сантиметра 3), и это как мёртвому припарка. А прямо на проце я ставить не хочу - не факт, что что-нибудь не сломаю. Гляньте, может быть, внутри проца можно увеличить входной ток по этому входу, или же, сопротивление снизить.
Никакие иные варианты не помогут, срабатывание меню происходит даже тогда, когда по земле летят совсем мелкие помехи, типа того, что я корпус осциллографа за землю цепляю, а попав в меню, выйти из него почти невозможно.
Если нельзя, однозначно нужно алгоритм менять - иметь при хорошей общей проге убитый алгоритм подавления дребезга - это нонсенс, всё равно, что сделать крутой Мерседес, а стоп-сигналы прилепить пластилином.
Вполне допускаю, что сама по себе плата STM сделана через задницу в смысле защиты от помех, но вряд ли это порадует.

Я даю вам подсказку, чтобы проверить: проверьте спектр при FXTAL = 25 000 000 Hz

25 МГц у меня в последней разработке стояли, там 2-метровый диапазон, на скрине сама плата передатчика, и скрин анализатора при отключённом импульсном стабилизаторе на плате.
Давайте по конкретике - что мне нужно залить вместо простейшей программы, чтобы хотя бы ближние палки исчезли? Частота, к примеру, 145725 кГц.  lllol
Ничего невозможного нет

Оффлайн Игорь 2

  • Administrator
  • *****
  • Сообщений: 20748
все молчит во время приема

Да, всё нормально, я вчера убедился... 1yep 1999
Ничего невозможного нет

Оффлайн veso74

  • Hero Member
  • *****
  • Сообщений: 955
... Давайте по конкретике - что мне нужно залить вместо простейшей программы ...
Дайте код Вашей программе для Si, по-конкретно алгоритм вычисления. В противном случае мы просто говорим (пишем) каждый за свои вещи, не понимая друг друга.
... Вполне допускаю, что сама по себе плата STM сделана через задницу в смысле защиты от помех ...
И ето не так. Используя чужой код (готовая программа, в худшем случае: прошивка) и Земля кажется маленькой :/ На пути существуют бесконечные препятствия, иногда вставка трех строк кода творит чудеса, без кардинального исправления кода и учета каждой строки. А хардуер остается прежним.
---
ra0ahc, Сергей, для кнопок сделайте просто двойное чтение, с задержкой 5-10 ms. Mожете игнорировать первые 5-20 ms от воздействия контакта (debounce). Думаю 99% от случая больше никаких сложностей не требуется и кнопка будет работать без bounce даже без лишних конденсаторов. И пропустите более тока через кнопки, 3.3V/1k-4,7k достаточно думаю.
« Последнее редактирование: Декабрь 13, 2019, 11:19:53 am от veso74 »

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
Ну всё-таки придётся на внешние резисторы переходить
Вернусь домой переделаю программу под открытый коллектор на кнопки.
Да да, я знаю, у меня ничего не получится )))

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
По вашей проблеме с 145 мгц
Больше вы нам помочь должны , там математика сплошная.
Там выше Веселин правильные вещи писал.
Так же он  выложил формулы для расчета. Так вот ваша задача получить одно и тоже число разными путями , заменой коэфф. И их тусованием.
Да да, я знаю, у меня ничего не получится )))

Оффлайн ra0ahc

  • Hero Member
  • *****
  • Сообщений: 4872
  • Сергей, RD6AH
А нет!!! Вот я балда ))) там в е проще
У сишки есть программа при которой она оптимальные коэфф считает для конкретной частоты и очень чистые
Да да, я знаю, у меня ничего не получится )))

Оффлайн veso74

  • Hero Member
  • *****
  • Сообщений: 955
Цитировать
придётся на внешние резисторы переходить
Какая стойност есть на внутренние pull-up резисторы у STM? У Arduino на 90% случаи использую их (min 20k … max 50k). Нет проблеми, а синтезатор работает до 300W-передатчика (частично экранированный), как и у меня есть одна антенна на все диапазоннов (КСВ не самый лучший ... от 1 до 5  cr123 ).
---
if (digitalRead(SW_STEP) == LOW) {
  delay(20);
  if (digitalRead(SW_STEP) == LOW) {
    ... делать что-то ...
  }
  do {
  }
  while (digitalRead(SW_STEP) == LOW);
}
напр. мой оч. простой вариант кода для Arduino, перепишите при необходимости для STM.
---
Из сложные варианты: это может быть вам интересно (програмное решение):
Debouncing Switches
« Последнее редактирование: Декабрь 13, 2019, 11:46:30 am от veso74 »