by i-Bot » Thu Jul 29, 2010 5:00 pm
by i-Bot
Thu Jul 29, 2010 5:00 pm
I've been using the Bifferboard with dynamixels for a while and find it an amazing efficient Linux controller at such a low price.
Following discussion with Limor on how to better exploit this board, I have made a preliminary design proposal here:
http://robosavvy.com/site/index.php?opt ... 5&Itemid=2
The board is targeted at robots requiring performance in the 10ms time frame. Communication over WLAN, bluetooth and other media is integral at low cost using tiny USB devices.
The Bifferboard processing power, whilst not stellar, enables the board combination to publish and provide the supported robotic service resources, and still have available local processing power.
Reuse of existing applications and drivers is exploited where possible with emulation of existing hardware. The design is modular and not restricted to Robotis, and will support components from Hitec, Kondo, Robobuilder, and the new clone suppliers.
Design will be licensed under GPL and Creative Commons, though if sufficient interest is shown here, Robosavvy will stock and support it.
Target price is 50UKP ! Are we crazy ?
So, your chance to comment, influence, or support.
-------------------------------------------------------------------------------------------------------
-- [[ Limor: i've copy-pasted the description from the article page to the forum so that all information is in one place ]] --
-------------------------------------------------------------------------------------------------------
Based on my recent experience with the low cost
Bifferboard and various interfaces, I now propose a new support board for the Bifferboard.
This description concentrates mainly on the hardware features, the software features, including architecture will be better explained in another post.
Bifferboard is a low cost (30 GBP) linux controller:
- 150MHz Intel 486sx compatible cpu
- 32 MB SDRAM, 8MB Flash
- High Speed (480Mbps) USB 2.0 Host Port
- 1 watt power consumption (200mA @5v)
- 55mm x 28mm x 21mm (weight 15g)
While Bifferboard includes Ethernet interface PHY on board, this is of little use in mobile robots, so not used.
It is proposed to use only the main processor board and not the existing support board with power supplies, switch, LED , connectors and Ethernet magnetics.
Bifferboard does incorporate High Speed USB 2.0 interface, which is a low load on Bifferboard CPU; offers high bandwidth, and low cost peripheral support (WLAN, Bluetooth, Flash, video)
To support the Bifferboard for mobile robot application, three functions are added:
1) Power Supply to support Bifferboard and attached devices
2) USB Hub to expand number of USB Ports
3) I/O Controller to support real world devices (servos, sensors,
communications)
Software will be open source and distributed under GPL License
Documentation and hardware designs will be distributed under Creative Commons License
BifferboardAs described above, the Bifferboard will be used without the existing I/O board, so external power supplies are required.
Serial debug and JTAG connector direct to board are retained.
Existing GPIOs are not used, except for the Reset and Boot to I/O processor to enter device firmware upgrade mode.
Power Supplies- Power supplies are required for the Bifferboard at 1.8V for the CPU core and 3.3V for the I/0
- The USB hub and USB devices requires 5V supply
- The I/O controller and attached I/O devices require 1.8V core, and 3.3V or 5V for I/O
The proposed power supply:
Most likely based on Allegro A4490 triple buck regulator
No power switch is proposed on the board, and it is intended that power to servos is distributed external to the board. This enables servo power to be cut without reset of Bifferboard.
USB HubSince USB is primary I/O channel to Bifferboard, the single USB port must be expanded to sufficient ports.
External hubs are low cost, but have high demand on space and flexibility.
It is proposed to incorporate a 4 port USB 2 high speed hub into the robot board.
The hub will likely be based on low cost and low pin count GL850 type and only have single transaction translator.
Connectors will not be standard USB due to size and cost.. Low cost adapter cables will be available or direct wiring used.
I/O ControllerThe I/O controller is the most demanding part and the design is based on target functionality, and the proposed software architecture.
Software architecture and proposed implementation will be described in a separate article, but is based on the Dynamixel protocols to ensure compatibility and performance.
I/O controller will support physical Dynamixel devices connected to the 1M bps serial busses compliant to AX or RX Robotis interface. These may be Robotis or 3rd party.
New physical devices are proposed to support legacy PWM servos, and to offer functions required for more complex robot sensors.
I/O Controller features will be available as virtual Dynamixel devices. And will include:
- Analog and digital I/O controller ports presented in manner similar
to Jon Hylands I/O module
- I2C controller to interface to the I2C interface on the I/O
controller
- Multicast controller to provide SYNCREAD function and multiple serial
bus management
- Robobuilder Proxy to map Robobuilder serial protocol to Dynamixel
protocol
The addition of SYNCREAD to the Dynamixel protocol improves performance in the interface with the Bifferboard.
Other Dynamixel protocol extensions may be added if needed to provide
stream interface as add on the existing memory map approach.
The processor proposed for the I/O controller is the Atmel
AT32UC3B1128. This processor has the required I/O ports and adequate performance.
While the above software will be developed for the I/O controller, alternative software may be written to run direct on the I/O controller. The AT32 is already supported under libbioloid and freeRTOS.
The AT32 has integral device firmware upgrade (DFU) over USB and will be invoked using GPIO pins from the Bifferboard.
I/O Processor has integral USB Full Speed device interface. A high speed interface would have been preferable, but no controller with the required I/O ports was found at a reasonable price.
Physical Layout
The board will be physically small as possible with a footprint of about 65mm by 40mm and a height of 21mm with the Bifferboard installed.
I've been using the Bifferboard with dynamixels for a while and find it an amazing efficient Linux controller at such a low price.
Following discussion with Limor on how to better exploit this board, I have made a preliminary design proposal here:
http://robosavvy.com/site/index.php?opt ... 5&Itemid=2
The board is targeted at robots requiring performance in the 10ms time frame. Communication over WLAN, bluetooth and other media is integral at low cost using tiny USB devices.
The Bifferboard processing power, whilst not stellar, enables the board combination to publish and provide the supported robotic service resources, and still have available local processing power.
Reuse of existing applications and drivers is exploited where possible with emulation of existing hardware. The design is modular and not restricted to Robotis, and will support components from Hitec, Kondo, Robobuilder, and the new clone suppliers.
Design will be licensed under GPL and Creative Commons, though if sufficient interest is shown here, Robosavvy will stock and support it.
Target price is 50UKP ! Are we crazy ?
So, your chance to comment, influence, or support.
-------------------------------------------------------------------------------------------------------
-- [[ Limor: i've copy-pasted the description from the article page to the forum so that all information is in one place ]] --
-------------------------------------------------------------------------------------------------------
Based on my recent experience with the low cost
Bifferboard and various interfaces, I now propose a new support board for the Bifferboard.
This description concentrates mainly on the hardware features, the software features, including architecture will be better explained in another post.
Bifferboard is a low cost (30 GBP) linux controller:
- 150MHz Intel 486sx compatible cpu
- 32 MB SDRAM, 8MB Flash
- High Speed (480Mbps) USB 2.0 Host Port
- 1 watt power consumption (200mA @5v)
- 55mm x 28mm x 21mm (weight 15g)
While Bifferboard includes Ethernet interface PHY on board, this is of little use in mobile robots, so not used.
It is proposed to use only the main processor board and not the existing support board with power supplies, switch, LED , connectors and Ethernet magnetics.
Bifferboard does incorporate High Speed USB 2.0 interface, which is a low load on Bifferboard CPU; offers high bandwidth, and low cost peripheral support (WLAN, Bluetooth, Flash, video)
To support the Bifferboard for mobile robot application, three functions are added:
1) Power Supply to support Bifferboard and attached devices
2) USB Hub to expand number of USB Ports
3) I/O Controller to support real world devices (servos, sensors,
communications)
Software will be open source and distributed under GPL License
Documentation and hardware designs will be distributed under Creative Commons License
BifferboardAs described above, the Bifferboard will be used without the existing I/O board, so external power supplies are required.
Serial debug and JTAG connector direct to board are retained.
Existing GPIOs are not used, except for the Reset and Boot to I/O processor to enter device firmware upgrade mode.
Power Supplies- Power supplies are required for the Bifferboard at 1.8V for the CPU core and 3.3V for the I/0
- The USB hub and USB devices requires 5V supply
- The I/O controller and attached I/O devices require 1.8V core, and 3.3V or 5V for I/O
The proposed power supply:
Most likely based on Allegro A4490 triple buck regulator
No power switch is proposed on the board, and it is intended that power to servos is distributed external to the board. This enables servo power to be cut without reset of Bifferboard.
USB HubSince USB is primary I/O channel to Bifferboard, the single USB port must be expanded to sufficient ports.
External hubs are low cost, but have high demand on space and flexibility.
It is proposed to incorporate a 4 port USB 2 high speed hub into the robot board.
The hub will likely be based on low cost and low pin count GL850 type and only have single transaction translator.
Connectors will not be standard USB due to size and cost.. Low cost adapter cables will be available or direct wiring used.
I/O ControllerThe I/O controller is the most demanding part and the design is based on target functionality, and the proposed software architecture.
Software architecture and proposed implementation will be described in a separate article, but is based on the Dynamixel protocols to ensure compatibility and performance.
I/O controller will support physical Dynamixel devices connected to the 1M bps serial busses compliant to AX or RX Robotis interface. These may be Robotis or 3rd party.
New physical devices are proposed to support legacy PWM servos, and to offer functions required for more complex robot sensors.
I/O Controller features will be available as virtual Dynamixel devices. And will include:
- Analog and digital I/O controller ports presented in manner similar
to Jon Hylands I/O module
- I2C controller to interface to the I2C interface on the I/O
controller
- Multicast controller to provide SYNCREAD function and multiple serial
bus management
- Robobuilder Proxy to map Robobuilder serial protocol to Dynamixel
protocol
The addition of SYNCREAD to the Dynamixel protocol improves performance in the interface with the Bifferboard.
Other Dynamixel protocol extensions may be added if needed to provide
stream interface as add on the existing memory map approach.
The processor proposed for the I/O controller is the Atmel
AT32UC3B1128. This processor has the required I/O ports and adequate performance.
While the above software will be developed for the I/O controller, alternative software may be written to run direct on the I/O controller. The AT32 is already supported under libbioloid and freeRTOS.
The AT32 has integral device firmware upgrade (DFU) over USB and will be invoked using GPIO pins from the Bifferboard.
I/O Processor has integral USB Full Speed device interface. A high speed interface would have been preferable, but no controller with the required I/O ports was found at a reasonable price.
Physical Layout
The board will be physically small as possible with a footprint of about 65mm by 40mm and a height of 21mm with the Bifferboard installed.