Jump to content
  • ×   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.

  • Сообщения

    • Добавил настройку, но ни чего не поменялось. void Init_ADC_DMA(void) { uint32_t pin; // Включаем тактирование GPIOA, AFIO, ADC1 RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_AFIOEN | RCC_APB2ENR_ADC1EN; RCC->CFGR |= RCC_CFGR_ADCPRE_DIV8; //Предделитель АЦП 72/6 = 12 МГц // Очистим настройки пинов. Нулевое значение соответствует Input Analog GPIOA->CRL &= ~( GPIO_CRL_CNF0 | GPIO_CRL_MODE0 | GPIO_CRL_CNF1 | GPIO_CRL_MODE1 | GPIO_CRL_CNF5 | GPIO_CRL_MODE5 | GPIO_CRL_CNF6 | GPIO_CRL_MODE6 | GPIO_CRL_CNF7 | GPIO_CRL_MODE7 ); // Настройка DMA1 RCC->AHBENR |= RCC_AHBENR_DMA1EN; // Включаем тактирование DMA1 // Deinit DMA1 Channel1 DMA1_Channel1->CCR &= ~DMA_CCR1_EN; // Отключаем DMA1 CH1 //DMA1_Channel1->CCR = 0; // Reset DMA1 Channel1 control register DMA1->IFCR |= DMA_ISR_GIF1 | DMA_ISR_TCIF1 | DMA_ISR_HTIF1 | DMA_ISR_TEIF1; // Reset interrupt pending bits for DMA1 Channel1 // Настраиваем DMA DMA1_Channel1->CNDTR = ADC_COUNT; // Количество передаваемых данных DMA1_Channel1->CPAR = (uint32_t) &(ADC1->DR );// Адрес перифирии DMA1_Channel1->CMAR = (uint32_t) arrSignal; // Адрес памяти DMA1_Channel1->CCR |= DMA_CCR1_MINC // Инкремент памяти | DMA_CCR1_PSIZE_0 // Режим периферии 16 бит | DMA_CCR1_MSIZE_0 // Режим памяти 16 бит | DMA_CCR1_PL_1 // Channel Priority level hight | DMA_CCR1_CIRC // Circular mode | DMA_CCR1_TEIE // Transfer error interrupt enable | DMA_CCR1_TCIE; // Transfer complete interrupt enable DMA1_Channel1->CCR |= DMA_CCR1_EN; // Включаем DMA1 Channel3 // Очистим настройки ADC1 ADC1->CR1 = 0; ADC1->CR2 = 0; ADC1->SMPR2 = 0; ADC1->SQR1 = 0; ADC1->SQR2 = 0; ADC1->SQR3 = 0; // Настраиваем ADC1 ADC1->CR1 |= ADC_CR1_SCAN; // Scan mode ADC1->CR2 |= ADC_CR2_CONT; // Continuous Conversion ADC1->CR2 |= ADC_CR2_DMA; // DMA mode ADC1->CR2 |= ADC_CR2_TSVREFE; // Temperature Sensor and VREFINT Enable ADC1->CR2 |= ADC_CR2_EXTSEL; ADC1->CR2 &= ~ADC_CR2_ALIGN; // Data Alignment ADC1->SQR1 |= ((uint32_t)(ADC_COUNT - 1) << 20); // Сканируем 6 каналов (6-1 = 5) // Настройка семплирования. Номер канала совпадает с номером пина ADC1->SMPR2 |= ADC_SMPR2_SMP0; // Channel 0 Sample time selection 111: 239.5 cycles ADC1->SMPR2 |= ADC_SMPR2_SMP1; // Channel 1 Sample time selection 111: 239.5 cycles ADC1->SMPR2 |= ADC_SMPR2_SMP5; // Channel 2 Sample time selection 111: 239.5 cycles ADC1->SMPR2 |= ADC_SMPR2_SMP6; // Channel 3 Sample time selection 111: 239.5 cycles ADC1->SMPR2 |= ADC_SMPR2_SMP7; // Channel 4 Sample time selection 111: 239.5 cycles ADC1->SMPR1 |= ADC_SMPR1_SMP16; // Channel 5 Sample time selection 111: 239.5 cycles // Настройка пинов pin = 0x00; ADC1->SQR3 |= (pin << (5 * 0)); // Pin0 pin = 0x01; ADC1->SQR3 |= (pin << (5 * 1)); // Pin1 pin = 0x06; ADC1->SQR3 |= (pin << (5 * 2)); // Pin5 pin = 0x07; ADC1->SQR3 |= (pin << (5 * 3)); // Pin6 pin = 0x05; ADC1->SQR3 |= (pin << (5 * 4)); // Pin7 pin = 0x10; ADC1->SQR3 |= (pin << (5 * 5)); // Pin16 - Температурный сенсор ADC1->CR2 |= ADC_CR2_ADON; // A/D Converter ON / OFF // Обнуляем калибровку ADC1->CR2 |= ADC_CR2_RSTCAL; while (ADC1->CR2 & ADC_CR2_RSTCAL); //запускаем калибровку и ждем ее завершение ADC1->CR2 |= ADC_CR2_CAL; while (ADC1->CR2 & ADC_CR2_CAL); ADC1->CR2 |= ADC_CR2_EXTTRIG; //ADC_CR2_SWSTART; //ADC1->CR2 |= ADC_CR2_DMA; // DMA mode ADC1->CR2 |= ADC_CR2_SWSTART; }  
    • Если на входы поступает постоянка, поставь плёночные конденсаторы, решишь и проблему(керамические конденсаторы), и ещё больше улучшишь качество. С1, С2, С3 и С4.
    • Тогда из всего вышесказанного на предыдущих двух страницах остаётся только это: Отсюда вывод: Что-то не так с усилителем для наушников или с подключением к нему. Ну не можете вы слышать шумы с уровнем за -90 дБ (как в ваших файлах - примерах). Например, выходное сопротивление темброблока оказалось таким, что у усилителя возрос уровень собственного шума. Что-то где-то как-то так соединилось,  что на вход усилителя попёрли наводки. Особенно если вы говорите не о шумах, а о фоне 50 - 100 Гц.  Или тупо он подвозбуждается при подключении к темброблоку... Измерьте всё-таки коэффициент передачи темброблока при средних положениях регуляторов АЧХ. Посмотрите сигнал на входе усилителя и на его выходе при полностью собранной системе - с линейного выхода компьютера - темброблок - усилитель - наушники.  Сигнал подавать не надо, смотрите шумы, подключая вход звуковой карты к указанным точкам. Прямо так, не разбирая соединения, параллельно. Если конечно выход на наушники к "корпусу" привязан, а не "плавающий".
    • позже скину подробное фото - ес будете повторять - учтите промахи - я слишком близко расположил некоторые детали - пожадничал на плате) позже до собираю-докуплю запчасти -скину с тгр фотки .
    • а что может быть с моими наушниками не так?) да, слушал, конечно. когда музыка играет все прекрасно, "шшшш" не слышно, все регулируется. как только тишина, слушаешь змей. это в наушниках. в колонках тоже слушал, но по-моему не пробовал регулировать тембр или басс.
    • Скорее наоборот, был подключен правильно к исправному проверенному оборудованию, потому и не шумел. А может наоборот, был подключен так, что не был подключен совсем, потому и не шумел.   Опять половина текста между строк провалилась... Вы слушали шумы, или музыку? Вы вообще хоть раз пробовали подключить к звуковой карте и послушать, как звучит? Звук, музыку, запись. На нормальной для вас громкости.
    • Косяки конечно видны (не туда дорожки заведены) но судя по осциллограмме работает. Если напрягает шум, то можно попробовать разные ништяки в виде замедления скорости открытия-закрытия\RC-цепи исток-сток\ёмкости на ноги транзисторов по питанию. Ферритовые бусинки туда же.  
×
×
  • Create New...