Re: EMC compatible computers





Dave Engvall wrote:

>Jon,
>Did I miss  something. Isn't 10 Mb ethernet about as fast as the parallel
>port?
>  
>
Yes, it does 1.25 MegaBytes/second, not counting protocol overhead, 
which can be quite substantial.
The standard protocol requires gaps between messages and minimum packet 
sizes to prevent two
different nodes from starting a message at the same time, having the 
messages pass through each
other in the middle of the net, and both originators never realizing the 
message had been garbled
on some nodes, because they heard their own outgoing message clearly at 
their location.

Most twisted pair nets are much shorter, and isolated into separate 
segments by routers, so some
of these restrictions may not have the same impact any more.  If you 
were setting things up so
that the CPU was the only 'master' node, and that the axis drives only 
responded to messages
from the master, then you could dispense with all the time overhead of 
the CSMA/CD
protocol.  This of course would mean writing your own net driver as well!

The IEEE-1284 protocol subset that I use doesn't incur all that 
overhead, and doesn't packetize
messages.  So, I do the absolute minimum of I/O to control the motors. 
 First, there is an address
transfer and a data write to latch the positions into the encoder 
counter holding registers.  Then,
there is one address transfer to select the encoder counters, and then 9 
byte read cycles to get the
24-bit positions for 3 axes.  After the servo calculations, there is an 
address transfer and 6
byte writes to load the SERVO DACs for 3 axes, or 12 byte writes for the 
step velocity
counters.  Then, one more addr transfer, and a data write to make the 
output changes take effect.
So, that comes to 21 or 27 byte transfers for the complete servo cycle 
for 3 axes!  There are other
transfers to read and write digital I/O.  All this takes place in 50 uS 
on a 333 MHz Pentium II,
so you could run a 10 KHz servo update rate if you needed to.  I have 
some doubt you could do
it this fast on a 10 MB/s ethernet due to the protocol overhead.

Note that my PPMC and universal stepper boards have NO CPU at all!  So, 
when a command is
sent, it is acted upon before the acknowledge gets back to the CPU.

Jon




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact