I would like to use an FPGA for a motor control application. I have worked with FPGAs before and am comfortable with what needs to be done inside the FPGA, where I need some advice is how to interface the FPGA with the outside world. At the end of the chain I need to generate an analog command voltage (multiple channels actually). My initial idea was to use a Cypress PSOC as the DAC and talk between the FPGA and PSOC using the I2C protocol. I've used I2C between multiple PSOCs and have had no problems, the question is how difficult it would be to implement an I2C master in the FPGA (I'm looking at using an Altera Cyclone II). Along those lines, I also would like to have communication between multiple FPGA based motor controllers. Again, I was thinking I2C.
Does anyone see any major hangups or problems with this approach? Any simpler implementation I am overlooking? What is the most common form of digital communication used with an FPGA? How about interfacing to a DAC?
Thanks Jim