[alsa-devel] Specific question about ICE1724 + AK4114
Pavel Hofman
pavel.hofman at insite.cz
Thu Jan 24 00:09:35 CET 2008
Hello,
I would like to add support for automatic detection of incoming SPDIF
sample rate for ICE cards with AK4114 DIR, specifically ESI Juli and
Prodigy192 with MI/IODI/O card.
Juli windows drivers support the detection, Prodigy drivers don't
(broken in some other way too), but the hardware is basically identical.
AK4114 support detection by comparing the recovered clock from SPDIF
with another clock of 11, 12 or 24MHz, supplied by a crystal, or externally.
In both cards this functionality seems to be provided by Xilinx XC9536
CPLD, together with PLL frequency multiplier MK73-1. It all fits
together, the CPLD provides the freqency division for PLL feedback of
the multiplier. External reference clock input of AK4114 is connected to
CPLD, as well as setup pins XTL0/1. Output frequency of MK73-1 specified
in datasheet is in the range of 10-50MHz
Here is my question: For the PLL multiplier to work, its datasheet says
it must be fed with input pulses of 20-50kHz. This frequency could be
easily provided by ICE1724, BUT in master mode only. When in slave mode
(which is the case for active SPDIF input - clock provided by AK4114),
all the clocks are derived from the external clock. This signal
obviously cannot be used as reference for the sample rate detection in
AK4114 - i.e. basically of itself.
According to the ICE1724 datasheet, only I2C and MIDI clocks are derived
from the 48kHz mode crystal in slave mode. The datasheed says I2C clock
is output only during I2C read/write activity, MIDI clock is not
directly output at all.
The cards have no other visible crystals/clock modules apart of those
two connected directly to ICE1724. I could not trace any connections
from the actual crystals to CPLD.
Now here I am, absolutely wondering where the CPLD gets its low
frequency stable signal for the PLL multiplier, to provide reference
clock for SPDIF rate detection. I am afraid without this knowledge I
cannot make the detection work in the alsa driver.
Hopefully someone experienced in this area will throw a ray of light
upon this mystery.
Thanks in advance for any ideas, information, suggestions.
Best regards,
Pavel Hofman.
More information about the Alsa-devel
mailing list