/ecslave

light ethercat slave

Primary LanguageCOtherNOASSERTION

	Light Ethercat Slave

ecslave comes in three flavors:
1.  linux user space 
2.  linux kernel drive.
3.  stack for arduino.

The user space is meant to be used as a tool for debugging 
the ethercat stack. The kernel module is aimed to provide a 
low latency respnosiveness. Arduino is part of a larget suite 
aimed to create cheap robot kits ( ~100$, controller with a single drive).

	User space design

in short, two threads, each thread is in charge of capturing packets
from its assigned network device and passing them to the ethercat protocol
if needed.

	Kernel space Design

This module is composed from several software components.
1. the ethercat stack. 
2. ethercat sockets
3. user space task executing in preempt rt kernel. 

Ethercat packet flow is ring toplogy. when a ring can is implemented
on a full duplex ehtercat cards so it actually a line. 


	TX path
master.. --> rx interface -->  slave --> tx interface .... ___
							      |
	RX path						      |
				 		    	      |
master.. <--  rx interface <-- slave <---tx interface <-... __|
 
	Arduino

only ethercat stack is implemeted. User has to add his own code.