Go Back   Home > Forums > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

PC Based Computer music servers, crossovers, and equalization

ADAU1701 DSP with RaspberryPi, how to I2S?
ADAU1701 DSP with RaspberryPi, how to I2S?
Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 17th February 2018, 03:33 PM   #1
JoeCraig is offline JoeCraig
diyAudio Member
 
Join Date: Feb 2018
Default ADAU1701 DSP with RaspberryPi, how to I2S?

I'm working on a DSP board for the rPi, using the ADAU1701 DSP from Analog Devices. The goal is to use the RPi's I2S stream to get audio into the DSP. The crux of the problem is (of course) the MCK. I was hoping to use the pi to generate MCK for the 1701, thinking it would be synchronous with the I2S clocks and data. The 1701 can take an MCK of 64*Fs, so I generate a clock of 3.072 MHz for Fs = 48 MHz, using pigpio "minimal_clk".

The first issue is that the generated MCK does not appear to be exactly 3.072 MHz (maybe this isn't possible?) I measure the MCK to be about 3.09 MHz. Does anyone know if the exact frequency of 3.072 MHz can be achieved? Of course integer divisions of the rPi clock won't be good enough, but with fraction division and ?MASH? this might be possible.

The second issue is that the generated MCK does not appear to be synchronous with the I2S clocks. I'm using the device tree overlay for "hifiberry-dac" (and it's been tested with pHAT DAC to ensure correct I2S streaming). The hope was that MCK would be synchronous with the I2S BCK and LRCK, where each LRCK (48 kHz) transition would contain exactly 64 MCK cycles. When I scope up the generated MCK and I2S clocks, it is apparent they are not synchronized and drift from each other.

Perhaps the architecture of running the DSP from an rPi generated MCK can not be made to work and I need to use a DSP with sample rate converter or (*gasp*) use a simple DAC to convert the the pi audio into analog and redigitize with the 1701. Another thought was to run the 1701 from an independent crystal oscillator, and have it initiate I2S transfer from the pi, generating the BCK and LRCK, and the rPi would be an I2S slave instead of master, but I don't know if this can be done, either.
  Reply With Quote
Old 2nd August 2018, 01:42 PM   #2
Bartb is offline Bartb  Slovenia
diyAudio Member
 
Join Date: Jun 2017
ADAU1701 DSP with RaspberryPi, how to I2S?
Hello, I've read that RPI's clock is faaar from perfect.
Have a look at allo's kali reclocker. Works great. I would start from there...
  Reply With Quote

Reply


ADAU1701 DSP with RaspberryPi, how to I2S?Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
New? Sure Electronics ADAU1701 Module easp Digital Line Level 159 9th October 2018 10:38 AM
ADAU1701 DIY articles at Audiodevelopers Neil Davis Digital Line Level 4 28th November 2017 01:41 PM
RaspberryPi..Separating shared Usb and Ethernet. DRONE7 PC Based 10 31st October 2017 07:57 PM
RaspberryPi HAT DAC for Headphone Amp Project? Tyandriel PC Based 0 12th October 2017 12:16 PM
ADAU1701 & Sigmastudio Red_arrow Digital Line Level 4 20th July 2009 04:34 PM


New To Site? Need Help?

All times are GMT. The time now is 05:58 AM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 15.00%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Copyright ©1999-2018 diyAudio
Wiki