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

Vladimir_T

Свой
  • Постов

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

  • Посещение

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


  1. Здравствуйте, причина отсутствия сигнала была в том, что был не пропаян вход! Плата с горячим лужением, видно пастой не пропаялась, после ручной пропайки - все пошло. Но вопрос согласования импедансов требует тщательного подхода...
  2. Вопрос согласования - это шибко сложный, параметры можно получить только косвенно. Сигнал Iconst задает постоянный ток 58 - 62 мА. Сигнал подается через дроссель, при отладке ВЧ-модулятора, она отпаяна.
  3. Благодарю за критику и желание помочь. Разделительный конденсатор по входу есть, он на выходе синтезатора ФАПЧ. Через фильтры - сигнал контроля. Фильтры - пока отрежу. Позже номиналы пересчитаю. Это же фотоника: симбиоз электроники, лазеров и фотоприемников. Поэтому лазеру нужен ВЧ-модулятор на ВЧ-усилителе. Многие решения из радиоприема применяются: гетеродинирование, смесители, обработка сигналов. Это все работает в образце, сделал сделал следующий вариант - получился пока нерабочий.
  4. Нельзя же быть таким категоричным...
  5. Благодарю за внимание к моему вопросу. Прикрепил файлы проекта. Плата 2-х сторонняя на обоих слоях сплошные полигоны. Два варианта плат сделаны, одна - как копия из КИТа, вторая для встраивания в узел, топологии однотипные.
  6. По AD8353

    Здравствуйте, уважаемые коллеги, подскажите по AD8353. Сделал плату, питание 5В, частота на входе 400 - 600 МГц, потребление в норме, трассировка из тех. описания. Сигнала на выходе - нет (есть автогенерация на уровне - 2МГц/ 100 мВ). В описании написано, что индуктивность не нужна (стр. 15). Figure 40 shows the schematic of the AD8353 evaluation board. Note that L1 is shown as an optional component that is used to obtain maximum gain only when VP = 3 V Что ей не хватает для работы?
  7. Про TIM8 STM32F722

    Благодарю за критику! Это только отладочный момент. Проект перетек из 4-го семейства на 7-е. На 4-м пользовался SPL. Для 7-го библиотеку SPL не нашел. Если есть, то пришлите ссылку. У TIM8 CH4 комплементарного выхода, потому регистр BDTR игнорировал, беспечность подвела. TIM8->BDTR |= TIM_BDTR_MOE; // Main output enable. OC output are enabled if their respective enable bits are set Теперь работает.
  8. Про TIM8 STM32F722

    C CubeMX также не работает. Думал, что комплементарность нужно настроить, но CubeMX тоже без нее обходится.
  9. Про TIM8 STM32F722

    Здравствуйте, уважаемые коллеги, подскажите в чем может быть дело. Настраиваю TIM8 CH4 на выход через PC9, а на выходе сигнала нет. В отладчике KEIL проверил: периферия конфигурируется, таймер стартует, счет идет, но на выходе порта - сигнала нет. Какую еще инициализацию нужно TIM8 для формирования простого миандра? void MX_TIM8_Init(u32 Period) { htim8.Instance = TIM8; htim8.Init.Prescaler = 0; htim8.Init.CounterMode = TIM_COUNTERMODE_UP; htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; HAL_TIM_Base_Init(&htim8): // RCC peripheral clock enabling TIM8->CR1 |= TIM_COUNTERMODE_UP; TIM8->CR1 |= TIM_CLOCKDIVISION_DIV1; TIM8->CCMR2 |= TIM_CCMR2_OC4M_0 | TIM_CCMR2_OC4M_1 | TIM_CCMR2_OC4M_2; TIM8->PSC = 0; TIM8->CCER |= TIM_CCER_CC4E; TIM8->ARR = Period; TIM8->CCR4 = Period / 2; TIM8->SR = 0x0000; HAL_TIM_MspPostInit(&htim8); TIM8->CR1 |= TIM_CR1_CEN; } // MX_TIM8_Init(void) void HAL_TIM_MspPostInit (void) { __HAL_RCC_GPIOC_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_9; // PC9 ------> TIM8_CH4 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF3_TIM8; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); } // HAL_TIM_MspPostInit (void)
  10. Здравствуйте, уважаемые специалисты, в фирме "ПСБ - технологии" имеются экраны для ВЧ-модулей для пайке их на печатных платах. Это полезные изделия, но как их паять на плате (чем), а также требования к плате (посадочному месту) - нигде не найду: 1. Можно ли паять их в туннельной печи вместе с остальными компонентами на пасту? 2. Возможно ли их паять экраны легкоплавким припоем после настройке модуля феном? 3. Возможно ли их паять экраны жидким припоем (галистаном) после настройке модуля? Пробные эксперименты подтвердили эту идею, но прочность соединения - не высокая. Заранее благодарен за советы из практики и статьи.
  11. Какие они молодцы! Далеко продвинулись. А я буду пробовать установить управляемую транзистором нагрузку для ЛФД. Должно получиться, по результатам напишу.
  12. Благодарю за ответы. Разварить ТИУ вместе с кристаллом ЛФД мне не осилить, а без этого приема у меня ТИУ возбуждался, ведь приходится работать с полезным сигналом на уровне темновых токов ЛФД. Поэтому принята схема оптоэлектронного смесителя: принимается модулированный сигнал, подводится сигнал гетеродина (1 - 1.2 ГГц), а на выходе сигнал ПЧ (100 кГц). Поэтому при грамотном согласовании ЛФД с нагрузкой, думаю, что удастся поднять уровень полезного сигнала ПЧ. Сам ЛФД имеет емкостной характер, думаю, что если его скомпенсировать, тогда на нагрузке сигнал бы вырос ?!
  13. Видимо я не четко сформулировал вопрос. Мне нужно согласовать ЛФД, на которые нет рекомендаций, в отличие от HSMS-286.
  14. Благодарю за статью, но без регистрации ее не дадут прочесть.
  15. Здравствуйте, уважаемые коллеги, фирма Avago для своих диодов HSMS-286 приводит наглядные примеры для согласованных нагрузок детекторов на этих диодах. Когда лавинный фотодиод (ЛФД) работает в качестве оптоэлектронного смесителя, при работе с малыми оптическими (ВЧ-модулированными) сигналами, очень важно точно согласовать его с нагрузкой, чтобы получить максимальный полезный сигнал. Нет ли статей, чтобы разработать управляемую нагрузку для компенсации реактивной составляющей ЛФД?
  16. А где почитать о таких преобразованиях? Насколько сложно оно в реализации? Центральная частота важна, конечно. Но ради лучшей ФЧХ, пришел к мнению, чтобы расширить полосу, пусть ПЧ будет сбоку - главное, чтобы фазовый сдвиг был постоянным, который можно скомпенсировать при калибровке.
  17. Приложил схему ПФ для F0 = 3 кГц, а для 30 кГц думал сделать по подобию, но требования по ФЧХ ужесточил. За программу благодарю. ПФ.pdf
  18. Благодарю за советы. Этим сервисами я пользовался, пока пускали. Была предложена модель, как каскадное включение двух ФНЧ. АЧХ полосового фильтра - идеальная, но вот с фазой в полосе - не важно. На образцах много раз проверено - все нормально, не считая того, что номиналы на плате пришлось скорректировать на 15%. А вот фазовые искажения не дают покоя: зависят от температуры, и частоты в полосе.
  19. Здравствуйте, уважаемые коллеги, подскажите из своего опыта полосовой фильтр (ПФ) с минимальными фазовыми искажениями. Параметры фильтра: F0=30 кГц, полоса пропускания - 1 кГц, неравномерность в полосе пропускания - до 2 дБ, крутизна АЧХ - 20 дБ/октаву. В книге Джонсона говорится о биквадратных и эллиптических ПФ, именно у фильтров такого типа наименьшие фазовые искажения. Буду очень благодарен за советы или модель для симуляции.
  20. Здравствуйте, прочел много всего, но не нашел ответа на вопрос как, управлять сигналом DTR на м/с CP21xx (в документации не нашел команд). Я вижу, что при программировании МК он используется, а мне нужно его для управления реле. Если можно, дайте ссылку. Заранее благодарен.
  21. Здравствуйте, уважаемые коллеги, причина была в неверном выбранном источнике тактирования, нужен был TIM2 TRGO, а ставил TIMER2 CH2. Сейчас вроде все по задумке идет...
  22. Здравствуйте, уважаемые коллеги, прошу подсказать где моя ошибка. Создал две регулярные группы, по единственному каналу в каждой, каждая группа работает на свой АЦП. Сконфигурировал АЦП1 и АЦП2 в Dual Mode, с тем, чтобы результат преобразования из общего регистра CDR или регистров данных DR обоих АЦП через ПДП передавать в память. По окончании передачи блока по прерыванию от DMA_LISR_TCIF0, формируется флаг готовности данных для дальнейшей расчетной задачи. При данных настройках данные в памяти переносятся только один раз. Если разрешаю прерывания по флагам EOC в АЦП, то прерывание отрабатывается также один раз. В чем тут дело? До этого использовал инжекционные группы, и все получалось, а с регулярными - не идет. /********************************************************************* void ADC_DMA_Init (void) *********************************************************************/ void ADC_DMA_Init(void) { SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_DMA2EN); // DMA controller clock enable HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 0, 0); // DMA interrupt init */ HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn); // DMA2_Stream0_IRQn interrupt configuration HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0); // DMA2_Stream2_IRQn interrupt configuration HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); DMA2_Stream0->PAR = (uint32_t)&(ADC1-> DR); // DMA stream x peripheral address register DMA2_Stream0->NDTR = 256; // DMA stream x number of data register DMA2_Stream0->M0AR = (uint32_t)&ADC_FA; // ADC_FA.Buff [0] DMA2_Stream0-> CR = 0; // Clear CR DMA2_Stream0-> CR = DMA_SxCR_MINC | DMA_SxCR_TCIE | DMA_SxCR_MSIZE_0 | DMA_SxCR_PSIZE_0 | DMA_SxCR_PL | DMA_SxCR_EN; // Inc Mem, 16bit | DMA_SxCR_TEIE DMA2_Stream2->PAR = (uint32_t)&(ADC2-> DR); /*< DMA stream x peripheral address register */ DMA2_Stream2->NDTR = 256; /*!< DMA stream x number of data register */ DMA2_Stream2->M0AR = (uint32_t)&ADC_FA + 512; DMA2_Stream2-> CR = 0; // Clear CR DMA2_Stream2-> CR = DMA_SxCR_CHSEL_0 | DMA_SxCR_MINC | DMA_SxCR_TCIE | DMA_SxCR_MSIZE_0 | DMA_SxCR_PSIZE_0 | DMA_SxCR_PL | DMA_SxCR_EN; // Inc Mem, 16bit | DMA_SxCR_TEIE } // ADC_DMA_Init(void) /********************************************************************* void Daul_ADC_DMA_Init(void) *********************************************************************/ void Daul_ADC_DMA_Init(void) { RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; // разрешение тактирования АЦП 1 RCC->APB2ENR |= RCC_APB2ENR_ADC2EN; // разрешение тактирования АЦП 2 NVIC_ADC_Init(); // Инициализация вектора прерываний NVIC ADC1->CR1 = 0; // Сброс в управляющих регистрах ADC1->CR2 = 0; ADC2->CR1 = 0; ADC2->CR2 = 0; ADC1->SMPR2 = 0; // время выборки 3 цикла ADC_SAMPLETIME_3CYCLES ADC2->SMPR2 = 0; // время выборки 3 цикла ADC_SAMPLETIME_3CYCLES ADC1->SQR1 = 0x00000000; //0b0000000000000100000000000000000; // ADC1->SQR3 = 0x00000002; //0b00000000000000000001100000000000; // канал 2 посл. рег. каналов АЦП1 ADC2->SQR3 = 0x00000003; //0b00000000000001000000000000000000; // канал 3 посл. рег. каналов АЦП2 ADC1->CR2 = ADC_CR2_EXTEN_0 | ADC_CR2_EXTSEL_0 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_3 | ADC_CR2_CONT; // источник запуска Timer 2 TRGO ADC2->CR2 = ADC_CR2_EXTEN_0 | ADC_CR2_EXTSEL_0 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_3 | ADC_CR2_CONT; // источник запуска Timer 2 TRGO ADC123_COMMON->CCR = 0; // Очистка битов режимов ADC123_COMMON->CCR |= ADC_CCR_MULTI_1 | ADC_CCR_MULTI_2 | ADC_CCR_DMA_1; // Dual Mode/ Режим совместной работы, одновременное преобразование 2-х регулярных каналов (00110) // ADC1->CR1 |= ADC_CR1_EOCIE; // Разрешение от АЦП // ADC2->CR1 |= ADC_CR1_EOCIE; // Разрешение от АЦП ADC_DMA_Init(); ADC1->CR2 |= ADC_CR2_ADON; // Запуск каналов АЦП в непрерывном режиме ADC2->CR2 |= ADC_CR2_ADON; // Запуск каналов АЦП в непрерывном режиме } // Daul_ADC_DMA_Init(void)
  23. Проверил на "иголках", по вашей методике, конечно, джиттер не обнаружен. Теперь я уверен в обеспечении временных диаграмм. XMC4xxx - хороший и развитый процессор. Часто используется элементная база из предыдущих проектов - для унификации и стандартизации. Благодарю Всех за помощь и ценные советы.
  24. Вы правы, есть вариант с обработкой только одного ADC1 - ведущего, но для большей пунктуальности привел вариант для обработки обоих АЦП. Но оба варианта по времени джиттера - равнозначны.
×
×
  • Создать...