Re: 1394 Performance

From: Mark Knecht <markknecht_at_comcast.net>
Date: Sat 07 Feb 2004 - 23:48:09 CET
Message-Id: <1076194088.29858.11.camel@Wizard.knechthome.com>

On Sat, 2004-02-07 at 14:28, Steve Kinneberg wrote:
> On Sat, 2004-02-07 at 14:00, Stefan Richter wrote:
> > On 7 Feb, Mark Knecht wrote:
> > > On Sat, 2004-02-07 at 07:57, Stefan Richter wrote:
> > >> Can [gap_count] be set identical to the maximum number of cable
> > >> hops? [...]
> > > I'm at home and don't have a copy of the spec here, but the spec does
> > > cover (in either the code examples or tables somewhere) how the gap
> > > timing equation is effected by the value of the gap count.
> >
> > I have literature here that shows these two equations:
> > subaction gap: detected by (27...29)+(gap_count*16)/base_rate
> > arb.reset gap: detected by (51...53)+(gap_count*32)/base_rate
> > [base_rate = 98.304/s]
> > But what I don't know from this is what minimal gaps (and hence
> > what minimum of gap_count) are needed for a given bus topology.
> > I will dig deeper and learn about how the gap timing relates to
> > the topology; though I'd certainly welcome any insight you could
> > provide on occasion.
>
> The optimal gap_count is based off the maximal hop count between any 2
> nodes. There is a table and an equation (different for what you list
> above) in the IEEE 1394a-2000 spec. which I don't have at home.
>
> Because the gap_count is based off the maximal number of hops, for
> performance, it makes sense to use a hub with lots of ports and
> everything plugged into the hub rather than daisy chaining the devices.
>
>

Hi,
   I happened to come to the office for a bit, so I grabbed the spec.
The table Steve is talking about gives this info:

Hops Gap Count
1 1
2 4
3 6
4 9
5 12
6 14
7 17
8 20
9 23
10 25
11 28
12 31
13 33
14 36
15 39
16 42

However, it was my recollection from the 1394a committee meeting that
these numbers are only correct if all the phys involved in the path have
minimum port-to-port delays which wasn't true for all 1394 Phys, so
there was a 'delay' value added to the Phy register set that says what
your port to port delay is. The equation for that register is:

0.144uS + 2*Delay /BASE_RATE

Delay can be 0-15.

So, the idea is that 16 hops is 15 pieces of cable and 14 intervening
Phys. (I think...) You really need to add port-to-port delays for all
the Phys on the longest Path and add in so many nS for all the delay
across the cables (about 1.5-2nS/ft.) and then multiple by 2 to account
for the delay going out to the target and the delay coming back.

Or, in 1394a, do the ping if you have 1394a Phys at the right places in
the topology.

HTH,
Mark

-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
mailing list Linux1394-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux1394-user
Received on Sat Feb 7 23:59:07 2004

This archive was generated by hypermail 2.1.8 : Mon 02 May 2005 - 09:16:46 CEST