Andrea Forni wrote:
> Hi all,
> 
> for the first: I'm sorry for my english...
> 
> I have linux kernel 2.6.10.0, RTAI 3.1 and rtnet 0.8.3.
> 
> I'm realizing a communication between a node master and a node slave: slave 
> send 
> 
> n (in this case n=200) message to master with a similar code:
> 

...

> 
> I organise tdma.conf file in this mode:
> 
> 
> # Primary master
>     master:
>     ip 10.0.0.3
>     cycle 1000
>     slot 0 200
>     slot 2 600
>   
> 
> # Slave A
>     slave:
>     ip 10.0.0.1
>     slot 10 0

"slot 0 0" would be fine here as well (it will make the slot succeed the
sync frame immediately - and safely).

>     slot 2 400
> 
> I would that the slave send two message (RT) to master in one cycle of TDMA.  
> I hope to read that, for example :
> 
> 
> 
> time event
> 
> 0 synchronization TDMA
> 10 slave(10.0.0.3) send a message to master(10.0.0.1)
> 200 master receive a message from slave
> 400 slave send a message to master
> 600 master receive a message from slave
> 1000 synchronization TDMA
> 1010 slave(10.0.0.3) send a message to master(10.0.0.1)
> 1200 master receive a message from slave
> 1400 slave send a message to master
> 1600 master receive a message from slave
> 2000 synchronization TDMA
>  .
>  .
>  .
>  .
>  .
> 
> in the reality I have this situation:
> 
> time event
> 
> 0 synchronization TDMA
> 10 slave(10.0.0.3) send a message to master(10.0.0.1)
> 200 master receive a message from slave
> 1000 synchronization TDMA
> 1010 slave(10.0.0.3) send a message to master(10.0.0.1)
> 1200 master receive a message from slave
> 2000 synchronization TDMA
>  .
>  .
>  .
>  .
>  .
> 
> 
> I'm searching to do a control in an automation system and I need to send a 
> message to master very quickly (100-150us for the moment), for this motif I 
> do the tests above... 
> I read in old mails (and I verify this) that a cycle of 600us is stressfull 
> for the network,but for my situation I must to send a message in shorter 
> time(100-150us), for this 
> I would to poll a node more than one time in the cycle.

If you have a well defined communication pattern, optimisation is
feasible. E.g. you don't have to keep the cycle period that low, you
could also duplicate the slot pattern several times in a longer cycle.
This saves load due the generating and consuming the sync frame.

Also, you could consider writing an optimised RTmac discipline if you
always have a poll/reply pattern between two nodes. I mean, currently a
node is sending time-triggered, but it would also be possible to
implement a policy that is message-trigged ("send next frame in slot X
after receiving some specific frame"). In order to get informed about
application data exchange also at RTmac/discipline level, encapsulating
such payload into RTmac frames would be required (just like tunnelled
non-RT data gets encapsulated). This may reduce the management overhead
by avoiding to schedule a polling reply according to strict time slots.
BTW, do you plan to use more than two stations in your final setup?

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to