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|}} |