At 06:18 AM 4/18/2007, Philip Covington wrote:
>Will Flex provide a driver for Linux for the Firewire interface to the
>SDR-5000?  Also, does the company who makes the Firewire interface
>chip provide the source code to the drivers or do they have a driver
>development kit? Do they have a SDK for the Firewire interface chip
>available for free (as in beer) or open source?

I'm not flex (and I'm pretty sure Gerald will respond on their 
behalf) but I can talk to what is typical, since I'm in the middle of 
doing a 1394b development.

There's several disparate issues being addressed here..

1) The interface to the transport layer provided by the 1394b interface.
2) The data that is carried over that transport

To cast this in a more familiar model, consider a system where the 
interconnect is a serial cable using, e.g. RS232, async, 9600 bps, 1 
stop bit, etc, where a user application just reads and writes to a 
"serial device" (not the actual UART hardware registers).

#1 would correspond to the inner workings of the UART, the line 
drivers, and the configuration of all that.

#2 is the messages you're sending over the cable.

I would expect Flex to provide the #2 (embodied in their open source code base)
I would expect that #1 is buried in the guts of the machine, and is 
no more open than the microcode of the CPU running the software.

Now.. there are some subtleties, since 1394 isn't quite as simple as 
a serial bit pipe (were that it were so, my life would be 
easier).  1394 devices/drivers can expose several different 
interfaces to an application:
- a message passing scheme
- an emulation of shared memory (e.g. a video frame buffer.. camera 
writes, application on computer reads)
- streaming data


Note that a lot of this actually is independent of the 1394b spec 
itself, and is actually defined at a higher level in the OSI 
stack.  Complicating this is that for commercial reasons, you might 
not actually have convenient access to the guts of the stack, but 
only get some commercially viable implementation which includes 1394b 
as the transport, but also includes, for instance, IP1394 or OpenHCI.

What YOU as an application developer will actually see is some subset 
of all possible things that can be done with 1394, filtered through 
the marketing and technology vision of the folks who put up the 
substantial cash to develop the chip and drivers. Note well.. 
developing a 1394 ASIC or IP core is probably a $10M effort (figure 
many 10s of work years).. it is sufficiently complex that I don't 
expect to see any open source "grad student for PhD thesis" or 
"devoted hacker ni their spare time" sorts of implementations.. it's 
too big a job for that scale of operation

There is a IEEE standard 1212-2001 that defines standard control and 
status registers for 1394 implementations.. HOWEVER, I've been given 
to understand that most devices bury this level in a higher level of 
functionality that's more application specific.

Another popular interface standard is the OHCI (Open Host Controller 
Interface) which is promulgated by Microsoft.  I suspect that most PC 
1394 devices support this at some level.

The basic spec for streaming is IEC61883-1  which defines how 
isochronous streams work and some control protocols
You might also find stuff in IEC61833-6 which defines audio and video 
transport.  There's another standard that talks about implementing 
the -6 standard and talks about distribution of sampling clocks etc. 
(I don't know the spec number..but it might be trackdownable under mLAN).

There's another, more PC oriented (as opposed to video/audio/consumer 
entertainment equipment) protocol called SBP-3 (Serial Bus 
Protocol-3) which defines a transport layer for asynch commands and 
data and isochronous data streams.  I believe it's defined in ANSI 
NCITS 375-1994.

For transporting IP packets, there's RFC2734 and others.  I think 
there's some work on isochronous streams in this context, but, for 
the mean time, I've been looking at RTP (which is not isochronous)


Jim, W6rmk 



_______________________________________________
FlexRadio mailing list
[email protected]
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/
FlexRadio Knowledge Base: http://kb.flex-radio.com/
FlexRadio Homepage: http://www.flex-radio.com/

Reply via email to