Rafael Skodlar wrote:
> 
> If I were asked to select the most common port, bus, or interface in PC
> for use in RT environment I would say either floppy or ATA bus. They are
> present on most motherboards. However, they are now practically obsolete
> and bad candidates for future EMC direction IMO. What's left for RT
> interface on the common motherboard are PCI and SATA buses. SATA seem to
> be the most suitable for RT use because it's on all motherboards and it
> already handles mechanical devices directly with rich command protocol.
> 
> Let's compare SATA and Ethernet and the complexity of using either one
> for "direct CNC."
> 
> Case 1, Ethernet-CNC:
> To implement Ethernet-CNC we have to have a working motherboard/Linux
> drivers combo, Ethernet/CNC adapter, and special Ethernet driver. That's
> one port, two different drivers, one of which will always depend on
> Ethernet chip architecture which changes a lot, and Ethernet to CNC
> adapter (DIO, etc.) in order to communicate with CNC machine. Two sets
> of chip/drivers needed.

You need an Ethernet adapter, and a realtime driver for it.  Not two
drivers, ONE driver.  The Ethernet adapter for CNC control has nothing
to do with a "normal" network connection, and does NOT need or want a
Linux driver.

At the other end of the wire, you need an FPGA or embedded controller
with an Ethernet interface.  Such things are much easier to find than
the same thing with an SATA interface.

> Case 2, SATA-CNC:
> Implementation requires motherboard/Linux drivers combo with SATA
> (always available), SATA/CNC adapter, and SATA-CNC driver.

And a realtime SATA driver.  And some way to keep the Linux driver from
interfering with the realtime driver.  Linux drivers are NOT realtime.

> SATA speeds should be sufficient to handle some of the most demanding RT
> jobs for hobby and small business use.

The issue is NOT speed.  The issue is Latency.  An interface that can
transfer 100 megabytes in 1 second, but pauses for 50 milliseconds in
the middle of the transfer, is totally useless for CNC.  An interface
that can transfer 100 kilobytes in 1 second and never pauses it great
for CNC.

> There is almost always a spare (S)ATA port on the motherboard, but only
> one Ethernet port which would better be used for default network
> connections.

It is extremely unlikely that a Linux driver for the filesystem and a
realtime driver for the CNC will be able to coexist on SATA.

An ethernet card is slightly cheaper than dirt.  Newegg has 35 cards
under $25, and 9 that are under $10.

> Good signaling characteristics, 32-bit CRC, DMA,
> point-point connection, and hot plugging make SATA well suited for CNC
> IMO. Cable is limited to 1m but that's enough to connect to CNC adapter
> boards externally.

Good signaling characteristics?  SATA is designed to transfer extremely
large amounts of data INSIDE a PC chassis.  It has no electrical
isolation at all, and as you point out has an extremely short 1m length
limit.

Ethernet is regularly used to transfer data over distances from 10s of
meter up to 100 meters or so.  More importantly, Ethernet is
electrically isolated and has a history of success transferring data
OUTSIDE the PC, in noisy industrial environments.

Regards,

John Kasunich

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to