Karl Reichert wrote:
>>>>> I'm sorry but I still don't get it. And sorry for the -20/-30 mistake.
>>>>>
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> I read the paper "RTnet -- A Flexible Hard Real-Time Networking
>>>>>>>> Framework" at
>>>>>> http://www.rts.uni-hannover.de/rtnet/download/RTnet-ETFA05.pdf and I
>>>>>>>> have a question concerning chapter 3.2, formula 3.
>>>>>>>>> T_slot = T_sched + t_slot - t_offset
>>>>>>>>>
>>>>>>>>> As far as I understand this formula, the slaves calculate their
>> own
>>>>>>>> starting point T_slot from T_sched (the planned transmission time
>> of
>>>>>> master),
>>>>>>>> t_slot (slot duration?) and t_offset (offset between master and
>> slave
>>>>>>>> clock). To my mind, this doesn't makes any sence. Maybe I
>>>> misunderstand
>>>>>> one of
>>>>>>>> the variables, but let me give a small example:
>>>>>>>>> T_sched = 15 (absolute time point)
>>>>>>>>> t_slot = 10 (duration)
>>>>>>>>> t_offset = 20
>>>>>>>>>
>>>>>>>>> Then, slave's starting point would be 15+10-20=5
>>>>>>>>> But how is it possible, if the master is the first one sending? I
>>>>>> don't
>>>>>>>> understand this formula.
>>>>>>>>
>>>>>>>> Oops, you stumbled over an impreciseness of the variables in that
>>>>>> paper.
>>>>>>>> They must read T_sched,master and T_slot,slave, i.e. the first one
>> is
>>>>>>>> related to the master view of time while the second one was
>>>> transformed
>>>>>>>> to the slave time base.
>>>>>>>>
>>>>>>>> Jan
>>>>>>>>
>>>>>>> But still, this doesn't makes sense to me. As I understand the
>> paper,
>>>>>> formula 2 and 3 should fix potential scheduling jitters (the time
>>>> difference
>>>>>> between scheduled and "real" sending time on the master). But how can
>>>> this
>>>>>> be fixed, if the formula deals with the T_master_sched and not the
>>>>>> T_master_real (=T_master_xmit)?
>>>>>>> Let me give an example:
>>>>>>> at the same point of time (the moment the master sends sth), master
>>>>>> clock=10, slave clock=30
>>>>>>> the master jitter may be 2, which means that T_master_sched=10 and
>>>>>> T_master_xmit=12
>>>>>>> t_travel may be 3
>>>>>>> t_slot (Slot-Length) may be 5
>>>>>>>
>>>>>>> t_offset=12+3-35=-30
>>>>>> Hmm, my calculator prints "-20"... ;)
>>>>>>
>>>>> Okay, I agree, sorry for the mistake.
>>>>>
>>>>>>> T_slave_slot=10+5+30=45
>>>>>> And that would give 35 then, which is precisely the expected value (5
>>>> us
>>>>>> >from the scheduled cycle start 30 us in slave time). 8)
>>>>>>
>>>>> But if slave starts sending at 35 (which means 15 from master's point
>> of
>>>> view) then it would send at the same time the master does. The slot is
>> 5,
>>>> so if master would start exactly at 10, this would work. But because of
>> the
>>>> jitter, it starts sending at 12, so if it uses his whole 5 ticks long
>>>> slot, it would end at 17 and this would clash with slave, which starts
>> sending
>>>> already at 15.
>>>>
>>>> I think I see the misunderstanding: t_slot is not the slot size of the
>>>> master slot here. It is the slot _offset_ (relative to the cycle start)
>>>> of some arbitrary slave (or the master - then t_offset would just be
>> 0).
>>>> That offset must account for a) the time the preceding slot requires at
>>>> least and b) the potential jitter of the preceding slot user.
>>> Okay, I think this misunderstanding seems to be in formula 2, not 3. You
>> say, the offset must account also the jitter. But to my mind it doesn't.
>>> Let's try an example with above numbers:
>>> a) not jitter occurs: t_offset = 10 + 3 - 33 = -20
>>> b) jitter is 2: t_offset = 12 + 3 - 35 = -20
>>> T_slave_recv changes from 33 to 35, because of master's jitter of 2 the
>> data arrives 2 ticks later at slave.
>>> So, as a result, the offset does not take any jitter into account.
>> Which is precisely the intention: Make the clock offset estimation
>> _independent_ of the synchronisation signal sender jittery. Now you can
>> use the _scheduled_ cycle beginning (based on the master clock) which
>> comes along with the sync frame to calculate the _scheduled_ slot
>> beginning of some slave (based on the respective local slave clock).
>>
>> Jan
>>
> Okay, so clock offset is independent from jitter. This is how I also 
> understood this formula.
> And I also agree, with formula 3 I calculate the _scheduled_ slot beginning 
> of the slave.
> But, how do I get the _real_ one, which means, the one that is respecting the 
> jitter of the master? That's what I don't understand.

But that is not the goal. The goal is to meet the planned transmission
dates _even_ if the synchronising master jitters (within known limits)
and would otherwise delay (or bring forward) the whole cycle schedule.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to