> 1394 and USB allow for bandwidth  and time
 > slice reservations making real-time more real.   We could do the
same  > with
 > a NIC by software reservation of every K'th packet, but ...
 >
 > The other drawback of IPv6 is that nobody uses it.

 >
 > In any event,  RTLinux  networking drivers are strongly encouraged  >
and
 > I look forward to seeing people write them and contribute them.


  I did not want to make a contribution to RTL that would be passed
over.  I am strongly encouraged.  I have spent the last few days
reviewing 1394 and USB for suitability  as real-time protocols.  I have
chosen to port 1394 to RTL.  I have emailed the linux 1394 key people
(Emamuel Pirker, Andreas Bombe) of my intentions.
 
 I have chosen 1394 for the following reasons:
 
 - asynchronous messaging to start/stop a real time feed
 - isosynchronous messaging (with guaranteed worst case send time)
   to send a real time feed.
 - worst case send time allowed to change to accommodate signal delay
   as network grows/shrinks.
 - many cabling options: shielded twisted pair, plastic fiber,
glass       fiber, and infra-red.
 - many maximum cable lengths: 4.5m, 7m, 50m, 100m, and 500m.
 - mixing of high speeds on one line: 100Mbps, 200Mbps, 400Mbps,
   and 800Mbps (soon).
 - lower cost per Mbps than USB.
 - draft standard for low overhead protocol variant of 1394: IICP
   ( Instrumentation and Industrial Control Protocol ). Just what we
   need.
 - Audio/Video and instrument industries embracing 1394.
 - no host CPU required, peer to peer communications (a TV can talk to
   a VCR and a Camcorder without a PC).
 
 Drawbacks of USB:
 
 - maximum cable length of a few meters ( across the room).
 - fixed minimum response time of 26 ns (can't grow large factory wide
 network).
 - requires hub to expand beyond the two 'free' ports shipped with PC.
 - USB 1.0 and USB 2.0 not compatible on same wire without packet
   and speed conversion bridge (extra overhead).
 - low bandwidth USB 1.0 at 12 Mbps and USB 2.0 at 250 Mbps.
 - at least one year behind 1394 in development (1384 will be 800Mbps   
in next quarter).
 - USB 2.0 higher cost per Mbps.
 - requires CPU to act as host.
 
I will port to 1394 to RTL in the following order:

        - port raw 1394
        - port 1394/1394a
        - port IICP

I believe in minimalism.  I will not try to copy the 'NDDS publish and
subscribe' model as an other group is doing.  1394 API already uses a
very good model.  It uses the memory model where the network is viewed
as a 64 bit memory space.  Where writing to another node is like writing
to a local memory location.  I think programmers are capable of
understanding how to read and write to memory.  Anything more for hard
real time is extra overhead.  I will cooperate with the other group
where our efforts intersect.    

- Kal Atwal.
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to