I have used microcontrollers (Arduino, PIC, Atmel etc) so I am familiar with what they are and what they do (e.g I know about polling, interrupts and communication protocols like I2C, SPI, UART) but I have never used FPGAs before. So I don't understand why the following motor driver uses a FPGA (Altera Cyclone 2) together with a microchip (Atmel). Can someone explain the design logic? Why can't I just use a microcontroller directly with the two encoders? (Note that this item only has Japanese language info available)
Using Google translate, that product is meant as a development board for motor control in robotics applications. FPGA allows much quicker or tighter control loops that would be crucial in running something like a robotic joint. FPGA is also a better fit in a development board because it can be reconfigured at the logic level.