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

7tudent

Members
  • Постов

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

  • Посещение

Электроника

  • Стаж в электронике
    1-2 года

Достижения 7tudent

Новичок

Новичок (1/14)

  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

1

Репутация

  1. На фото, на втором канале осциллографа и есть сигнал MUTE. И реакции на него никакой нет. Ресет надо держать всего 64 периода, у меня это выдерживается.
  2. 7tudent

    Старт AD1852

    Добрый день! Столкнулся с такой проблемой: после запуска AD1852, некоторое время (судя по всему время групповой задержки) ЦАП выдает какой то мусор. Это если ее запускать после сброса питания. А если перезапускать, то в самом начале появляются фрагменты сигнала, который передавался ранее. Может я как то не так начинаю передачу данных? Пытался использовать MUTE - не помогло. На фото - передаваемый сигнал и уровень сигнала MUTE. После снятия сигнала RESET - сразу появляется мусор на выходе, независимо от уровня MUTE. На ЦАП подаю 128 нулей, а потом синусоиду. Сигнал RESET устанавливаю сразу после передачи первого нуля в ЦАП.
  3. Добрый день! Подскажите пожалуйста, как будет вести себя ЦАП при отключенном аналоговом питании и включенном цифровом? Конкретно имею ввиду AD1852, в даташите на эту тему информации нет, но есть мнение, что ЦАП может сгореть или работать неправильно.
  4. Добрый день! Столкнулся с такой проблемой: рассчитал в матлаб режекторный фильтр с одинарной точностью, реализую его на STM32F429 и как то получается, что выходной результат зашкаливает. На вход фильтра подаю случайное число с наложенной на него маской 0xFFFFFF (RND&0xFFFFFF), на выходе надеюсь получить тоже 24 бита, так как ЦАП у меня 24-битный. В реальности на выходе получается белый шум. Если на вход накладывать маску 0x3FFFFF, то получается нормальная характеристика. Или с тем же успехом можно сдвигать результат на 2 бита. Объясните пожалуйста, почему так происходит? Реализую вот так: struct { float a0; float a1; float a2; float b1; float b2; int k; int k1; int k2; float X[4]; float Y[4]; int Y1; } NotchedFilter; в прерывании I2S //выдаю данные hsai_BlockA1.Instance->DR = noise.NotchedFilter.Y1; hsai_BlockA1.Instance->DR = noise.NotchedFilter.Y1; //считаю следующий отсчет // noise.NotchedFilter.Y[noise.NotchedFilter.k] = noise.NotchedFilter.a2*noise.NotchedFilter.X[noise.NotchedFilter.k2] + // noise.NotchedFilter.a1*noise.NotchedFilter.X[noise.NotchedFilter.k1] + noise.NotchedFilter.a0*noise.NotchedFilter.X[noise.NotchedFilter.k] - // noise.NotchedFilter.b1*noise.NotchedFilter.Y[noise.NotchedFilter.k1] - noise.NotchedFilter.b2*noise.NotchedFilter.Y[noise.NotchedFilter.k2]; noise.NotchedFilter.Y[noise.NotchedFilter.k] = noise.NotchedFilter.a2*(noise.NotchedFilter.X[noise.NotchedFilter.k2] + noise.NotchedFilter.X[noise.NotchedFilter.k]) + noise.NotchedFilter.a1*(noise.NotchedFilter.X[noise.NotchedFilter.k1] - noise.NotchedFilter.Y[noise.NotchedFilter.k1]) - noise.NotchedFilter.b2*noise.NotchedFilter.Y[noise.NotchedFilter.k2]; noise.NotchedFilter.Y1 = noise.NotchedFilter.Y[noise.NotchedFilter.k];//оптимизировал а0=а2, а1=b1 noise.NotchedFilter.k = (noise.NotchedFilter.k + 1)&BUFFMASK; noise.NotchedFilter.k1 = (noise.NotchedFilter.k - 1)&BUFFMASK;//посчитали индекс Xk-1 noise.NotchedFilter.k2 = (noise.NotchedFilter.k - 2)&BUFFMASK;//посчитали индекс Xk-2
  5. Спасибо! У AD1852 тоже самое написано на первой странице
  6. AD1852 и CS4344 http://www.analog.com/media/en/technical-documentation/data-sheets/AD1852.pdf https://www.cirrus.com/cn/pubs/proDatasheet/CS4344-45-48_F2.pdf
  7. Обратная связь. Если напряжение на выходе превысит 5 вольт, приоткроется TL431, светодиод оптопары загорится, приоткроет транзистор оптопары. На входе COMP повысится напряжение, уменьшится ширина импульса, в результате выходное напряжение уменьшится до 5 вольт.
  8. Добрый день! Никак не могу понять, как кодируется отрицательные значения аудио ЦАП (AD1851, CS4344). Я имею в виду, если подать на данные ЦАП код 0x000000, то на выходе будет 0 вольт, если подать 0x0000FF, то на выходе будет некое напряжение, больше нуля. А что какой код надо подать, чтобы получить отрицательное напряжение??? И главное, как это описано в даташите, я ни слова про это не нашел.
×
×
  • Создать...