comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: silly ravenscar question
Date: Tue, 3 Mar 2015 11:57:28 +0100
Date: 2015-03-03T11:57:28+01:00	[thread overview]
Message-ID: <bbnjsjkv4rz8$.1tctehjgastvi.dlg@40tude.net> (raw)
In-Reply-To: 12b6815b-a38a-4a11-b9ae-dddd2811e500@googlegroups.com

On Tue, 3 Mar 2015 00:42:51 -0800 (PST), jan.de.kruyf@gmail.com wrote:

> On Sunday, March 1, 2015 at 11:28:01 AM UTC+2, Dmitry A. Kazakov wrote:
> 
>> And from the software perspective, the idea that you could enforce
>> real-time/synchronicity per real-time protocol is flawed. More complex the
>> software running on top of the protocol less chances you have to keep
>> synchronicity up to the application level because you need time to
>> propagate the signal though levels of hardware and software.
> 
> Yes again. So in my humble opinion the sums for synching and the
> return-packet-sending must be done, as the incoming packet leaves the dma
> channel.

It is not the issue. You cannot hard sync anything complex enough to be
useful.

> So to sum up:
> To me there are broadly 3 alternatives
> 
> 1. a sync pulse broadcast every scan period, which triggers the data
> reading etc. This might then be refined with some averaging circuitry to
> create a stable local clock to do the actual triggering.
> Then for each station the master must keep track of the offset from the master.
> 
> 2. Synchronize a whole subnet to itself. this is very attractive since
> with a good algorithm the individual boards will track one-another quite
> perfectly and dead terminals give no real problem. ( If you can imagine a
> flock of birds making a turn: each bird only sees what the nearest
> neighbors do and reacts accordingly)
> against: 
> The master still needs to keep track of the offset from real time for that
> net.
> (So there will be only 1 offset per subnet) And there is possibly more
> network traffic involved, since all exchanges between neighbors must
> happen over 1 net.
> 
> 3. IEEE1588:
> Time is imposed top-down. It works very accurately if implemented properly
> in a small net. Everybody knows real time.
> Against:
> As the net grows jitter and inaccuracies get bigger. Switchboxes need to
> be preferably IEEE1588 enabled in bigger networks. 
> And as with all top-down structures, collapses will be quite spectacular.
>
> So this is what I have dreamed up so far.
> Please comment as you see fit.

There is no reason why not to support IEEE1588 if available and, when not
available, not to use other means to estimate clock differences. It is not
a big problem to use both in the same network and even between same nodes
weighting the result according to QoS.

The protocol should not synchronize or trigger anything. The latter is an
application-level issue. The former is impossible for described above
reasons and is not required anyway.

If you can schedule actions ahead of the time and know clock differences,
that is the best real-time possible. Since you will never get latencies
shorter than the board can switch contexts anyway.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  reply	other threads:[~2015-03-03 10:57 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-24  9:07 silly ravenscar question jan.de.kruyf
2015-02-24 10:29 ` Dmitry A. Kazakov
2015-02-24 11:11   ` jan.de.kruyf
2015-02-24 13:38     ` Dmitry A. Kazakov
2015-02-25  8:48       ` jan.de.kruyf
2015-02-25 10:46         ` Dmitry A. Kazakov
2015-02-25 17:35           ` jan.de.kruyf
2015-02-25 17:55             ` Dmitry A. Kazakov
2015-02-26  8:48               ` jan.de.kruyf
2015-02-26  9:47                 ` Dmitry A. Kazakov
2015-02-26 12:07                   ` jan.de.kruyf
2015-02-26 19:09                   ` jan.de.kruyf
2015-02-27  8:58                     ` Dmitry A. Kazakov
2015-02-28 19:57                       ` jan.de.kruyf
2015-03-01  9:27                         ` Dmitry A. Kazakov
2015-03-03  8:42                           ` jan.de.kruyf
2015-03-03 10:57                             ` Dmitry A. Kazakov [this message]
2015-02-24 11:02 ` Jacob Sparre Andersen
2015-02-24 11:23   ` jan.de.kruyf
2015-02-24 13:43     ` Bob Duff
2015-02-25  9:07       ` jan.de.kruyf
2015-02-25 17:50         ` Simon Wright
2015-02-26  7:35           ` jan.de.kruyf
2015-02-26 14:57             ` Simon Wright
2015-02-26 19:36               ` jan.de.kruyf
2015-02-27  8:45                 ` Simon Wright
2015-02-27  9:59                   ` jan.de.kruyf
2015-02-28  9:57                     ` Simon Wright
2015-02-28 19:08                       ` jan.de.kruyf
2015-02-28 20:23                         ` Simon Wright
2015-03-03  8:52                           ` jan.de.kruyf
2015-02-24 15:30     ` Brad Moore
2015-02-24 16:52       ` Simon Wright
2015-02-25  3:01         ` Dennis Lee Bieber
2015-02-24 11:22 ` slos
2015-02-24 12:16   ` jan.de.kruyf
2015-02-24 11:24 ` J-P. Rosen
2015-02-24 12:10   ` jan.de.kruyf
2015-02-24 13:58 ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox