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

arhiv6

Свой
  • Постов

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

  • Посещение

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


  1. У того же Minicircuits-а есть 90-градусные НО, в том числе малогабатирные (серия QCN-*) https://www.minicircuits.com/WebStore/90_180_degree_hybrid.html?interface=SMT&description=90° Hybrid&freqLow=500&freqHi=500
  2. Есть такие, и даже на большие мощности. Проще всего на digikey в разделе ВЧ ключей выбрать тип SPDT и отсортировать по уменьшению OIP3: https://www.digikey.com/short/4jt033cb . И прямо сверху списка все позиции проверять на доступность в ваших магазинах.
  3. Можно попробовать принять сигнал на RTL-SDR, подключенный к Matlab/Simulink/GNU Radio, демодулировать и посмотреть как меняется сигнальное созвездие при увеличении мощности. Это обычные интермодуляционные искажения третьего порядка. Они появляются не с какого-то уровня, они есть всегда. Просто при увеличении мощности в 2 раза (на 3дБ) их уровень относительно основного тона увеличиваются в два раза быстрее: на 6дБ. Поэтому некорректно говорить, что с какого-то уровня "начинает портиться нелинейность".
  4. Проще всего, если пакеты на передачу всегда фиксированной длинны. Если нет - то это сложнее, пока для тестов можно просто передавать с интервалом, равным длинне самого большого пакета. К этому времени добавьте время перестройки 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, и можно считать что пакет был утерян и начинать перестравиаться на новую частоту, чтобы успеть это завершить к началу следующего пакета.
  5. В таком случае нужно перестроиться по частоте мегагерц на 10 и связь должна появиться. Судя по всему, запас по скорости у Вас есть. Можете попробовать добавить перестройку частоты в каждую паузу, чип перестраивается быстро (см значение t PLL_CH_SW). Если приёмник и передатчик стационарны - можно ещё дополнительно запоминать "не рабочие" частоты и их игнорировать при перестройке.
  6. Все три ВЧ порта по постоянному току развязаны от подключаемых к ним цепей?
  7. Такая линия называется "симметричная двухпроводная линия". Первый раз вижу, чтобы её использовали на высоких частотах. Калькуляторы: 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
  8. По идее разработчики модема считали усиление в его тракте исходя из динамического диапазона. Поэтому дополнительный МШУ имеет смысл ставить только в одном случае - если перед ним есть узкополосный фильтр. Иначе вместе с полезным сигналом усиливаются и все внеполосные сигналы, которые "забьют" приём (ключевые слова: динамический диапазон по блокированию (BDR) и однодецибельная точка компрессии по входу (IIP1)) или рождённые в приёмном тракте гармоники и их комбинации ухудшат сигнал/шум приёма (ключевые слова: динамический диапазон свободный от помех (SFDR) и точка пересечения интермодуляционных составляющих третьего порядка по входу (IIP3)).
  9. Если в наличии только резисторы, то можно пассивный аттенюатор с разными импедансами собрать. При идеальном согласовании на 25 и 50 Ом его номинал не менее 7,5дБ. Но для тестов можно и не идеально согласовать, а просто поставить аттенюатор на 35Ом 3дБ. S11 и S22 менее -11дБ получаются.
  10. Совсем по-простому - один вывод - резистор 25Ом на землю, второй вывод - через LC цепь трансформации импедансов (вот онлайн калькулятор). Или можно взять ETC1-1-13 (аналог TC1-1-13) - ходовой балун, всегда в наличии в магазинах был. Это для тестов, а для рабочего варианта - бывают балуны на 433МГц, которые кроме согласования ещё и функцию входного полосового фильтра пытаются выполнять (0433BM15A0001E, 0433BM41A0019, BALFLB-WL-08D3, BALFLB-WL-09D3 и подобные), может и для вашего модема что-нибудь подойдёт. В любом варианте - не забудьте по развязаться конденсаторами по постоянному току.
  11. Вспомнилась серия статей про минимальный размер прошивки для мигания светодиодом на AVR. Начали с 24 байт и дошли до 0, оставив только настройку фьюзов. Маленький Hello World для маленького микроконтроллера — в 24 байта (и чужое решение в 12 байт) Где предел минимального Hello World на AVR? (ужали до 2х байт) Предел минимального Hello Word на AVR составляет 0 бит
  12. Про ZG9361 не знаю, но слышал про другие клоны: MXT9361/B9361 от BMTI. Про них писал в телеграме Эпсилон: И даташиты оттуда же: Broadband Programmable RF Transceiver.pdf Evaluation Board.pdf
  13. Это 6-й из аргументов, переданных в функцию или скрипт. Например, скрипт test.sh : #!/bin/bash echo $0 echo $1 echo $2 echo $3 при вызове ./test.sh one two three выведет: ./test.sh one two three
  14. 1) Поиск передатчика: известно время работы на одной частоте (T1) и время, за которое гарантированно хотя бы раз будут использованы все доступные частоты (T2). Приёмник начинает слушать на первой доступной частоте в течении T1+T2. За это время передатчик хоть раз на этой частоте поработает. Если приёмник за это время ничего не услышал, он переключается на следующую частоту и слушает дальше. После обхода всех N частот, через N*(T1+T2) можно или считать что передатчик не доступен, или начать всё заново. 2) Синхронизация с передатчиком: после каждой перестройки частоты передатчик передаёт пакет с со всеми данными, необходимыми для синхронизации генератора ПСП в приёмнике с генератором ПСП передатчика. Самый простой вариант, с которого стоит начать для тестирования - вместо ПСП используйте последовательный обход частот, а для синхронизации передавайте просто номер частоты, на которой передатчик будет работать после следующей перестройки.
  15. Зачем в личку, напишите сюда. Мне такой трансформатор тоже пригодится. К XT0010E15012S в своё время присматривался, но от него отказался из-за того, что нигде в наличии его ни разу не видел.
  16. Low Cost ARM for Linux

    В последних версиях даташита температурный диапазон изменили на -25...+85 °C T113-S3_Datasheet_V1.6.pdf
  17. Добрый день. Интересует, как делается документация для современных микроконтроллеров (МК), чтобы применить подобный опыт в своей работе. Вопрос можно разделить на пару частей: 1) Как обеспечивается связка описания регистров между RTL-дизайном (какие-нибудь verilog файлы у разработчиков МК) / SDK (заголовочные файлы для Си) / документацией (красивые таблицы с адресами регистров и их описанием в даташите)? Это же не вручную всё делается - есть какой-то исходный формат (какой?) описания регистров, из которого генерируется всё остальное. Вроде даже гугл выдал ссылки на подобный софт (rggen, corsair, hdl_registers, opentitan register_tool), пока изучаю. Разработчики МК используют что-то подобное? Как это хочу применить у себя: хочу упростить работу с написанием кода и документации в всоих проектах. Сейчас документация пишется в ворде, регистры описываются обычными таблицами. Потом приходится вручную по ним создавать заголовочные файлы для СИ (+ программисты FPGA по ним пишут свои верилоговские фалы). А т.к. идёт процесс разработки, всем участникам процесса приходится постоянно следить, чтобы у всех были актуальные и валидные данные о регистрах (адреса, размеры, наименования, описания и т.д.). 2) В любом случае, софт из предыдущего пункта не генерирует готовый даташит в pdf формате. На выходе получается какой-нибудь markdown или asciidoc файл, который содержит только описания регистров. Для получения полноценного Reference Manual его нужно "собрать" с остальной текстовой документацией (с описанием алгоритмов), вставить туда картинки, добавить перекрёстных ссылок и содержание, и только потом генерировать pdf. Как такое делается? Какие форматы используются для написания текстовой части документации? Какое ПО собирает всё вместе? Как это хочу применить у себя: в идеале хотелось бы уйти от ворда. Он был выбран по причине низкого порога вхождения и возможности совместить в одном документе как текстового описания с картинками, так и таблиц с описаниями регистров. Но в итоге всё равно исходники картинок (visio файлы) приходится хранить в системе контроля версий рядом с вордовским документом. Внесённые правки в этот документ нормально не посмотреть, что усложняет командную работу. Но если уходить с ворда - то куда?
  18. Для HMC1082LP4E они доступны на сайте производителя. HMC1082LP2E_de-embedded.s2p HMC1082CHIP_Sparameters.s2p
  19. Планаровские анализаторы цепей иногда использую в качестве генератора. Чтобы сигнал был непрерывным - нужно выставить измерение S11, остальные измерения отключить - так он не будет периодически отключать генератор первого порта (он отключается, пока проводится измерение со второго порта). Чтобы отключить перестройку по частоте - ставьте минимальное количество точек сканирования и минимальную полосу обзора - в идеале это будет 1 точка и 0Гц (у Планара меньше 2х точек не выставить, но при полосе 0Гц генератор работает на одной частоте и никаких прыжков по частоте нет). ИЛИ, если у прибора есть режим сканирования по мощности, можно так же оставить измерение S11 и выставить диапазон сканирования по мощности в 1 точку и 0дБ (у Планара этот режим выставляется на одной, фиксированной частоте, задаваемой пользователем). Обычно на передней панели рядом с разъёмами пишут максимально допустимый уровень входного сигнала. Сомневаюсь, что с прибором что-нибудь случится, если подать на него внеполосный сигнал с уровнем, меньше допустимого.
  20. Я ни у одного производителя не видел такого расположения мети первого контакта относительно надписи. У всех кого я знаю точка была бы под двойкой слева. А что вообще требуется? Заменить неисправный ключ? Если известен диапазон частот и полярность сигналов управления то может быть проще найти аналог?
  21. В даташите не написано, а на сайте производителя указано "Measurements are referenced to 50 Ohms". + На сайте есть S-параметры, можно в симуляторе посмотреть, как он себя ведёт при разных нагрузках.
  22. Можно перевести int во float следующей функцией: arm_q31_to_float (const q31_t *pSrc, float32_t *pDst, uint32_t blockSize) Если не сложно, напишите что получается быстрее и на сколько: arm_q31_to_float + arm_rfft_fast_f32 или arm_rfft_q15.
  23. Ещё немного производителей. У этих есть только китайские версии сайтов: Hangshun - RISC-V, ARM Cortex M0/M3, есть клоны STM32 Nation - ARM Cortex M0/M4 А у этих производителей так же есть чипы с каким-то ядром "Arm China STAR-MC1" (кто-нибудь с ним в живую уже сталкивался?): ASR Microelectronics - разные SoC c ARM Cortex M4/A7 + BLE/GPS/WiFi/LoRa MindMotion Microelectronics - ARM Cortex M0/M3, клоны STM32
  24. Вот хорошая статья про то, как правильно проверять корректность перевода строки в число функцией strtol. В конце приведён код, как корректно проверить успех этой операции. http://knzsoft.blogspot.com/2015/04/strtol-strtoll.html
×
×
  • Создать...