Jump to content
solanto

Цап (Dac) На Связке Cs8416 + Cs4398 + Ad823

Recommended Posts

Доброго всем времени суток. Я не мастер писать материалы подобного рода, но все же...

История моего увлечения цапостроением начинается в 2010 году. Тогда я впервые услышал как звучит "КИТАЙСКИЙ" ЦАП. Он звучал как мне тогда казалось очень приятно, без шумов и я загорелся собрать такой же, т.к. прослушанный мною ЦАП принадлежал не мне, а одному моему знакомому.

Первый мой ЦАП был собран в 2013 году. Собирался он на CS8416 + CS4334 + транзисторный выхлоп. Он у меня долго не продержался. Буквально через неделю я уехал в командировку, а по возвращению встретился со знакомым и тот изъявил желание приобрести у меня ЦАП. Вот так я его и продал за небольшую сумму в 2000 р.

Второй мой ЦАП (который и по сей день у меня трудится) был куплен на AliExspress. Качество звучания устраивает, но входов мало (один USB, один оптический и один коаксиальный).

Сейчас же на ваш суд выкладываю третий ЦАП, который планирую содрать. Но т.к. не претендую на Hi-End класс, то решил сильно не заморачиваться.

В общем вот выкладываю пока схемку т.к. ещё не развёл плату.

post-141437-0-52388100-1409132983_thumb.jpg

Solanto_DAC.rar

Share this post


Link to post
Share on other sites

Купил на Али ЦАП CS8416 + CS4398 + USB, и не могу замерить, лучше ли он встроенной в ПК. Играет, может, лучше встроенного, но при замере лес из гармоник и 16% THD.

Кто имел дело с таким? Соответствует ли параметрам которые предоставлены на сайте? http://ru.aliexpress.com/item/LJM-USB-DAC-Kit-CS8416-CS4398-USB-DAC-Kit-free-shipping/1251297849.html

Share this post


Link to post
Share on other sites

вы лучше описывайте полностью как именно коммутируете и что куда втыкаете, и чем регулируете уровни, на этом этапе допускается очень много ошибок, причём даже людьми, казалось бы вполне опытными

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Бывает такое, что при коммутации по USB и появляются такого рода помехи, я всегда коммутирую по оптике.

Share this post


Link to post
Share on other sites

да хоть по радиолучу или потоком нейтрино :) ... Если у "кого то" "что то" появляется, и он ничего не может с этим сделать, то это не говорит о том, что проблема неустранимая, а всего лишь сообщает окружающим о квалификации этого "кого то"... :)

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

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

Если у "кого то" "что то" появляется, и он ничего не может с этим сделать, то это не говорит о том, что проблема неустранимая, а всего лишь сообщает окружающим о квалификации этого "кого то"... :)

Ну и такое бывает. Скоро разведу платку до конца и отправлю на изготовление.

Share this post


Link to post
Share on other sites

вы лучше описывайте полностью как именно коммутируете и что куда втыкаете, и чем регулируете уровни...

Начну с питания, подаю двухполярное 36В и с одного плеча запитываю другой клемник. После стабов -11.95В и +11.85В а также 9В. Всё в норме.

Сигнал подаю по s/pdif либо усб, для усб частота 41000 16 бит, по другому входу выше, 24 бит и 96000 или 196000. Уровни регулирую в настройках устройства, по усб не регулируется.

Прослушиваю через усилитель для компьютерных колонок, качество хорошее. Но как подключаешь к лин. входу и запускаешь тестирование начинается лес из гармоник, на перегруз не похоже. По замерам выходит даже хуже встроеной ЗК, а по звучанию нет.

Share this post


Link to post
Share on other sites

перед началом тестирования выводится окошко для точной установки уровней. Так есть перегруз или нет? гадать не надо, нужно просто выставить уровень...

Share this post


Link to post
Share on other sites

Да есть, причем не зависимо от уровня сигнала, если снизить уровень сигнала на входе ЦАПа то сигнал становится тише, и гармоники тоже. Даже можно сделать замер, но THD все равно больше чем ЗК. Вот посмотрите. Делал 2 замера, первый при низком уровне на линейном входе, другой с низким уровнем на входе ЦАПа, но с высоким на линейном входе.

Desktop.rar

Share this post


Link to post
Share on other sites

Что я должен был увидеть в архиве?

Хотя сопсна все понятно, вы не желаете вникать в методику :)

на тестируемый ЦАП подается сигнал -1 dBFS, а вход АЦП аттенюируется входным регулятором настолько, насколько нужно, чтобы на выходе АЦП тоже получилось -1 дБ, при таком, и только по таком раскладе будут получены точные измерения. При этом разумеется возможна ситуация когда уровень на аналоговом выходе ЦАП превышает возможности АЦП. В таком случае просто нужен делитель.

Share this post


Link to post
Share on other sites

solanto

Чем закончился проект ЦАПа? Дошло до макета - платы? Хочу повторить - прикрутить приёмник Cs8416 к готовому ЦАПу Cs4398 в Yamaha DVD-S2700.

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...

  • Similar Content

    • By Bortsov
      Забрал на производстве генераторы (22,5792МГц/24,576МГц). Заказывал с запасом. Резервных осталось три комплекта.
      Стоимость комплекта 800 рублей + почта (если будет) до покупателя.
       
       
       
       
      pdf-cppl.pdf
    • By n_angelo
      Привет, знатоки. Написал свою первую программу для контроллера STM8L152C6T6 (STM8L-Discovery). Это, собственно, моя первая программа для контроллеров вообще. Я многого не знаю и не понимаю. Возможно ваш ответ на мой вопрос будет банален.
      Используемая периферия: DAC, DMA, TIM4, CLK, GPIO
      Задача у программы такая:
      В EEPROM зашит один период синусоиды с дискретизацией 44100Гц. Период занимает ровно 101 байт, что по сути должно быть равно 2,29мс (1/44100*101). В коде программы только конфигурация периферии, одно прерывание на кнопке и пустой бесконечный цикл, который ничего не делает. Всю работу выполняет таймер, который настроен выдавать запрос к DMA на каждые 1/44100 (ядро тактируется 2мГц, таймер считает до 45). В свою очередь DMA забирает из EEPROM по одному байту на каждый запрос от таймера и передаёт его в DAC. Далее DAC выводит бесконечную синусоиду на ногу PF0. Прерывание на кнопке запускает весь этот механизм и зажигает светодиод.
      Проблема:
      Измеряя ногу PF0 осциллографом было замечено, что период синусоиды занимает около ≈4мс. Фото под катом.
      Меня это расстроило. Экспериментально выяснилось, что стоит только вписать в бесконечный цикл какую-нибудь проверку, например, [если значение текущего байта синусоиды = 0xFF, то зажечь светодиод, если 0x00, то потушить], то осциллограф показывает правильный тайминг в 2(с копейками)мс. В принципе в теле цикла может быть что угодно, кроме пустоты, и тайминг налаживается.
      Я не могу отдебажить дизассемблер, т.к. его не знаю. Это у меня в планах. Но я очень хочу понять, что происходит и почему пустой цикл рушит тайминг.
      Спасибо.
       
       
       
       
    • By German Churilin
      Добрый день всем! Столкнулся с проблемой, над решением которой бьюсь уже месяц - суть в том, что при пересылке аудио данных с контроллера в внешний цап на выходе цапа звучит белый шум(именно когда летят данные). Уже перепробовал разные конфигурации и параметры, да даже другой цап ставил - всё равно та же самая проблема. Может кто сталкивался, или у кого есть идеи почему так происходит?
      Контроллер stm32f407ve китайский, но вроде как рабочий, цап - pcm1606, вытащенный из двд-плеера.

      код инициализации i2s
      RCC_PLLI2SCmd(DISABLE); RCC_I2SCLKConfig(RCC_I2S2CLKSource_PLLI2S); RCC_PLLI2SConfig(200,5); RCC_PLLI2SCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLI2SRDY) == RESET){}; //WS - word clock output GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_SPI2); GPIO_StructInit(&gpioInit); gpioInit.GPIO_Pin = GPIO_Pin_9; gpioInit.GPIO_Mode = GPIO_Mode_AF; gpioInit.GPIO_OType = GPIO_OType_PP; gpioInit.GPIO_PuPd = GPIO_PuPd_NOPULL; gpioInit.GPIO_Speed = GPIO_Speed_100MHz; GPIO_Init(GPIOB, &gpioInit); //BCLK - shift clock output GPIO_PinAFConfig(GPIOB, GPIO_PinSource10, GPIO_AF_SPI2); gpioInit.GPIO_Pin = GPIO_Pin_10; GPIO_Init(GPIOB, &gpioInit); //SD - serial audio data GPIO_PinAFConfig(GPIOC, GPIO_PinSource3, GPIO_AF_SPI2); gpioInit.GPIO_Pin = GPIO_Pin_3; GPIO_Init(GPIOC, &gpioInit); //MCO - master clock output GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_SPI2); gpioInit.GPIO_Pin = GPIO_Pin_6; GPIO_Init(GPIOC, &gpioInit); I2S_StructInit(&i2sInit); i2sInit.I2S_CPOL = I2S_CPOL_Low; i2sInit.I2S_Mode = I2S_Mode_MasterTx; i2sInit.I2S_MCLKOutput = I2S_MCLKOutput_Enable; i2sInit.I2S_Standard = I2S_Standard_Phillips; i2sInit.I2S_AudioFreq = I2S_AudioFreq_48k; i2sInit.I2S_DataFormat = I2S_DataFormat_24b; I2S_Init(SPI2, &i2sInit); SPI2->I2SPR = (uint16_t)((uint16_t)512 | (uint16_t)12 | (uint16_t)1); //for 48k Fs SPI_I2S_DMACmd(SPI2, SPI_I2S_DMAReq_Tx, ENABLE); I2S_Cmd(SPI2, ENABLE);  
      код инициализации dma
      DMA_InitTypeDef dmaInit; NVIC_InitTypeDef nvicInit; DMA_DeInit(DMA1_Stream4); DMA_Cmd(DMA1_Stream4, DISABLE); while(DMA_GetCmdStatus(DMA1_Stream4) == ENABLE){}; __ISB(); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE); //To dmaInit.DMA_PeripheralBaseAddr = (uint32_t) &(SPI2->DR); //From dmaInit.DMA_Memory0BaseAddr = (uint32_t)&AUDIO_SAMPLE; dmaInit.DMA_BufferSize = 20480; dmaInit.DMA_Channel = DMA_Channel_0; dmaInit.DMA_DIR = DMA_DIR_MemoryToPeripheral; dmaInit.DMA_PeripheralInc = DMA_PeripheralInc_Disable; dmaInit.DMA_MemoryInc = DMA_MemoryInc_Enable; dmaInit.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; dmaInit.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; dmaInit.DMA_Mode = DMA_Mode_Circular; dmaInit.DMA_Priority = DMA_Priority_High; dmaInit.DMA_FIFOMode = DMA_FIFOMode_Enable; dmaInit.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; dmaInit.DMA_MemoryBurst = DMA_MemoryBurst_Single; dmaInit.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; while(DMA_GetCmdStatus(DMA1_Stream4) == ENABLE); DMA_Init(DMA1_Stream4, &dmaInit); DMA_ITConfig(DMA1_Stream4, DMA_IT_TC | DMA_IT_HT, ENABLE); //configure interrupt nvicInit.NVIC_IRQChannel = DMA1_Stream4_IRQn; nvicInit.NVIC_IRQChannelPreemptionPriority = 0; nvicInit.NVIC_IRQChannelSubPriority = 0; nvicInit.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&nvicInit); DMA_Cmd(DMA1_Stream4, ENABLE); while(DMA_GetCmdStatus(DMA1_Stream4) != ENABLE){}; AUDIO_SAMPLE просто wav скопированный через hex редактор и живущий в памяти контроллера, крутиться по кругу. Вроде как, в теории всё должно работать(снизу скрин из pulseview - снято логическим анализатором), к сожалению осциллограф пока что не приобрёл, так что проверить правильность частот не представляется возможнымб но всё же всё вроде как красиво.
      Формат i2s на контроллере совпадает с форматом на цапе - первый бит передаётся через 1 тик sck после смены ws
       
      П.С. подозреваю сразу вопросы про MSB/LSB - wav файл сам по себе little-endian, собственно как и контроллер, то есть тут не должно быть проблем, а i2s стандарт передаёт MSB первым, соответственно если у меня в памяти записано 0x64, 0x61, 0x61, 0x66, 0x02, 0x00, 0x85... то, судя по скрину всё передаётся правильно? или я что то не понимаю в этом всём? Но не в этом суть - в один момент тоже подумал что порядок не тот, но, к сожалению, попытки свапать байты местами(и побайтово, и по словам) не дали ни какого результата

    • By maxssau
      Продам адаптеры USB-I2S. 

       
      Возможности:
       
      стерео ввод/вывод PCM 16-32 бита, 44.1-384 кГц. Ввода DSD нет, как и драйверов для ввода DSD.
      вывод DSD в режиме DoP 64-128, в режиме Native 64-256. Native доступен в Linux без "хитрых" драйверов.
      Тактирование от платы ЦАП/АЦП, частоты 512 fs (22.5792/24.576 МГц). Теоретически возможно и 1024fs(скорости 768кГц и DSD512 Native), но это не опробовано.
      Гальваническая изоляция на Si8662/Si8640.
      Питание возможно как Self так и Bus Powered. В режиме Bus Powered необходимо самостоятельно позаботиться о мастерклоке, т.к. возможны сильные глюки при выключенном генераторе мастерклока.
       
      Тема: 
      срок изготовления 3-5 недель (сильно зависит от поставок процессоров).
      На данный момент полностью реализован интерфейс Legacy. Для отладки Native режима пока нет платы ЦАП, в процессе разработки, будет не раньше осени.
      Цена 6000 + пересылка (в среднем 250 р.).
    • By Trisector
      Простой USB ЦАП на PCM2706 и ES9023. Покупал себе, но пока слушать с компьютера оказывается удобнее.

      1200 руб.
      Питер, Ленобласть.
      Перешлю по России.
       
  • Сообщения

    • 1 корпус ЛН1 будет гораздо проще, чем переобучать контроллер......
    • Добавил, перестал сенсор вообще брать через пластиковый корпус, то есть явно что то изменилось с добавлением резисторов... убрал конденсатор, оставил два по 100пф и резистор. Сейчас дальность даже больше чем нужно, жду... 
    • Всем доброе время суток.  У меня есть компактная студия BOSS BR - 532 . Старый прибор . Но незнаю как записать ударные . И в инструкции ничего не нашёл  об  этом .  Может кто владеет такой же и знает что то об этом ? Заранее благодарен.   
    • «Мы слышали, государь, что около тебя есть дурной человек по имени Правительство, от которого мы страдаем, - прогони, молим тебя, государь, прогони его от твоего лица!»  (Из письма кабардинцев Александру Первому).
    • Интерфейс есть, ну и что? Винда не может знать все устройства, выпускаемые в мире. Какой-то набор драйверов у нее имеется. Но, если ваша железка не определяется системой (при условии, что с физикой все в порядке), значит нужен драйвер. 
    • Да ладно врать-то... я такой за 3 часа собирал, а он за 15 минут... ну даже если и собрал... подумаешь, - повезло просто. я более сложный собирал, так там была надпись "+18 лет", а я всего в два месяца вложился.
    • Честно, даже смотреть не хочется. Потребляди, на самом деле счастливы. И им можно даже позавидовать. Жизнь то мы заканчиваем одинаково, в независимости от материальных благ  
  • Покупай!

×
×
  • Create New...