> 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/