Jump to content
Sign in to follow this  
admin

Управление Синтезатором Частоты На Ad9850 Для Приемника/трансивера

Recommended Posts

Перестраиваемый генератор частот на основе платы DDS AD9850. В качестве управляющего устройства используется ARDUINO UNO.

2e514eebbb26df7373b5dd3a379ebb47.jpg

Ссылка на статью: http://cxem.net/cb/1-110.php

Автор статьи: http://cxem.net/profile/6694/

Share this post


Link to post
Share on other sites

Я понимаю, что этот синтезатор можно заставить выдавать любую частоту от 0 до 60 МГц. Поэтому его можно использовать в трансивере...получается очень бюджетный синтезатор. Правильно я понимаю? Или гармоник будет много на более высоких частотах? Можно этот синтезатор применить в трансивере с ПЧ 8,8 МГц (диапазон от 160 м до 10 м)?

Правда выход слабоватый наверно?

Edited by helix59

Share this post


Link to post
Share on other sites

Можно этот синтезатор применить в трансивере с ПЧ 8,8 МГц

Ну не с арудиной же...

Share this post


Link to post
Share on other sites

Тестирование литиевых батареек Fanso в нормальных условиях

Компания Компэл, эксклюзивный дистрибьютор компании Fanso, предлагает широкий перечень ЛХИТ, позволяющий подобрать элемент питания, в наибольшей степени соответствующий конкретным требованиям. Для тестирования параметров, указанных в Datasheet, специалисты Компэл организовали в апреле 2019 г. полугодовой тест на постоянный разряд в нормальных условиях четырех наиболее популярных моделей литий-тионилхлоридных и литий-диоксидмарганцевых батареек Fanso.

Посмотреть результаты первого среза

Можно этот синтезатор применить в трансивере с ПЧ 8,8 МГц

Ну не с арудиной же...

А почему? Здесь же ардуино выполняет только функции управления и коммутации...как раз ардуино не является здесь ограничением в применении данного синтезатора в радиолюбительской практике, в синтезаторе частоты

Share this post


Link to post
Share on other sites

А почему?

Я не буду говорить про программно-аппаратные минусы ардуины. Я просто напомню, что любое цифровое устройство внутри радиоприемника/трансивера нужно подключать по определенным правилам. Это синфазные трансформаторы в цепях питания и в сигнальных цепях, RLC фильтры, правильная трассировка общего провода на платах и правильное подключение тех же общих проводов между блоками и источником питания. Много "земли" на платах, и желательно на платах двухсторонних. Короче, эту ардуину чтобы засунуть в радиоприемное устройство, ее надо перепахать вдоль и поперек, так что сделать новую правильную плату с пик или авр микроконтроллером будет значительно проще, чем извращаться с арудиной.

Share this post


Link to post
Share on other sites

Новое бюджетное семейство микроконтроллеров STM32G0 и планы его развития

Семейство STM32G0 сочетает в себе лучшие качества представителей семейств STM32F0 и STM32L0 - относительно высокую производительность и низкое энергопотребление. Модели STM32G0 имеют упрощенную схему питания, улучшенную периферию, систему тактирования и быстрые порты в/в, доп.средства защиты ПО, повышенную устойчивость к статическим разрядам, широкий ассортимент корпусов, обновленные пакеты библиотек для STM32CubeMX. STMicroelectronics планирует развивать новое семейство.

Подробнее...

Я понимаю, что этот синтезатор можно заставить выдавать любую частоту от 0 до 60 МГц. Поэтому его можно использовать в трансивере...получается очень бюджетный синтезатор. Правильно я понимаю? Или гармоник будет много на более высоких частотах? Можно этот синтезатор применить в трансивере с ПЧ 8,8 МГц (диапазон от 160 м до 10 м)?

Правда выход слабоватый наверно?

На плате синтезатора есть ФНЧ с частотой среза 70 Мгц. Так что, с гармониками на ВЧ особых проблем быть не должно, если взять сигнал после фильтра. Выход - амплитуда 0,5В, выходное сопротивление - 100 Ом. В принципе, можно применить сигнальный трансформатор с повышением. А насчет правильного подключения цифрового устройства.. Сейчас проектирую приемник под данный синтезатор, попробую как оно, поборюсь.

Share this post


Link to post
Share on other sites

Друзья! Прошу популярно объяснить какова последовательность действий при установке частоты AD9850 по параллельному интерфейсу?

Я понял так, что на входы D0-D7 следует по очереди подать 5 байт с кодом частоты, фазы и управления...

1. Как следует отправлять байты - началом (LSB) или концом (MSB) вперёд?

2. Сигнал тактовой частоты (W_CLK) меняется с каждым битом или байтом?

3. Бит (или байт) передаётся по фронту или по спаду W_CLK? Или пофигу?

Разъясните, пожалуйста! 

Мера моей благодарности не будет иметь границ (в разумных пределах)!!! :D

Share this post


Link to post
Share on other sites

Повторил в ардуино нано...  Как вместо нижнего процента шкалы сделать индикатор тока аналоговый ? Т.е. что бы полоса росла пропорционально уровню тока ? 

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • Ну хорошо, допустим интересно и какие идеи?
    • Какую "Новую"  то? Ты же не хочешь Новой России - где все по закону. Ты же за Россию, где в столице "космонавты" избивают мирных демонстрантов во имя интересов людей с несовсем русскими фамилиями. Я реалист, а не по лесу хожу и ищу глупее себя, если ты понял о чем это. Сначала ты радуешся что всего в два раза бедней чехов, потом что всего в четыре, а потом рад что тебе барин дал всего лишь пинка, а ведь мог бы и убить, но не убил же.... - вот она радость? С какого икса мы живем беднее чехов, если совсем недавно жили богаче? С какого хрена мы живем беднее немцев, которых в 45м году в руины превратили, а что не привратили - вывезли? Ты вот про то что мне типа все ненравится возмущаешся. А какого мне не возмущаться, если я 30 лет въё.... от рассвета и до заката, платил овердохера налогов и проч... а в итоге оказалось что.... что мне тупо даже копеечную пенсию хрен. Но зато "все" возмущены тем что некто Навальный рассказал про мальчега, у которго в 4 года квартира за 500 миллионов. Может мне пойти валежник в лесу бесплатно пособирать, для, так сказать, поднятия уровня радости?
    • Разве ОМОНОвцы не народ?  
    • http://<iframe width="560" height="315" src="https://www.youtube.com/embed/meiU6TxysCg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    • А чего смотреть? Китайский клон TDA2822m там стоит. Ничего лучшего в такие "калонки" не ставят.
    • SDM30-12S5 (MEAN WELL) DC/DC 9…18V > 5v, 5A, гальваническая развязка земли - продана
    • void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm) { if(htim_pwm->Instance==TIM2) { /* USER CODE BEGIN TIM2_MspInit 0 */ /* USER CODE END TIM2_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_TIM2_CLK_ENABLE(); /* TIM2 DMA Init */ /* TIM2_CH1 Init */ hdma_tim2_ch1.Instance = DMA1_Channel5; hdma_tim2_ch1.Init.Request = DMA_REQUEST_4; hdma_tim2_ch1.Init.Direction = DMA_MEMORY_TO_PERIPH; hdma_tim2_ch1.Init.PeriphInc = DMA_PINC_DISABLE; hdma_tim2_ch1.Init.MemInc = DMA_MINC_ENABLE; hdma_tim2_ch1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; hdma_tim2_ch1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; hdma_tim2_ch1.Init.Mode = DMA_NORMAL; hdma_tim2_ch1.Init.Priority = DMA_PRIORITY_LOW; if (HAL_DMA_Init(&hdma_tim2_ch1) != HAL_OK) { Error_Handler(); } __HAL_LINKDMA(htim_pwm,hdma[TIM_DMA_ID_CC1],hdma_tim2_ch1); /* USER CODE BEGIN TIM2_MspInit 1 */ /* USER CODE END TIM2_MspInit 1 */ } } static void MX_TIM2_Init(void) { /* USER CODE BEGIN TIM2_Init 0 */ /* USER CODE END TIM2_Init 0 */ TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; /* USER CODE BEGIN TIM2_Init 1 */ /* USER CODE END TIM2_Init 1 */ htim2.Instance = TIM2; htim2.Init.Prescaler = 71; htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 500; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) { Error_Handler(); } sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 250; sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM2_Init 2 */ /* USER CODE END TIM2_Init 2 */ HAL_TIM_MspPostInit(&htim2); } /** * Enable DMA controller clock */ static void MX_DMA_Init(void) { /* DMA controller clock enable */ __HAL_RCC_DMA1_CLK_ENABLE(); /* DMA interrupt init */ /* DMA1_Channel5_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0); HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn); } /** * @brief GPIO Initialization Function * @param None * @retval None */ static void MX_GPIO_Init(void) { /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); } Вот то, что нагенерировал Куб. По-поводу использования HAL, то здесь как говорится на вкус и цвет фломастеры разные. Хотя сам я предпочитаю работать через регистры, но иногда выбор тебе не дают, т.к. там, где я работаю используют сейчас HAL, раньше использовали StdPeriph. В принципе Stm32CubeIDE - это эклипс и его тоже многие используют, как и Keil - кому как удобнее (тем более Keil бесплатен для камней до 32Кб, насколько я знаю).
×
×
  • Create New...