Context

The high rate of advances in the embedded computing, electronics, communications and battery technologies has been a great motivation for the growth of small, affordable but powerful and sophisticated robotic systems.

 

Usually robotic systems have a conventional CPU running a software on some kind of operating system that performs the control, navigation tasks and communication. To deal with the electronic part like sensors, communication or actuators, the computing system has to implement appropriate interfaces. These interfaces depend on the actual robotic configuration and mission to accomplish, and in order to provide adaptability the electronics and the computing system should be capable of providing flexibility and easy reconfiguration capability.

 

Although today’s embedded computers and microcontrollers already include the most common interfaces (e.g. I2C, SPI, serial, PWM) this mixed interface is fixed and can not be easily expanded to fulfil the system needs. As consequence of this, for adding new interfaces there is a need usually requires attaching physical boards, that naturally impact on time of development and debug, system size and power consumption.

 

Attaching a FPGA (Field-Programmable Gate Array) to a conventional CPU is an effective solution to overcome the problems referred above. In fact, all of the electronics related to the interfacing with the outside world can be moved into the FPGA, taking advantage of the reconfigurability of these devices to implement customized interface mechanisms, including specialized pre-processors for data acquired from external devices to alleviate the load of the main processor (eg. digital filters, FFT calculators, etc.) and also implement custom computing blocks to accelerate critical parts of the software applications running in the main processor.

Reconfigurable peripheral manager for embedded robotic systems

 

@ copyright Filipe Lopes