Перейти к содержанию
    

arhiv6

Свой
  • Постов

    1 021
  • Зарегистрирован

  • Посещение

Весь контент arhiv6


  1. В cmsis_gcc.h есть макрос __UNALIGNED_UINT32(x) : Если я правильно понял, так сделано потому что в gcc атрибут __attribute__((packed)) можно применять только к структурам, а не к произвольным типам. Возможно, можно что-то подобное сделать для uint16_t ? В том же файле чуть ниже есть макросы __UNALIGNED_UINT16_READ и __UNALIGNED_UINT16_WRITE где подобным образом к данным обращаются.
  2. В чип-и-дипе разные резисторы бывают, например:
  3. На примере фильтра BPF-F200. Первая схема - характеристика фильтра (красные графики). Вторая схема - цепочка из книги с параметрами F=200МГц (равна центральной частоте фильтра), полоса Bp=50МГц (берётся равной полосе фильтра или с запасом, чтобы не испортить характеристику фильтра в полосе пропускания, в данном случае с запасом), добротность индуктивностей Ql=100 (зависит от применяемых компонентов). Этой схеме соответствуют синие графики. На втором графике видно, что идеальная цепочка имеет согласование во всей полосе до -60дБ S11. Номиналы элементов цепочки посчитаны по формулам из книги (только значение константы из первой формулы 1,5 заменено на 0,5. Возможно, опечатка?). Третья схема, зелёные графики - совместное включение цепочки и фильтра. Видно, что в полосе пропускания графики S11 и S21 почти не меняется относительно красных графиков фильтра (т.к. цепочка посчитана с запасом на полосу 50МГц при ширине фильтра 20МГц). По второму (S11) зелёному графику видно два пика около полосы пропускания - если цепочку пересчитать на Bp=20МГц то они опустятся с -10дБ до -20дБ, но полоса пропускания фильтра начнёт уже уменьшаться. Что за пик на ~125МГц на зелёном графике - не понятно, похоже какая-то реактивность фильтра. Как применить для вашего случая: cнимите на VNA S-параметры Вашего фильтра, постройте такие же схемы, укажите в уравнениях Ваши частоты. Если Вам нужно согласование не вблизи фильтра а только на кратных гармониках от центральной частоты, то можете брать Bp=5...10*(полоса пропускания Вашего фильтра).
  4. В теории, отечественные синтезаторы тоже есть (1508ПЛ10Б, К1367ПЛ3У), но что-то мне подсказывает, что LMX2572 или MAX2871 будет проще достать. ГУН у них уже встроенный. RFFC5072 тоже не дефицитный товар, в элитане продаются. ТС, я правильно понял, что достаточно просто рисовать спектр (демодуляция какого-то сигнала не нужна)? Вот несколько "самых дешёвых" схем: Идея с nRF24L01 имеет право на жизнь, но её входной диапазон (2.4ГГц) попадает в полосу анализируемого диапазона частот - появится дополнительный побочный канал приёма через прямой пролаз смесителя. Всякие wi-fi будут пролазить прямо на вход детектора. Лучше ПЧ выбрать вне полосы приёма (ниже <800МГц), не забыв поставить простой ФВЧ по входу приёмника, что позволит избавиться от этого побочного канала. В качестве детектора на ПЧ в радиолюбительских поделках используют чипы трансиверов от Silabs, у которых есть возможность прочитать уровень входного сигнала. Можете поискать темы про "анализаторы спектра" : Spectrum Analyzer by R2-D2 (чип SI4313) или TinySA первой версии (чип SI4432). В итоге схема получится такая (без учёта МШУ и преселекторов): простой ФВЧ с подавлением на ПЧ и частотой среза 800МГц, смеситель ADL5801 + синтезатор LMX2572 или MAX2871 для переноса на ПЧ (или заменить их на один чип RFFC5072), трансивер в качестве детектора на частоте ПЧ. Если ПЧ выбрать 433МГц, то можно добавить копеечный ФНЧ/ФПЧ фильтр на вход трансивера (их на эту частоту много). Жирный минус такой схемы - полное отсутствие подавления зеркального канала. Приёмник прямого преобразования: ФВЧ по входу (в такой схеме требования к нему ещё ниже, т.к. ПЧ 0МГц). Синтезатор LMX2572 или MAX2871 + квадратурный демодулятор ADL5380, 2шт ФНЧ (требования к ним зависят от частоты дискретизации АЦП) и 2 АЦП. Можно даже АЦП микроконтроллера использовать (только нужно не 1 АЦП + мультиплексор, а 2 честных АЦП, т.к. выборка по обоим каналам должна быть одновременной). Если правильно помню, Arinst SSA по такой схеме сделан. Зеркальный канал попадает в полосу основного и давится при цифровой обработке. Останутся только паразитные каналы на нечётных частотах гетеродина. При желании и от них можно избавиться, если на вход поставить преселектор из двух ФНЧ (на 2200МГц и 6000МГц). Т.к. нужна только мощность, то можно попробовать приёмник прямого преобразования по схеме 2 но вместо АЦП поставить фазоздвигающие цепочки на +45 и -45 градусов (можно упростить схему, объединив их с ФНЧ, в книге у Полякова посмотрите или на форумах радиолюбителей) и сумматор, к выходу которого подключить логарифмический детектор, например AD8310 работает от 0Гц и имеет динамику 95дБ. Дополнено: у AD8310 вход дифференциальный, можно даже сумматор не использовать, подавать I и Q на +INPUT и -INPUT, что эквивалентно вычитанию.
  5. Если одно какое-то имя пересекается, можно попробовать одну эту функцию в обеих библиотеках пометить атрибутом __attribute__((visibility("hidden"))). Но правильнее делать так: библиотеки собираются с ключом компилятора -fvisibility=hidden, чтобы ограничить области видимости функций по-умолчанию. А те функции, которые нужно оставить доступными пользователю для вызова, пометить атрибутом __attribute__((visibility("default"))). Пример: // lib.h - интерфейс библиотеки #pragma once void test1(); // lib.c #include "test.h" #define ACCESSIBLE __attribute__((visibility("default"))) ACCESSIBLE void test1() {}; // функция доступна для вызова из вне, этим макросом помечаем все доступные пользователю функции void test2() {}; // функция не-статическая, но доступна только внутри библиотеки, из-за -fvisibility=hidden static void test3() {}; // статическая функция, доступна только в пределах объектного файла
  6. Т.е. нужен приемлимый КСВ не только в полосе пропускания, но и в полосе заграждения фильтра? У Э.Ред в "Справочное пособие по ВЧ технике", 1990г есть такая согласующая цепь, применял её на ~200МГц. Ещё у Minicircuits есть "Reflectionless Filter", может быть на ваши частоты есть что-нибудь готовое.
  7. А зачем делать эквивалентную модель, если можно забрать из VNA файл с S-параметрами, а в Qucs вставить компонент Файловые компоненты->Файл S-параметров? Или VNA не умеет экспортировать touchstone файлы?
  8. Судя по по всему, нигде уже не выпекают, а просто покупают у китайцев готовые чипы и продают как свои. На сайте указано "Временно не производится. Заказы не принимаются. Замена/Аналог К1921ВК01Т2. Информация по запросу". По К1921ВК01Т2 гугл выдаёт отладку от ldm-systems, на которой микроконтроллер заклеен наклейкой. Под наклейкой судя по всему маркировка Gigadevice, т.к. в телеграме встречал сравнение документации на К1921ВК01Т2 и GD32F4:
  9. Добрый день. Тема "Electronix classic 4.5 2", при нажатии "Непрочитанное"->"Загрузить больше активности" перекидывает на верх страницы, список тем не подгружается. В этом же месте не работает кнопка "Компактно/Подробно" - при нажатии на "Подробно" страница перезагружается, вид не меняется. Linux, Firefox 116/117, дополнения отключены. То же самое на Android, Firefox Nightly 118.0a1. Такое поведение с прошлой недели.
  10. А вы уверены что он германиевый? На УГО - полевой транзистор, да и по названию тоже он (КТ* - кремниевый транзистор, ГТ* - германиевый транзистор, КП* - это, следуя логике, кремниевый полевой, но тут могу ошибаться). Гугл подсказывает что КП906 это обычный JFET. Усилительный каскад по схеме с общим затвором, если простыми словами то тут про него написано: https://electricalschool.info/electronica/1974-skhemy-vkljuchenija-polevykh.html
  11. Обязательно нужно механическое реле? Есть мультиплексоры, которые специально для этого применения делают (TI TS3L110, TS3L100, TS5L100 и подобные). Если всё-таки реле нужно, то как на рисунке 4PDT я бы заменил на 2шт DPDT - их выбор больше, скорее всего и по цене и по габаритам выигрыш будет. У TE недорогие реле есть и для них они нормируют потери на 100МГц. Например, серии 146203*, V230*, V231*.
  12. Компоненты->RF компоненты, там находятся компоненты с добротностью. Появились в Qucs 0.0.20 (он ещё в бете, если не найдёте бинарники или не сможете собрать - попробуйте Qucs-S или Qucs Studio, может там уже добавили). Для ВЧ лучше файлы с S-параметрами. На сайтах производителей есть архивы с этими файлами (у Murata индуктивности и конденсаторы, у Coicraft ВЧ катушки на большие токи и т.д.) доступны прямо на страницах компонентов или Murata ещё отдельно архивы выкладывает. Компоненты->Линии передачи. Добавляете на схему нужные вам линии (например "Микрополосковая линия") + компонент "Подложка", который описывает материал и толщину печатной платы.
  13. У того же Minicircuits-а есть 90-градусные НО, в том числе малогабатирные (серия QCN-*) https://www.minicircuits.com/WebStore/90_180_degree_hybrid.html?interface=SMT&description=90° Hybrid&freqLow=500&freqHi=500
  14. Есть такие, и даже на большие мощности. Проще всего на digikey в разделе ВЧ ключей выбрать тип SPDT и отсортировать по уменьшению OIP3: https://www.digikey.com/short/4jt033cb . И прямо сверху списка все позиции проверять на доступность в ваших магазинах.
  15. Можно попробовать принять сигнал на RTL-SDR, подключенный к Matlab/Simulink/GNU Radio, демодулировать и посмотреть как меняется сигнальное созвездие при увеличении мощности. Это обычные интермодуляционные искажения третьего порядка. Они появляются не с какого-то уровня, они есть всегда. Просто при увеличении мощности в 2 раза (на 3дБ) их уровень относительно основного тона увеличиваются в два раза быстрее: на 6дБ. Поэтому некорректно говорить, что с какого-то уровня "начинает портиться нелинейность".
  16. Проще всего, если пакеты на передачу всегда фиксированной длинны. Если нет - то это сложнее, пока для тестов можно просто передавать с интервалом, равным длинне самого большого пакета. К этому времени добавьте время перестройки PLL (t PLL_CH_SW) - получится период T. Попробуйте так: назначьте несколько доступных для работы частот (например две, на краях диапазона). Передатчик работает на этих частотах по-очереди: на МК в прерывании таймера, настроенного на период T, запускается передача пакета. По окончании передачи сразу запускается перестройка по частоте, чтобы к началу следующего T PLL уже была в захвате и готова к работе. Сначала делается поиск: приёмник слушет на одной частоте в течении 2..3*T, потом тоже переходит на следующую. Время 2..3*T нужно чтобы пакет передатчика гарантированно поместился в интервал приёма (синронизации пока нету). Перестройка приёмника нужна чтобы не попасть на "не рабочую" частоту. Т.е. за несколько T приёмник примет хотя бы один пакет. Как только это произошло - можно по нему синхронизироваться. Изучите главу даташита "11.6 RX Frame Time Stamping". Включите прерывания IRQ_2 (RX_START) и IRQ_3 (TXRX_END). По окончании приёма пакета запускайте перестройку на следующую частоту и запускайте в приёмном МК таймер, который тикает до значения T. В момент начала приёма нового пакета этот таймер останавливется (а лучше - перезапускается). Зачем нужен таймер? Если на новой частоте нет приёма, то IRQ_2 (RX_START) не произойдет, таймер дотикает до T, и можно считать что пакет был утерян и начинать перестравиаться на новую частоту, чтобы успеть это завершить к началу следующего пакета.
  17. В таком случае нужно перестроиться по частоте мегагерц на 10 и связь должна появиться. Судя по всему, запас по скорости у Вас есть. Можете попробовать добавить перестройку частоты в каждую паузу, чип перестраивается быстро (см значение t PLL_CH_SW). Если приёмник и передатчик стационарны - можно ещё дополнительно запоминать "не рабочие" частоты и их игнорировать при перестройке.
  18. Все три ВЧ порта по постоянному току развязаны от подключаемых к ним цепей?
  19. Такая линия называется "симметричная двухпроводная линия". Первый раз вижу, чтобы её использовали на высоких частотах. Калькуляторы: https://3g-aerial.biz/onlajn-raschety/dopolnitelnye-raschety/raschet-simmetrichnoj-linii https://hamwaves.com/zc.circular/en/index.html https://www.easycalculation.com/engineering/electrical/parallel-wire-impedance-calculator.php
  20. По идее разработчики модема считали усиление в его тракте исходя из динамического диапазона. Поэтому дополнительный МШУ имеет смысл ставить только в одном случае - если перед ним есть узкополосный фильтр. Иначе вместе с полезным сигналом усиливаются и все внеполосные сигналы, которые "забьют" приём (ключевые слова: динамический диапазон по блокированию (BDR) и однодецибельная точка компрессии по входу (IIP1)) или рождённые в приёмном тракте гармоники и их комбинации ухудшат сигнал/шум приёма (ключевые слова: динамический диапазон свободный от помех (SFDR) и точка пересечения интермодуляционных составляющих третьего порядка по входу (IIP3)).
  21. Если в наличии только резисторы, то можно пассивный аттенюатор с разными импедансами собрать. При идеальном согласовании на 25 и 50 Ом его номинал не менее 7,5дБ. Но для тестов можно и не идеально согласовать, а просто поставить аттенюатор на 35Ом 3дБ. S11 и S22 менее -11дБ получаются.
  22. Совсем по-простому - один вывод - резистор 25Ом на землю, второй вывод - через LC цепь трансформации импедансов (вот онлайн калькулятор). Или можно взять ETC1-1-13 (аналог TC1-1-13) - ходовой балун, всегда в наличии в магазинах был. Это для тестов, а для рабочего варианта - бывают балуны на 433МГц, которые кроме согласования ещё и функцию входного полосового фильтра пытаются выполнять (0433BM15A0001E, 0433BM41A0019, BALFLB-WL-08D3, BALFLB-WL-09D3 и подобные), может и для вашего модема что-нибудь подойдёт. В любом варианте - не забудьте по развязаться конденсаторами по постоянному току.
  23. Вспомнилась серия статей про минимальный размер прошивки для мигания светодиодом на AVR. Начали с 24 байт и дошли до 0, оставив только настройку фьюзов. Маленький Hello World для маленького микроконтроллера — в 24 байта (и чужое решение в 12 байт) Где предел минимального Hello World на AVR? (ужали до 2х байт) Предел минимального Hello Word на AVR составляет 0 бит
×
×
  • Создать...