Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: High BER's & Glitching with 2.6 kernel, betterwith 2.4 and 1.0.0-pre2 (Nova-T)
Johannes Stezenbach wrote:
Dave Smith wrote:
Using release 1.0.1 and a 2.4.20 kernel, I have modified the
tsa5060_set_tv_freq function in the grundig_29504-401 frontend to match
1.0.0.-pre2.
Changing the frequency offset from the -pre2 value of 36000000 to the 1.0.1
value of 36125000 made no apparent difference.
In the -pre2 code, there are no values for cpump or band_select, meaning that
buf[3] in that function is always set to 0xc0. If I change this to 0x43
(which I think would be the value when the frequency of the BBC mux from
Crystal Palace is given) leads to the higher BER rates and many UNConcealed
errors when tuned to a channel in the BBC mux.
I must admit that my understanding of C is pretty weak, and so I may have
evaluated the cpump and band_select errors incorrectly. However it does
appear that the setting of buf[3] (whatever that does) is causing the errors
on my card.
I hope this helps.
Hm, I had a look at the code and the tsa5060 data sheet.
The band_select stuff is beyond me, as it just sets a few
general purpose output pins. I'm not sure if it does
anything at all, and the only way to find out is to
look at a grundig_29504-401 data sheet or poke around in
the metal box.
do you have a datasheet not?
The charge pump stuff is also not clear to me. What is
the logic behind that formula?
I would think that either
- the charge pump current depends on the voltage used to drive
the VCO, so: high freq -> low capacitance -> high voltage
at the varactor diode (or is it the other way round?)
-> high cpump
The tuning voltage is used to select the actual frequency, the charge
pump current is driving or damping the dynamic VCO system so that you
can/have to use it to tune the system elasticity so that it neither
rings nor is too stiff. In both cases it takes more time or is
impossible at all to aquire a PLL lock.
This behaviour was pretty nicely explained in a paper I saw somewhere on
the web, but I don't have the URL handy right now (sorry!).
- or one uses a high cpump to change the frequency, and
sets the cpump to a low value afterwards (less noise)
Does anyone know for sure?
Anyway, the current cpump formula look bogus to me:
cpump = freq < 175000000 ? 2 : freq < 390000000 ? 1 :
freq < 470000000 ? 2 : freq < 750000000 ? 1 : 3;
Comments?
The optimal charge pump settings depend on the external components
around the tuner module, so this can even vary between tuners using the
same PLL type (although this is unlikely since both are usually derived
from the same reference design).
The suggested values in the tuner module datasheets seem to be usually
found empirically. The approach of using a high current for fast tuning
and then lowering the current does not works on every hardware. The
optimal charge pump setting does not needs to depend linearly on the
frequency.
Holger
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index