Remember that the issue on ethernet will not be throughput; it will be 
latency. I'm sure Jon can give you a profile of what he is doing.

How many bytes in a send packet?
How many bytes is a receive packet?
Cycle time?

I assume it would be acceptable to do something like:
1 -- Receive M byte packet
2 -- Compute
3 -- Send N byte packet
Do it all over again. Vary the number of times per second you do this 
and see how fast you can go with differing compute cycle loads.

If Jon provides those numbers, you will have a useful test case. Running 
that and recording CPU utilization should pretty much tell the story.

Ken

Jon Elson wrote:
> Kent A. Reed wrote:
>> The trouble is, I'm certain enough of myself to believe I can 
>> successfully lash up some computers running rtai/rtnet and exchanging 
>> messages on a private ethernet segment (probably just round-tripping 
>> packets in the first instance, so I could get a sense of the latency 
>> involved), but I'm uncertain how I would relate this to EMC2.
>>
>> This uncertainty arises because
>>
>> (1) I don't see in my reading of the mail archive that there's any 
>> agreement on the protocol we'd want to use over this real-time 
>> communications channel so I don't know what I could implement that would 
>> resonate with or help others; and
>>
>> (2) I don't see any performance requirements or success criteria 
>> articulated for it, so I don't know how to do truly meaningful testing.
> What I'd like to do is make up a board using one of the Arm7 or Arm9 
> processors with built-in 10/100 Ethernet and connecting to my servo/stepper 
> controller boards with some parallel I/O pins.  The PPMC driver (hal_ppmc.c) 
> already build up packets of a sort to read all info from the board, compute 
> new velocities and then output a packet to the board.  The scheme would be an 
> outgoing packet had a "map" of register locations to read/write, and for the 
> reads, a response packet would be sent back to the PC with the register 
> contents in the order in the map.
> 
> 
> First, I have no idea whether rtnet is compatible with the Arm7/9 
> Ethernet hardware, or how much hacking would be required to the already 
> existing protocol stack to make it compatible.
> 
> As for performance, the current driver and PCI parallel port hardware 
> can do about 1.2 MBytes/second, so a full 4-axis servo cycle can take 
> under 100 us.  With motherboard parallel ports and slower CPUs, or 8 
> axes, it can be up to 150 us.  Unless there is a LOT of overhead either 
> on the rtnet side or the ARM side, it doesn't look like it should be 
> very hard to beat those numbers!
> 
> I just don't have the time to dig deeply into this right now.  I know 
> what I describe above is a very specific thing for a specific board 
> manufacturer, but if somebody were going to dig into this, I'm sure that 
> much of what was developed could be used in other HAL drivers.
> 
> 
> Jon
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users

-- 
Kenneth Lerman
Mark Kenny Products Company, LLC
55 Main Street
Newtown, CT 06470
888-ISO-SEVO
203-426-7166

------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to