[linux-dvb] networked digital tuner project

Brian Kuschak bkuschak at yahoo.com
Mon Jun 13 00:52:58 CEST 2005

Hi Robert, 
Thanks for your comments.  Replies inline.

> How do you handle access arbitration then? What is
> supposed to happen when
> two different clients try to reprogram the frontend
> hardware
> simultaneously? Is it acceptable that they may
> disrupt each other's
> operation, even up to a point which renders the
> network tuner completely
> unuseable...?

There are several ways to handle this.  The simplest
is to implement a hardware semaphore for each tuner. 
The client would have to acquire (and maybe
periodically renew) that semaphore to maintain
ownership of that particular tuner.  Of course,
multiple clients can enable different PIDs on a given
RF channel, so long as they don't disable PIDs that
the other clients are using.  Alternatively, since I
proposed multicast UDP for the packets, each client
would see all other's control messages to the tuners,
and could make intellegent decisions about tuner
> IMHO the only way to make a _reliably_ working
> device is to completely
> encapsulate all hardware access inside the device
> itself and ensure
> serialized access there. I'd recommend not using an
> FPGA, but rather a
> microcontroller. Give it enough computing power and
> program memory so that
> you can put a fully-fledged firmware into it, which
> contains complete
> frontend drivers and access control for multiple
> clients.

That would certainly provide more flexibility
long-term, however it would also require more
development effort, more parts (RAM, flash, cpu), and
higher cost.  Since the DVB drivers already have
support for some of these tuner/demod chips, there
isn't a huge amount of software work to be done, if we
make the client PC do the bulk of the work.

Discover Yahoo! 
Get on-the-go sports scores, stock quotes, news and more. Check it out! 

More information about the linux-dvb mailing list