[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] using ADC of a TV-card with CX2388x chip or digital T

From: Martin Dvh
Subject: [Discuss-gnuradio] using ADC of a TV-card with CX2388x chip or digital TV-reception chips/cards
Date: Mon, 24 Jan 2005 01:24:18 +0100
User-agent: Mozilla Thunderbird 0.9 (X11/20041124)

Hew How Chee wrote:

I am also looking for a cheap alternative to get the
ADC data into the PC. Was thinking about the Bt878 or
the CX2388x PCI video decoder (used on many low cost
TV cards). They have high speed ADC but alas, the chip
processed the sampled data first before it is DMA'ed
to the PC memory. How I wish Conexant add in a
register to bypass the processing. BT878 however, have
a lower speed ADC from where you can get the sampled
I am using a bt878 card for sampling right now.
There are two ways to use it.
Using the audio ADC you can sample up to 860 kS/s in 8 bit (or 16 bit at lower rates). (with a modified linux driver, the original driver alows up to about 200 kS/s)
This works quite well although the sample rate is too low for any wideband 

The other way is using the video ADC in RAW mode.
I have modified the linux-kernel bttv driver and made a gnuradio-driver (not 
finished yet, still tweaking)
This way you can get upto 60 MS/s 8 bit.
I used some undocumented testregisters to disable the sync functions of the 
bt878 to get a stable dataflow.
This setup delivers good enough data to use it for wide and narrowband 
I did PAL Tv-reception broadcast FM, narrow-band FM and broadband and 
narrowband AM reception this way.

This setup still has two major problems however.
The video ADC is AC-coupled but is constantly trying to restore the blacklevel. This means it changes the DC-level at the input so that the average of the signal is around zero. Since it can only capture positive signals you get a big distortion.
I tried to solve this by adding a resistornetwork which forces the DC-level to 
be around +1 V.
The bt878 still tries to pull this down and you see this in the output as short 
negative pulses.

The other problem is that the bt878 flags all samples during the expected 
vertical sync time as invalid and does not output them.
This means you have gaps in the signal of 0.5 ms every 20 msec.
For Fm reception this does distort the output signal but but speech it is quite 
For AM and digital signals (sattelelite TV etc) the gaps and pulses in the 
signal are more of a problem.

Still it is a cheap way to start playing with gnuradio.

I even use the IF of the tuner of my bt878 tv-card as rf-frontend.

I have not found any registers in th bt878 yet wich could turn-off these annoying 

I am however analyzing the datasheets of other capture chips to see if there 
are  any around which could do the job.

The newer conexant CX2388x chips have similar descriptions in the datasheets 
for the capture-modes.
I found however a the following register description which might mean what we 
want it to mean:

Capture Control Register 24 h310180
Bits   Type   Default Name Description
[6]    RW      0          CAP_RAW_ALL A value of 1 enables continuous raw data 
mode capture.

This might mean that we can capture without any gaps with this chip.

As I don't own a TV-card with this capture chip (yet) I cannot say what this mode really does but I am willing to try to modify the driver and experiment.

I anybody has a TV-card with this chip please let me know.
Maybe we could cooperate to try to find out.

I know that the folowing cards have a cx88xxxx chip:
Most prominent piece of hardware are the recent Hauppauge WinTV cards:
Hauppauge WinTV 34xxx models
GDI Black Gold
ATI TV Wonder Pro
Leadtek Winfast 2000XP Expert
AverTV Studio 303 (M126)
MSI address@hidden Master
Leadtek Winfast DV2000
Leadtek PVR 2000

v4l2 device driver for the cx2388x chip.
current status

        - Basically works.
        - Some minor image quality glitches.
        - Red and blue are swapped sometimes for not-yet known
          reasons (seems to depend on the image size, try to resize
          your tv app window as workaround ...).
        - For now only capture, overlay support isn't completed yet.

        - some code present.  Doesn't crash any more, but also doesn't
          work yet ...

For gnuradio to work we do need VBI capture to work.

If anybody knows any other capture chips which might support continuous raw 
data capture, please tell.

I was also thinking of the digital TV-recption chips used in sattelite cards and terristial digital tv-reception. These chips capture the IF of the tuner and do gnuradiolike stuff to do the demodulation (they do a realtime FFT of the signal and more) Detailed datasheets for these chips are however hard to come by and I don't know if any of these allow to send out the raw captured data in stead of the MPEG stream.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]