Differences

This shows you the differences between two versions of the page.

amobo [2011/03/08 11:00]
mquigley
amobo [2011/03/08 11:00] (current)
mquigley
Line 1: Line 1:
 ===== High-performance General-Purpose I/O ===== ===== High-performance General-Purpose I/O =====
  
-Large, complex robots have lots of sensors and actuators. Talking to them all can be tricky, particularly since many/most bus architectures use different OS libraries to talk to them, making it hard to write cross-platform device drivers. Fortunately, Ethernet is (almost) OS-neutral, has high-performance kernel drivers wherever it is found, and has more bandwidth than almost any other peripheral bus except the bleeding-edge stuff like Intel's Thunderbolt and USB3, both of which are a bit scarce in silicon if you aren't a giant OEM, and both Thunderbolt and USB3 will likely be buried in OS-specific software stacks for a while. Additional unique benefits of gigabit Ethernet: it's routable, usable over long cables, and debuggable using awesome free tools like [[http://www.wireshark.org|Wireshark]].+Large, complex robots have lots of sensors and actuators. Talking to them all can be tricky, particularly since many/most bus architectures use different OS libraries to talk to them, making it hard to write cross-platform device drivers. Fortunately, Ethernet is (almost) OS-neutral, has high-performance kernel drivers wherever it is found, and has more bandwidth than any other peripheral bus except the bleeding-edge stuff like Intel's Thunderbolt and USB3, both of which are currently scarce in silicon if you aren't a giant OEM, and will likely be buried in OS-specific software stacks for a while. Additional unique benefits of gigabit Ethernet: it's routable, usable over long cables, and debuggable using awesome free tools like [[http://www.wireshark.org|Wireshark]].
  
 My current prototype of a gigabit-ethernet based system is shown below. It has two gigabit ethernet PHY's to allow daisy-chaining down robot arms and whatnot. The FPGA is a Spartan-6 LX25 in the FT256 package, which is cheap and has a decent amount of I/O. About 110 I/O lines are routed to a high-density connector on the back of the board to allow applications such as motor controllers (stepper, DC, BLDC, etc.), cameras, structured light, general i/o, and so on. My current prototype of a gigabit-ethernet based system is shown below. It has two gigabit ethernet PHY's to allow daisy-chaining down robot arms and whatnot. The FPGA is a Spartan-6 LX25 in the FT256 package, which is cheap and has a decent amount of I/O. About 110 I/O lines are routed to a high-density connector on the back of the board to allow applications such as motor controllers (stepper, DC, BLDC, etc.), cameras, structured light, general i/o, and so on.
  
 {{:aa-mobo.png?700|}} {{:aa-mobo.png?700|}}