Jump to content

Recommended Posts

День добрый!

Сегодня хотелось бы раcсказать о своей разработке - АЦП AD-01 на преобразователе от Cirrus Logic CS5381.

Целью данной разработки было получение близких к даташитным параметрам характеристики АЦП, при этом плату имеющeю не высокую стоимость и универсальность.

На данный момент это уже третья версия платы. Первая версия была сделана ЛУТом, для отработки схемотехники АЦП. Далее последовала вторая версия на заводских платах:

wr3S6uf6vEg.thumb.jpg.2f3ef51bfd63dd082d7b1b8ebb4a9ad7.jpg

Схемотехника была взята полностью из даташитов. Стандартное включение CS5381, стабилизаторы питания в цифровой части AMS1117-3.3, в аналоговой из серии TPS7A.

Схемотехника входного буфера взята из даташита на OPA1632.

После опробования данной платы, были выявлены некоторые недочеты и разработана третья версия версия:

DSC_8214-1.thumb.jpg.0ba81522a44b84103e88f81b59ba3197.jpg

 

Входной буфер сделан для 2х вариантов: с конденсатором и без, для чего на ПП предусмотрены соответствующие площадки.

20180412-05.thumb.JPG.3a9b42f59af29714de84659939145e62.JPG

Топология такого буфера позволяет без переделок проводить замеры/запись как балансного сигнала так и не балансного, достаточно вывод 3 посадить на землю (2). Это достаточно удобно, для различных типов сигнала достаточно иметь 2 пары кабелей с различной распайкой.

Питание аналоговой части сделано на малошумящих стабилизатора TPS7A4901 и TPS7A3001.

20180412-04.thumb.JPG.02bb5da14d626335e94ea1f934628543.JPG

Питание цифровой части на 2х AMS1117-3.3В, схему нет смысла приводить, она из даташита на стабилизаторы.

На плате всего 1 генератор на 512fs (24.576 Мгц). Такая частота выбрана не случайно, для работы SPDIF передатчика необходимо иметь частоту мастерклока не ниже 256fs для работы на частоте 96к, я использую передатчик на WM8805 (о этой плате чуть ниже). В качестве интерфейса на компьютере я использую ЗК E-MU 0404 PCIe.

Полная схема преобразователя:

20180412-02.thumb.JPG.09c72e940f0e87159420326637cf44f6.JPG

На плате присутствует место под DIP переключатель, для настройки режимов работы АЦП. Выход АЦП - I2S, уровни 3.3В.

Для соединения с компьютером была разработана плата SPDIF интерфейса SI-01.

DSC_9510.thumb.jpg.ba3c416b8bfc85477447c53626936b5b.jpg

Схему приводить особого смысла нет, она повторяет даташитную для WM8805 включенным в HW режиме. В этом режиме есть определенные ограничения, связанные с работой PLL, поэтому максимальная частота приёма/передачи ограничена в 96к. WM8805 позволяет работать как в Master режиме, так и в Slave, что очень удобно. Выбор режима осуществляется установкой джампера. Так же на плате присутствуют джамперы выбора питания, от ЦАП или АЦП. В качестве выходного буфера для передатчика используется 1G125.

 

Шумовая полка:

noice8.thumb.png.92193e05d405769c42286ca802bce2e8.png

В качестве источника питания пара трансформаторов с стабилизаторами 317/337, даже имея ёмкости в 10000 мкФ полностью подавть 50Гц и гармоники пока не удалось, возможно проблема в корпусе и компоновке.

Замер моего ЦАПа на 4490, к сожалению не обошлось без земляных петель, поэтому присутствует шум на уровне -125дБ и ниже.

thd5.thumb.png.9404bed17b669e0848cb92bbdad461f6.png

 

Есть определенные особенности применения ИМС CS5381, скупо описанные в App Notes, позволяющие реализовать данную ИМС в двойном моно и теоретическим уровнем THD+N в -123дБ, что позволит производить оценку и замеры искажений у большинства современных ИМС ЦАП без режекторов.

В проекте плата с 2мя генераторам на сетки частот 44.1 кГц и 48 кГц, АЦП включенным в моно режимах и DSP процессором ADAU1452.

Подробную инструкцию с описание на текущую схемы и платы прикладываю.

инструкция.pdf


Евгений

Идеи, проекты, готовые девайсы: http://promservice63.ru/audio/

Share this post


Link to post
Share on other sites

Я уже собрал :)

20190119_172455.thumb.jpg.b84b33339aaa3bffb6d10e0c064a4fae.jpg

Пока борюсь с 50-500гц

5c4b2d375d9e6_2.thumb.png.5fed24075b0e2608d185e659abb5ec8b.png

10кГц с генератора

5c4b2cdf60c68_.thumb.png.d4e0ee0c58f4405526b26c1249ee220f.png

Сейчас допиливаю по совету Евгения гальваноразвязку цифровых линий на ADUM1401


Дмитрий Боков

Share this post


Link to post
Share on other sites

на плате предусмотрена интересная возможность, соединить землю возле АЦП напрямую к источнику питания, тем самым уменьшив земляные петли

DSC_8214-2.jpg.f7ffab514183b1e09114209a4ff9dfc5.jpg

При этом необходимо сделать следующее: соединить землю источника питания с платой АЦП толстым проводом в выделенную точку, землю для входных разъемов брать также с платы источника питания. Теоретически при этом замкнутого контура не должно быть, следовательно ловля помех сводится к минимуму

и землю от разъемов питания не соединять, только одним проводом из выделенной точки

Edited by maxssau

Евгений

Идеи, проекты, готовые девайсы: http://promservice63.ru/audio/

Share this post


Link to post
Share on other sites

Быстро и просто. Разработка бюджетного неизолированного источника питания на контроллере VIPer122

С помощью VIPer122 можно создавать как изолированные, так и неизолированные сетевые источники питания. Разберем самый простой и бюджетный вариант – разработку неизолированного понижающего источника питания с выходным током в несколько сотен миллиампер без трудоемких расчетов трансформаторов и компонентов обвязки.

Подробнее

12 минуты назад, maxssau сказал:

на плате предусмотрена интересная возможность

У меня собраны три отдельных стабилизатора +-12в, +9в, +5в.

Земли стабов соединяются на плате АЦП через штатные разъёмы.

Я пробовал земли стабов в эту точку, но разницы не увидел.

Правда земля входного разъёма оставалась на штатном разъёме платы АЦП.

На данный момент к этой точке присоединён корпус.

Edited by dbokov

Дмитрий Боков

Share this post


Link to post
Share on other sites

Новый ХИТ FANSO CR123A/SN

Параметры новой батарейки показывают прекрасные результаты. Она используется для приложений с повышенными импульсами тока. Широко применяется в охранно-пожарных датчиках, устройствах телеметрии, поисковых маячках, LED-фонарях и других промышленных и бытовых устройствах.

Подробнее

LED-драйверы LCM - бюджетное решение для умного дома!

Для более простого и бюджетного решения по организации управляемого освещения в здании с имеющейся системой KNX компания Mean Well предлагает готовые к использованию LED-драйверы семейства LCM/KN, управляемые по протоколу KNX. По своим техническим возможностям эти изделия похожи на драйверы из популярного семейства LCM/(DA).

Подробнее

Поставил развязку на ADUM1401

20190126_163635.thumb.jpg.2172452df9a5604af009a86f936e5247.jpg

50-500Гц стало лучше, правда шумовая полка как у автора не получается :(

5c4c6fac5e22d_3.thumb.png.5225cfaf2f89779702525e15cf828265.png

10кГц

5c4c6fadded1e_4.thumb.png.7abe9f66b65f5929f565c403121e9a77.png

подключил землю АЦП к контуру заземления

5c4c6faf8ff00_5.thumb.png.1bbd5eeeda1aadcc68e1ef2325449d86.png


Дмитрий Боков

Share this post


Link to post
Share on other sites

сделайте размер FFT 1 миллион

noice9.png.6dc98a2c2a4332645037dd0a1de547e3.png

плюс, можно усреднение сделать, 100 конечно много, 10-20 будет достаточно

noice10.png.5e4023ace0d1f7c131c8f1463e10c31a.png


Евгений

Идеи, проекты, готовые девайсы: http://promservice63.ru/audio/

Share this post


Link to post
Share on other sites

 

 

В AN331 есть интересный график:

an331.png.d2299a5b29930340a69c42170966f6ab.png

 

если снизить входной сигнал до примерно -10...-12 дБ, то THD+N будет в районе SNR, т.е. не выше шумовой полки. В следующей конструкции хочу сделать делитель на 12 дБ и компенсировать снижение сигнала в DSP, что бы на выходе получить не ослабленный сигнал.


Евгений

Идеи, проекты, готовые девайсы: http://promservice63.ru/audio/

Share this post


Link to post
Share on other sites

Собрал вот такой https://www.diyaudio.com/forums/group-buys/176416-diy-cs5381-analog-digital-converter-pcb-buy.html на базе 5381, правда еще не запускал, осталось то да се, питание, тумблеры и т.д. 

Бабосов вышло не мало... Появилась бы ваша тема раньше, собирал бы ее, вроде явно бюджетнее.

Edited by Traktorist3d

Share this post


Link to post
Share on other sites

В одно время тоже хотел купить эту плату, 100 евро показалось заоблачной ценой для Spdif. Сейчас готовится новая версия, под usb. С 2мя генераторами, переработанной аналоговой частью и скорее всего двойное моно. Будет наверное не раньше зимы. Поэтому распродам остатки, а новые заказывать не буду.


Евгений

Идеи, проекты, готовые девайсы: http://promservice63.ru/audio/

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. 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...

  • Сообщения

    • Так и 1 уже, инвалид, планки то, он не сгибается ,как мумия должен. Или снимки левые, смотри Кот, еще на пожизненный тебя подпишет Видел таких,они шею то ели  двигают,позвонки то жестко стоят
    • Прицепил один щуп осцилографа к нулю выхода а вторым пробежался по разным точкам земли - прямо между конденсаторами (мекка) имею ровную линию, если же отхожу от мекки и пробую в другом месте - вижу пульсации порядка нескольких мВ. Может ли это влиять? Лечить это я так понимаю можно сближением ног между собой либо резкой платы и использованием провода от центральной точки, верно? Заодно вытащил 3 перемычки соединяющие разные участки земли - они создавали петли земли. Сама по себе разводка земли также имеет петлю, надо ли её разрезать?
    • Конечно, наножелезка – фрухта экзотическая, зато блюдо из него изысканное выходит, хоть и недешёвое. Лучше готовить на повышенных температурах. Из астраханских  ферритов - 2000НМС9 довелось опробовать?
    • Я выкладывал фото дисплея 240*320. Но он был прикручен к прошивке Александра Павловича. Т.е. добавляется строка названия станции. В нижней части место оставалось - просто шкалу настройки сделал, чисто чтобы заполнить. Дисплей совсем не выглядит пустым. Так же опровергал утверждения о медленной загрузке. Да мало ли что можно добавить: часы, погоду, уровень заряда, уровень громкости, уровень сигнала. Недавно здесь кто-то выкладывал свой приёмник с нокиевским дисплеем, так там так плотно информацией экран забит, что теряется всякая наглядность. Почему ж не укрупниться? У меня сейчас есть другие соображения по заполнению экрана, но это будет приёмник не с RDA5807. А вообще мне надоела полемика вокруг TFT дисплеев. Остаётся только согласиться, что крупные цветные дисплеи это очень плохо и т. д... 
    • Если готовить трансформатор обычным одножильным обмоточным проводом либо многожильным монтажным, не литцендратом, тогда про перегородки и секционные многослойные обмотки лучше забыть. Слишком большие потери в многослойных "нелитцендратных" обмотках, в разы больше по сравнению с литцем. Классическая намотка на Ш-сердечниках в один слой, лучше с чередованием первичка-вторички-первичка – вполне годится для моножильных обмоток, в этом случае распределение тока по сечению провода наилучшее. Но в таком исполнении придется ставить резонансный дроссель последовательно с первичной обмоткой.
    • Скорее всего не летает, попадёт это в турбину пассажирского самолёта!!!!!  Квадрики даже не разрешено)))) 
  • Similar Content

    • By NicksonWer
      Доброго времени!
      Суть дальнейшего моего повествования связана с наводками на прототипе фотометрического оборудования. Вот фото данного прототипа:


      Если опусти работу таких узлов как управление насосами накачки жидкости, насос откачки жидкости, управление воздушным компрессором, то суть устройства сводится к аналоговой части: ацп микроконтроллера и схемы усилителя фотодиода. Вот блок-схема и принципиальная схема усилителя фотодиода:


      Далее 6 ножка ОУ подаётся на вход ацп микроконтроллера.
      Печатные платы сделаны таким образом, что схема ОУ и фотодиод расположены на одной плате, а микроконтроллера на другой – основной плате. Плата фотодиода разведена таким образом, что вход ОУ имеет земляную петлю, нижняя сторона является общей землёй:

      В целом, эта плата работает нормально. Я ее проверял питая от аккумулятора и сигнал на выходе хороший и чистый.
       
      Проблема сама вот в чём. Что когда всё собрано во едино, а точнее, прототип запитан от внешнего сетевого адаптера от ноутбука, то сигнал превращается в бороду:

      Судя даже по этому показометру, размах равен около 35-40 мв при частоте в 50 Гц.  И когда я просто подношу ладонь к плате фотодиода на расстояние в 20-50 мм, то размах увеличивается уже за 100 мв.
      Тут нужно пояснить вот какой факт. Сейчас я питаю схему ОУ и фотодиода от отдельного аккумулятора (его видно на фото ниже), Так я думал, что питая от общего источника аналоговую часть и цифровую, даёт такой результат.

      Но как показала практика, что питать от аккумулятора, что от общего источника, результат одинаковый.
       
      Как выяснилось, даже если отключить питание от цифровой части (тумблер по положительному полюсу питания), а аналоговая питается от аккумулятора, то на показометре картина остаётся той же, видна та же борода.
      Но если выдернуть провод питания от этой конструкции, то результат на показометре следующий:

      Размах снизился до менее 10 мв и частота увеличилась примерно до 400 Гц. Вероятно тут уже собственные шумы показометра + незначительные наводки на схеме ОУ. Пока писал этот текст включил приборчик, чтобы посмотреть на его показания с отключённым щупом, вот результат:

      Вердикт.
      Проблему в том, что устройство питается от сети. Как побороть эту беду?
      P.s. Есть еще один интересный момент. Когда я пальцем дотрагиваюсь до полигона, но борода исчезает, как будто я действую как-то своей ёмкостью на схему.

      Документ Microsoft Word (2).pdf
    • By artos5
      Приветствую всех на этом форуме!
      Есть необходимость измерять сигнал при помощи данного АЦП. С помощью этого АЦП можно измерять 4 аналоговых не дифференциальных сигнала . Схема следующая:
      Schematic_Temp_opto_sens_V2_20190817124112.pdf
      Картинками с более низким разрешением:
      библиотеку за основу взял эту:
      https://github.com/nsaspook/nidaq700/blob/master/supermoon/example/ADS1220.c
      Путем незначительного допиливания, получилась такая библиотека:
       
      Поправил только эти функции:
      void ADS1220SendByte(unsigned char Byte) { unsigned char Result = 0x01, i=0, flg=0; MOSI_LO; Delay_us(1); for(i=0;i<8;i++) { SCK_LO; //ADC_CLK=0 Delay_us(4); if (flg) MOSI_LO; Delay_us(1); SCK_HI; //ADC_CLK=1 Delay_us(1); if (Byte&Result){ MOSI_HI; flg=1; } else MOSI_LO; Delay_us(4); Result<<=1; } SCK_LO; //ADC_CLK=0 } unsigned char ADS1220ReceiveByte(void) { unsigned char Result = 0, i=0; for(i=0;i<8;i++) { Result<<=1; SCK_LO; //ADC_CLK=0 Delay_us(5); //Delay_us(5); SCK_HI; //ADC_CLK=1 Delay_us(3); if (MISO) Result++; Delay_us(2); } SCK_LO; //ADC_CLK=0 return Result; } И добавил эту функцию:
      void ADS1220Config_MUX_GAIN(uint8_t mux, uint8_t gain) { unsigned Temp; ADS1220ReadRegister(ADS1220_0_REGISTER, 0x01, &Temp); // clear prev value; Temp &= 0x0f; Temp |= gain; Temp |= mux; // write the register value containing the new value back to the ADS ADS1220WriteRegister(ADS1220_0_REGISTER, 0x01, &Temp); ADS1220ReadRegister(ADS1220_1_REGISTER, 0x01, &Temp); // clear prev DataRate code; Temp &= 0x1f; Temp |= (ADS1220_DR_600 + ADS1220_CC); // Set default start mode to 600sps and continuous conversions // write the register value containing the new value back to the ADS ADS1220WriteRegister(ADS1220_1_REGISTER, 0x01, &Temp); } ADS1220.h :
      в результате получаю такую осциллограмму :

      То есть , постоянно считывается 0.
      А вот регистры конфигурации:
      Задаю номер входа MUX и усиление :
       

       
      Читаю данные так:
      ADS1220Config_MUX_GAIN(ADS1220_MUX_0_G, ADS1220_GAIN_1); HAL_Delay(10); temp_[0] = ADS1220ReadData(); Это для 0 канала. 
      Пробовал и так:
      ADS1220SetChannel(ADS1220_MUX_0_G); ADS1220SetGain(ADS1220_GAIN_1); temp_[0] = ADS1220ReadData(); Результат аналогичный. Кто что подскажет? Может кто заметит какой косяк в коде? Уже голова дымит ..
    • By pryanic
      Доброго времени суток. Понадобилось разобраться с АЦП.  Основной материал использовал Евстифеева (микроконтроллеры семейства мега) и учебный курс Di-Halt.
      На первый раз задача простая - обработать напряжение с переменного резистора и послать по UART в терминал. С терминалом уже кое-что делал, так что тут вряд ли косяк есть.
      Кратко опишу программу: каждую секунду в обработчике прерывания таймера (не совсем точно, прерывание по переполнению Т0) запускаю преобразование АЦП установкой в 1 бита ADSC. 
      В обработчике прерывания АЦП читаю байт ADCH (выравнивание по левому краю ADLAR=1) и шлю по уарт. Но в терминал приходят одни FF независимо от положения движка потенциометра (подключен к PC1 средним контактом, крайними на землю и AVCC)
       
       
      ADC_test.zip
    • By maxssau
      Продам платы АЦП на CS5381.
      Тема по устройству: 
      Пустые платы по 1000 р.
      Собранная и отлаженная плата - 6000 р. Срок сборки 2-3 недели, в зависимости от поставки компонентов.
      Отправка 250р. Почтой России.
    • By dav1977
      Кто-нибудь запускал скоростные  АЦП  AD7606(последовательного приближения)
       в последовательном режиме считывания данных ?,
      из 4 шт одна заработала, остальные на выводе последовательного вывода DOUT ничего не выдают постоянно 0.
      пробовал переключаться с внутренним опорным источником(выдает 2.49), и с внешним без разницы.
      Может у них есть какая то очередность включения?
       

×
×
  • Create New...