Garth Zeglin: MPC5xx Resources


Starting in 2004 the biped robot projects have been using MPC5xx microcontrollers for low-level I/O functions. The first reason to do this was to improve velocity estimation by using the TPU on the chip to measure the precise timing of each edge of the optical encoder quadrature signals.

The first iteration used a MPC565 piggybacked on the existing PCI card setup. I took notes during the initial setup of the board to document the basic software tools needed.

The setup worked, although the CAN bus was too slow for our needs; we ended up using both CAN buses with a tightly fitted packet data format. And my hacked driver for the PCAN-PCI under RT/Linux wasn't terribly robust.

I have not yet documented the libraries we developed; we have a simple bootstrap loader and basic machine interface to run a single thread with predictable timing for I/O. It has grown to include a trivial UDP/IP interface over Ethernet. The emphasis has been on simple, easily maintainable code; there are much more complete embedded setups out there, but generally at the cost of complexity.

I have not yet written documentation on our current setup, which is using two MPC566 boards with Ethernet as the primary I/O devices for the robot.

Links and Resources

Page revision: 2006/03/26 20:01:44.

Garth Zeglin, Robotics Institute, Carnegie Mellon University.